From 68f403bf849933f1f22aa91d63dab78168565523 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 26 Sep 2019 18:50:04 -0400 Subject: [PATCH] Use Packet RSSI formula from datasheet section 5.5.5 --- LoRa.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/LoRa.cpp b/LoRa.cpp index eb3ec2a..64d5fec 100644 --- a/LoRa.cpp +++ b/LoRa.cpp @@ -219,6 +219,12 @@ uint8_t LoRaClass::packetRssiRaw() { int LoRaClass::packetRssi() { int pkt_rssi = (int)readRegister(REG_PKT_RSSI_VALUE); + int8_t pkt_snr = ((int8_t)readRegister(REG_PKT_SNR_VALUE)); + if pkt_snr < 0 { + pkt_rssi = pkt_rssi * 16 / 15; + } else { + pkt_rssi += pkt_snr / 4; + } // TODO: change this to look at the actual model code if (_frequency < 820E6) pkt_rssi -= 7; pkt_rssi -= 157;