From 58f7c32747ea882813d0f225c7ad51d88c8ab3df Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 17 Mar 2026 12:39:28 +0100 Subject: [PATCH] ubx packetizer: permit sync bytes length > 2 --- receiver/ubx_packetizer.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/receiver/ubx_packetizer.py b/receiver/ubx_packetizer.py index 1b6a198..5dafd8d 100644 --- a/receiver/ubx_packetizer.py +++ b/receiver/ubx_packetizer.py @@ -25,7 +25,7 @@ class UbxPacketizer(MsgSink, MsgSource): for n in range (0, len(msg.data)): d = msg.data[n] if d == self.sync_bytes[self.sync_count]: - self.d_save = struct.pack('B', d) + self.d_save += struct.pack('B', d) self.sync_count += 1 if self.sync_count == len(self.sync_bytes): print(f"{msg.name}:UBX-sync") @@ -37,9 +37,10 @@ class UbxPacketizer(MsgSink, MsgSource): self.wait_sync = False self.timestamp = msg.timestamp else: - self.sync_count = 0 - self.packet += self.d_save - self.d_save = b'' + if self.sync_count > 0: + self.packet += self.d_save + self.d_save = b'' + self.sync_count = 0 if not self.wait_sync: self.packet += struct.pack('B', d) data, hdr = frame_parse(self.packet)