Files
NmeaClient/nmea/packetizer.py
T
jens f7b1b18b2f - removed name property from Msg container
- added source property to MsgContainer
2026-03-29 11:01:41 +02:00

26 lines
670 B
Python

from msg.container import MsgContainer
from msg.talker import MsgTalker
from msg.listener import MsgListener
from struct import pack
class NmeaPacketizer(MsgListener, MsgTalker):
def __init__(self):
MsgListener.__init__(self)
MsgTalker.__init__(self)
self.packet = b''
self.wait_sync = True
def is_msg(self, msg: MsgContainer):
return True
def on_recv(self, msg: MsgContainer):
for d in msg.data:
if d == 13 or d == 10:
self.wait_sync = False
if len(self.packet) > 0:
self.call_listener(MsgContainer(self.packet, msg.source))
self.wait_sync = True
self.packet = b''
elif not self.wait_sync:
self.packet += pack('B', d)