25 lines
578 B
C++
25 lines
578 B
C++
/**
|
|
* Author : Anatole SCHRAMM-HENRY
|
|
* Created on : 03/04/2022
|
|
* Licence : MIT
|
|
*
|
|
* Dead simple object implementing a non blocking delay using the Arduino framework.
|
|
*/
|
|
#include "NonBlockingDelay.h"
|
|
|
|
NonBlockingDelay::NonBlockingDelay(const unsigned long delay, unsigned long tickReference) : _delay(delay), _tickReference(tickReference){}
|
|
|
|
void NonBlockingDelay::reset()
|
|
{
|
|
_tickReference = millis();
|
|
}
|
|
|
|
NonBlockingDelay::operator bool()
|
|
{
|
|
bool isTimeElapsed(millis() - _tickReference > _delay);
|
|
|
|
if(isTimeElapsed)
|
|
reset();
|
|
|
|
return isTimeElapsed;
|
|
} |