Commit 71c75635ed773ec551260c64ba09257f709242bb

Authored by bmarechal
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: