Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Constants():
- AUTH_DATA = b'\x00\x00'
- INIT_STRING_DATA = b'\x00\x01'
- MIXED_DATA = b'\x00\x02'
- LEVEL_DATA = b'\x00\x03'
- DATA_REFUSED = b'\x00\x04'
- DATA_FINISH = b'\x00\x05'
- DATA_XML = b'\x00\x06'
- PS_HALF = b'\x00\x00'
- PS_NORMAL = b'\x00\x01'
- PS_DOUBLE = b'\x00\x02'
- PS_REALTIME = b'\x00\x03'
- VERSION_BINARY = b'\x00\x00'
- VERSION_XML = b'\x00\x01'
- CMD_MSL_LNCH_SEQ_1 = b'\x00\x00'
- CMD_MSL_LNCH_SEQ_2 = b'\x00\x01'
- CMD_MSL_LNCH_SEQ_3 = b'\x00\x02'
- CMD_MSL_LNCH_SEQ_4 = b'\x00\x03'
- CMD_MSL_LNCH_SEQ_5 = b'\x00\x04'
- CMD_CRD_INP_LAT = b'\x00\x05'
- CMD_CRD_INP_LNG = b'\x00\x06'
- class Header(dict):
- fields = {
- "key_hash": bitarray.bitarray(32), # asByte & 32
- "cc_id": bitarray.bitarray(32), # asByte & 32
- "msl_id": bitarray.bitarray(32), # asByte & 32
- "data_type": bitarray.bitarray(16), # asByte & 16
- "id": bitarray.bitarray(16), # asByte & 16
- "packet_len": bitarray.bitarray(16), # asByte & 16
- "proto_speed": bitarray.bitarray(4), # asByte & 4
- "header_len": bitarray.bitarray(4), # asByte & 4
- "version": bitarray.bitarray(8) # asByte & 8
- }
- def __init__(self):
- super().__init__()
- for f in self.fields.values():
- f.setall(False)
- def pack(self):
- packed_header = bitarray.bitarray(endian='little')
- for f in self.fields.values():
- packed_header.append(f)
- return packed_header.tobytes()
Advertisement
Add Comment
Please, Sign In to add comment