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; };