aboutsummaryrefslogtreecommitdiff
path: root/qolab/hardware/lockin/srs_sr865a.py
blob: b20574bf8152660fee2807b8c490566f8713d904 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from qolab.hardware.lockin import LockinSCPI

class SRS_SR865A(LockinSCPI):
    """ SRS SR865A lockin """
    def __init__(self, resource):
        super().__init__(resource)
        self.config['Device model']='SRS SR865A'
        self.resource.read_termination='\n'

    def getFreqInt(self):
        qstr = f'FreqInt?'
        rstr = self.query(qstr)
        return(float(rstr))

    def setFreqInt(self, freq):
        cstr = f'FreqInt {freq}'
        rstr = self.write(cstr)

    # this one has no setter
    def getFreqExt(self):
        qstr = f'FreqExt?'
        rstr = self.query(qstr)
        return(float(rstr))

    def getHarm(self):
        qstr = f'Harm?'
        rstr = self.query(qstr)
        return(int(rstr))

    def setHarm(self, harm):
        cstr = f'Harm {harm}'
        rstr = self.write(cstr)

    def getSinAmpl(self):
        qstr = f'SLVL?'
        rstr = self.query(qstr)
        return(float(rstr))

    def setSinAmpl(self, ampl):
        cstr = f'SLVL {ampl}'
        rstr = self.write(cstr)


if __name__ == '__main__': 
    import pyvisa
    print("testing")
    rm = pyvisa.ResourceManager()
    print(rm.list_resources())    
    instr=rm.open_resource('TCPIP::192.168.0.51::INSTR')
    lockin = SRS_SR865A(instr)
    print('------ Header start -------------')
    print(str.join('\n', lockin.getHeader()))
    print('------ Header ends  -------------')