From cd51cf29963c3c0461a20caeb6a49df6a7863e22 Mon Sep 17 00:00:00 2001 From: Matthias Grob Date: Mon, 18 Jan 2021 18:17:15 +0100 Subject: [PATCH] state_machine_helper: handle zero failsafe_timestamp --- src/modules/commander/state_machine_helper.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/commander/state_machine_helper.cpp b/src/modules/commander/state_machine_helper.cpp index b0a30b6ae7..d47e3e5194 100644 --- a/src/modules/commander/state_machine_helper.cpp +++ b/src/modules/commander/state_machine_helper.cpp @@ -389,8 +389,9 @@ main_state_transition(const vehicle_status_s &status, const main_state_t new_mai void enable_failsafe(vehicle_status_s *status, bool old_failsafe, orb_advert_t *mavlink_log_pub, const char *reason) { if (!old_failsafe && status->arming_state == vehicle_status_s::ARMING_STATE_ARMED) { - // make sure intermittent failsafes don't lead to infinite delay by not constatnly reseting the timestamp - if (hrt_elapsed_time(&status->failsafe_timestamp) > 30_s) { + // make sure intermittent failsafes don't lead to infinite delay by not constantly reseting the timestamp + if (status->failsafe_timestamp == 0 || + hrt_elapsed_time(&status->failsafe_timestamp) > 30_s) { status->failsafe_timestamp = hrt_absolute_time(); }