[SX128x] getRssi(false) without packet (#1222)

* Update SX128x.h

* Update SX128x.cpp
This commit is contained in:
Egor Shitikov 2024-09-19 13:02:07 -07:00 committed by GitHub
parent 79b1b8c887
commit 8068bcc356
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 0 deletions

View file

@ -1253,6 +1253,17 @@ float SX128x::getRSSI() {
} }
} }
float SX128x::getRSSI(bool packet) {
if (!packet) {
// get instantaneous RSSI value
uint8_t data[3] = {0, 0, 0}; // RssiInst, Status, RFU
this->mod->SPIreadStream(RADIOLIB_SX128X_CMD_GET_RSSI_INST, data, 3);
return ((float)data[0] / (-2.0));
} else {
return this->getRSSI();
}
}
float SX128x::getSNR() { float SX128x::getSNR() {
// check active modem // check active modem
uint8_t modem = getPacketType(); uint8_t modem = getPacketType();

View file

@ -761,6 +761,13 @@ class SX128x: public PhysicalLayer {
*/ */
float getRSSI() override; float getRSSI() override;
/*!
\brief Gets RSSI (Recorded Signal Strength Indicator).
\param packet Whether to read last packet RSSI, or the current value.
\returns RSSI value in dBm.
*/
float getRSSI(bool packet);
/*! /*!
\brief Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging modem. \brief Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging modem.
\returns SNR of the last received packet in dB. \returns SNR of the last received packet in dB.