added UbxQuery

This commit is contained in:
2026-03-23 15:46:02 +01:00
parent 4427995ed6
commit 83e5867983
+26
View File
@@ -0,0 +1,26 @@
from msg_container import MsgContainer
from ubx.ubx import frame_parse, frame_parse_hdr, frame_create
from ubx.msg import UbxMsg
from transceiver import Transceiver
from receiver.ubx_receiver import UbxReceiver
from threading import BoundedSemaphore
class UbxQuery(UbxReceiver):
def __init__(self, transceiver: Transceiver, parser: UbxMsg, mclass: int|None = None, mid: int|None = None):
UbxReceiver.__init__(self, parser, mclass, mid)
self.transceiver = transceiver
self.sema = BoundedSemaphore()
self.msg = UbxMsg()
def on_recv(self, msg: MsgContainer):
if self.is_msg(msg):
data, hdr = frame_parse(msg.data)
msg_parsed = self.parser.from_bytes(data)
self.msg = msg_parsed
self.sema.release()
def query(self, data: bytes):
frame = frame_create(0x01, 0x35, b'')
self.transceiver.send(frame)
self.sema.acquire()
print(self.msg)