From 568972c0f09a704d0fbbd8f35c667e12c2caa479 Mon Sep 17 00:00:00 2001 From: Paul Riseborough Date: Tue, 26 Sep 2023 19:36:39 +1000 Subject: [PATCH] AP_NavEKF3: Fix bug preventing use of default or synthetic airspeed --- libraries/AP_NavEKF3/AP_NavEKF3_Measurements.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/AP_NavEKF3/AP_NavEKF3_Measurements.cpp b/libraries/AP_NavEKF3/AP_NavEKF3_Measurements.cpp index dbb60d9bac..ef465549af 100644 --- a/libraries/AP_NavEKF3/AP_NavEKF3_Measurements.cpp +++ b/libraries/AP_NavEKF3/AP_NavEKF3_Measurements.cpp @@ -868,7 +868,7 @@ void NavEKF3_core::readAirSpdData() // Allow use of a default value or a value synthesised from a stored wind velocity vector if (!useAirspeed()) { if (is_positive(defaultAirSpeed)) { - if (imuDataDelayed.time_ms - tasDataDelayed.time_ms > 200) { + if (imuDataDelayed.time_ms - lastTasPassTime_ms > 200) { tasDataDelayed.tas = defaultAirSpeed * EAS2TAS; tasDataDelayed.tasVariance = MAX(defaultAirSpeedVariance, sq(MAX(frontend->_easNoise, 0.5f))); tasDataToFuse = true; @@ -877,7 +877,7 @@ void NavEKF3_core::readAirSpdData() tasDataToFuse = false; } } else if (windStateLastObsIsValid && !windStateIsObservable) { - if (imuDataDelayed.time_ms - tasDataDelayed.time_ms > 200) { + if (imuDataDelayed.time_ms - lastTasPassTime_ms > 200) { // use stored wind state to synthesise an airspeed measurement const Vector3F windRelVel = stateStruct.velocity - Vector3F(windStateLastObs.x, windStateLastObs.y, 0.0F); tasDataDelayed.tas = windRelVel.length();