Browse Source

AP_NavEKF3: restrict setting of EKF origin

only allow EKF origin to be set if EKx_GPS_TYPE is set to 3, which is
used for indoor operation
mission-4.1.18
Andrew Tridgell 6 years ago
parent
commit
3818d8ecda
  1. 7
      libraries/AP_NavEKF3/AP_NavEKF3.cpp

7
libraries/AP_NavEKF3/AP_NavEKF3.cpp

@ -1111,6 +1111,13 @@ bool NavEKF3::getOriginLLH(int8_t instance, struct Location &loc) const @@ -1111,6 +1111,13 @@ bool NavEKF3::getOriginLLH(int8_t instance, struct Location &loc) const
// Returns false if the filter has rejected the attempt to set the origin
bool NavEKF3::setOriginLLH(const Location &loc)
{
if (_fusionModeGPS != 3) {
// we don't allow setting of the EKF origin unless we are
// flying in non-GPS mode. This is to prevent accidental set
// of EKF origin with invalid position or height
gcs().send_text(MAV_SEVERITY_WARNING, "EKF3 refusing set origin");
return false;
}
if (!core) {
return false;
}

Loading…
Cancel
Save