summaryrefslogtreecommitdiff
path: root/include/driver
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2020-07-10 14:53:45 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2020-07-10 14:53:45 +0200
commit4065d4f5d506d7a0e562e98b06d2afd01e529df6 (patch)
tree804a83e8e9e3814aeb2258088cd851a120f61861 /include/driver
parentda828589e00f1d709053431c2249cb53c5cee37f (diff)
add resistive load driver for energy measurement device evaluation
Diffstat (limited to 'include/driver')
-rw-r--r--include/driver/resistive_load.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/driver/resistive_load.h b/include/driver/resistive_load.h
new file mode 100644
index 0000000..74725ac
--- /dev/null
+++ b/include/driver/resistive_load.h
@@ -0,0 +1,35 @@
+#ifndef RESISTIVE_LOAD_H
+#define RESISTIVE_LOAD_H
+
+/*
+ * Resistance at 25°c
+ * R1: 986R
+ * R2: 3K25
+ * R3: 46K3
+ * R4: 9K86
+ */
+
+class ResistiveLoad {
+ private:
+ ResistiveLoad(const ResistiveLoad &copy);
+
+ public:
+ ResistiveLoad() {}
+ void setup();
+ void switchToNone();
+ void switchTo750(); // 576R (R1 || R2)
+ void switchTo1K0(); // 986R (R1)
+ void switchTo2K4(); // 2K44 (R2 || 4)
+ void switchTo3K3(); // 3K25 (R2)
+ void switchTo10K(); // 9K86 (R4)
+ void switchTo47K(); // 46K3 (R3)
+ void nop1K0(unsigned int duration_ms);
+ void nop2K4(unsigned int duration_ms);
+ void nop3K3(unsigned int duration_ms);
+ void nop10K(unsigned int duration_ms);
+ void nop47K(unsigned int duration_ms);
+};
+
+extern ResistiveLoad resistiveLoad;
+
+#endif