From d7de67844f27484df7c1c1120ec125be7552be1d Mon Sep 17 00:00:00 2001 From: Konrad Date: Wed, 9 Mar 2022 14:07:59 +0100 Subject: [PATCH] Set up landing gear logic for standard VTOL. Gear is set down when in hover mode, else gear is set up. --- src/modules/vtol_att_control/standard.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/vtol_att_control/standard.cpp b/src/modules/vtol_att_control/standard.cpp index 0291a9e164..5b1c36b8ee 100644 --- a/src/modules/vtol_att_control/standard.cpp +++ b/src/modules/vtol_att_control/standard.cpp @@ -45,6 +45,7 @@ #include "vtol_att_control_main.h" #include +#include using namespace matrix; @@ -362,7 +363,7 @@ void Standard::fill_actuator_outputs() mc_out[actuator_controls_s::INDEX_PITCH] = mc_in[actuator_controls_s::INDEX_PITCH]; mc_out[actuator_controls_s::INDEX_YAW] = mc_in[actuator_controls_s::INDEX_YAW]; mc_out[actuator_controls_s::INDEX_THROTTLE] = mc_in[actuator_controls_s::INDEX_THROTTLE]; - mc_out[actuator_controls_s::INDEX_LANDING_GEAR] = mc_in[actuator_controls_s::INDEX_LANDING_GEAR]; + mc_out[actuator_controls_s::INDEX_LANDING_GEAR] = landing_gear_s::GEAR_DOWN; // FW out = 0, other than roll and pitch depending on elevon lock fw_out[actuator_controls_s::INDEX_ROLL] = elevon_lock ? 0 : fw_in[actuator_controls_s::INDEX_ROLL]; @@ -383,7 +384,7 @@ void Standard::fill_actuator_outputs() mc_out[actuator_controls_s::INDEX_PITCH] = mc_in[actuator_controls_s::INDEX_PITCH] * _mc_pitch_weight; mc_out[actuator_controls_s::INDEX_YAW] = mc_in[actuator_controls_s::INDEX_YAW] * _mc_yaw_weight; mc_out[actuator_controls_s::INDEX_THROTTLE] = mc_in[actuator_controls_s::INDEX_THROTTLE] * _mc_throttle_weight; - mc_out[actuator_controls_s::INDEX_LANDING_GEAR] = 0; + mc_out[actuator_controls_s::INDEX_LANDING_GEAR] = landing_gear_s::GEAR_UP; // FW out = FW in, with VTOL transition controlling throttle and airbrakes fw_out[actuator_controls_s::INDEX_ROLL] = fw_in[actuator_controls_s::INDEX_ROLL]; @@ -401,7 +402,7 @@ void Standard::fill_actuator_outputs() mc_out[actuator_controls_s::INDEX_PITCH] = 0; mc_out[actuator_controls_s::INDEX_YAW] = 0; mc_out[actuator_controls_s::INDEX_THROTTLE] = 0; - mc_out[actuator_controls_s::INDEX_LANDING_GEAR] = 0; + mc_out[actuator_controls_s::INDEX_LANDING_GEAR] = landing_gear_s::GEAR_UP; // FW out = FW in fw_out[actuator_controls_s::INDEX_ROLL] = fw_in[actuator_controls_s::INDEX_ROLL];