diff --git a/lib/TimeoutHelper/TimeoutHelper.cpp b/lib/TimeoutHelper/TimeoutHelper.cpp new file mode 100644 index 0000000..8a57031 --- /dev/null +++ b/lib/TimeoutHelper/TimeoutHelper.cpp @@ -0,0 +1,24 @@ +#include "TimeoutHelper.h" +#include + +TimeoutHelper::TimeoutHelper() +{ + timeout = 0; + startMillis = 0; +} + +void TimeoutHelper::set(uint32_t ms) +{ + timeout = ms; + startMillis = millis(); +} + +void TimeoutHelper::extend(uint32_t ms) +{ + timeout += ms; +} + +bool TimeoutHelper::occured() +{ + return millis() > (startMillis + timeout); +} \ No newline at end of file diff --git a/lib/TimeoutHelper/TimeoutHelper.h b/lib/TimeoutHelper/TimeoutHelper.h new file mode 100644 index 0000000..d4ecb4c --- /dev/null +++ b/lib/TimeoutHelper/TimeoutHelper.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +class TimeoutHelper { +public: + TimeoutHelper(); + void set(uint32_t ms); + void extend(uint32_t ms); + bool occured(); + +private: + uint32_t startMillis; + uint32_t timeout; +}; \ No newline at end of file