/** * Author : Anatole SCHRAMM-HENRY * Created on : 03/04/2022 * Licence : MIT * * Dead simple object implementing a non blocking delay using the Arduino framework. */ #ifndef NONBLOCKINGDELAY_H #define NONBLOCKINGDELAY_H #include class NonBlockingDelay { public: NonBlockingDelay(const unsigned long delay, unsigned long tickReference = millis()); // Manually reset the internal tick reference void reset(); operator bool(); protected: private: const unsigned long _delay; unsigned long _tickReference; }; #endif //NONBLOCKINGDELAY_H