From 6eea0d45cab0b9ba29db081f445d368d76cae449 Mon Sep 17 00:00:00 2001 From: mikeller Date: Wed, 30 May 2018 22:29:42 +1200 Subject: [PATCH] Changes from review. --- src/main/rx/fport.c | 2 +- src/main/rx/rx.c | 4 ++-- src/main/telemetry/ltm.c | 2 +- src/main/telemetry/mavlink.c | 2 +- src/test/unit/osd_unittest.cc | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/rx/fport.c b/src/main/rx/fport.c index f33c546a9..701efee79 100644 --- a/src/main/rx/fport.c +++ b/src/main/rx/fport.c @@ -269,7 +269,7 @@ static uint8_t fportFrameStatus(rxRuntimeConfig_t *rxRuntimeConfig) } else { result = sbusChannelsDecode(rxRuntimeConfig, &frame->data.controlData.channels); - setRssi(scaleRange(frame->data.controlData.rssi, 0, 100, 0, 1024), RSSI_SOURCE_RX_PROTOCOL); + setRssi(scaleRange(frame->data.controlData.rssi, 0, 100, 0, RSSI_MAX_VALUE), RSSI_SOURCE_RX_PROTOCOL); lastRcFrameReceivedMs = millis(); } diff --git a/src/main/rx/rx.c b/src/main/rx/rx.c index 680b3914e..5d0727114 100644 --- a/src/main/rx/rx.c +++ b/src/main/rx/rx.c @@ -77,7 +77,7 @@ static timeUs_t lastMspRssiUpdateUs = 0; #define MSP_RSSI_TIMEOUT_US 1500000 // 1.5 sec -#define RSSI_ADC_DIVISOR 4 // 4096 / 1024 +#define RSSI_ADC_DIVISOR (4096 / 1024) rssiSource_e rssiSource; @@ -655,7 +655,7 @@ static void updateRSSIADC(timeUs_t currentTimeUs) rssiValue = RSSI_MAX_VALUE - rssiValue; } - setRssi((uint16_t)rssiValue, RSSI_SOURCE_ADC); + setRssi(rssiValue, RSSI_SOURCE_ADC); #endif } diff --git a/src/main/telemetry/ltm.c b/src/main/telemetry/ltm.c index c5e8d5793..17412e13f 100644 --- a/src/main/telemetry/ltm.c +++ b/src/main/telemetry/ltm.c @@ -196,7 +196,7 @@ static void ltm_sframe(void) ltm_initialise_packet('S'); ltm_serialise_16(getBatteryVoltage() * 100); //vbat converted to mv ltm_serialise_16(0); // current, not implemented - ltm_serialise_8(scaleRange(getRssi(), 0, RSSI_MAX_VALUE, 0, 255)); // scaled RSSI (uchar) + ltm_serialise_8(constrain(scaleRange(getRssi(), 0, RSSI_MAX_VALUE, 0, 255), 0, 255)); // scaled RSSI (uchar) ltm_serialise_8(0); // no airspeed ltm_serialise_8((lt_flightmode << 2) | lt_statemode); ltm_finalise(); diff --git a/src/main/telemetry/mavlink.c b/src/main/telemetry/mavlink.c index ec5d9110c..ea8764f8d 100644 --- a/src/main/telemetry/mavlink.c +++ b/src/main/telemetry/mavlink.c @@ -281,7 +281,7 @@ void mavlinkSendRCChannelsAndRSSI(void) // chan8_raw RC channel 8 value, in microseconds (rxRuntimeConfig.channelCount >= 8) ? rcData[7] : 0, // rssi Receive signal strength indicator, 0: 0%, 255: 100% - scaleRange(getRssi(), 0, RSSI_MAX_VALUE, 0, 255)); + constrain(scaleRange(getRssi(), 0, RSSI_MAX_VALUE, 0, 255), 0, 255)); msgLength = mavlink_msg_to_send_buffer(mavBuffer, &mavMsg); mavlinkSerialWrite(mavBuffer, msgLength); } diff --git a/src/test/unit/osd_unittest.cc b/src/test/unit/osd_unittest.cc index 2f66dcb19..93fe9a604 100644 --- a/src/test/unit/osd_unittest.cc +++ b/src/test/unit/osd_unittest.cc @@ -1015,7 +1015,7 @@ extern "C" { uint16_t getRssi(void) { return rssi; } - uint8_t getRssiPercent(void) { return rssi * 100 / 1024; } + uint8_t getRssiPercent(void) { return scaleRange(rssi, 0, RSSI_MAX_VALUE, 0, 100); } uint16_t getCoreTemperatureCelsius(void) { return simulationCoreTemperature; }