2016-06-15 23:48:41 +02:00
|
|
|
/**
|
|
|
|
* @file Countdown.h
|
|
|
|
* @brief This file defines the Countdown class.
|
|
|
|
* @date 21.03.2013
|
|
|
|
* @author baetz
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef COUNTDOWN_H_
|
|
|
|
#define COUNTDOWN_H_
|
|
|
|
|
2018-07-12 16:29:32 +02:00
|
|
|
#include <framework/timemanager/Clock.h>
|
2016-06-15 23:48:41 +02:00
|
|
|
|
|
|
|
class Countdown {
|
|
|
|
private:
|
|
|
|
uint32_t startTime;
|
|
|
|
public:
|
|
|
|
uint32_t timeout;
|
|
|
|
Countdown(uint32_t initialTimeout = 0);
|
|
|
|
~Countdown();
|
|
|
|
ReturnValue_t setTimeout(uint32_t miliseconds);
|
|
|
|
|
|
|
|
bool hasTimedOut() const;
|
|
|
|
|
|
|
|
bool isBusy() const;
|
|
|
|
|
|
|
|
ReturnValue_t resetTimer(); //!< Use last set timeout value and restart timer.
|
2018-07-12 16:29:32 +02:00
|
|
|
|
|
|
|
void timeOut(); //!< Make hasTimedOut() return true
|
2016-06-15 23:48:41 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* COUNTDOWN_H_ */
|