aboutsummaryrefslogtreecommitdiff
path: root/src/modules/commander
diff options
context:
space:
mode:
authortumbili <bapstr@ethz.ch>2014-12-31 16:25:15 +0100
committerLorenz Meier <lm@inf.ethz.ch>2014-12-31 16:40:16 +0100
commit72eafad5104ca0919f822fe44391c69f1ca80e8c (patch)
treedfe80337b5b0b8521a696986577e0167ce8dd30a /src/modules/commander
parent57ca716402c5f1bc0612532cbb0bd04edbb87ac4 (diff)
downloadpx4-firmware-72eafad5104ca0919f822fe44391c69f1ca80e8c.tar.gz
px4-firmware-72eafad5104ca0919f822fe44391c69f1ca80e8c.tar.bz2
px4-firmware-72eafad5104ca0919f822fe44391c69f1ca80e8c.zip
introduced vtol_fw_permanent stabilization: allows vtol to be attitude-stabilized in manual mode
Diffstat (limited to 'src/modules/commander')
-rw-r--r--src/modules/commander/commander.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp
index dc0594bf2..086f291f6 100644
--- a/src/modules/commander/commander.cpp
+++ b/src/modules/commander/commander.cpp
@@ -1267,7 +1267,7 @@ int commander_thread_main(int argc, char *argv[])
if (updated) {
/* vtol status changed */
orb_copy(ORB_ID(vtol_vehicle_status), vtol_vehicle_status_sub, &vtol_status);
-
+ status.vtol_fw_permanent_stab = vtol_status.fw_permanent_stab;
/* Make sure that this is only adjusted if vehicle realy is of type vtol*/
if (status.system_type == VEHICLE_TYPE_VTOL_DUOROTOR || VEHICLE_TYPE_VTOL_QUADROTOR) {
status.is_rotary_wing = vtol_status.vtol_in_rw_mode;
@@ -2246,8 +2246,8 @@ set_control_mode()
case NAVIGATION_STATE_MANUAL:
control_mode.flag_control_manual_enabled = true;
control_mode.flag_control_auto_enabled = false;
- control_mode.flag_control_rates_enabled = status.is_rotary_wing;
- control_mode.flag_control_attitude_enabled = status.is_rotary_wing;
+ control_mode.flag_control_rates_enabled = (status.is_rotary_wing || status.vtol_fw_permanent_stab);
+ control_mode.flag_control_attitude_enabled = (status.is_rotary_wing || status.vtol_fw_permanent_stab);
control_mode.flag_control_altitude_enabled = false;
control_mode.flag_control_climb_rate_enabled = false;
control_mode.flag_control_position_enabled = false;