diff options
Diffstat (limited to 'qolab/hardware')
-rw-r--r-- | qolab/hardware/lockin/__init__.py | 29 | ||||
-rw-r--r-- | qolab/hardware/lockin/srs_sr865a.py | 25 |
2 files changed, 54 insertions, 0 deletions
diff --git a/qolab/hardware/lockin/__init__.py b/qolab/hardware/lockin/__init__.py new file mode 100644 index 0000000..7c2f826 --- /dev/null +++ b/qolab/hardware/lockin/__init__.py @@ -0,0 +1,29 @@ +from qolab.hardware.scpi import SCPIinstr +from qolab.hardware.basic import BasicInstrument + +class Lockin(BasicInstrument): + def __init__(self): + BasicInstrument.__init__(self) + self.config['Device type']='Lockin' + self.config['FnamePrefix'] = 'lockin' + self.deviceProperties = ['Freq']; + # Minimal set of methods to be implemented. + pass + +class LockinSCPI(SCPIinstr, Lockin): + """ + Do not instantiate directly, use + rm = pyvisa.ResourceManager() + LockinSCPI(rm.open_resource('TCPIP::192.168.0.2::INSTR')) + """ + pass + def __init__(self, resource): + SCPIinstr.__init__(self, resource) + Lockin.__init__(self) + self.config['DeviceId'] = str.strip(self.idn) + self.deviceProperties = ['FreqInt']; + +from .srs_sr865a import SRS_SR865A + + + diff --git a/qolab/hardware/lockin/srs_sr865a.py b/qolab/hardware/lockin/srs_sr865a.py new file mode 100644 index 0000000..91e1978 --- /dev/null +++ b/qolab/hardware/lockin/srs_sr865a.py @@ -0,0 +1,25 @@ +from qolab.hardware.lockin import LockinSCPI + +from qolab.data.trace import Trace +import re +import numpy as np + +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' + + """ Note: Fixed frequency and Center frequency (of sweep) are different in this model """ + +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(str.join('\n', lockin.getHeader())) + + |