aboutsummaryrefslogtreecommitdiff
path: root/qolab/hardware/multimeter/_basic.py
diff options
context:
space:
mode:
authorEugeniy E. Mikhailov <evgmik@gmail.com>2024-07-17 21:34:35 -0400
committerEugeniy E. Mikhailov <evgmik@gmail.com>2024-07-17 21:34:35 -0400
commitb3c33a359375c5866051b5a8492a7cc8ed743117 (patch)
tree395347bd1fb4d274ea497e8c477a449adf260877 /qolab/hardware/multimeter/_basic.py
parentf6f5ce36dc70f7e1cd8aa70da02b2b8b56286654 (diff)
downloadqolab-b3c33a359375c5866051b5a8492a7cc8ed743117.tar.gz
qolab-b3c33a359375c5866051b5a8492a7cc8ed743117.zip
refactor multimeters for proper imports
Diffstat (limited to 'qolab/hardware/multimeter/_basic.py')
-rw-r--r--qolab/hardware/multimeter/_basic.py84
1 files changed, 84 insertions, 0 deletions
diff --git a/qolab/hardware/multimeter/_basic.py b/qolab/hardware/multimeter/_basic.py
new file mode 100644
index 0000000..a8e5fac
--- /dev/null
+++ b/qolab/hardware/multimeter/_basic.py
@@ -0,0 +1,84 @@
+"""Basic multimeter classes to be included in hardware aware classes."""
+
+from qolab.hardware.scpi import SCPIinstr
+from qolab.hardware.basic import BasicInstrument
+
+
+class Multimeter(BasicInstrument):
+ """
+ Multimeter basic class.
+
+ Intended to be part of the hardware aware class.
+ """
+
+ def __init__(self, *args, **kwds):
+ BasicInstrument.__init__(self, *args, **kwds)
+ self.config["Device type"] = "Multimeter"
+ self.config["Device model"] = (
+ "Generic Multimeter generator Without Hardware interface"
+ )
+ self.config["FnamePrefix"] = "Multimeter"
+ self.config["Device model"] = "Generic Multimeter Without Hardware interface"
+ self.config["FnamePrefix"] = "multimeter"
+ self.deviceProperties.update({})
+
+ # Minimal set of methods to be implemented.
+ def getVdc(self):
+ """Report DC Voltage"""
+ print("getVdc is not implemented")
+ return None
+
+ def getVac(self):
+ """Report AC Voltage"""
+ print("getVac is not implemented")
+ return None
+
+ def getAdc(self):
+ """Report DC Current"""
+ print("getAdc is not implemented")
+ return None
+
+ def getAac(self):
+ """Report AC Current"""
+ print("getAac is not implemented")
+ return None
+
+ def getResistance(self):
+ """Report Resistance"""
+ print("getResistance is not implemented")
+ return None
+
+ def getResistance4Wires(self):
+ """Report Resistance with 4 wire method"""
+ print("getResistance4Wires is not implemented")
+ return None
+
+ def getDiode(self):
+ """Report Diode Voltage drop"""
+ print("getDiode is not implemented")
+ return None
+
+ def getFreq(self):
+ """Report Frequency"""
+ print("getFreq is not implemented")
+ return None
+
+
+class MultimeterSCPI(SCPIinstr, Multimeter):
+ """
+ SCPI enabled basic multimeter.
+
+ Intended to be part of the hardware aware class.
+
+ Example
+ -------
+ >>> rm = pyvisa.ResourceManager()
+ >>> MultimeterSCPI(rm.open_resource('TCPIP::192.168.0.2::INSTR'))
+ """
+
+ pass
+
+ def __init__(self, resource, *args, **kwds):
+ SCPIinstr.__init__(self, resource)
+ Multimeter.__init__(self, *args, **kwds)
+ self.config["DeviceId"] = str.strip(self.idn)