sensors and px4io driver: Guard against failsafe trigger for inverted remotes

This commit is contained in:
Lorenz Meier
2014-04-05 11:28:07 +02:00
parent ce50429769
commit 3b5e6f9833
3 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -948,8 +948,8 @@ PX4IO::task_main()
}
/* send RC throttle failsafe value to IO */
float failsafe_param_val;
param_t failsafe_param = param_find("RC_FS_THR");
int32_t failsafe_param_val;
param_t failsafe_param = param_find("RC_FAILS_THR");
if (failsafe_param > 0)
+1 -1
View File
@@ -675,4 +675,4 @@ PARAM_DEFINE_FLOAT(RC_SCALE_YAW, 2.0f);
* @max 2200
* @group Radio Calibration
*/
PARAM_DEFINE_FLOAT(RC_FS_THR, 0);
PARAM_DEFINE_INT32(RC_FAILS_THR, 0);
+4 -4
View File
@@ -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;
}