From 7f75498dfc4d696c275ac1602998ccd8b9c4159c Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Sun, 25 Sep 2016 08:34:59 -0400 Subject: [PATCH] Correct formula for packet RSSI, should be based on frequency --- src/LoRa.cpp | 5 ++++- src/LoRa.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/LoRa.cpp b/src/LoRa.cpp index 41e63ef..6325cb6 100644 --- a/src/LoRa.cpp +++ b/src/LoRa.cpp @@ -36,12 +36,15 @@ LoRaClass::LoRaClass() : _spiSettings(10E6, MSBFIRST, SPI_MODE0), _ss(10), _reset(9), + _frequency(0), _packetIndex(0) { } int LoRaClass::begin(long frequency) { + _frequency = frequency; + // setup pins pinMode(_ss, OUTPUT); pinMode(_reset, OUTPUT); @@ -156,7 +159,7 @@ int LoRaClass::parsePacket() int LoRaClass::packetRssi() { - return (readRegister(REG_PKT_RSSI_VALUE) - 164); + return (readRegister(REG_PKT_RSSI_VALUE) - (_frequency < 868E6 ? 164 : 157)); } size_t LoRaClass::write(uint8_t byte) diff --git a/src/LoRa.h b/src/LoRa.h index f3e8072..f161faa 100644 --- a/src/LoRa.h +++ b/src/LoRa.h @@ -40,6 +40,7 @@ private: SPISettings _spiSettings; int _ss; int _reset; + int _frequency; int _packetIndex; };