Fiona Lin / Mbed OS cap_sense
Revision:
0:4e3ad938564e
Child:
1:40e5ac1119a6
diff -r 000000000000 -r 4e3ad938564e capsense.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/capsense.cpp	Tue Jun 28 21:32:51 2022 +0000
@@ -0,0 +1,34 @@
+#include <mbed.h>
+#include "capsense.h"
+
+CapSense::CapSense(PinName measure_pin, PinName square_pin)
+    : cap_sense_measure(measure_pin), square_wave(square_pin), 
+      measured_this_cycle(false) {}
+          
+bool CapSense::toggle() {
+    bool last_signal = square_wave.read();
+        square_wave.write(!last_signal);
+        if (!last_signal) {
+            measured_this_cycle = false;
+            timer.start();
+        }
+        return !last_signal;
+}
+
+bool CapSense::try_measure() {
+    if (cap_sense_measure.read() == 1 && !measured_this_cycle) {
+            timer.stop();
+            last_measurement = timer.read();
+            measured_this_cycle = true;
+            timer.reset();
+            return true;
+        }
+        return false;
+}
+
+long CapSense::read_measurement() {
+    return last_measurement;
+}
+
+
+    
\ No newline at end of file