From 1302b6a79649059a3abc75253cbda2dc3e0081fc Mon Sep 17 00:00:00 2001 From: davidaroyer Date: Tue, 28 Mar 2017 10:59:39 -0500 Subject: [PATCH] inav: check for updated baro in baro_offset calculation --- .../position_estimator_inav/position_estimator_inav_main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/position_estimator_inav/position_estimator_inav_main.cpp b/src/modules/position_estimator_inav/position_estimator_inav_main.cpp index 31ba9764b5..d9687413c8 100644 --- a/src/modules/position_estimator_inav/position_estimator_inav_main.cpp +++ b/src/modules/position_estimator_inav/position_estimator_inav_main.cpp @@ -424,7 +424,9 @@ int position_estimator_inav_thread_main(int argc, char *argv[]) if (fds_init[0].revents & POLLIN) { orb_copy(ORB_ID(sensor_combined), sensor_combined_sub, &sensor); - if (wait_baro && sensor.timestamp + sensor.baro_timestamp_relative != baro_timestamp) { + bool baro_updated = (sensor.baro_timestamp_relative != sensor.RELATIVE_TIMESTAMP_INVALID); + + if (wait_baro && sensor.timestamp + sensor.baro_timestamp_relative != baro_timestamp && baro_updated) { baro_timestamp = sensor.timestamp + sensor.baro_timestamp_relative; baro_wait_for_sample_time = hrt_absolute_time();