From dc042ac992d795700d626dba98ef3fd454fc0c8e Mon Sep 17 00:00:00 2001 From: Christophe De Wagter Date: Tue, 7 Nov 2023 10:16:50 +0100 Subject: [PATCH] CommandsFromRC overwritten in INDI (#3162) * AutoCommandsFromRC overwritten in INDI fix? git status No hidden define but a clear RADIO_CONTROL_THRUST_X * Let's put it in stabilization and read RC directly after all... --- conf/airframes/tudelft/rot_wing_25kg.xml | 6 +----- .../rotorcraft/stabilization/stabilization_indi.c | 8 +++++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/conf/airframes/tudelft/rot_wing_25kg.xml b/conf/airframes/tudelft/rot_wing_25kg.xml index 963ae9021d..a2cf6e55c7 100644 --- a/conf/airframes/tudelft/rot_wing_25kg.xml +++ b/conf/airframes/tudelft/rot_wing_25kg.xml @@ -24,6 +24,7 @@ + @@ -156,11 +157,6 @@ - - - - - diff --git a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_indi.c b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_indi.c index a46ba52f93..c4d1e51524 100644 --- a/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_indi.c +++ b/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_indi.c @@ -88,9 +88,14 @@ #endif #ifdef SetCommandsFromRC -#warning SetCommandsFromRC not used: STAB_INDI overwrites actuators +#warning SetCommandsFromRC not used: STAB_INDI writes actuators directly #endif +#ifdef SetAutoCommandsFromRC +#warning SetAutoCommandsFromRC not used: STAB_INDI writes actuators directly +#endif + + #if !STABILIZATION_INDI_ALLOCATION_PSEUDO_INVERSE #if INDI_NUM_ACT > WLS_N_U #error Matrix-WLS_N_U too small or not defined: define WLS_N_U >= INDI_NUM_ACT in airframe file @@ -625,6 +630,7 @@ void stabilization_indi_rate_run(struct FloatRates rate_sp, bool in_flight) v_thrust.z += (stabilization_cmd[COMMAND_THRUST] - use_increment * actuator_state_filt_vect[i]) * Bwls[3][i]; #if INDI_OUTPUTS == 5 + stabilization_cmd[COMMAND_THRUST_X] = radio_control.values[RADIO_CONTROL_THRUST_X]; v_thrust.x += (stabilization_cmd[COMMAND_THRUST_X] - use_increment * actuator_state_filt_vect[i]) * Bwls[4][i]; #endif