mirror of
https://github.com/sandeepmistry/arduino-LoRa.git
synced 2025-04-19 13:02:14 +03:00
Add packetSnr and random API's
This commit is contained in:
parent
0d648f4031
commit
9b19623a1c
@ -20,6 +20,7 @@ endPacket KEYWORD2
|
||||
|
||||
parsePacket KEYWORD2
|
||||
packetRssi KEYWORD2
|
||||
packetSnr KEYWORD2
|
||||
|
||||
write KEYWORD2
|
||||
|
||||
@ -33,6 +34,8 @@ receive KEYWORD2
|
||||
idle KEYWORD2
|
||||
sleep KEYWORD2
|
||||
|
||||
random KEYWORD2
|
||||
|
||||
setFrequency KEYWORD2
|
||||
setTxPower KEYWORD2
|
||||
setSpreadingFactor KEYWORD2
|
||||
|
12
src/LoRa.cpp
12
src/LoRa.cpp
@ -15,11 +15,13 @@
|
||||
#define REG_IRQ_FLAGS 0x12
|
||||
#define REG_RX_NB_BYTES 0x13
|
||||
#define REG_PKT_RSSI_VALUE 0x1a
|
||||
#define REG_PKT_SNR_VALUE 0x1b
|
||||
#define REG_MODEM_CONFIG_1 0x1d
|
||||
#define REG_MODEM_CONFIG_2 0x1e
|
||||
#define REG_PREAMBLE_MSB 0x20
|
||||
#define REG_PREAMBLE_LSB 0x21
|
||||
#define REG_PAYLOAD_LENGTH 0x22
|
||||
#define REG_RSSI_WIDEBAND 0x2c
|
||||
#define REG_DETECTION_OPTIMIZE 0x31
|
||||
#define REG_DETECTION_THRESHOLD 0x37
|
||||
#define REG_SYNC_WORD 0x39
|
||||
@ -172,6 +174,11 @@ int LoRaClass::packetRssi()
|
||||
return (readRegister(REG_PKT_RSSI_VALUE) - (_frequency < 868E6 ? 164 : 157));
|
||||
}
|
||||
|
||||
float LoRaClass::packetSnr()
|
||||
{
|
||||
return ((int8_t)readRegister(REG_PKT_SNR_VALUE)) * 0.25;
|
||||
}
|
||||
|
||||
size_t LoRaClass::write(uint8_t byte)
|
||||
{
|
||||
return write(&byte, sizeof(byte));
|
||||
@ -263,6 +270,11 @@ void LoRaClass::sleep()
|
||||
writeRegister(REG_OP_MODE, MODE_LONG_RANGE_MODE | MODE_SLEEP);
|
||||
}
|
||||
|
||||
byte LoRaClass::random()
|
||||
{
|
||||
return readRegister(REG_RSSI_WIDEBAND);
|
||||
}
|
||||
|
||||
void LoRaClass::setFrequency(long frequency)
|
||||
{
|
||||
_frequency = frequency;
|
||||
|
@ -20,6 +20,7 @@ public:
|
||||
|
||||
int parsePacket();
|
||||
int packetRssi();
|
||||
float packetSnr();
|
||||
|
||||
// from Print
|
||||
virtual size_t write(uint8_t byte);
|
||||
@ -37,6 +38,8 @@ public:
|
||||
void idle();
|
||||
void sleep();
|
||||
|
||||
byte random();
|
||||
|
||||
void setFrequency(long frequency);
|
||||
void setTxPower(int level);
|
||||
void setSpreadingFactor(int sf);
|
||||
|
Loading…
x
Reference in New Issue
Block a user