]> git.tnoah.ca Git - lora-radio.git/commitdiff
Added continual RSSI monitoring for tuned channel
authorMark Qvist <mark@unsigned.io>
Fri, 28 Oct 2022 22:52:51 +0000 (00:52 +0200)
committerMark Qvist <mark@unsigned.io>
Fri, 28 Oct 2022 22:52:51 +0000 (00:52 +0200)
LoRa.cpp
LoRa.h

index 12685167b0ea2d35d9714c91ecc4175d87cf319b..ca28ab42b9b2752a9ae7d44d6cd1a190b65e3eec 100644 (file)
--- a/LoRa.cpp
+++ b/LoRa.cpp
@@ -49,6 +49,7 @@
 #define REG_MODEM_STAT           0x18
 #define REG_PKT_SNR_VALUE        0x19
 #define REG_PKT_RSSI_VALUE       0x1a
+#define REG_RSSI_VALUE           0x1b
 #define REG_MODEM_CONFIG_1       0x1d
 #define REG_MODEM_CONFIG_2       0x1e
 #define REG_PREAMBLE_MSB         0x20
@@ -239,6 +240,18 @@ uint8_t LoRaClass::modemStatus() {
   return readRegister(REG_MODEM_STAT);
 }
 
+
+uint8_t LoRaClass::currentRssiRaw() {
+  uint8_t rssi = readRegister(REG_RSSI_VALUE);
+  return rssi;
+}
+
+int ISR_VECT LoRaClass::currentRssi() {
+  int rssi = (int)readRegister(REG_RSSI_VALUE) - RSSI_OFFSET;
+  if (_frequency < 820E6) rssi -= 7;
+  return rssi;
+}
+
 uint8_t LoRaClass::packetRssiRaw() {
   uint8_t pkt_rssi_value = readRegister(REG_PKT_RSSI_VALUE);
   return pkt_rssi_value;
diff --git a/LoRa.h b/LoRa.h
index 09bdc54672616c3844228b44377db9d0b6ec1af4..02a48c9c7bc37e0403225e2106cdcea5a86adb73 100644 (file)
--- a/LoRa.h
+++ b/LoRa.h
@@ -31,7 +31,9 @@ public:
 
   int parsePacket(int size = 0);
   int packetRssi();
+  int currentRssi();
   uint8_t packetRssiRaw();
+  uint8_t currentRssiRaw();
   uint8_t packetSnrRaw();
   float packetSnr();
   long packetFrequencyError();