From 887dfd1ec4f250478c76de2d77ed261dbb32fb63 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sun, 1 May 2016 16:42:30 +0200 Subject: [PATCH] Fix RSSI lower bound --- src/drivers/px4fmu/fmu.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/drivers/px4fmu/fmu.cpp b/src/drivers/px4fmu/fmu.cpp index a661879aac..368f81fec7 100644 --- a/src/drivers/px4fmu/fmu.cpp +++ b/src/drivers/px4fmu/fmu.cpp @@ -861,12 +861,18 @@ PX4FMU::fill_rc_in(uint16_t raw_rc_count, /* set RSSI if analog RSSI input is present */ if (_analog_rc_rssi_stable) { - _rc_in.rssi = ((_analog_rc_rssi_volt - 0.2f) / 3.0f) * 100.0f; + float rssi = ((_analog_rc_rssi_volt - 0.2f) / 3.0f) * 100.0f; - if (_rc_in.rssi > 100) { - _rc_in.rssi = 100; + if (rssi > 100.0f) { + rssi = 100.0f; } + if (rssi < 0.0f) { + rssi = 0.0f; + } + + _rc_in.rssi = rssi; + } else { _rc_in.rssi = (!frame_drop) ? RC_INPUT_RSSI_MAX : (RC_INPUT_RSSI_MAX / 2);