refactored Transceiver

This commit is contained in:
2026-03-25 06:33:18 +01:00
parent 888dd850f3
commit 2e01a70d53
2 changed files with 11 additions and 11 deletions
+6 -9
View File
@@ -39,22 +39,18 @@ class NetworkBackend(ABackend):
self.loop_enable = False
self.thread.join()
def create_xcvr(self, name: str) -> Transceiver:
obj = Transceiver(self, name)
if not self.register_xcvr(obj):
raise Exception(f"No socket found for \"{name}\"")
return obj
self.sel.register(name, selectors.EVENT_READ, data=None)
def register_xcvr(self, xcvr: Transceiver):
found = False
for sock in self.sock_list:
if xcvr.name in sock['name']:
found = True
sock['xcvr'] = xcvr
xcvr.on_register(self)
break
return found
if not found:
raise Exception(f"No socket found for \"{xcvr.name}\"")
def find_by_addr(self, addr):
for sock in self.sock_list:
if sock['addr'] == addr:
@@ -165,7 +161,8 @@ if __name__ == "__main__":
# Receiver-1.1 /
# Create transceiver
transceiver[grm] = mc.create_xcvr(grm)
transceiver[grm] = Transceiver(grm)
mc.register_xcvr(transceiver[grm])
# Create NMEA-Packetizer
nmea_packetizer = NmeaPacketizer()
+5 -2
View File
@@ -3,14 +3,17 @@ from a_backend import ABackend
from msg.container import *
class Transceiver(MsgTalker):
def __init__(self, backend: ABackend, name: str):
def __init__(self, name: str):
MsgTalker.__init__(self)
self.backend = backend
self.name = name
self.backend = None
def on_recv(self, msg: MsgContainer):
self.call_listener(msg)
def on_register(self, backend: ABackend):
self.backend = backend
def send(self, data: bytes):
self.backend.send(self.name, data)