From 2bc4a5a44b6767fe15e317216b00f860ca445cc4 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sun, 6 Sep 2020 18:38:05 -0400 Subject: [PATCH] commander: HITL skip auto disarm if lockdown - auto disarm when locked down was added in #14766 to prevent user confusion in regular usage, but also breaks HITL where lockdown is enabled for safety - fixes #15686 --- src/modules/commander/Commander.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index 93b6bc2ade..84bf1f4ad2 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -1667,7 +1667,15 @@ Commander::run() } // Auto disarm after 5 seconds if kill switch is engaged - _auto_disarm_killed.set_state_and_update(armed.manual_lockdown || armed.lockdown, hrt_absolute_time()); + bool auto_disarm = armed.manual_lockdown; + + // auto disarm if locked down to avoid user confusion + // skipped in HITL where lockdown is enabled for safety + if (status.hil_state != vehicle_status_s::HIL_STATE_ON) { + auto_disarm |= armed.lockdown; + } + + _auto_disarm_killed.set_state_and_update(auto_disarm, hrt_absolute_time()); if (_auto_disarm_killed.get_state()) { if (armed.manual_lockdown) {