diff --git a/ubx/ubx.py b/ubx/ubx.py new file mode 100644 index 0000000..f9129bf --- /dev/null +++ b/ubx/ubx.py @@ -0,0 +1,26 @@ +import struct + + +def checksum(data: bytes) -> bytes: + ck_a = 0 + ck_b = 0 + for i in range(len(data)): + ck_a = (ck_a + data[i]) & 0xFF + ck_b = (ck_b + ck_a) & 0xFF + + return struct.pack("BB", ck_a, ck_b) + +def frame_create(msg_class: int, msg_id: int, payload: bytes) -> bytes: + hdr = b'\xb5\x62' + frame = struct.pack('B', msg_class) + frame += struct.pack('B', msg_id) + frame += struct.pack('