summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/counter.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/counter.h b/src/counter.h
new file mode 100644
index 0000000..e0126db
--- /dev/null
+++ b/src/counter.h
@@ -0,0 +1,20 @@
+#include "mbed.h"
+
+class Counter {
+public:
+ Counter(PinName pin) : _interrupt(pin) { // create the InterruptIn on the pin specified to Counter
+ _interrupt.rise(this, &Counter::increment); // attach increment function of this counter instance
+ }
+
+ void increment() {
+ _count++;
+ }
+
+ int read() {
+ return _count;
+ }
+
+private:
+ InterruptIn _interrupt;
+ volatile int _count;
+};