From 3a85765347763422a6f7c8d36da7dc391997395a Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Wed, 25 Mar 2026 05:29:59 +0100 Subject: [PATCH] refactored MsgSink and MsgSource --- msg_sink.py => msg_listener.py | 2 +- msg_source.py => msg_talker.py | 8 ++++---- network_backend.py | 8 ++++---- receiver/nmea_packetizer.py | 12 ++++++------ receiver/nmea_receiver.py | 4 ++-- receiver/ubx_packetizer.py | 18 +++++++++--------- receiver/ubx_receiver.py | 6 +++--- transceiver.py | 8 ++++---- 8 files changed, 33 insertions(+), 33 deletions(-) rename msg_sink.py => msg_listener.py (90%) rename msg_source.py => msg_talker.py (56%) diff --git a/msg_sink.py b/msg_listener.py similarity index 90% rename from msg_sink.py rename to msg_listener.py index ef721b7..2533463 100644 --- a/msg_sink.py +++ b/msg_listener.py @@ -1,7 +1,7 @@ from abc import ABC, abstractmethod from msg_container import MsgContainer -class MsgSink(ABC): +class MsgListener(ABC): def __init__(self): pass diff --git a/msg_source.py b/msg_talker.py similarity index 56% rename from msg_source.py rename to msg_talker.py index e1b72f8..80071ea 100644 --- a/msg_source.py +++ b/msg_talker.py @@ -1,15 +1,15 @@ from abc import ABC from msg_container import MsgContainer -from msg_sink import MsgSink +from msg_listener import MsgListener -class MsgSource(ABC): +class MsgTalker(ABC): def __init__(self): self.sinks = [] - def register_recv(self, sink: MsgSink): + def register_listener(self, sink: MsgListener): self.sinks.append(sink) - def call_sinks(self, msg: MsgContainer): + def call_listener(self, msg: MsgContainer): for sink in self.sinks: if sink.is_msg(msg): sink.on_recv(msg) diff --git a/network_backend.py b/network_backend.py index 92c5c3d..e8882f8 100644 --- a/network_backend.py +++ b/network_backend.py @@ -175,16 +175,16 @@ if __name__ == "__main__": ubx_packetizer = UbxPacketizer() # Register NMEA-Packetizer to transceiver - transceiver[grm].register_recv(nmea_packetizer) - transceiver[grm].register_recv(ubx_packetizer) + transceiver[grm].register_listener(nmea_packetizer) + transceiver[grm].register_listener(ubx_packetizer) # Register Receiver to NMEA-Packetizer for rx in nmea_rx_list: - nmea_packetizer.register_recv(rx) + nmea_packetizer.register_listener(rx) # Register Receiver to UBX-Packetizer for rx in ubx_rx_list: - ubx_packetizer.register_recv(rx) + ubx_packetizer.register_listener(rx) # Connect all sources diff --git a/receiver/nmea_packetizer.py b/receiver/nmea_packetizer.py index 16f59bb..c486523 100644 --- a/receiver/nmea_packetizer.py +++ b/receiver/nmea_packetizer.py @@ -1,12 +1,12 @@ from msg_container import MsgContainer -from msg_sink import MsgSink -from msg_source import MsgSource +from msg_listener import MsgListener +from msg_talker import MsgTalker from struct import pack -class NmeaPacketizer(MsgSink, MsgSource): +class NmeaPacketizer(MsgListener, MsgTalker): def __init__(self): - MsgSink.__init__(self) - MsgSource.__init__(self) + MsgListener.__init__(self) + MsgTalker.__init__(self) self.packet = b'' self.wait_sync = True @@ -19,7 +19,7 @@ class NmeaPacketizer(MsgSink, MsgSource): timestamp = msg.timestamp self.wait_sync = False if len(self.packet) > 0: - self.call_sinks(MsgContainer(name, timestamp, self.packet)) + self.call_listener(MsgContainer(name, timestamp, self.packet)) self.wait_sync = True self.packet = b'' elif not self.wait_sync: diff --git a/receiver/nmea_receiver.py b/receiver/nmea_receiver.py index 791827b..c92d006 100644 --- a/receiver/nmea_receiver.py +++ b/receiver/nmea_receiver.py @@ -1,8 +1,8 @@ from msg_container import MsgContainer -from msg_sink import MsgSink +from msg_listener import MsgListener import re -class AsciiReceiver(MsgSink): +class AsciiReceiver(MsgListener): def __init__(self, name: str, filter: str): super().__init__() self.name = name diff --git a/receiver/ubx_packetizer.py b/receiver/ubx_packetizer.py index 209bde9..d7ce2d1 100644 --- a/receiver/ubx_packetizer.py +++ b/receiver/ubx_packetizer.py @@ -1,7 +1,7 @@ import struct from msg_container import MsgContainer -from msg_sink import MsgSink -from msg_source import MsgSource +from msg_listener import MsgListener +from msg_talker import MsgTalker from ubx.ubx import UBX_SYNC_WORD, frame_parse, frame_create from receiver.ubx_receiver import UbxReceiver @@ -10,10 +10,10 @@ def ubx_pkt_debug(s: str): if UBX_PKT_DEBUG: print(s) -class UbxPacketizer(MsgSink, MsgSource): +class UbxPacketizer(MsgListener, MsgTalker): def __init__(self, sync_bytes: bytes = UBX_SYNC_WORD): - MsgSink.__init__(self) - MsgSource.__init__(self) + MsgListener.__init__(self) + MsgTalker.__init__(self) self.sync_bytes = sync_bytes self.packet = b'' self.wait_sync = True @@ -51,7 +51,7 @@ class UbxPacketizer(MsgSink, MsgSource): data, hdr = frame_parse(self.packet) if data is not None: if hdr.length == len(data): - self.call_sinks(MsgContainer(msg.name, self.timestamp, self.packet)) + self.call_listener(MsgContainer(msg.name, self.timestamp, self.packet)) self.packet = b'' self.wait_sync = True @@ -61,9 +61,9 @@ class UbxPacketizer(MsgSink, MsgSource): if __name__ == "__main__": UBX_PKT_DEBUG = True - class MySink(MsgSink): + class MySink(MsgListener): def __init__(self): - MsgSink.__init__(self) + MsgListener.__init__(self) def on_recv(self, msg: MsgContainer): print(msg) @@ -74,7 +74,7 @@ if __name__ == "__main__": ubx_rx = UbxReceiver('test', 1, 2) pkt = UbxPacketizer() - pkt.register_recv(ubx_rx) + pkt.register_listener(ubx_rx) pkt.reset() frame = frame_create(_class=1, _id=2, _data=b'Hallo' + b'\xb5' + b',\x62Welt') + frame_create(_class=1, _id=2, _data=b',') + frame_create(_class=1, _id=2, _data=b'UBX') + frame_create(_class=1, _id=2, _data=b'World') diff --git a/receiver/ubx_receiver.py b/receiver/ubx_receiver.py index fc192c9..b381a07 100644 --- a/receiver/ubx_receiver.py +++ b/receiver/ubx_receiver.py @@ -1,11 +1,11 @@ from msg_container import MsgContainer -from msg_sink import MsgSink +from msg_listener import MsgListener from ubx.ubx import frame_parse, frame_parse_hdr from ubx.msg import UbxMsg -class UbxReceiver(MsgSink): +class UbxReceiver(MsgListener): def __init__(self, parser: UbxMsg, mclass: int|None = None, mid: int|None = None): - MsgSink.__init__(self) + MsgListener.__init__(self) self.parser = parser self.mclass = mclass self.mid = mid diff --git a/transceiver.py b/transceiver.py index 3b31e0f..2f8342f 100644 --- a/transceiver.py +++ b/transceiver.py @@ -1,15 +1,15 @@ -from msg_source import MsgSource +from msg_talker import MsgTalker from a_backend import ABackend from msg_container import * -class Transceiver(MsgSource): +class Transceiver(MsgTalker): def __init__(self, backend: ABackend, name: str): - MsgSource.__init__(self) + MsgTalker.__init__(self) self.backend = backend self.name = name def on_recv(self, msg: MsgContainer): - self.call_sinks(msg) + self.call_listener(msg) def send(self, data: bytes): self.backend.send(self.name, data)