Commit 10d2e8222fd6d42a4f7086bd018c7f61d57356ab

Authored by bmarechal
1 parent 9cd3debc59
Exists in master

new device: R&S FPC1000 max power

Showing 1 changed file with 73 additions and 0 deletions Inline Diff

instruments/FPC1000.py
File was created 1 from abstract_instrument import abstract_instrument
2 import socket
3
4 #==============================================================================
5
6 ALL_VAL_TYPE = ['PWR_MKR1']
7 ALL_CHANNELS = ['1']
8
9 ADDRESS = "192.168.0.17"
10 CONF_VAL_TYPE = ['CALC:MARK1:MAX:PEAK']
11
12 #==============================================================================
13
14 class FPC1000(abstract_instrument):
15 def __init__(self, channels, vtypes, address):
16 self.address = address
17 self.port = 5555
18 self.channels = channels
19 self.vtypes = vtypes
20
21 def model(self):
22 #self.send("*IDN?")
23 #return self.read()
24 return "FPC1000"
25
26 def connect(self):
27 print('Connecting to device @%s:%s...' %(self.address, self.port))
28 self.sock = socket.socket(socket.AF_INET,
29 socket.SOCK_STREAM,
30 socket.IPPROTO_TCP)
31 self.sock.settimeout(10.0) # Don't hang around forever
32 self.sock.connect((self.address, self.port))
33 #self.send("SYST:BEEP")
34 print(' --> Ok')
35 print(self.model())
36 self.configure()
37
38 def configure(self):
39 for ch in self.channels:
40 self.send(CONF_VAL_TYPE[ALL_VAL_TYPE.index(self.vtypes[self.channels.index(ch)])])
41
42 def getValue(self):
43 mes = ''
44 for ch in self.channels:
45 self.send('CALC:MARK1:MAX:PEAK')
46 self.send("CALC:MARK1:Y?")
47 mesTemp = self.read()
48 mes = mes + '\t' + mesTemp
49 return mes
50
51 def read(self):
52 ans = ''
53 nb_data_list = []
54 nb_data = ''
55 try:
56 while ans != '\n':
57 ans = self.sock.recv(1)
58 nb_data_list.append(ans) # Return the number of data
59 list_size = len(nb_data_list)
60 for j in range (0, list_size):
61 nb_data = nb_data+nb_data_list[j]