mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 17:33:33 +08:00
uORB::Publication simplify and cleanup
- base class is now template - drop linked list - virtualization no longer required
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
#include <px4_module_params.h>
|
||||
#include <px4_posix.h>
|
||||
#include <px4_tasks.h>
|
||||
#include <uORB/Publication.hpp>
|
||||
#include <uORB/Subscription.hpp>
|
||||
#include <uORB/topics/actuator_controls.h>
|
||||
#include <uORB/topics/battery_status.h>
|
||||
@@ -161,11 +162,12 @@ private:
|
||||
unsigned _gyro_count{1};
|
||||
int _selected_gyro{0};
|
||||
|
||||
orb_advert_t _v_rates_sp_pub{nullptr}; /**< rate setpoint publication */
|
||||
uORB::Publication<rate_ctrl_status_s> _controller_status_pub{ORB_ID(rate_ctrl_status), ORB_PRIO_DEFAULT}; /**< controller status publication */
|
||||
uORB::Publication<landing_gear_s> _landing_gear_pub{ORB_ID(landing_gear)};
|
||||
uORB::Publication<vehicle_rates_setpoint_s> _v_rates_sp_pub{ORB_ID(vehicle_rates_setpoint)}; /**< rate setpoint publication */
|
||||
|
||||
orb_advert_t _actuators_0_pub{nullptr}; /**< attitude actuator controls publication */
|
||||
orb_advert_t _controller_status_pub{nullptr}; /**< controller status publication */
|
||||
orb_advert_t _vehicle_attitude_setpoint_pub{nullptr};
|
||||
orb_advert_t _landing_gear_pub{nullptr};
|
||||
|
||||
orb_id_t _actuators_id{nullptr}; /**< pointer to correct actuator controls0 uORB metadata structure */
|
||||
orb_id_t _attitude_sp_id{nullptr}; /**< pointer to correct attitude setpoint uORB metadata structure */
|
||||
|
||||
@@ -345,7 +345,7 @@ MulticopterAttitudeControl::generate_attitude_setpoint(float dt, bool reset_yaw_
|
||||
|
||||
_landing_gear.landing_gear = get_landing_gear_state();
|
||||
_landing_gear.timestamp = hrt_absolute_time();
|
||||
orb_publish_auto(ORB_ID(landing_gear), &_landing_gear_pub, &_landing_gear, nullptr, ORB_PRIO_DEFAULT);
|
||||
_landing_gear_pub.publish(_landing_gear);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -508,7 +508,8 @@ MulticopterAttitudeControl::publish_rates_setpoint()
|
||||
_v_rates_sp.thrust_body[1] = 0.0f;
|
||||
_v_rates_sp.thrust_body[2] = -_thrust_sp;
|
||||
_v_rates_sp.timestamp = hrt_absolute_time();
|
||||
orb_publish_auto(ORB_ID(vehicle_rates_setpoint), &_v_rates_sp_pub, &_v_rates_sp, nullptr, ORB_PRIO_DEFAULT);
|
||||
|
||||
_v_rates_sp_pub.publish(_v_rates_sp);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -522,7 +523,8 @@ MulticopterAttitudeControl::publish_rate_controller_status()
|
||||
rate_ctrl_status.rollspeed_integ = _rates_int(0);
|
||||
rate_ctrl_status.pitchspeed_integ = _rates_int(1);
|
||||
rate_ctrl_status.yawspeed_integ = _rates_int(2);
|
||||
orb_publish_auto(ORB_ID(rate_ctrl_status), &_controller_status_pub, &rate_ctrl_status, nullptr, ORB_PRIO_DEFAULT);
|
||||
|
||||
_controller_status_pub.publish(rate_ctrl_status);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user