Fiona Lin / Mbed OS cap_sense
Revision:
2:d9745be6c253
Parent:
1:40e5ac1119a6
--- a/capsense.cpp	Tue Jul 12 13:02:25 2022 -0400
+++ b/capsense.cpp	Thu Aug 04 15:14:29 2022 -0400
@@ -1,33 +1,39 @@
+#include <cstdint>
+#include <cstdio>
 #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;
+
+void CapSense::start() {
+    square_wave.write(1);
+    timer.start();
+
+    measured_this_cycle = false;
+}
+
+void CapSense::reset() {
+    square_wave.write(0);
+    wait_us(10000);
 }
 
 bool CapSense::try_measure() {
     if (cap_sense_measure.read() == 1 && !measured_this_cycle)
          {
+            
             timer.stop();
-            last_measurement = timer.read();
+            last_measurement = timer.elapsed_time().count();
             measured_this_cycle = true;
             timer.reset();
             return true;
+
         }
         return false;
 }
 
-long CapSense::read_measurement() {
+uint32_t CapSense::read_measurement() {
     return last_measurement;
 }