From 2a6e889b285306ba5a08c2eb0034a59889221650 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sat, 30 Nov 2019 12:35:34 -0500 Subject: [PATCH] irlock update orb_publish usage to uORB::PublicationMulti<> --- src/drivers/irlock/irlock.cpp | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/src/drivers/irlock/irlock.cpp b/src/drivers/irlock/irlock.cpp index 6f30a6d2a1..d2848fddb5 100644 --- a/src/drivers/irlock/irlock.cpp +++ b/src/drivers/irlock/irlock.cpp @@ -49,7 +49,7 @@ #include #include -#include +#include #include /** Configuration Constants **/ @@ -132,7 +132,7 @@ private: uint32_t _read_failures; int _orb_class_instance; - orb_advert_t _irlock_report_topic; + uORB::Publication _irlock_report_topic{ORB_ID(irlock_report)}; }; /** global pointer for single IRLOCK sensor **/ @@ -152,8 +152,7 @@ IRLOCK::IRLOCK(int bus, int address) : _reports(nullptr), _sensor_ok(false), _read_failures(0), - _orb_class_instance(-1), - _irlock_report_topic(nullptr) + _orb_class_instance(-1) { } @@ -366,8 +365,7 @@ int IRLOCK::read_device() // publish over uORB if (report.num_targets > 0) { - struct irlock_report_s orb_report; - + irlock_report_s orb_report{}; orb_report.timestamp = report.timestamp; orb_report.signature = report.targets[0].signature; orb_report.pos_x = report.targets[0].pos_x; @@ -375,16 +373,7 @@ int IRLOCK::read_device() orb_report.size_x = report.targets[0].size_x; orb_report.size_y = report.targets[0].size_y; - if (_irlock_report_topic != nullptr) { - orb_publish(ORB_ID(irlock_report), _irlock_report_topic, &orb_report); - - } else { - _irlock_report_topic = orb_advertise_multi(ORB_ID(irlock_report), &orb_report, &_orb_class_instance, ORB_PRIO_LOW); - - if (_irlock_report_topic == nullptr) { - DEVICE_LOG("failed to create irlock_report object. Did you start uOrb?"); - } - } + _irlock_report_topic.publish(orb_report); } return OK;