From a8628c9d9c2460d678c508fc3a274899024689b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Mon, 12 Dec 2022 15:14:52 +0100 Subject: [PATCH] fix commander: clear takeoff_time only on disarm Otherwise the flight time restriction flag gets cleared too early, before disarming (which puts the vehicle into the previous mode and it might take off again). --- src/modules/commander/Commander.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 4def139c8d..4a2d90a181 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -1766,6 +1766,7 @@ void Commander::run() _last_disarmed_timestamp = hrt_absolute_time(); _user_mode_intention.onDisarm(); + _vehicle_status.takeoff_time = 0; } if (!_arm_state_machine.isArmed()) { @@ -1971,7 +1972,6 @@ void Commander::landDetectorUpdate() if (!was_landed && _vehicle_land_detected.landed) { mavlink_log_info(&_mavlink_log_pub, "Landing detected\t"); events::send(events::ID("commander_landing_detected"), events::Log::Info, "Landing detected"); - _vehicle_status.takeoff_time = 0; } else if (was_landed && !_vehicle_land_detected.landed) { mavlink_log_info(&_mavlink_log_pub, "Takeoff detected\t");