21 lines
614 B
Python
21 lines
614 B
Python
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, mclass: int, mid: int):
|
|
MsgSink.__init__(self)
|
|
self.name = name
|
|
self.mclass = mclass
|
|
self.mid = mid
|
|
|
|
def on_recv(self, msg: MsgContainer):
|
|
data, hdr = frame_parse(msg.data)
|
|
print(f"{msg.name}:{self.name}:{hdr.mclass}:{hdr.mid}:data({len(data)}):{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
|