From fcaca4e04a5d7d4f0b1deeaa8e72eb0ec967bd87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Betto?= <niccolo.betto@skywarder.eu> Date: Wed, 16 Apr 2025 19:13:56 +0200 Subject: [PATCH] [RIGv2] Implement RAW_EVENT_TC radio telecommand --- src/RIGv2/Radio/Radio.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/RIGv2/Radio/Radio.cpp b/src/RIGv2/Radio/Radio.cpp index 296f7f538..d590862f4 100644 --- a/src/RIGv2/Radio/Radio.cpp +++ b/src/RIGv2/Radio/Radio.cpp @@ -297,6 +297,21 @@ void Radio::handleMessage(const mavlink_message_t& msg) break; } + case MAVLINK_MSG_ID_RAW_EVENT_TC: + { + uint8_t topicId = mavlink_msg_raw_event_tc_get_topic_id(&msg); + uint8_t eventId = mavlink_msg_raw_event_tc_get_event_id(&msg); + + bool disarmed = getModule<GroundModeManager>()->getState() == + GroundModeManagerState::DISARMED; + // Raw events are allowed in the disarmed state + if (!disarmed) + return enqueueNack(msg, 0); + + EventBroker::getInstance().post(eventId, topicId); + return enqueueAck(msg); + } + default: { // Unrecognized packet -- GitLab