diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2012-11-25 13:55:28 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2012-11-25 13:55:28 +0100 |
commit | faa672f8bb257ec0ee357ad55da3195b79aeb54b (patch) | |
tree | d20ffd7f403aab274652b016af49554128a472d1 /apps/commander/commander.c | |
parent | dc72d467d4abe3d18bbf02091eb4eaddb4f491d2 (diff) | |
download | px4-firmware-faa672f8bb257ec0ee357ad55da3195b79aeb54b.tar.gz px4-firmware-faa672f8bb257ec0ee357ad55da3195b79aeb54b.tar.bz2 px4-firmware-faa672f8bb257ec0ee357ad55da3195b79aeb54b.zip |
mode switching for all platforms, additional fixed wing modes
Diffstat (limited to 'apps/commander/commander.c')
-rw-r--r-- | apps/commander/commander.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/apps/commander/commander.c b/apps/commander/commander.c index 7277e9fa4..33ed5ebc2 100644 --- a/apps/commander/commander.c +++ b/apps/commander/commander.c @@ -1496,14 +1496,20 @@ int commander_thread_main(int argc, char *argv[]) } //printf("RC: y:%i/t:%i s:%i chans: %i\n", rc_yaw_scale, rc_throttle_scale, mode_switch_rc_value, rc.chan_count); - if (sp_man.override_mode_switch > STICK_ON_OFF_LIMIT) { + if (sp_man.aux1_cam_pan_flaps < -STICK_ON_OFF_LIMIT) { update_state_machine_mode_manual(stat_pub, ¤t_status, mavlink_fd); + } else { + if (sp_man.override_mode_switch > STICK_ON_OFF_LIMIT) { + //update_state_machine_mode_manual(stat_pub, ¤t_status, mavlink_fd); + // XXX hack + update_state_machine_mode_stabilized(stat_pub, ¤t_status, mavlink_fd); - } else if (sp_man.override_mode_switch < -STICK_ON_OFF_LIMIT) { - update_state_machine_mode_auto(stat_pub, ¤t_status, mavlink_fd); + } else if (sp_man.override_mode_switch < -STICK_ON_OFF_LIMIT) { + update_state_machine_mode_auto(stat_pub, ¤t_status, mavlink_fd); - } else { - update_state_machine_mode_stabilized(stat_pub, ¤t_status, mavlink_fd); + } else { + update_state_machine_mode_stabilized(stat_pub, ¤t_status, mavlink_fd); + } } /* handle the case where RC signal was regained */ |