From ff7a215dd03bf5f6b8a8e3e6ef13eb820aa6d50b Mon Sep 17 00:00:00 2001 From: Michael du Breuil Date: Thu, 11 Apr 2024 18:15:43 -0700 Subject: [PATCH] AP_Baro: Do not cache EAS2TAS conversions Caching this introduces discontinuities in TECS, as the step change modifies the target speed demand. --- libraries/AP_Baro/AP_Baro.cpp | 11 +---------- libraries/AP_Baro/AP_Baro.h | 2 -- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/libraries/AP_Baro/AP_Baro.cpp b/libraries/AP_Baro/AP_Baro.cpp index 333f1f857c5e7..77feaab0f28d3 100644 --- a/libraries/AP_Baro/AP_Baro.cpp +++ b/libraries/AP_Baro/AP_Baro.cpp @@ -399,9 +399,6 @@ void AP_Baro::update_calibration() // always update the guessed ground temp _guessed_ground_temperature = get_external_temperature(); - - // force EAS2TAS to recalculate - _EAS2TAS = 0; } // return altitude difference in meters between current pressure and a @@ -437,10 +434,6 @@ float AP_Baro::get_sealevel_pressure(float pressure) const float AP_Baro::get_EAS2TAS(void) { float altitude = get_altitude(); - if ((fabsf(altitude - _last_altitude_EAS2TAS) < 25.0f) && !is_zero(_EAS2TAS)) { - // not enough change to require re-calculating - return _EAS2TAS; - } float pressure = get_pressure(); if (is_zero(pressure)) { @@ -455,9 +448,7 @@ float AP_Baro::get_EAS2TAS(void) if (!is_positive(eas2tas_squared)) { return 1.0f; } - _EAS2TAS = sqrtf(eas2tas_squared); - _last_altitude_EAS2TAS = altitude; - return _EAS2TAS; + return sqrtf(eas2tas_squared); } // return air density / sea level density - decreases as altitude climbs diff --git a/libraries/AP_Baro/AP_Baro.h b/libraries/AP_Baro/AP_Baro.h index e6aaee8a9128d..81d58a967b3b1 100644 --- a/libraries/AP_Baro/AP_Baro.h +++ b/libraries/AP_Baro/AP_Baro.h @@ -283,8 +283,6 @@ class AP_Baro uint32_t _field_elevation_last_ms; AP_Int8 _primary_baro; // primary chosen by user AP_Int8 _ext_bus; // bus number for external barometer - float _last_altitude_EAS2TAS; - float _EAS2TAS; float _external_temperature; uint32_t _last_external_temperature_ms; DerivativeFilterFloat_Size7 _climb_rate_filter;