From e62be3b12d3c94d709a77d89f52c31f7c4ac475d Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 4 Dec 2021 22:22:47 -0800 Subject: Initial commit. --- arduino/Counter.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 arduino/Counter.h (limited to 'arduino/Counter.h') diff --git a/arduino/Counter.h b/arduino/Counter.h new file mode 100755 index 0000000..f832023 --- /dev/null +++ b/arduino/Counter.h @@ -0,0 +1,45 @@ +#pragma once + +class Counter +{ +public: + + enum State + { + READY, + WAITING_FOR_TIMEOUT, + COUNTING, + SIGNALING + }; + +public: + + void init (unsigned long startDelay, unsigned long rpmCount, unsigned long signalsPerRPM); + + void setStartDelay (unsigned long); + + void setRPMCount (unsigned long); + + void setSignalsPerRPM (unsigned long); + + void start (unsigned long startTime); + + void reset (); + + void update (unsigned long time, int rpmSignal); + + State getState () const; + +private: + + State state; + + unsigned long startDelay; + unsigned long rpmCount; + unsigned long signalsPerRPM; + unsigned long startTime; + + unsigned long signals; + + bool lastRpmSignal; +}; -- cgit v1.2.3