From 5b061d21e16bbe39d4c4269c3ee99c67f9e12f03 Mon Sep 17 00:00:00 2001 From: bresch Date: Mon, 17 Feb 2025 11:42:24 +0100 Subject: [PATCH] Commander: fix parachute trigger Setting "lockdown" disables the actuators. In this mode, "force_failsafe" has no effect as the actuators are disabled, so the parachute is not getting released as it requires the output to change to its failsafe value. --- src/modules/commander/Commander.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 9583e7341c79..2025d0a26ced 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -1889,8 +1889,7 @@ void Commander::run() _actuator_armed.armed = isArmed(); _actuator_armed.prearmed = getPrearmState(); _actuator_armed.ready_to_arm = _vehicle_status.pre_flight_checks_pass || isArmed(); - _actuator_armed.lockdown = ((_vehicle_status.nav_state == _vehicle_status.NAVIGATION_STATE_TERMINATION) - || (_vehicle_status.hil_state == vehicle_status_s::HIL_STATE_ON) + _actuator_armed.lockdown = ((_vehicle_status.hil_state == vehicle_status_s::HIL_STATE_ON) || _multicopter_throw_launch.isThrowLaunchInProgress()); // _actuator_armed.manual_lockdown // action_request_s::ACTION_KILL _actuator_armed.force_failsafe = (_vehicle_status.nav_state == _vehicle_status.NAVIGATION_STATE_TERMINATION);