Browse Source

Allow quadchute from external command

release/1.12
Thomas 4 years ago committed by Roman Bapst
parent
commit
d3ddbe8db5
  1. 3
      src/modules/vtol_att_control/vtol_att_control_main.h
  2. 11
      src/modules/vtol_att_control/vtol_type.cpp
  3. 2
      src/modules/vtol_att_control/vtol_type.h

3
src/modules/vtol_att_control/vtol_att_control_main.h

@ -108,12 +108,13 @@ public: @@ -108,12 +108,13 @@ public:
bool is_fixed_wing_requested();
void quadchute(const char *reason);
int get_transition_command() {return _transition_command;}
struct actuator_controls_s *get_actuators_fw_in() {return &_actuators_fw_in;}
struct actuator_controls_s *get_actuators_mc_in() {return &_actuators_mc_in;}
struct actuator_controls_s *get_actuators_out0() {return &_actuators_out_0;}
struct actuator_controls_s *get_actuators_out1() {return &_actuators_out_1;}
struct airspeed_validated_s *get_airspeed() {return &_airspeed_validated;}
struct airspeed_validated_s *get_airspeed() {return &_airspeed_validated;}
struct position_setpoint_triplet_s *get_pos_sp_triplet() {return &_pos_sp_triplet;}
struct tecs_status_s *get_tecs_status() {return &_tecs_status;}
struct vehicle_attitude_s *get_att() {return &_v_att;}

11
src/modules/vtol_att_control/vtol_type.cpp

@ -235,6 +235,17 @@ bool VtolType::can_transition_on_ground() @@ -235,6 +235,17 @@ bool VtolType::can_transition_on_ground()
void VtolType::check_quadchute_condition()
{
//TODO: adapt https://mavlink.io/en/messages/common.html#MAV_VTOL_STATE to contain MAV_VTOL_STATE_QC
//instead of hardcoded 5.
if (_attc->get_transition_command() == 5 && !_quadchute_command_treated) {
_attc->quadchute("QuadChute by command");
_quadchute_command_treated = true;
} else {
_quadchute_command_treated = false;
}
if (!_tecs_running) {
// reset the filtered height rate and heigh rate setpoint if TECS is not running

2
src/modules/vtol_att_control/vtol_type.h

@ -247,6 +247,8 @@ protected: @@ -247,6 +247,8 @@ protected:
float _accel_to_pitch_integ = 0;
bool _quadchute_command_treated = 0;
/**

Loading…
Cancel
Save