import socket import struct import subprocess import numpy as np import serial probe = { '10mV': np.int8(0), '20mV': np.int8(1), '50mV': np.int8(2), '100mV': np.int8(3), '200mV': np.int8(4), '500mV': np.int8(5), '1V': np.int8(6), '2V': np.int8(7), '5V': np.int8(8), '10V': np.int8(9), '20V': np.int8(10), '50V': np.int8(11), '100V': np.int8(12), '200V': np.int8(13) } class adc_default: def __init__(self, port): self.port = port self.ndata = [] self.channels_data = [] self.measure_code = (0x00, 0) self.proto = { 'open': 0x01, 'set_rate': 0x07, 'set_points': 0x06, 'config_channels': 0x09, 'set_premeasure': 0x28, 'set_trignum': 0x19, 'start': 0x3B, 'stop': 0x03, } def connect(self, port=0): self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.settimeout(5.0) resp = self.client_socket.connect(('127.0.0.1', self.port)) return resp def resp_handler(self, resp, cmd): if(resp[0] != 0xAA): return (-1, 0) if(resp[1] == 0xFF): return (0xFF, resp[3]) return (resp[1], 0) def open(self): msg = struct.pack(' last_channel): print('append channel') self.channels_data.append(data) data = b'' last_channel += 1 if(nsignal > last_signal): print('append channel') self.channels_data.append(data) data = b'' last_channel = 0 last_signal += 1 print('append data') self.ndata.append(self.channels_data) self.channels_data = [] data += temp resp = self.client_socket.recv(4096) print(f'RESP: {resp[1]}') msg = struct.pack(' 6): magic, cmd, state, errbits, errpoint, current_setting_amp, current_amp, first_sensor, second_sensor = struct.unpack('