| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- from comm import *
- class AppTest:
- def __init__(self, adr_module, adr_sensor):
- self.serial_port = SerialComm('/dev/ttyUSB0')
- self.module = adr_module
- self.sensor = adr_sensor
- def finish(self):
- self.serial_port.close()
- def cmd_version(self):
- resp = self.serial_port.request(self.module, 0, CMD_VERSION,[])
- version = chr(resp[3])+chr(resp[4])+chr(resp[5])
- print("Version: "+version)
- def cmd_echo(self):
- msg=[65,66,67,68,69,70]
- resp = self.serial_port.request(self.module, 0, CMD_ECHO,msg)
- echo = ""
- for r in range(len(msg)):
- echo = echo + chr(resp[3+r])
- print("Echo:"+echo)
- def cmd_set_param(self, param):
- resp = self.serial_port.request(self.module, self.sensor, (SET+CMD_PARAM),[])
- def cmd_get_param(self, param):
- resp = self.serial_port.request(self.module, self.sensor, (CMD_PARAM),[])
- def cmd_sensor_cnt(self):
- resp = self.serial_port.request(self.module, 0, CMD_SENSOR_CNT,[])
- return resp[3]
- def cmd_sensor_type(self, index):
- resp = self.serial_port.request(self.module, index, CMD_SENSOR_TYPE,[])
- return resp[3]
- def cmd_sensors_type(self, pocet):
- resp = self.serial_port.request(self.module, 0, CMD_SENSOR_TYPE,[])
- typy = [];
- for i in range(pocet):
- typy.append([resp[3+2*i],resp[4+2*i]])
- return typy
- def cmd_sensor_get_params(self, index):
- resp = self.serial_port.request(self.module, index, CMD_PARAM,[])
- return resp
- def cmd_sensor_get_data(self, index):
- resp = self.serial_port.request(self.module, index, CMD_DATA,[])
- if len(resp)>1:
- h = resp[5] * 256 + resp[4]
- # print(hex(h))
- return h/4096*3.3
- return 0
- def cmd_sensor_get_data_all(self, cnt):
- resp = self.serial_port.request(self.module, 0, CMD_DATA,[])
- # print(resp)
- if len(resp)>1:
- for i in range(cnt):
- sen = resp[3+3*i]
- h = resp[5+3*i] * 256 + resp[4+3*i]
- print("FSR",sen,":\t", h/4096.0*3.3)
-
-
- def cmd_module_info(self, param):
- resp = self.serial_port.request(self.module, 0, CMD_INFO,[param])
- if param == 0xE3:
- data=0
- for i in range(4):
- data=data+resp[i+3]*pow(256,i)
- return hex(data)
- l = len(resp)
- data=""
- for i in range(l-4):
- data=data+chr(resp[i+3])
- return data
- def cmd_module_start(self):
- self.serial_port.requestBroadcast(CMD_START,[])
- def cmd_module_stop(self):
- self.serial_port.requestBroadcast(CMD_STOP,[])
- if __name__ == "__main__":
-
- app = AppTest(0x05, 0x0)
- # app.cmd_version()
- # app.cmd_version()
- # app.cmd_echo()
- app.cmd_module_start()
- pocet = app.cmd_sensor_cnt()
- print("pocet senzorov=", pocet)
- app.cmd_sensor_get_data_all(pocet)
- # quit()
- for i in range(pocet):
- d=app.cmd_sensor_get_data(i+1)
- print("Data", i+1, ":\t", d)
-
- time.sleep(1)
- app.cmd_module_stop()
-
-
-
- print("Sensor type")
- for i in range(pocet):
- print(app.cmd_sensor_type(i+1))
- print("Sensors type")
- print(app.cmd_sensors_type(pocet))
- par = app.cmd_sensor_get_params(1)
- print(par)
-
- r=app.cmd_module_info(0xE1)
- print('NAME:' , r)
- r=app.cmd_module_info(0xE2)
- print('TYPE', r)
-
- r=app.cmd_module_info(0xE4)
- print('FW', r)
- r=app.cmd_module_info(0xE5)
- print('HW', r)
-
- r=app.cmd_module_info(0xE3)
- print("UUID", r)
- app.finish()
|