Commit 71c75635ed773ec551260c64ba09257f709242bb
1 parent
0cfef1bd2d
Exists in
master
FPC1000: une coherent definition of CONF
Showing 1 changed file with 2 additions and 3 deletions Inline Diff
instruments/FPC1000.py
| from abstract_instrument import abstract_instrument | 1 | 1 | from abstract_instrument import abstract_instrument | |
| import socket | 2 | 2 | import socket | |
| 3 | 3 | |||
| #============================================================================== | 4 | 4 | #============================================================================== | |
| 5 | 5 | |||
| ALL_VAL_TYPE = ['PWR_MKR'] | 6 | 6 | ALL_VAL_TYPE = ['PWR_MKR'] | |
| ALL_CHANNELS = ['1', '2', '3', '4'] | 7 | 7 | ALL_CHANNELS = ['1', '2', '3', '4'] | |
| 8 | 8 | |||
| ADDRESS = "192.168.0.17" | 9 | 9 | ADDRESS = "192.168.0.17" | |
| CONF_VAL_TYPE = ['CALC:MARK1:Y?', 'CALC:MARK2:Y?', 'CALC:MARK3:Y?', 'CALC:MARK4:Y?'] | 10 | 10 | CONF_VAL_TYPE = ['CALC:MARKi:Y?'] | |
| 11 | 11 | |||
| #============================================================================== | 12 | 12 | #============================================================================== | |
| 13 | 13 | |||
| class FPC1000(abstract_instrument): | 14 | 14 | class FPC1000(abstract_instrument): | |
| def __init__(self, channels, vtypes, address): | 15 | 15 | def __init__(self, channels, vtypes, address): | |
| self.address = address | 16 | 16 | self.address = address | |
| self.port = 5555 | 17 | 17 | self.port = 5555 | |
| self.channels = channels | 18 | 18 | self.channels = channels | |
| self.vtypes = vtypes | 19 | 19 | self.vtypes = vtypes | |
| 20 | 20 | |||
| def model(self): | 21 | 21 | def model(self): | |
| #self.send("*IDN?") | 22 | 22 | #self.send("*IDN?") | |
| #return self.read() | 23 | 23 | #return self.read() | |
| return "FPC1000" | 24 | 24 | return "FPC1000" | |
| 25 | 25 | |||
| def connect(self): | 26 | 26 | def connect(self): | |
| print('Connecting to device @%s:%s...' %(self.address, self.port)) | 27 | 27 | print('Connecting to device @%s:%s...' %(self.address, self.port)) | |
| self.sock = socket.socket(socket.AF_INET, | 28 | 28 | self.sock = socket.socket(socket.AF_INET, | |
| socket.SOCK_STREAM, | 29 | 29 | socket.SOCK_STREAM, | |
| socket.IPPROTO_TCP) | 30 | 30 | socket.IPPROTO_TCP) | |
| self.sock.settimeout(10.0) # Don't hang around forever | 31 | 31 | self.sock.settimeout(10.0) # Don't hang around forever | |
| self.sock.connect((self.address, self.port)) | 32 | 32 | self.sock.connect((self.address, self.port)) | |
| #self.send("SYST:BEEP") | 33 | 33 | #self.send("SYST:BEEP") | |
| print(' --> Ok') | 34 | 34 | print(' --> Ok') | |
| print(self.model()) | 35 | 35 | print(self.model()) | |
| self.configure() | 36 | 36 | self.configure() | |
| 37 | 37 | |||
| def configure(self): | 38 | 38 | def configure(self): | |
| #for ch in self.channels: | 39 | 39 | #for ch in self.channels: | |
| # self.send(CONF_VAL_TYPE[ALL_VAL_TYPE.index(self.vtypes[self.channels.index(ch)])]) | 40 | 40 | # self.send(CONF_VAL_TYPE[ALL_VAL_TYPE.index(self.vtypes[self.channels.index(ch)])]) | |
| pass | 41 | 41 | pass | |
| 42 | 42 | |||
| def getValue(self): | 43 | 43 | def getValue(self): | |
| mes = '' | 44 | 44 | mes = '' | |
| for ch in self.channels: | 45 | 45 | for ch in self.channels: | |
| #self.send('CALC:MARK1:MAX:PEAK') | 46 | 46 | self.send(CONF_VAL_TYPE[ALL_VAL_TYPE.index(self.vtypes[self.channels.index(ch)])].replace('i', str(ch))) | |
| self.send(CONF_VAL_TYPE[int(ch)-1]) | 47 | |||
| mesTemp = self.read() | 48 | 47 | mesTemp = self.read() | |
| mes = mes + '\t' + mesTemp.replace('\n', '') | 49 | 48 | mes = mes + '\t' + mesTemp.replace('\n', '') | |
| return mes + '\n' | 50 | 49 | return mes + '\n' | |
| 51 | 50 | |||
| def read(self): | 52 | 51 | def read(self): | |
| ans = '' | 53 | 52 | ans = '' | |
| nb_data_list = [] | 54 | 53 | nb_data_list = [] | |
| nb_data = '' | 55 | 54 | nb_data = '' | |
| try: | 56 | 55 | try: | |
| while ans != '\n': | 57 | 56 | while ans != '\n': | |
| ans = self.sock.recv(1) | 58 | 57 | ans = self.sock.recv(1) | |
| nb_data_list.append(ans) # Return the number of data | 59 | 58 | nb_data_list.append(ans) # Return the number of data | |
| list_size = len(nb_data_list) | 60 | 59 | list_size = len(nb_data_list) | |
| for j in range (0, list_size): | 61 | 60 | for j in range (0, list_size): | |
| nb_data = nb_data+nb_data_list[j] | 62 | 61 | nb_data = nb_data+nb_data_list[j] | |
| return nb_data | 63 | 62 | return nb_data | |
| except socket.timeout: | 64 | 63 | except socket.timeout: |