mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-28 06:03:34 +08:00
introduce uORB::PublicationQueued and transition most orb_advertise_queue usage
This commit is contained in:
@@ -1111,14 +1111,8 @@ void IridiumSBD::publish_iridium_status()
|
||||
|
||||
// publish the status if it changed
|
||||
if (need_to_publish) {
|
||||
if (_iridiumsbd_status_pub == nullptr) {
|
||||
_iridiumsbd_status_pub = orb_advertise(ORB_ID(iridiumsbd_status), &_status);
|
||||
|
||||
} else {
|
||||
orb_publish(ORB_ID(iridiumsbd_status), _iridiumsbd_status_pub, &_status);
|
||||
}
|
||||
_iridiumsbd_status_pub.publish(_status);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void IridiumSBD::publish_subsystem_status()
|
||||
@@ -1134,12 +1128,7 @@ void IridiumSBD::publish_subsystem_status()
|
||||
_info.enabled = enabled;
|
||||
_info.ok = ok;
|
||||
|
||||
if (_subsystem_pub == nullptr) {
|
||||
_subsystem_pub = orb_advertise_queue(ORB_ID(subsystem_info), &_info, subsystem_info_s::ORB_QUEUE_LENGTH);
|
||||
|
||||
} else {
|
||||
orb_publish(ORB_ID(subsystem_info), _subsystem_pub, &_info);
|
||||
}
|
||||
_subsystem_pub.publish(_info);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
#include <lib/cdev/CDev.hpp>
|
||||
#include <drivers/drv_hrt.h>
|
||||
|
||||
#include <uORB/uORB.h>
|
||||
#include <uORB/Publication.hpp>
|
||||
#include <uORB/PublicationQueued.hpp>
|
||||
#include <uORB/topics/iridiumsbd_status.h>
|
||||
#include <uORB/topics/subsystem_info.h>
|
||||
|
||||
@@ -304,8 +305,8 @@ private:
|
||||
bool _writing_mavlink_packet = false;
|
||||
uint16_t _packet_length = 0;
|
||||
|
||||
orb_advert_t _iridiumsbd_status_pub = nullptr;
|
||||
orb_advert_t _subsystem_pub = nullptr;
|
||||
uORB::Publication<iridiumsbd_status_s> _iridiumsbd_status_pub{ORB_ID(iridiumsbd_status)};
|
||||
uORB::PublicationQueued<subsystem_info_s> _subsystem_pub{ORB_ID(subsystem_info)};
|
||||
|
||||
bool _test_pending = false;
|
||||
char _test_command[32];
|
||||
|
||||
Reference in New Issue
Block a user