diff options
author | Thomas Gubler <thomasgubler@gmail.com> | 2014-07-19 14:39:41 +0200 |
---|---|---|
committer | Thomas Gubler <thomasgubler@gmail.com> | 2014-07-19 14:39:41 +0200 |
commit | 0b743a9f5c29cee3b3d7c6d602091453e1091973 (patch) | |
tree | 563a86fcb7abbd719ddb910299aedcb7a082c90c /src/modules/commander | |
parent | de0dd71061b1b388e87c25a3d4fd0080f0c9cf8b (diff) | |
download | px4-firmware-0b743a9f5c29cee3b3d7c6d602091453e1091973.tar.gz px4-firmware-0b743a9f5c29cee3b3d7c6d602091453e1091973.tar.bz2 px4-firmware-0b743a9f5c29cee3b3d7c6d602091453e1091973.zip |
parse flighttermination command
Diffstat (limited to 'src/modules/commander')
-rw-r--r-- | src/modules/commander/commander.cpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index 953feec2a..04450a44f 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -546,24 +546,19 @@ bool handle_command(struct vehicle_status_s *status_local, const struct safety_s } break; -#if 0 /* Flight termination */ - case VEHICLE_CMD_DO_SET_SERVO: { //xxx: needs its own mavlink command - - //XXX: to enable the parachute, a param needs to be set - //xxx: for safety only for now, param3 is unused by VEHICLE_CMD_DO_SET_SERVO - if (armed_local->armed && cmd->param3 > 0.5 && parachute_enabled) { - transition_result_t failsafe_res = failsafe_state_transition(status, FAILSAFE_STATE_TERMINATION); - cmd_result = VEHICLE_CMD_RESULT_ACCEPTED; - + case VEHICLE_CMD_DO_FLIGHTTERMINATION: { + if (cmd->param1 > 0.5f) { + //XXX update state machine? + armed_local->force_failsafe = true; + warnx("forcing failsafe"); } else { - /* reject parachute depoyment not armed */ - cmd_result = VEHICLE_CMD_RESULT_TEMPORARILY_REJECTED; + armed_local->force_failsafe = false; + warnx("disabling failsafe"); } - + cmd_result = VEHICLE_CMD_RESULT_ACCEPTED; } break; -#endif case VEHICLE_CMD_DO_SET_HOME: { bool use_current = cmd->param1 > 0.5f; |