From effd983e6ddcb4bad38bfc9a0c6d2d30d54ceb5b Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Wed, 8 Jun 2022 23:04:45 +0200 Subject: [PATCH] Added class to handle timeouts --- lib/TimeoutHelper/TimeoutHelper.cpp | 24 ++++++++++++++++++++++++ lib/TimeoutHelper/TimeoutHelper.h | 15 +++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 lib/TimeoutHelper/TimeoutHelper.cpp create mode 100644 lib/TimeoutHelper/TimeoutHelper.h 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