|
|
@ -47,6 +47,7 @@ |
|
|
|
#include <uORB/Subscription.hpp> |
|
|
|
#include <uORB/Subscription.hpp> |
|
|
|
#include <uORB/SubscriptionCallback.hpp> |
|
|
|
#include <uORB/SubscriptionCallback.hpp> |
|
|
|
#include <uORB/topics/actuator_controls.h> |
|
|
|
#include <uORB/topics/actuator_controls.h> |
|
|
|
|
|
|
|
#include <uORB/topics/actuator_controls_status.h> |
|
|
|
#include <uORB/topics/battery_status.h> |
|
|
|
#include <uORB/topics/battery_status.h> |
|
|
|
#include <uORB/topics/landing_gear.h> |
|
|
|
#include <uORB/topics/landing_gear.h> |
|
|
|
#include <uORB/topics/manual_control_setpoint.h> |
|
|
|
#include <uORB/topics/manual_control_setpoint.h> |
|
|
@ -87,6 +88,8 @@ private: |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
void parameters_updated(); |
|
|
|
void parameters_updated(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void updateActuatorControlsStatus(const actuator_controls_s &actuators, float dt); |
|
|
|
|
|
|
|
|
|
|
|
RateControl _rate_control; ///< class for rate control calculations
|
|
|
|
RateControl _rate_control; ///< class for rate control calculations
|
|
|
|
|
|
|
|
|
|
|
|
uORB::Subscription _battery_status_sub{ORB_ID(battery_status)}; |
|
|
|
uORB::Subscription _battery_status_sub{ORB_ID(battery_status)}; |
|
|
@ -104,8 +107,9 @@ private: |
|
|
|
uORB::SubscriptionCallbackWorkItem _vehicle_angular_velocity_sub{this, ORB_ID(vehicle_angular_velocity)}; |
|
|
|
uORB::SubscriptionCallbackWorkItem _vehicle_angular_velocity_sub{this, ORB_ID(vehicle_angular_velocity)}; |
|
|
|
|
|
|
|
|
|
|
|
uORB::Publication<actuator_controls_s> _actuators_0_pub; |
|
|
|
uORB::Publication<actuator_controls_s> _actuators_0_pub; |
|
|
|
uORB::PublicationMulti<rate_ctrl_status_s> _controller_status_pub{ORB_ID(rate_ctrl_status)}; /**< controller status publication */ |
|
|
|
uORB::Publication<actuator_controls_status_s> _actuator_controls_status_0_pub{ORB_ID(actuator_controls_status_0)}; |
|
|
|
uORB::Publication<vehicle_rates_setpoint_s> _v_rates_sp_pub{ORB_ID(vehicle_rates_setpoint)}; /**< rate setpoint publication */ |
|
|
|
uORB::PublicationMulti<rate_ctrl_status_s> _controller_status_pub{ORB_ID(rate_ctrl_status)}; |
|
|
|
|
|
|
|
uORB::Publication<vehicle_rates_setpoint_s> _v_rates_sp_pub{ORB_ID(vehicle_rates_setpoint)}; |
|
|
|
|
|
|
|
|
|
|
|
vehicle_control_mode_s _v_control_mode{}; |
|
|
|
vehicle_control_mode_s _v_control_mode{}; |
|
|
|
vehicle_status_s _vehicle_status{}; |
|
|
|
vehicle_status_s _vehicle_status{}; |
|
|
@ -126,6 +130,9 @@ private: |
|
|
|
|
|
|
|
|
|
|
|
int8_t _landing_gear{landing_gear_s::GEAR_DOWN}; |
|
|
|
int8_t _landing_gear{landing_gear_s::GEAR_DOWN}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float _energy_integration_time{0.0f}; |
|
|
|
|
|
|
|
float _control_energy[4] {}; |
|
|
|
|
|
|
|
|
|
|
|
DEFINE_PARAMETERS( |
|
|
|
DEFINE_PARAMETERS( |
|
|
|
(ParamFloat<px4::params::MC_ROLLRATE_P>) _param_mc_rollrate_p, |
|
|
|
(ParamFloat<px4::params::MC_ROLLRATE_P>) _param_mc_rollrate_p, |
|
|
|
(ParamFloat<px4::params::MC_ROLLRATE_I>) _param_mc_rollrate_i, |
|
|
|
(ParamFloat<px4::params::MC_ROLLRATE_I>) _param_mc_rollrate_i, |
|
|
|