diff options
Diffstat (limited to 'platformio/relayctl/src/stopwatch.h')
-rw-r--r-- | platformio/relayctl/src/stopwatch.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/platformio/relayctl/src/stopwatch.h b/platformio/relayctl/src/stopwatch.h new file mode 100644 index 0000000..bac2fcc --- /dev/null +++ b/platformio/relayctl/src/stopwatch.h @@ -0,0 +1,30 @@ +#pragma once + +#include <Arduino.h> + +namespace homekit { + +class StopWatch { +private: + unsigned long time; + +public: + StopWatch() : time(0) {}; + + inline void save() { + time = millis(); + } + + inline bool elapsed(unsigned long ms) { + unsigned long now = millis(); + if (now < time) { + // rollover? + time = now; + } else if (now - time >= ms) { + return true; + } + return false; + } +}; + +}
\ No newline at end of file |