import struct from msg_container import MsgContainer from msg_sink import MsgSink 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(_class: int, _id: int, _data: bytes) -> bytes: _sync = b'\xb5\x62' _hdr = struct.pack('B', _class) _hdr += struct.pack('B', _id) _hdr += struct.pack('