From c057f8a097cf3e6374e0a1dfe09b49b07e1bc3b5 Mon Sep 17 00:00:00 2001 From: Krzysiek Egzmont Date: Thu, 2 Nov 2023 01:46:07 +0100 Subject: [PATCH] FIX #74: limit spectrum analyzer RSSI trigger values --- app/spectrum.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/spectrum.c b/app/spectrum.c index 8f32126..2e30d0f 100644 --- a/app/spectrum.c +++ b/app/spectrum.c @@ -401,11 +401,24 @@ static void Measure() { rssiHistory[scanInfo.i] = scanInfo.rssi = GetRssi(); } // Update things by keypress +static uint16_t dbm2rssi(int dBm) +{ + return (dBm + 160)*2; +} + +static void ClampRssiTriggerLevel() +{ + settings.rssiTriggerLevel = clamp(settings.rssiTriggerLevel, dbm2rssi(settings.dbMin), dbm2rssi(settings.dbMax)); +} + static void UpdateRssiTriggerLevel(bool inc) { if (inc) - settings.rssiTriggerLevel += 2; + settings.rssiTriggerLevel += 2; else - settings.rssiTriggerLevel -= 2; + settings.rssiTriggerLevel -= 2; + + ClampRssiTriggerLevel(); + redrawScreen = true; redrawStatus = true; } @@ -418,6 +431,8 @@ static void UpdateDBMax(bool inc) { } else { return; } + + ClampRssiTriggerLevel(); redrawStatus = true; redrawScreen = true; SYSTEM_DelayMs(20);