From fab58ee2bc0df78fc075d16d66c79bfdd01a3398 Mon Sep 17 00:00:00 2001 From: henrykotze Date: Mon, 8 May 2023 21:41:47 +0200 Subject: [PATCH] cannode prearm by default enable on ArmingStatus - ArmingStatus DroneCAN message STATUS field is only set to true based on arming_status.armed - Cannode prearm state is set to true always when ArmingStatus DroneCan message is received --- src/drivers/uavcan/arming_status.cpp | 2 +- src/drivers/uavcannode/Subscribers/ArmingStatus.hpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/drivers/uavcan/arming_status.cpp b/src/drivers/uavcan/arming_status.cpp index 3d4b720c98..f37fc8e33b 100644 --- a/src/drivers/uavcan/arming_status.cpp +++ b/src/drivers/uavcan/arming_status.cpp @@ -69,7 +69,7 @@ void UavcanArmingStatus::periodic_update(const uavcan::TimerEvent &) if (actuator_armed.lockdown || actuator_armed.manual_lockdown) { cmd.status = cmd.STATUS_DISARMED; - } else if (actuator_armed.armed || actuator_armed.prearmed) { + } else if (actuator_armed.armed) { cmd.status = cmd.STATUS_FULLY_ARMED; } else { diff --git a/src/drivers/uavcannode/Subscribers/ArmingStatus.hpp b/src/drivers/uavcannode/Subscribers/ArmingStatus.hpp index b3b2d4b538..6e895f3b42 100644 --- a/src/drivers/uavcannode/Subscribers/ArmingStatus.hpp +++ b/src/drivers/uavcannode/Subscribers/ArmingStatus.hpp @@ -89,6 +89,7 @@ private: actuator_armed.armed = false; } + actuator_armed.prearmed = true; actuator_armed.timestamp = hrt_absolute_time(); _actuator_armed_pub.publish(actuator_armed); }