From 4d76ed34f361ad96352162e3ec41e0a0670ae037 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Tue, 7 Jul 2020 13:07:38 +0200 Subject: [PATCH] simulator: update temperature in sync with baro This fixes the case where the baro was not rejected if stuck because the temperature still varied. --- src/modules/simulator/simulator_mavlink.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/simulator/simulator_mavlink.cpp b/src/modules/simulator/simulator_mavlink.cpp index 31411d60c2..3c779eae6b 100644 --- a/src/modules/simulator/simulator_mavlink.cpp +++ b/src/modules/simulator/simulator_mavlink.cpp @@ -222,9 +222,6 @@ void Simulator::update_sensors(const hrt_abstime &time, const mavlink_hil_sensor _px4_accel_0.set_temperature(temperature); _px4_accel_1.set_temperature(temperature); - _px4_baro_0.set_temperature(temperature); - _px4_baro_1.set_temperature(temperature); - _px4_gyro_0.set_temperature(temperature); _px4_gyro_1.set_temperature(temperature); @@ -264,11 +261,15 @@ void Simulator::update_sensors(const hrt_abstime &time, const mavlink_hil_sensor if ((sensors.fields_updated & SensorSource::BARO) == SensorSource::BARO && !_baro_blocked) { if (_baro_stuck) { _px4_baro_0.update(time, _px4_baro_0.get().pressure); + _px4_baro_0.set_temperature(time, _px4_baro_0.get().temperature); _px4_baro_1.update(time, _px4_baro_1.get().pressure); + _px4_baro_1.set_temperature(time, _px4_baro_1.get().temperature); } else { _px4_baro_0.update(time, sensors.abs_pressure); + _px4_baro_0.set_temperature(temperature); _px4_baro_1.update(time, sensors.abs_pressure); + _px4_baro_1.set_temperature(temperature); } }