diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2015-04-21 17:46:21 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2015-04-21 17:46:21 +0200 |
commit | 09ae879b8262f5ae9b0cd23f48854d4730172ae2 (patch) | |
tree | b90dc3a6d93541b1d3279a8315a490cf7723c251 /src/modules | |
parent | d544ac09550814550e4fc07a8197f8fffb44d98d (diff) | |
download | px4-firmware-09ae879b8262f5ae9b0cd23f48854d4730172ae2.tar.gz px4-firmware-09ae879b8262f5ae9b0cd23f48854d4730172ae2.tar.bz2 px4-firmware-09ae879b8262f5ae9b0cd23f48854d4730172ae2.zip |
RC input: Replace magic numbers with better numbers, cap output to 0-100
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/px4iofirmware/controls.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/px4iofirmware/controls.c b/src/modules/px4iofirmware/controls.c index c9702c2ec..ac004f212 100644 --- a/src/modules/px4iofirmware/controls.c +++ b/src/modules/px4iofirmware/controls.c @@ -191,7 +191,10 @@ controls_tick() { unsigned mV = counts * 3300 / 4096; /* scale to 0..253 and lowpass */ - rssi = (rssi * 0.99f) + ((mV / 13) * 0.01f); + rssi = (rssi * 0.99f) + ((mV / (3300 / RC_INPUT_RSSI_MAX)) * 0.01f); + if (rssi > RC_INPUT_RSSI_MAX) { + rssi = RC_INPUT_RSSI_MAX; + } } } #endif @@ -223,11 +226,11 @@ controls_tick() { if (sbus_updated) { r_status_flags |= PX4IO_P_STATUS_FLAGS_RC_SBUS; - unsigned sbus_rssi = 254; + unsigned sbus_rssi = RC_INPUT_RSSI_MAX; if (sbus_frame_drop) { r_raw_rc_flags |= PX4IO_P_RAW_RC_FLAGS_FRAME_DROP; - sbus_rssi = 100; + sbus_rssi = RC_INPUT_RSSI_MAX / 2; } else { r_raw_rc_flags &= ~(PX4IO_P_RAW_RC_FLAGS_FRAME_DROP); } |