From 2a8e2b0c69d6a06c034e104bfe6a085a9c69ec6d Mon Sep 17 00:00:00 2001 From: FUJIURA Toyonori Date: Mon, 28 Mar 2022 08:42:30 +0900 Subject: [PATCH] add LoRaClass::rxSignalDetected(). --- src/LoRa.cpp | 5 +++++ src/LoRa.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/LoRa.cpp b/src/LoRa.cpp index 210a589..128233b 100644 --- a/src/LoRa.cpp +++ b/src/LoRa.cpp @@ -18,6 +18,7 @@ #define REG_FIFO_RX_CURRENT_ADDR 0x10 #define REG_IRQ_FLAGS 0x12 #define REG_RX_NB_BYTES 0x13 +#define REG_MODEM_STAT 0x18 #define REG_PKT_SNR_VALUE 0x19 #define REG_PKT_RSSI_VALUE 0x1a #define REG_RSSI_VALUE 0x1b @@ -290,6 +291,10 @@ long LoRaClass::packetFrequencyError() return static_cast(fError); } +bool LoRaClass::rxSignalDetected() { + return (readRegister(REG_MODEM_STAT) & 0x01) == 0x01; +} + int LoRaClass::rssi() { return (readRegister(REG_RSSI_VALUE) - (_frequency < RF_MID_BAND_THRESHOLD ? RSSI_OFFSET_LF_PORT : RSSI_OFFSET_HF_PORT)); diff --git a/src/LoRa.h b/src/LoRa.h index b312db5..1d93bd0 100644 --- a/src/LoRa.h +++ b/src/LoRa.h @@ -44,6 +44,7 @@ class LoRaClass : public Stream { int packetRssi(); float packetSnr(); long packetFrequencyError(); + bool rxSignalDetected(); int rssi();