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' self.deviceProperties.extend(['TimeBaseMode']) 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 only getter 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) def getSinOffset(self): qstr = f'SOFF?' rstr = self.query(qstr) return(float(rstr)) def setSinOffset(self, offset): cstr = f'SOFF {offset}' rstr = self.write(cstr) def getSensetivity(self): return(int(self.query(f'SCAL?'))) def setSensetivity(self, val): rstr = self.write(f'SCAL {val}') def getTimeConstan(self): return(int(self.query(f'OFLT?'))) def setTimeConstan(self, val): rstr = self.write(f'OFLT {val}') def getFilterSlope(self): return(int(self.query(f'OFSL?'))) def setFilterSlope(self, val): rstr = self.write(f'OFSL {val}') # this one has only getter def getEquivalentFileterBW(self): return(float(self.query(f'ENBW?'))) def getTimeBaseMode(self): return(int(self.query(f'TBMODE?'))) def setTimeBaseMode(self, val): rstr = self.write(f'TBMODE {val}') def getRefPhase(self): return(float(self.query(f'PHAS?'))) def setRefPhase(self, val): rstr = self.write(f'PHAS {val}') 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 -------------')