diff options
author | TickTock- <lukecell@safe-mail.net> | 2014-04-22 23:19:04 -0700 |
---|---|---|
committer | TickTock- <lukecell@safe-mail.net> | 2014-04-22 23:19:04 -0700 |
commit | 971e8fc4ffc6fc50ffaf257c473dfa86f5dc2d11 (patch) | |
tree | 24bcb1850ab7710940c84874ce9f3b618a0de66c /src | |
parent | 81c03154b96cd3a087873de1583356df5fb4dc88 (diff) | |
download | px4-firmware-971e8fc4ffc6fc50ffaf257c473dfa86f5dc2d11.tar.gz px4-firmware-971e8fc4ffc6fc50ffaf257c473dfa86f5dc2d11.tar.bz2 px4-firmware-971e8fc4ffc6fc50ffaf257c473dfa86f5dc2d11.zip |
Made failsafe more intuitive. Default (0) maps to whatever channel is throttle. If a non-zero value is entered, a direct channel map is used so use
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/sensors/sensor_params.c | 25 | ||||
-rw-r--r-- | src/modules/sensors/sensors.cpp | 5 |
2 files changed, 9 insertions, 21 deletions
diff --git a/src/modules/sensors/sensor_params.c b/src/modules/sensors/sensor_params.c index 48e5d80e7..a19180ad4 100644 --- a/src/modules/sensors/sensor_params.c +++ b/src/modules/sensors/sensor_params.c @@ -538,28 +538,13 @@ PARAM_DEFINE_INT32(RC_MAP_PITCH, 2); /** * Failsafe channel mapping. * - * The RC mapping index indicates which rc function - * should be used for detecting the failsafe condition + * The RC mapping index indicates which channel is used for failsafe + * If 0, whichever channel is mapped to throttle is used + * otherwise the value indicates the specific rc channel to use * * @min 0 - * @max 14 - * - * mapping (from rc_channels.h) - * THROTTLE = 0, - ROLL = 1, - PITCH = 2, - YAW = 3, - MODE = 4, - RETURN = 5, - ASSISTED = 6, - MISSION = 7, - OFFBOARD_MODE = 8, - FLAPS = 9, - AUX_1 = 10, - AUX_2 = 11, - AUX_3 = 12, - AUX_4 = 13, - AUX_5 = 14, + * @max 18 + * * */ PARAM_DEFINE_INT32(RC_MAP_FAILSAFE, 0); //Default to throttle function diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp index caf0ff6fe..28c08422e 100644 --- a/src/modules/sensors/sensors.cpp +++ b/src/modules/sensors/sensors.cpp @@ -1379,7 +1379,10 @@ Sensors::rc_poll() signal_lost = false; /* check failsafe */ - int8_t fs_ch = _rc.function[_parameters.rc_map_failsafe]; + int8_t fs_ch = _rc.function[_parameters.rc_map_failsafe]; // get channel mapped to throttle + if (_parameters.rc_map_failsafe>0){ // if not 0, use channel number instead of rc.function mapping + fs_ch = _parameters.rc_map_failsafe - 1; + } if (_parameters.rc_fails_thr > 0 && fs_ch >= 0) { /* failsafe configured */ if ((_parameters.rc_fails_thr < _parameters.min[fs_ch] && rc_input.values[fs_ch] < _parameters.rc_fails_thr) || |