AP_NavEKF2: Allow reporting of origin height for specified instance

This commit is contained in:
priseborough 2017-05-30 11:37:37 +10:00 committed by Francisco Ferreira
parent e58ba8044d
commit 77d21f72d4
2 changed files with 8 additions and 5 deletions

View File

@ -998,15 +998,17 @@ bool NavEKF2::getLLH(struct Location &loc) const
return core[primary].getLLH(loc); return core[primary].getLLH(loc);
} }
// return the latitude and longitude and height used to set the NED origin // Return the latitude and longitude and height used to set the NED origin for the specified instance
// An out of range instance (eg -1) returns data for the the primary instance
// All NED positions calculated by the filter are relative to this location // All NED positions calculated by the filter are relative to this location
// Returns false if the origin has not been set // Returns false if the origin has not been set
bool NavEKF2::getOriginLLH(struct Location &loc) const bool NavEKF2::getOriginLLH(int8_t instance, struct Location &loc) const
{ {
if (instance < 0 || instance >= num_cores) instance = primary;
if (!core) { if (!core) {
return false; return false;
} }
return core[primary].getOriginLLH(loc); return core[instance].getOriginLLH(loc);
} }
// set the latitude and longitude and height used to set the NED origin // set the latitude and longitude and height used to set the NED origin

View File

@ -156,10 +156,11 @@ public:
// The getFilterStatus() function provides a more detailed description of data health and must be checked if data is to be used for flight control // The getFilterStatus() function provides a more detailed description of data health and must be checked if data is to be used for flight control
bool getLLH(struct Location &loc) const; bool getLLH(struct Location &loc) const;
// return the latitude and longitude and height used to set the NED origin // Return the latitude and longitude and height used to set the NED origin for the specified instance
// An out of range instance (eg -1) returns data for the the primary instance
// All NED positions calculated by the filter are relative to this location // All NED positions calculated by the filter are relative to this location
// Returns false if the origin has not been set // Returns false if the origin has not been set
bool getOriginLLH(struct Location &loc) const; bool getOriginLLH(int8_t instance, struct Location &loc) const;
// set the latitude and longitude and height used to set the NED origin // set the latitude and longitude and height used to set the NED origin
// All NED positions calculated by the filter will be relative to this location // All NED positions calculated by the filter will be relative to this location