diff --git a/boards/emlid/navio2/navio_sysfs_rc_in/navio_sysfs_rc_in.cpp b/boards/emlid/navio2/navio_sysfs_rc_in/navio_sysfs_rc_in.cpp index bf945236a74..ea175821b3c 100644 --- a/boards/emlid/navio2/navio_sysfs_rc_in/navio_sysfs_rc_in.cpp +++ b/boards/emlid/navio2/navio_sysfs_rc_in/navio_sysfs_rc_in.cpp @@ -47,7 +47,7 @@ #include -#include +#include #include namespace navio_sysfs_rc_in @@ -96,7 +96,7 @@ private: bool _isRunning; struct work_s _work; - orb_advert_t _rcinput_pub; + uORB::PublicationMulti _rcinput_pub{ORB_ID(input_rc)}; int _channels; int _ch_fd[input_rc_s::RC_INPUT_MAX_CHANNELS] {}; @@ -126,13 +126,6 @@ int RcInput::navio_rc_init() _data.values[i] = UINT16_MAX; } - _rcinput_pub = orb_advertise(ORB_ID(input_rc), &_data); - - if (_rcinput_pub == nullptr) { - PX4_WARN("error: advertise failed"); - return -1; - } - return 0; } @@ -208,7 +201,7 @@ void RcInput::_measure(void) _data.rc_lost = false; _data.input_source = input_rc_s::RC_INPUT_SOURCE_PX4IO_PPM; - orb_publish(ORB_ID(input_rc), _rcinput_pub, &_data); + _rcinput_pub.publish(_data); } /**