AP_NavEKF2: remove instance id from EK2 external interface

Removes passing of instance id in interfaces where -1 was the only value
ever passed in
This commit is contained in:
Peter Barker
2022-04-12 10:25:29 +10:00
committed by Andrew Tridgell
parent c1c18331f9
commit 04a64a20fa
2 changed files with 61 additions and 99 deletions
File diff suppressed because it is too large Load Diff
+24 -34
View File
@@ -68,40 +68,30 @@ public:
// return -1 if no primary core selected
int8_t getPrimaryCoreIMUIndex(void) const;
// Write the last calculated NE position relative to the reference point (m) for the specified instance.
// An out of range instance (eg -1) returns data for the primary instance
// Write the last calculated NE position relative to the reference point (m)
// If a calculated solution is not available, use the best available data and return false
// If false returned, do not use for flight control
bool getPosNE(int8_t instance, Vector2f &posNE) const;
bool getPosNE(Vector2f &posNE) const;
// Write the last calculated D position relative to the reference point (m) for the specified instance.
// An out of range instance (eg -1) returns data for the primary instance
// Write the last calculated D position relative to the reference point (m)
// If a calculated solution is not available, use the best available data and return false
// If false returned, do not use for flight control
bool getPosD(int8_t instance, float &posD) const;
bool getPosD(float &posD) const;
// return NED velocity in m/s for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
void getVelNED(int8_t instance, Vector3f &vel) const;
// return NED velocity in m/s
void getVelNED(Vector3f &vel) const;
// return estimate of true airspeed vector in body frame in m/s for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
// return estimate of true airspeed vector in body frame in m/s
// returns false if estimate is unavailable
bool getAirSpdVec(int8_t instance, Vector3f &vel) const;
bool getAirSpdVec(Vector3f &vel) const;
// Return the rate of change of vertical position in the down direction (dPosD/dt) in m/s for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
// Return the rate of change of vertical position in the down direction (dPosD/dt) in m/s
// This can be different to the z component of the EKF velocity state because it will fluctuate with height errors and corrections in the EKF
// but will always be kinematically consistent with the z component of the EKF position state
float getPosDownDerivative(int8_t instance) const;
float getPosDownDerivative() const;
// return body axis gyro bias estimates in rad/sec for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
void getGyroBias(int8_t instance, Vector3f &gyroBias) const;
// return body axis gyro scale factor error as a percentage for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
void getGyroScaleErrorPercentage(int8_t instance, Vector3f &gyroScale) const;
// return body axis gyro bias estimates in rad/sec
void getGyroBias(Vector3f &gyroBias) const;
// reset body axis gyro bias estimates
void resetGyroBias(void);
@@ -119,19 +109,19 @@ public:
// return the Z-accel bias estimate in m/s^2 for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
void getAccelZBias(int8_t instance, float &zbias) const;
void getAccelZBias(float &zbias) const;
// return the NED wind speed estimates in m/s (positive is air moving in the direction of the axis)
// An out of range instance (eg -1) returns data for the primary instance
void getWind(int8_t instance, Vector3f &wind) const;
void getWind(Vector3f &wind) const;
// return earth magnetic field estimates in measurement units / 1000 for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
void getMagNED(int8_t instance, Vector3f &magNED) const;
void getMagNED(Vector3f &magNED) const;
// return body magnetic field estimates in measurement units / 1000 for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
void getMagXYZ(int8_t instance, Vector3f &magXYZ) const;
void getMagXYZ(Vector3f &magXYZ) const;
// Return estimated magnetometer offsets
// Return true if magnetometer offsets are valid
@@ -147,7 +137,7 @@ public:
// An out of range instance (eg -1) returns data for the primary instance
// All NED positions calculated by the filter are relative to this location
// Returns false if the origin has not been set
bool getOriginLLH(int8_t instance, struct Location &loc) const;
bool getOriginLLH(struct Location &loc) const;
// 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
@@ -161,7 +151,7 @@ public:
// return the Euler roll, pitch and yaw angle in radians for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
void getEulerAngles(int8_t instance, Vector3f &eulers) const;
void getEulerAngles(Vector3f &eulers) const;
// return the transformation matrix from XYZ (body) to NED axes
void getRotationBodyToNED(Matrix3f &mat) const;
@@ -170,15 +160,15 @@ public:
void getQuaternionBodyToNED(int8_t instance, Quaternion &quat) const;
// return the quaternions defining the rotation from NED to autopilot axes
void getQuaternion(int8_t instance, Quaternion &quat) const;
void getQuaternion(Quaternion &quat) const;
// return the innovations for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
bool getInnovations(int8_t index, Vector3f &velInnov, Vector3f &posInnov, Vector3f &magInnov, float &tasInnov, float &yawInnov) const;
bool getInnovations(Vector3f &velInnov, Vector3f &posInnov, Vector3f &magInnov, float &tasInnov, float &yawInnov) const;
// return the innovation consistency test ratios for the specified instance
// An out of range instance (eg -1) returns data for the primary instance
bool getVariances(int8_t instance, float &velVar, float &posVar, float &hgtVar, Vector3f &magVar, float &tasVar, Vector2f &offset) const;
bool getVariances(float &velVar, float &posVar, float &hgtVar, Vector3f &magVar, float &tasVar, Vector2f &offset) const;
// should we use the compass? This is public so it can be used for
// reporting via ahrs.use_compass()
@@ -211,19 +201,19 @@ public:
6 = badly conditioned synthetic sideslip fusion
7 = filter is not initialised
*/
void getFilterFaults(int8_t instance, uint16_t &faults) const;
void getFilterFaults(uint16_t &faults) const;
/*
return filter gps quality check status for the specified instance
An out of range instance (eg -1) returns data for the primary instance
*/
void getFilterGpsStatus(int8_t instance, nav_gps_status &faults) const;
void getFilterGpsStatus(nav_gps_status &faults) const;
/*
return filter status flags for the specified instance
An out of range instance (eg -1) returns data for the primary instance
*/
void getFilterStatus(int8_t instance, nav_filter_status &status) const;
void getFilterStatus(nav_filter_status &status) const;
// send an EKF_STATUS_REPORT message to GCS
void send_status_report(mavlink_channel_t chan) const;