from msg_container import MsgContainer from msg_sink import MsgSink from ubx.ubx import frame_parse, frame_parse_hdr class UbxReceiver(MsgSink): def __init__(self, name: str, mid: int, mclass: int): MsgSink.__init__(self) self.name = name self.mid = mid self.mclass = mclass def on_recv(self, msg: MsgContainer): data, hdr = frame_parse(msg.data) print(f"{hdr.mclass}:{hdr.mid}:{data}") def is_msg(self, msg: MsgContainer): hdr = frame_parse_hdr(msg.data) if hdr is not None: return self.mclass == hdr.mclass and self.mid == hdr.mid return False