diff --git a/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp b/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp index 8e782e3bc6..9b9da36845 100644 --- a/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp +++ b/src/modules/fw_pos_control_l1/FixedwingPositionControl.cpp @@ -531,12 +531,7 @@ FixedwingPositionControl::tecs_status_publish() t.timestamp = hrt_absolute_time(); - if (_tecs_status_pub != nullptr) { - orb_publish(ORB_ID(tecs_status), _tecs_status_pub, &t); - - } else { - _tecs_status_pub = orb_advertise(ORB_ID(tecs_status), &t); - } + _tecs_status_pub.publish(t); } void @@ -560,12 +555,7 @@ FixedwingPositionControl::status_publish() pos_ctrl_status.timestamp = hrt_absolute_time(); - if (_pos_ctrl_status_pub != nullptr) { - orb_publish(ORB_ID(position_controller_status), _pos_ctrl_status_pub, &pos_ctrl_status); - - } else { - _pos_ctrl_status_pub = orb_advertise(ORB_ID(position_controller_status), &pos_ctrl_status); - } + _pos_ctrl_status_pub.publish(pos_ctrl_status); } void @@ -581,12 +571,7 @@ FixedwingPositionControl::landing_status_publish() pos_ctrl_landing_status.timestamp = hrt_absolute_time(); - if (_pos_ctrl_landing_status_pub != nullptr) { - orb_publish(ORB_ID(position_controller_landing_status), _pos_ctrl_landing_status_pub, &pos_ctrl_landing_status); - - } else { - _pos_ctrl_landing_status_pub = orb_advertise(ORB_ID(position_controller_landing_status), &pos_ctrl_landing_status); - } + _pos_ctrl_landing_status_pub.publish(pos_ctrl_landing_status); } void diff --git a/src/modules/fw_pos_control_l1/FixedwingPositionControl.hpp b/src/modules/fw_pos_control_l1/FixedwingPositionControl.hpp index 4f13b7e1e3..c5364e2c18 100644 --- a/src/modules/fw_pos_control_l1/FixedwingPositionControl.hpp +++ b/src/modules/fw_pos_control_l1/FixedwingPositionControl.hpp @@ -66,6 +66,7 @@ #include #include #include +#include #include #include #include @@ -165,11 +166,11 @@ private: uORB::SubscriptionData _vehicle_rates_sub{ORB_ID(vehicle_angular_velocity)}; orb_advert_t _attitude_sp_pub{nullptr}; ///< attitude setpoint */ - orb_advert_t _pos_ctrl_status_pub{nullptr}; ///< navigation capabilities publication */ - orb_advert_t _pos_ctrl_landing_status_pub{nullptr}; ///< landing status publication */ - orb_advert_t _tecs_status_pub{nullptr}; ///< TECS status publication */ + orb_id_t _attitude_setpoint_id{nullptr}; - orb_id_t _attitude_setpoint_id{nullptr}; + uORB::Publication _pos_ctrl_status_pub{ORB_ID(position_controller_status)}; ///< navigation capabilities publication */ + uORB::Publication _pos_ctrl_landing_status_pub{ORB_ID(position_controller_landing_status)}; ///< landing status publication */ + uORB::Publication _tecs_status_pub{ORB_ID(tecs_status)}; ///< TECS status publication */ manual_control_setpoint_s _manual {}; ///< r/c channel data */ position_setpoint_triplet_s _pos_sp_triplet {}; ///< triplet of mission items */