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).
This commit is contained in:
Beat Küng
2023-02-01 08:48:09 +01:00
committed by Silvan Fuhrer
parent 8e4c5884ec
commit a8628c9d9c
+1 -1
View File
@@ -1766,6 +1766,7 @@ void Commander::run()
_last_disarmed_timestamp = hrt_absolute_time(); _last_disarmed_timestamp = hrt_absolute_time();
_user_mode_intention.onDisarm(); _user_mode_intention.onDisarm();
_vehicle_status.takeoff_time = 0;
} }
if (!_arm_state_machine.isArmed()) { if (!_arm_state_machine.isArmed()) {
@@ -1971,7 +1972,6 @@ void Commander::landDetectorUpdate()
if (!was_landed && _vehicle_land_detected.landed) { if (!was_landed && _vehicle_land_detected.landed) {
mavlink_log_info(&_mavlink_log_pub, "Landing detected\t"); mavlink_log_info(&_mavlink_log_pub, "Landing detected\t");
events::send(events::ID("commander_landing_detected"), events::Log::Info, "Landing detected"); 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) { } else if (was_landed && !_vehicle_land_detected.landed) {
mavlink_log_info(&_mavlink_log_pub, "Takeoff detected\t"); mavlink_log_info(&_mavlink_log_pub, "Takeoff detected\t");