* repeater and room server: MESH_PACKET_LOGGING, now dumps RAW: rx packet contents
* Dispatcher: MESH_PACKET_LOGGING, added " hash={packet-hash}"
This commit is contained in:
@@ -246,6 +246,15 @@ protected:
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void logRxRaw(float snr, float rssi, const uint8_t raw[], int len) override {
|
||||||
|
#if MESH_PACKET_LOGGING
|
||||||
|
Serial.print(getLogDateTime());
|
||||||
|
Serial.print(" RAW: ");
|
||||||
|
mesh::Utils::printHex(Serial, raw, len);
|
||||||
|
Serial.println();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void logRx(mesh::Packet* pkt, int len, float score) override {
|
void logRx(mesh::Packet* pkt, int len, float score) override {
|
||||||
if (_logging) {
|
if (_logging) {
|
||||||
File f = openAppend(PACKET_LOG_FILE);
|
File f = openAppend(PACKET_LOG_FILE);
|
||||||
|
|||||||
@@ -264,6 +264,15 @@ protected:
|
|||||||
return _prefs.airtime_factor;
|
return _prefs.airtime_factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void logRxRaw(float snr, float rssi, const uint8_t raw[], int len) override {
|
||||||
|
#if MESH_PACKET_LOGGING
|
||||||
|
Serial.print(getLogDateTime());
|
||||||
|
Serial.print(" RAW: ");
|
||||||
|
mesh::Utils::printHex(Serial, raw, len);
|
||||||
|
Serial.println();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
int calcRxDelay(float score, uint32_t air_time) const override {
|
int calcRxDelay(float score, uint32_t air_time) const override {
|
||||||
if (_prefs.rx_delay_base <= 0.0f) return 0;
|
if (_prefs.rx_delay_base <= 0.0f) return 0;
|
||||||
return (int) ((pow(_prefs.rx_delay_base, 0.85f - score) - 1.0) * air_time);
|
return (int) ((pow(_prefs.rx_delay_base, 0.85f - score) - 1.0) * air_time);
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ build_flags =
|
|||||||
-D ADVERT_LON=145.0
|
-D ADVERT_LON=145.0
|
||||||
-D ADMIN_PASSWORD="\"password\""
|
-D ADMIN_PASSWORD="\"password\""
|
||||||
-D ROOM_PASSWORD="\"hello\""
|
-D ROOM_PASSWORD="\"hello\""
|
||||||
; -D MESH_PACKET_LOGGING=1
|
-D MESH_PACKET_LOGGING=1
|
||||||
; -D MESH_DEBUG=1
|
; -D MESH_DEBUG=1
|
||||||
|
|
||||||
[env:Heltec_v3_terminal_chat]
|
[env:Heltec_v3_terminal_chat]
|
||||||
|
|||||||
@@ -130,6 +130,12 @@ void Dispatcher::checkRecv() {
|
|||||||
Serial.printf(": RX, len=%d (type=%d, route=%s, payload_len=%d) SNR=%d RSSI=%d score=%d",
|
Serial.printf(": RX, len=%d (type=%d, route=%s, payload_len=%d) SNR=%d RSSI=%d score=%d",
|
||||||
2 + pkt->path_len + pkt->payload_len, pkt->getPayloadType(), pkt->isRouteDirect() ? "D" : "F", pkt->payload_len,
|
2 + pkt->path_len + pkt->payload_len, pkt->getPayloadType(), pkt->isRouteDirect() ? "D" : "F", pkt->payload_len,
|
||||||
(int)_radio->getLastSNR(), (int)_radio->getLastRSSI(), (int)(score*1000));
|
(int)_radio->getLastSNR(), (int)_radio->getLastRSSI(), (int)(score*1000));
|
||||||
|
|
||||||
|
static uint8_t packet_hash[MAX_HASH_SIZE];
|
||||||
|
pkt->calculatePacketHash(packet_hash);
|
||||||
|
Serial.print(" hash=");
|
||||||
|
mesh::Utils::printHex(Serial, packet_hash, MAX_HASH_SIZE);
|
||||||
|
|
||||||
if (pkt->getPayloadType() == PAYLOAD_TYPE_PATH || pkt->getPayloadType() == PAYLOAD_TYPE_REQ
|
if (pkt->getPayloadType() == PAYLOAD_TYPE_PATH || pkt->getPayloadType() == PAYLOAD_TYPE_REQ
|
||||||
|| pkt->getPayloadType() == PAYLOAD_TYPE_RESPONSE || pkt->getPayloadType() == PAYLOAD_TYPE_TXT_MSG) {
|
|| pkt->getPayloadType() == PAYLOAD_TYPE_RESPONSE || pkt->getPayloadType() == PAYLOAD_TYPE_TXT_MSG) {
|
||||||
Serial.printf(" [%02X -> %02X]\n", (uint32_t)pkt->payload[1], (uint32_t)pkt->payload[0]);
|
Serial.printf(" [%02X -> %02X]\n", (uint32_t)pkt->payload[1], (uint32_t)pkt->payload[0]);
|
||||||
|
|||||||
Reference in New Issue
Block a user