mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
* PUSH_CODE_LOG_RX_DATA: is now just: {snr*4},{rssi},{raw-lora-packet}
This commit is contained in:
parent
8f609524bd
commit
f77a6944f9
3 changed files with 9 additions and 11 deletions
|
|
@ -436,19 +436,13 @@ protected:
|
|||
return (int) ((pow(_prefs.rx_delay_base, 0.85f - score) - 1.0) * air_time);
|
||||
}
|
||||
|
||||
void logRx(mesh::Packet* pkt, int len, float score) override {
|
||||
void logRxRaw(float snr, float rssi, const uint8_t raw[], int len) override {
|
||||
if (_serial->isConnected()) {
|
||||
int i = 0;
|
||||
out_frame[i++] = PUSH_CODE_LOG_RX_DATA;
|
||||
out_frame[i++] = (int8_t)(_radio->getLastSNR() * 4);
|
||||
out_frame[i++] = (int8_t)(_radio->getLastRSSI());
|
||||
if (pkt->isRouteFlood()) {
|
||||
out_frame[i++] = pkt->path_len;
|
||||
memcpy(&out_frame[i], pkt->path, pkt->path_len); i += pkt->path_len;
|
||||
} else {
|
||||
out_frame[i++] = 0xFF;
|
||||
}
|
||||
memcpy(&out_frame[i], pkt->payload, pkt->payload_len); i += pkt->payload_len;
|
||||
out_frame[i++] = (int8_t)(snr * 4);
|
||||
out_frame[i++] = (int8_t)(rssi);
|
||||
memcpy(&out_frame[i], raw, len); i += len;
|
||||
|
||||
_serial->writeFrame(out_frame, i);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,9 +78,11 @@ void Dispatcher::checkRecv() {
|
|||
float score;
|
||||
uint32_t air_time;
|
||||
{
|
||||
uint8_t raw[MAX_TRANS_UNIT];
|
||||
uint8_t raw[MAX_TRANS_UNIT+1];
|
||||
int len = _radio->recvRaw(raw, MAX_TRANS_UNIT);
|
||||
if (len > 0) {
|
||||
logRxRaw(_radio->getLastSNR(), _radio->getLastRSSI(), raw, len);
|
||||
|
||||
pkt = _mgr->allocNew();
|
||||
if (pkt == NULL) {
|
||||
MESH_DEBUG_PRINTLN("%s Dispatcher::checkRecv(): WARNING: received data, no unused packets available!", getLogDateTime());
|
||||
|
|
|
|||
|
|
@ -117,6 +117,8 @@ protected:
|
|||
|
||||
virtual DispatcherAction onRecvPacket(Packet* pkt) = 0;
|
||||
|
||||
virtual void logRxRaw(float snr, float rssi, const uint8_t raw[], int len) { } // custom hook
|
||||
|
||||
virtual void logRx(Packet* packet, int len, float score) { } // hooks for custom logging
|
||||
virtual void logTx(Packet* packet, int len) { }
|
||||
virtual void logTxFail(Packet* packet, int len) { }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue