From 2bb59171884d953510d7459f3c51fedf6627de3d Mon Sep 17 00:00:00 2001 From: Matthias Grob Date: Thu, 30 Jul 2020 15:41:25 +0200 Subject: [PATCH] FailureDetector: refactor naming, member order --- .../failure_detector/FailureDetector.cpp | 9 +++-- .../failure_detector/FailureDetector.hpp | 36 +++++++++---------- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/modules/commander/failure_detector/FailureDetector.cpp b/src/modules/commander/failure_detector/FailureDetector.cpp index 18f5483e33..854567444c 100644 --- a/src/modules/commander/failure_detector/FailureDetector.cpp +++ b/src/modules/commander/failure_detector/FailureDetector.cpp @@ -78,7 +78,7 @@ FailureDetector::update(const vehicle_status_s &vehicle_status) updated |= resetAttitudeStatus(); } - if (_sub_esc_status.updated()) { + if (_esc_status_sub.updated()) { if (_param_escs_en.get()) { updated |= updateEscsStatus(vehicle_status); @@ -115,7 +115,7 @@ FailureDetector::updateAttitudeStatus() bool updated(false); vehicle_attitude_s attitude; - if (_sub_vehicule_attitude.update(&attitude)) { + if (_vehicule_attitude_sub.update(&attitude)) { const matrix::Eulerf euler(matrix::Quatf(attitude.q)); const float roll(euler.phi()); @@ -160,7 +160,7 @@ FailureDetector::updateExternalAtsStatus() pwm_input_s pwm_input; bool updated(false); - if (_sub_pwm_input.update(&pwm_input)) { + if (_pwm_input_sub.update(&pwm_input)) { uint32_t pulse_width = pwm_input.pulse_width; bool ats_trigger_status = (pulse_width >= (uint32_t)_param_fd_ext_ats_trig.get()) && (pulse_width < 3_ms); @@ -192,11 +192,10 @@ FailureDetector::updateEscsStatus(const vehicle_status_s &vehicle_status) if (vehicle_status.arming_state == vehicle_status_s::ARMING_STATE_ARMED) { esc_status_s esc_status{}; - _sub_esc_status.copy(&esc_status); + _esc_status_sub.copy(&esc_status); int all_escs_armed = (1 << esc_status.esc_count) - 1; - _esc_failure_hysteresis.set_hysteresis_time_from(false, 300_ms); _esc_failure_hysteresis.set_state_and_update(all_escs_armed != esc_status.esc_armed_flags, time_now); diff --git a/src/modules/commander/failure_detector/FailureDetector.hpp b/src/modules/commander/failure_detector/FailureDetector.hpp index e4911c8006..247a84e47d 100644 --- a/src/modules/commander/failure_detector/FailureDetector.hpp +++ b/src/modules/commander/failure_detector/FailureDetector.hpp @@ -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) _param_fd_fail_p, @@ -88,25 +104,5 @@ private: (ParamBool) _param_fd_ext_ats_en, (ParamInt) _param_fd_ext_ats_trig, (ParamInt) _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); };