Commit 7db5c07792d195b638a66011616f6f8c66cb0db6

Authored by bmarechal
1 parent 5876547671
Exists in master

instruments/AG53230A: set external ref at 10MHz

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

instruments/AG53230A.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 = ['FREQ'] 6 6 ALL_VAL_TYPE = ['FREQ']
ALL_CHANNELS = ['1'] 7 7 ALL_CHANNELS = ['1']
8 8
ADDRESS = "192.168.0.74" 9 9 ADDRESS = "192.168.0.74"
CONF_VAL_TYPE = ['CONF:FREQ'] 10 10 CONF_VAL_TYPE = ['CONF:FREQ']
11 11
#============================================================================== 12 12 #==============================================================================
13 13
class AG53230A(abstract_instrument): 14 14 class AG53230A(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 = 5025 17 17 self.port = 5025
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 "AG53230A" 24 24 return "AG53230A"
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('INP:COUP AC') 40 40 self.send('INP:COUP AC')
self.send('INP:IMP 50') 41 41 self.send('INP:IMP 50')
self.send('SENS:FREQ:GATE:TIME 1') 42 42 self.send('SENS:FREQ:GATE:TIME 1')
43 self.send('SENS:ROSC:SOUR EXT')
44 self.send('SENS:ROSC:EXT:FREQ 10E6')
self.send(CONF_VAL_TYPE[ALL_VAL_TYPE.index(self.vtypes[self.channels.index(ch)])]) 43 45 self.send(CONF_VAL_TYPE[ALL_VAL_TYPE.index(self.vtypes[self.channels.index(ch)])])
44 46
def getValue(self): 45 47 def getValue(self):
mes = '' 46 48 mes = ''
for ch in self.channels: 47 49 for ch in self.channels:
self.send("READ?") 48 50 self.send("READ?")
mesTemp = self.read() 49 51 mesTemp = self.read()
mes = mes + '\t' + mesTemp 50 52 mes = mes + '\t' + mesTemp
return mes 51 53 return mes
52 54
def read(self): 53 55 def read(self):
ans = '' 54 56 ans = ''
nb_data_list = [] 55 57 nb_data_list = []
nb_data = '' 56 58 nb_data = ''
try: 57 59 try:
while ans != '\n': 58 60 while ans != '\n':
ans = self.sock.recv(1) 59 61 ans = self.sock.recv(1)
nb_data_list.append(ans) # Return the number of data 60 62 nb_data_list.append(ans) # Return the number of data
list_size = len(nb_data_list) 61 63 list_size = len(nb_data_list)
for j in range (0, list_size): 62 64 for j in range (0, list_size):
nb_data = nb_data+nb_data_list[j] 63 65 nb_data = nb_data+nb_data_list[j]