From 98c90d52900a51cf05cc6fc22ca30266fd37d542 Mon Sep 17 00:00:00 2001 From: Jacob Powers Date: Sat, 14 Sep 2024 19:25:40 +0000 Subject: [PATCH] fix signal quality display when rssi missing --- .../Helpers/LoRaSignalStrengthIndicator.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Meshtastic/Views/Helpers/LoRaSignalStrengthIndicator.swift b/Meshtastic/Views/Helpers/LoRaSignalStrengthIndicator.swift index 4405e819..03735ae2 100644 --- a/Meshtastic/Views/Helpers/LoRaSignalStrengthIndicator.swift +++ b/Meshtastic/Views/Helpers/LoRaSignalStrengthIndicator.swift @@ -72,6 +72,20 @@ private func getColor(signalStrength: LoRaSignalStrength) -> Color { } func getLoRaSignalStrength(snr: Float, rssi: Int32, preset: ModemPresets) -> LoRaSignalStrength { + // rssi is 0 when not available + if rssi == 0 { + if snr > (preset.snrLimit()) { + return .good + } + if snr < (preset.snrLimit() - 7.5) { + return .none + } + if snr <= (preset.snrLimit() - 5.5) { + return .bad + } + return .fair + } + if rssi > -115 && snr > (preset.snrLimit()) { return .good } else if rssi < -126 && snr < (preset.snrLimit() - 7.5) {