aboutsummaryrefslogtreecommitdiff
path: root/src/modules/sensors/sensors.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-04-05 11:28:07 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-04-05 11:28:07 +0200
commit3b5e6f98338fded2cbe7be1c301dc2698f7239aa (patch)
tree4840dab377589cfdf1558fb4d5b41d1f0bb6ac43 /src/modules/sensors/sensors.cpp
parentce504297690ea11032e465c96aa96a00dd4be2bc (diff)
downloadpx4-firmware-3b5e6f98338fded2cbe7be1c301dc2698f7239aa.tar.gz
px4-firmware-3b5e6f98338fded2cbe7be1c301dc2698f7239aa.tar.bz2
px4-firmware-3b5e6f98338fded2cbe7be1c301dc2698f7239aa.zip
sensors and px4io driver: Guard against failsafe trigger for inverted remotes
Diffstat (limited to 'src/modules/sensors/sensors.cpp')
-rw-r--r--src/modules/sensors/sensors.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp
index 4c34d853f..44a91ca67 100644
--- a/src/modules/sensors/sensors.cpp
+++ b/src/modules/sensors/sensors.cpp
@@ -263,7 +263,7 @@ private:
float rc_scale_yaw;
float rc_scale_flaps;
- float rc_fs_thr;
+ int32_t rc_fs_thr;
float battery_voltage_scaling;
float battery_current_scaling;
@@ -527,7 +527,7 @@ Sensors::Sensors() :
_parameter_handles.rc_scale_flaps = param_find("RC_SCALE_FLAPS");
/* RC failsafe */
- _parameter_handles.rc_fs_thr = param_find("RC_FS_THR");
+ _parameter_handles.rc_fs_thr = param_find("RC_FAILS_THR");
/* gyro offsets */
_parameter_handles.gyro_offset[0] = param_find("SENS_GYRO_XOFF");
@@ -1309,8 +1309,8 @@ Sensors::rc_poll()
}
/* check for failsafe */
- if (rc_input.rc_failsafe || ((rc_input.values[_rc.function[THROTTLE]] < _parameters.min[i]) && (rc_input.values[_rc.function[THROTTLE]] < _parameters.rc_fs_thr))
- || ((rc_input.values[_rc.function[THROTTLE]] > _parameters.max[i]) && (rc_input.values[_rc.function[THROTTLE]] > _parameters.rc_fs_thr))) {
+ if (_parameters.rc_fs_thr && (rc_input.rc_failsafe || ((rc_input.values[_rc.function[THROTTLE]] < _parameters.min[i]) && (rc_input.values[_rc.function[THROTTLE]] < _parameters.rc_fs_thr))
+ || ((rc_input.values[_rc.function[THROTTLE]] > _parameters.max[i]) && (rc_input.values[_rc.function[THROTTLE]] > _parameters.rc_fs_thr)))) {
/* do not publish manual control setpoints when there are none */
return;
}