lmic/radio.c: Fix RSSI and SNR calculation
This commit is contained in:
parent
c963dbe1c6
commit
48734bca63
@ -790,8 +790,12 @@ void radio_irq_handler (u1_t dio) {
|
|||||||
// now read the FIFO
|
// now read the FIFO
|
||||||
readBuf(RegFifo, LMIC.frame, LMIC.dataLen);
|
readBuf(RegFifo, LMIC.frame, LMIC.dataLen);
|
||||||
// read rx quality parameters
|
// read rx quality parameters
|
||||||
LMIC.snr = readReg(LORARegPktSnrValue); // SNR [dB] * 4
|
//LMIC.snr = readReg(LORARegPktSnrValue); // SNR [dB] * 4
|
||||||
LMIC.rssi = readReg(LORARegPktRssiValue) - 125 + 64; // RSSI [dBm] (-196...+63)
|
LMIC.snr = readReg(LORARegPktSnrValue) / 4;
|
||||||
|
//LMIC.rssi = readReg(LORARegPktRssiValue) - 125 + 64; // RSSI [dBm] (-196...+63)
|
||||||
|
LMIC.rssi = readReg(LORARegPktRssiValue) - 157; // RFI_HF for 868 and 915MHZ band
|
||||||
|
if (LMIC.snr < 0)
|
||||||
|
LMIC.rssi += LMIC.snr;
|
||||||
} else if( flags & IRQ_LORA_RXTOUT_MASK ) {
|
} else if( flags & IRQ_LORA_RXTOUT_MASK ) {
|
||||||
// indicate timeout
|
// indicate timeout
|
||||||
LMIC.dataLen = 0;
|
LMIC.dataLen = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user