mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 07:23:34 +08:00
distance_sensor: changed all distance sensors to orb_advertise_multi
This commit is contained in:
@@ -61,6 +61,7 @@ LidarLiteI2C::LidarLiteI2C(int bus, const char *path, int address) :
|
||||
_sensor_ok(false),
|
||||
_collect_phase(false),
|
||||
_class_instance(-1),
|
||||
_orb_class_instance(-1),
|
||||
_distance_sensor_topic(-1),
|
||||
_sample_perf(perf_alloc(PC_ELAPSED, "ll40ls_i2c_read")),
|
||||
_comms_errors(perf_alloc(PC_COUNT, "ll40ls_i2c_comms_errors")),
|
||||
@@ -128,7 +129,8 @@ int LidarLiteI2C::init()
|
||||
struct distance_sensor_s ds_report;
|
||||
measure();
|
||||
_reports->get(&ds_report);
|
||||
_distance_sensor_topic = orb_advertise(ORB_ID(distance_sensor), &ds_report);
|
||||
_distance_sensor_topic = orb_advertise_multi(ORB_ID(distance_sensor), &ds_report,
|
||||
&_orb_class_instance, ORB_PRIO_LOW);
|
||||
|
||||
if (_distance_sensor_topic < 0) {
|
||||
debug("failed to create distance_sensor object. Did you start uOrb?");
|
||||
|
||||
@@ -103,6 +103,7 @@ private:
|
||||
bool _sensor_ok;
|
||||
bool _collect_phase;
|
||||
int _class_instance;
|
||||
int _orb_class_instance;
|
||||
|
||||
orb_advert_t _distance_sensor_topic;
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ LidarLitePWM::LidarLitePWM(const char *path) :
|
||||
_work{},
|
||||
_reports(nullptr),
|
||||
_class_instance(-1),
|
||||
_orb_class_instance(-1),
|
||||
_pwmSub(-1),
|
||||
_pwm{},
|
||||
_distance_sensor_topic(-1),
|
||||
@@ -112,7 +113,8 @@ int LidarLitePWM::init()
|
||||
struct distance_sensor_s ds_report;
|
||||
measure();
|
||||
_reports->get(&ds_report);
|
||||
_distance_sensor_topic = orb_advertise(ORB_ID(distance_sensor), &ds_report);
|
||||
_distance_sensor_topic = orb_advertise_multi(ORB_ID(distance_sensor), &ds_report,
|
||||
&_orb_class_instance, ORB_PRIO_LOW);
|
||||
|
||||
if (_distance_sensor_topic < 0) {
|
||||
debug("failed to create distance_sensor object. Did you start uOrb?");
|
||||
|
||||
@@ -108,6 +108,7 @@ private:
|
||||
work_s _work;
|
||||
ringbuffer::RingBuffer *_reports;
|
||||
int _class_instance;
|
||||
int _orb_class_instance;
|
||||
int _pwmSub;
|
||||
struct pwm_input_s _pwm;
|
||||
orb_advert_t _distance_sensor_topic;
|
||||
|
||||
Reference in New Issue
Block a user