ParsingTools.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. class ParsingTools():
  2. def macToString(self, mac_bytes):
  3. ''' Convert uint8 byte string to "XX:XX:XX:XX:XX"
  4. '''
  5. mac_str = ""
  6. for byte in mac_bytes:
  7. mac_str = mac_str + format(byte, 'x') + ':'
  8. return mac_str[:-1].format('utf-8')
  9. def calculateVCell(self, raw_Vcell):
  10. return raw_Vcell*1.25e-3
  11. def calculateSOC(self, raw_SOC):
  12. return raw_SOC.to_bytes(2, 'big')[0]
  13. class FieldGenerator():
  14. def generateMACID(self):
  15. import numpy as np
  16. macID = np.random.randint(255, size=5)
  17. macStr = ""
  18. for val in macID:
  19. macStr = macStr+ format(val, 'x') + ":"
  20. return macStr[:-1]
  21. def generateRSSI(self):
  22. import numpy as np
  23. rssi = np.random.randint(80)
  24. rssiStr = "RSSI: -" + str(rssi) + "dBm"
  25. return rssiStr
  26. def generateSOC(self):
  27. import numpy as np
  28. soc = np.random.randint(100)
  29. socStr = "Battery: " + str(soc) + "%"
  30. return socStr
  31. def generateStatus(self):
  32. import numpy as np
  33. hr = np.random.randint(12) + 1
  34. min = np.random.randint(60)
  35. ampm = np.random.randint(1)
  36. statusStr = "Last Update: " + str(hr) + ":" + str(min)
  37. return statusStr
  38. if __name__ == '__main__':
  39. print("I never developed self-test, but if I did they would go here.")
  40. pt = ParsingTools()
  41. print("Testing macToString")
  42. print(pt.macToString(b'023430'))