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('