summaryrefslogtreecommitdiffstats
path: root/lab_control
diff options
context:
space:
mode:
Diffstat (limited to 'lab_control')
-rw-r--r--lab_control/__init__.py3
-rw-r--r--lab_control/function_generator.py23
-rw-r--r--lab_control/oscilloscope.py17
-rw-r--r--lab_control/test/__init__.py0
-rw-r--r--lab_control/test/interfaces_test.py11
5 files changed, 54 insertions, 0 deletions
diff --git a/lab_control/__init__.py b/lab_control/__init__.py
new file mode 100644
index 0000000..b8c59c6
--- /dev/null
+++ b/lab_control/__init__.py
@@ -0,0 +1,3 @@
+#from os.path import dirname, abspath
+
+#ROOT_DIR = dirname(abspath(__file__))
diff --git a/lab_control/function_generator.py b/lab_control/function_generator.py
new file mode 100644
index 0000000..b7b5266
--- /dev/null
+++ b/lab_control/function_generator.py
@@ -0,0 +1,23 @@
+class FunctionGenerator:
+ FUNCTION_SINE = 0
+ FUNCTION_SQUARE = 1
+ FUNCTION_SAWTOOTH = 2
+
+ def __init__(self):
+ raise Exception("This class should not be instantiated directly, please extend it instead")
+
+ def setOn(self, channel: int) -> None:
+ pass
+
+ def setOff(self, channel: int) -> None:
+ pass
+
+ def setFrequency(self, channel: int, frequency: float) -> None:
+ pass
+
+ def setAmplitude(self, channel: int, amplitude: float) -> None:
+ pass
+
+ def setFunction(self, channel: int, function: int) -> None:
+ pass
+
diff --git a/lab_control/oscilloscope.py b/lab_control/oscilloscope.py
new file mode 100644
index 0000000..a09f8a0
--- /dev/null
+++ b/lab_control/oscilloscope.py
@@ -0,0 +1,17 @@
+class Oscilloscope:
+ def __init__(self):
+ raise Exception("This class should not be instantiated directly, please extend it instead")
+
+ def measureAmplitude(self, channel: int) -> float:
+ pass
+
+ def measurePkToPk(self, channel: int) -> float:
+ pass
+
+ def measureRMS(self, channel: int) -> float:
+ pass
+
+ def measureFrequency(self, channel: int) -> float:
+ pass
+
+
diff --git a/lab_control/test/__init__.py b/lab_control/test/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lab_control/test/__init__.py
diff --git a/lab_control/test/interfaces_test.py b/lab_control/test/interfaces_test.py
new file mode 100644
index 0000000..bf9006b
--- /dev/null
+++ b/lab_control/test/interfaces_test.py
@@ -0,0 +1,11 @@
+import pytest
+from lab_control.oscilloscope import Oscilloscope
+from lab_control.function_generator import FunctionGenerator
+
+def test_oscilloscopeInterface():
+ with pytest.raises(Exception):
+ uut = Oscilloscope()
+
+def test_functionGeneratorInterface():
+ with pytest.raises(Exception):
+ uut = FunctionGenerator()