AP_AHRS: don't reject airspeed using EKF if dead-reckoning

when dead-reckoning the EKF wind estimate can diverge from reality,
leading to us rejecting a valid airspeed sensor. We are best off
trusting airspeed if we are dead-reckoning
This commit is contained in:
Andrew Tridgell 2023-05-29 21:56:35 +10:00
parent 7bdc31b539
commit 3e601df229
1 changed files with 4 additions and 4 deletions

View File

@ -771,11 +771,11 @@ bool AP_AHRS::airspeed_sensor_enabled(void) const
if (fly_forward &&
hal.util->get_soft_armed() &&
get_filter_status(filter_status) &&
filter_status.flags.rejecting_airspeed) {
(filter_status.flags.rejecting_airspeed && !filter_status.flags.dead_reckoning)) {
// special case for when backend is rejecting airspeed data in
// an armed fly_forward state. Then the airspeed data is
// highly suspect and will be rejected. We will use the
// synthentic airspeed instead
// an armed fly_forward state and not dead reckoning. Then the
// airspeed data is highly suspect and will be rejected. We
// will use the synthentic airspeed instead
return false;
}
return true;