store SNR in received packets

1.2-legacy
geeksville 2020-04-30 19:58:10 -07:00
rodzic 1fab9c5aac
commit 968a2d7fbc
6 zmienionych plików z 30 dodań i 2 usunięć

Wyświetl plik

@ -87,6 +87,14 @@ bool RF95Interface::reconfigure()
return ERR_NONE;
}
/**
* Add SNR data to received messages
*/
void RF95Interface::addReceiveMetadata(MeshPacket *mp)
{
mp->rx_snr = lora->getSNR();
}
void RF95Interface::setStandby()
{
int err = lora->standby();

Wyświetl plik

@ -45,6 +45,10 @@ class RF95Interface : public RadioLibInterface
*/
virtual void startReceive();
/**
* Add SNR data to received messages
*/
virtual void addReceiveMetadata(MeshPacket *mp);
private:
void setStandby();
};

Wyświetl plik

@ -185,6 +185,7 @@ void RadioLibInterface::handleReceiveInterrupt()
mp->from = h->from;
mp->to = h->to;
mp->id = h->id;
addReceiveMetadata(mp);
if (!pb_decode_from_bytes(payload, payloadLen, SubPacket_fields, p)) {
DEBUG_MSG("Invalid protobufs in received mesh packet, discarding.\n");
@ -193,7 +194,7 @@ void RadioLibInterface::handleReceiveInterrupt()
} else {
// parsing was successful, queue for our recipient
mp->has_payload = true;
txGood++;
rxGood++;
deliverToReceiver(mp);
}

Wyświetl plik

@ -116,4 +116,9 @@ class RadioLibInterface : public RadioInterface
/**
* If a send was in progress finish it and return the buffer to the pool */
void completeSending();
/**
* Add SNR data to received messages
*/
virtual void addReceiveMetadata(MeshPacket *mp) = 0;
};

Wyświetl plik

@ -79,6 +79,13 @@ void SX1262Interface::setStandby()
disableInterrupt();
}
/**
* Add SNR data to received messages
*/
void SX1262Interface::addReceiveMetadata(MeshPacket *mp) {
mp->rx_snr = lora.getSNR();
}
void SX1262Interface::startReceive()
{
setStandby();

Wyświetl plik

@ -43,7 +43,10 @@ class SX1262Interface : public RadioLibInterface
* Start waiting to receive a message
*/
virtual void startReceive();
/**
* Add SNR data to received messages
*/
virtual void addReceiveMetadata(MeshPacket *mp);
private:
void setStandby();
};