From 3bffe3087d37af6848537872e170ee9d75024e09 Mon Sep 17 00:00:00 2001 From: Jacob Dahl Date: Thu, 7 Apr 2022 19:56:17 -0800 Subject: [PATCH] use new safety_button topic for uavcannode Button publishing --- src/drivers/uavcannode/Publishers/SafetyButton.hpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/drivers/uavcannode/Publishers/SafetyButton.hpp b/src/drivers/uavcannode/Publishers/SafetyButton.hpp index 69fad19e2a..136cd27c45 100644 --- a/src/drivers/uavcannode/Publishers/SafetyButton.hpp +++ b/src/drivers/uavcannode/Publishers/SafetyButton.hpp @@ -38,7 +38,7 @@ #include #include -#include +#include namespace uavcannode { @@ -51,7 +51,7 @@ class SafetyButton : public: SafetyButton(px4::WorkItem *work_item, uavcan::INode &node) : UavcanPublisherBase(ardupilot::indication::Button::DefaultDataTypeID), - uORB::SubscriptionCallbackWorkItem(work_item, ORB_ID(safety)), + uORB::SubscriptionCallbackWorkItem(work_item, ORB_ID(safety_button)), uavcan::Publisher(node) { this->setPriority(uavcan::TransferPriority::Default); @@ -69,14 +69,13 @@ public: void BroadcastAnyUpdates() override { - // safety -> standard::indication::button - safety_s safety; + button_event_s safety_button; - if (uORB::SubscriptionCallbackWorkItem::update(&safety)) { - if (safety.safety_switch_available) { + if (uORB::SubscriptionCallbackWorkItem::update(&safety_button)) { + if (safety_button.triggered) { ardupilot::indication::Button Button{}; Button.button = ardupilot::indication::Button::BUTTON_SAFETY; - Button.press_time = safety.safety_off ? UINT8_MAX : 0; + Button.press_time = UINT8_MAX; uavcan::Publisher::broadcast(Button); } }