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,[]) h = resp[5] * 256 + resp[4] # print(hex(h)) return h/4096*3.3 def cmd_sensor_get_data_all(self, cnt): resp = self.serial_port.request(self.module, 0, CMD_DATA,[]) 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() app.cmd_sensor_get_data_all(pocet) 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()