1 change: 1 addition & 0 deletions conf/airframes/examples/cube_orange.xml
Expand Up @@ -89,6 +89,7 @@
<module name="stabilization" type="indi_simple"/>
<module name="stabilization" type="rate_indi"/>
<module name="ins" type="ekf2"/>
<module name="nav" type="hybrid"/>

<module name="air_data"/>

Expand Down
6 changes: 1 addition & 5 deletions conf/airframes/tudelft/rot_wing_25kg.xml
Expand Up @@ -24,6 +24,7 @@
<define name="RADIO_KILL_SWITCH" value="RADIO_AUX1"/>
<define name="RADIO_FMODE" value="RADIO_AUX2"/>
<define name="RADIO_FBW_MODE" value="RADIO_AUX3"/>
<define name="RADIO_CONTROL_THRUST_X" value="RADIO_AUX4"/>

<!-- EKF2 configure inputs -->
<define name="INS_EKF2_GYRO_ID" value="IMU_CUBE1_ID"/>
Expand Down Expand Up @@ -156,11 +157,6 @@
</commands>


<auto_rc_commands>
<set VALUE="@AUX4" COMMAND="THRUST_X"/>
</auto_rc_commands>


<command_laws>
<let var="th_hold" value="Or(LessThan(RadioControlValues(RADIO_TH_HOLD), -4800), !autopilot_get_motors_on())"/>
<let VAR="servo_hold" VALUE="LessThan(RadioControlValues(RADIO_TH_HOLD), -4800)"/>
Expand Down
2 changes: 1 addition & 1 deletion conf/conf_tests.xml
Expand Up @@ -7,7 +7,7 @@
telemetry="telemetry/highspeed_rotorcraft.xml"
flight_plan="flight_plans/rotorcraft_basic_geofence.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/air_data.xml modules/airspeed_ms45xx_i2c.xml modules/electrical.xml modules/gps.xml modules/gps_ublox.xml modules/gps_ubx_ucenter.xml modules/guidance_indi_hybrid.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/imu_heater.xml modules/ins_ekf2.xml modules/logger_sd_chibios.xml modules/nav_rotorcraft.xml modules/scheduling_indi_simple.xml modules/stabilization_indi_simple.xml"
settings_modules="modules/air_data.xml modules/airspeed_ms45xx_i2c.xml modules/electrical.xml modules/gps.xml modules/gps_ublox.xml modules/gps_ubx_ucenter.xml modules/guidance_indi_hybrid.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/imu_heater.xml modules/ins_ekf2.xml modules/logger_sd_chibios.xml modules/nav_hybrid.xml modules/nav_rotorcraft.xml modules/scheduling_indi_simple.xml modules/stabilization_indi_simple.xml"
gui_color="blue"
/>
<aircraft
Expand Down
2 changes: 1 addition & 1 deletion conf/modules/nav_hybrid.xml
Expand Up @@ -20,7 +20,7 @@
<dl_settings>
<dl_settings NAME="nav_hybrid">
<dl_setting var="nav_max_speed" min="1.0" step="1.0" max="50.0"/>
<dl_setting var="nav_hover_speed" min="0.1" step="0.1" max="10.0"/>
<dl_setting var="nav_goto_speed" min="0.1" step="0.1" max="10.0"/>
<dl_setting var="nav_max_deceleration_sp" min="0.5" step="0.1" max="10.0" shortname="max_deceleration" param="NAV_HYBRID_MAX_DECELERATION"/>
</dl_settings>
</dl_settings>
Expand Down
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion sw/airborne/modules/nav/nav_rotorcraft_hybrid.h
Expand Up @@ -33,7 +33,7 @@

// settings
extern float nav_max_speed; // max speed in route mode
extern float nav_hover_speed; // max speed in goto/stay mode
extern float nav_goto_speed; // max speed in goto/stay mode
extern float nav_max_deceleration_sp;

extern void nav_rotorcraft_hybrid_init(void);
Expand Down