|
|
|
@ -79,6 +79,22 @@ public:
@@ -79,6 +79,22 @@ public:
|
|
|
|
|
bool isFailure() const { return _status != FAILURE_NONE; } |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
bool resetAttitudeStatus(); |
|
|
|
|
bool isAttitudeStabilized(const vehicle_status_s &vehicle_status); |
|
|
|
|
bool updateAttitudeStatus(); |
|
|
|
|
bool updateExternalAtsStatus(); |
|
|
|
|
bool updateEscsStatus(const vehicle_status_s &vehicle_status); |
|
|
|
|
|
|
|
|
|
uint8_t _status{FAILURE_NONE}; |
|
|
|
|
|
|
|
|
|
systemlib::Hysteresis _roll_failure_hysteresis{false}; |
|
|
|
|
systemlib::Hysteresis _pitch_failure_hysteresis{false}; |
|
|
|
|
systemlib::Hysteresis _ext_ats_failure_hysteresis{false}; |
|
|
|
|
systemlib::Hysteresis _esc_failure_hysteresis{false}; |
|
|
|
|
|
|
|
|
|
uORB::Subscription _vehicule_attitude_sub{ORB_ID(vehicle_attitude)}; |
|
|
|
|
uORB::Subscription _esc_status_sub{ORB_ID(esc_status)}; |
|
|
|
|
uORB::Subscription _pwm_input_sub{ORB_ID(pwm_input)}; |
|
|
|
|
|
|
|
|
|
DEFINE_PARAMETERS( |
|
|
|
|
(ParamInt<px4::params::FD_FAIL_P>) _param_fd_fail_p, |
|
|
|
@ -88,25 +104,5 @@ private:
@@ -88,25 +104,5 @@ private:
|
|
|
|
|
(ParamBool<px4::params::FD_EXT_ATS_EN>) _param_fd_ext_ats_en, |
|
|
|
|
(ParamInt<px4::params::FD_EXT_ATS_TRIG>) _param_fd_ext_ats_trig, |
|
|
|
|
(ParamInt<px4::params::FD_ESCS_EN>) _param_escs_en |
|
|
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// Subscriptions
|
|
|
|
|
uORB::Subscription _sub_vehicule_attitude{ORB_ID(vehicle_attitude)}; |
|
|
|
|
uORB::Subscription _sub_esc_status{ORB_ID(esc_status)}; |
|
|
|
|
uORB::Subscription _sub_pwm_input{ORB_ID(pwm_input)}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint8_t _status{FAILURE_NONE}; |
|
|
|
|
|
|
|
|
|
systemlib::Hysteresis _roll_failure_hysteresis{false}; |
|
|
|
|
systemlib::Hysteresis _pitch_failure_hysteresis{false}; |
|
|
|
|
systemlib::Hysteresis _ext_ats_failure_hysteresis{false}; |
|
|
|
|
systemlib::Hysteresis _esc_failure_hysteresis{false}; |
|
|
|
|
|
|
|
|
|
bool resetAttitudeStatus(); |
|
|
|
|
bool isAttitudeStabilized(const vehicle_status_s &vehicle_status); |
|
|
|
|
bool updateAttitudeStatus(); |
|
|
|
|
bool updateExternalAtsStatus(); |
|
|
|
|
bool updateEscsStatus(const vehicle_status_s &vehicle_status); |
|
|
|
|
}; |
|
|
|
|