diff --git a/src/meshcore/tcp_cx.py b/src/meshcore/tcp_cx.py index de425b9..497c3b2 100644 --- a/src/meshcore/tcp_cx.py +++ b/src/meshcore/tcp_cx.py @@ -73,6 +73,10 @@ class TCPConnection: idx = data.find(b"\x3e") if idx < 0: # no start of frame return + # Discard any leading junk bytes before the actual frame marker. + # Some radios interleave console/debug text on the same UART, so + # valid companion frames may begin at an offset inside the chunk. + data = data[idx:] self.header = data[0:1] data = data[1:]