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 -------------')