Guest User

Sample Proto

a guest
Jan 13th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. class Constants():
  2.  
  3. AUTH_DATA = b'\x00\x00'
  4. INIT_STRING_DATA = b'\x00\x01'
  5. MIXED_DATA = b'\x00\x02'
  6. LEVEL_DATA = b'\x00\x03'
  7. DATA_REFUSED = b'\x00\x04'
  8. DATA_FINISH = b'\x00\x05'
  9. DATA_XML = b'\x00\x06'
  10.  
  11. PS_HALF = b'\x00\x00'
  12. PS_NORMAL = b'\x00\x01'
  13. PS_DOUBLE = b'\x00\x02'
  14. PS_REALTIME = b'\x00\x03'
  15.  
  16. VERSION_BINARY = b'\x00\x00'
  17. VERSION_XML = b'\x00\x01'
  18.  
  19. CMD_MSL_LNCH_SEQ_1 = b'\x00\x00'
  20. CMD_MSL_LNCH_SEQ_2 = b'\x00\x01'
  21. CMD_MSL_LNCH_SEQ_3 = b'\x00\x02'
  22. CMD_MSL_LNCH_SEQ_4 = b'\x00\x03'
  23. CMD_MSL_LNCH_SEQ_5 = b'\x00\x04'
  24.  
  25. CMD_CRD_INP_LAT = b'\x00\x05'
  26. CMD_CRD_INP_LNG = b'\x00\x06'
  27.  
  28.  
  29.  
  30.  
  31. class Header(dict):
  32. fields = {
  33. "key_hash": bitarray.bitarray(32), # asByte & 32
  34. "cc_id": bitarray.bitarray(32), # asByte & 32
  35. "msl_id": bitarray.bitarray(32), # asByte & 32
  36. "data_type": bitarray.bitarray(16), # asByte & 16
  37. "id": bitarray.bitarray(16), # asByte & 16
  38. "packet_len": bitarray.bitarray(16), # asByte & 16
  39. "proto_speed": bitarray.bitarray(4), # asByte & 4
  40. "header_len": bitarray.bitarray(4), # asByte & 4
  41. "version": bitarray.bitarray(8) # asByte & 8
  42. }
  43.  
  44. def __init__(self):
  45. super().__init__()
  46. for f in self.fields.values():
  47. f.setall(False)
  48.  
  49. def pack(self):
  50. packed_header = bitarray.bitarray(endian='little')
  51. for f in self.fields.values():
  52. packed_header.append(f)
  53. return packed_header.tobytes()
Advertisement
Add Comment
Please, Sign In to add comment