From 38569d029ebf37a4f75e12b2056364f83c4c6183 Mon Sep 17 00:00:00 2001 From: Lloyd Date: Wed, 19 Nov 2025 12:24:44 +0000 Subject: [PATCH] log trace packet storage --- repeater/engine.py | 8 ++++++++ repeater/main.py | 1 + 2 files changed, 9 insertions(+) diff --git a/repeater/engine.py b/repeater/engine.py index 409f745..8322c7b 100644 --- a/repeater/engine.py +++ b/repeater/engine.py @@ -266,6 +266,7 @@ class RepeaterHandler(BaseHandler): self.recent_packets.pop(0) def log_trace_record(self, packet_record: dict) -> None: + """Manually log a packet trace record (used by external callers)""" self.recent_packets.append(packet_record) self.rx_count += 1 @@ -274,6 +275,13 @@ class RepeaterHandler(BaseHandler): else: self.dropped_count += 1 + # Store to persistent storage (same as __call__ does) + if self.storage: + try: + self.storage.record_packet(packet_record) + except Exception as e: + logger.error(f"Failed to store packet record: {e}") + if len(self.recent_packets) > self.max_recent_packets: self.recent_packets.pop(0) diff --git a/repeater/main.py b/repeater/main.py index 873cb20..0b45a45 100644 --- a/repeater/main.py +++ b/repeater/main.py @@ -205,6 +205,7 @@ class RepeaterDaemon: "path_snrs": path_snrs, # ["58(14.5dB)", "19(4.8dB)"] "path_snr_details": path_snr_details, # [{"hash": "29", "snr_raw": 58, "snr_db": 14.5}] "is_trace": True, + "raw_packet": packet.write_to().hex() if hasattr(packet, "write_to") else None, } self.repeater_handler.log_trace_record(packet_record)