app.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. from comm import *
  2. class AppTest:
  3. def __init__(self, adr_module, adr_sensor):
  4. self.serial_port = SerialComm('/dev/ttyUSB0')
  5. self.module = adr_module
  6. self.sensor = adr_sensor
  7. def finish(self):
  8. self.serial_port.close()
  9. def cmd_version(self):
  10. resp = self.serial_port.request(self.module, 0, CMD_VERSION,[])
  11. version = chr(resp[3])+chr(resp[4])+chr(resp[5])
  12. print("Version: "+version)
  13. def cmd_echo(self):
  14. msg=[65,66,67,68,69,70]
  15. resp = self.serial_port.request(self.module, 0, CMD_ECHO,msg)
  16. echo = ""
  17. for r in range(len(msg)):
  18. echo = echo + chr(resp[3+r])
  19. print("Echo:"+echo)
  20. def cmd_set_param(self, param):
  21. resp = self.serial_port.request(self.module, self.sensor, (SET+CMD_PARAM),[])
  22. def cmd_get_param(self, param):
  23. resp = self.serial_port.request(self.module, self.sensor, (CMD_PARAM),[])
  24. def cmd_sensor_cnt(self):
  25. resp = self.serial_port.request(self.module, 0, CMD_SENSOR_CNT,[])
  26. return resp[3]
  27. def cmd_sensor_type(self, index):
  28. resp = self.serial_port.request(self.module, index, CMD_SENSOR_TYPE,[])
  29. return resp[3]
  30. def cmd_sensors_type(self, pocet):
  31. resp = self.serial_port.request(self.module, 0, CMD_SENSOR_TYPE,[])
  32. typy = [];
  33. for i in range(pocet):
  34. typy.append([resp[3+2*i],resp[4+2*i]])
  35. return typy
  36. def cmd_sensor_get_params(self, index):
  37. resp = self.serial_port.request(self.module, index, CMD_PARAM,[])
  38. return resp
  39. def cmd_sensor_get_data(self, index):
  40. resp = self.serial_port.request(self.module, index, CMD_DATA,[])
  41. return resp
  42. def cmd_module_info(self, param):
  43. resp = self.serial_port.request(self.module, 0, CMD_INFO,[param])
  44. if param == 0xE3:
  45. data=0
  46. for i in range(4):
  47. data=data+resp[i+3]*pow(256,i)
  48. return hex(data)
  49. l = len(resp)
  50. data=""
  51. for i in range(l-4):
  52. data=data+chr(resp[i+3])
  53. return data
  54. if __name__ == "__main__":
  55. app = AppTest(0x05, 0x0)
  56. # app.cmd_version()
  57. # app.cmd_version()
  58. # app.cmd_echo()
  59. pocet = app.cmd_sensor_cnt()
  60. print("Sensor type")
  61. for i in range(pocet):
  62. print(app.cmd_sensor_type(i+1))
  63. print("Sensors type")
  64. print(app.cmd_sensors_type(pocet))
  65. par = app.cmd_sensor_get_params(1)
  66. print(par)
  67. app.cmd_sensor_get_data(1)
  68. app.cmd_sensor_get_data(2)
  69. r=app.cmd_module_info(0xE1)
  70. print('NAME:' , r)
  71. r=app.cmd_module_info(0xE2)
  72. print('TYPE', r)
  73. r=app.cmd_module_info(0xE4)
  74. print('FW', r)
  75. r=app.cmd_module_info(0xE5)
  76. print('HW', r)
  77. r=app.cmd_module_info(0xE3)
  78. print("UUID", r)
  79. app.finish()