- added stream talker

- added stream listener
This commit is contained in:
2026-03-28 12:03:54 +01:00
parent 2e01a70d53
commit 8208edfc46
6 changed files with 54 additions and 42 deletions
+9 -16
View File
@@ -1,31 +1,24 @@
from msg.container import MsgContainer
from msg.listener import MsgListener
from msg.talker import MsgTalker
from stream.listener import StreamListener
from struct import pack
import time
class NmeaPacketizer(MsgListener, MsgTalker):
def __init__(self):
MsgListener.__init__(self)
class NmeaPacketizer(StreamListener, MsgTalker):
def __init__(self, name: str):
StreamListener.__init__(self)
MsgTalker.__init__(self)
self.name = name
self.packet = b''
self.wait_sync = True
def on_recv(self, msg: MsgContainer):
name = msg.name
data = msg.data
for n in range (len(data)):
d = data[n]
def on_recv(self, rx_data: bytes):
for d in rx_data:
if d == 13 or d == 10:
timestamp = msg.timestamp
self.wait_sync = False
if len(self.packet) > 0:
self.call_listener(MsgContainer(name, timestamp, self.packet))
self.call_listener(MsgContainer(self.name, time.time(), self.packet))
self.wait_sync = True
self.packet = b''
elif not self.wait_sync:
self.packet += pack('B', d)
def is_msg(self, msg: MsgContainer):
return True