From a52d4e1cba1ed8bd12dff6e403eb07ac742ee116 Mon Sep 17 00:00:00 2001 From: mikecarper Date: Wed, 19 Aug 2026 16:20:24 -0700 Subject: [PATCH] Ensure full repeater packet logging --- docs/cli_commands.md | 5 +++++ examples/simple_repeater/MyMesh.cpp | 2 +- src/Dispatcher.cpp | 19 ++++--------------- variants/wio-e5-dev/platformio.ini | 1 - 4 files changed, 10 insertions(+), 17 deletions(-) diff --git a/docs/cli_commands.md b/docs/cli_commands.md index 7455aafb8..034613ef8 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -477,6 +477,11 @@ instead of silently omitting the record. A disconnected host cannot retain an unbounded capture, so logging deployments should keep the reader attached and draining the serial port. +Every valid received frame also emits the decoded RX summary, including signal, +timing, hash, type, route, and payload information. Frames that cannot be +decoded still emit their `RAW:` line. Transmitted packets emit the decoded TX +summary. + Ordinary `-logging-` artifacts keep packet logging separate from LoRa OTA. Use the separately named `-ota-` artifact when LoRa OTA is required. A `-full-logging-ota-` artifact is intentionally the exception: it combines diff --git a/examples/simple_repeater/MyMesh.cpp b/examples/simple_repeater/MyMesh.cpp index eead4f463..1cb808931 100644 --- a/examples/simple_repeater/MyMesh.cpp +++ b/examples/simple_repeater/MyMesh.cpp @@ -1015,7 +1015,7 @@ const char *MyMesh::getLogDateTime() { } void MyMesh::logRxRaw(float snr, float rssi, const uint8_t raw[], int len) { -#if MESH_PACKET_LOGGING && !defined(MESH_COMPACT_PACKET_LOGGING) +#if MESH_PACKET_LOGGING if (mesh::isUsbLoggingEnabled()) { // Logging builds prefer backpressure over silently losing a packet record. Serial.print(getLogDateTime()); diff --git a/src/Dispatcher.cpp b/src/Dispatcher.cpp index 75080c875..b1df9acb8 100644 --- a/src/Dispatcher.cpp +++ b/src/Dispatcher.cpp @@ -178,8 +178,10 @@ bool Dispatcher::startOutboundTransmit() { outbound_expiry = futureMillis(max_airtime); #if MESH_PACKET_LOGGING - logPacketStart("TX", outbound, len); - logPacketEnd(outbound); + if (isUsbLoggingEnabled()) { + logPacketStart("TX", outbound, len); + logPacketEnd(outbound); + } #endif return true; } @@ -220,23 +222,13 @@ uint32_t Dispatcher::getCADFailMaxDuration() const { #if MESH_PACKET_LOGGING void Dispatcher::logPacketStart(const char* direction, const Packet* packet, int len) { - if (!isUsbLoggingEnabled()) return; -#if defined(MESH_COMPACT_PACKET_LOGGING) - (void)packet; - Serial.printf("%s %d\n", direction, len); -#else Serial.print(getLogDateTime()); Serial.printf(": %s, len=%d (type=%d, route=%s, payload_len=%d)", direction, len, packet->getPayloadType(), packet->isRouteDirect() ? "D" : "F", packet->payload_len); -#endif } void Dispatcher::logPacketEnd(const Packet* packet) { - if (!isUsbLoggingEnabled()) return; -#if defined(MESH_COMPACT_PACKET_LOGGING) - (void)packet; -#else const uint8_t type = packet->getPayloadType(); if (packet->payload_len >= 2 && (type == PAYLOAD_TYPE_PATH || type == PAYLOAD_TYPE_REQ @@ -246,7 +238,6 @@ void Dispatcher::logPacketEnd(const Packet* packet) { } else { Serial.write((uint8_t)'\n'); } -#endif } #endif @@ -602,7 +593,6 @@ void Dispatcher::checkRecv() { #if MESH_PACKET_LOGGING if (isUsbLoggingEnabled()) { logPacketStart("RX", pkt, pkt->getRawLength()); -#if !defined(MESH_COMPACT_PACKET_LOGGING) Serial.printf(" SNR=%d RSSI=%d score=%d time=%d", (int)pkt->getSNR(), (int)rssi, (int)(score * 1000), air_time); @@ -611,7 +601,6 @@ void Dispatcher::checkRecv() { Serial.print(" hash="); mesh::Utils::printHex(Serial, packet_hash, MAX_HASH_SIZE); logPacketEnd(pkt); -#endif } #endif logRx(pkt, pkt->getRawLength(), score); // hook for custom logging diff --git a/variants/wio-e5-dev/platformio.ini b/variants/wio-e5-dev/platformio.ini index 561c709e5..46ba9cb0a 100644 --- a/variants/wio-e5-dev/platformio.ini +++ b/variants/wio-e5-dev/platformio.ini @@ -67,7 +67,6 @@ build_flags = ${lora_e5.build_flags} -D MAX_NEIGHBOURS=50 -D FLOOD_PACKET_FILTER_SLOTS=8 -D FLOOD_CHANNEL_SCOPE_SLOTS=7 - -D MESH_COMPACT_PACKET_LOGGING=1 -D ENABLE_HWSERIAL2 -D WITH_RS232_BRIDGE=Serial2 -D WITH_RS232_BRIDGE_RX=PA3