fsfw/timemanager/Countdown.h

32 lines
591 B
C
Raw Normal View History

2020-09-22 02:12:02 +02:00
#ifndef FSFW_TIMEMANAGER_COUNTDOWN_H_
#define FSFW_TIMEMANAGER_COUNTDOWN_H_
#include "Clock.h"
2020-08-28 18:33:29 +02:00
/**
* @brief This file defines the Countdown class.
* @author baetz
*/
class Countdown {
public:
uint32_t timeout;
Countdown(uint32_t initialTimeout = 0);
~Countdown();
ReturnValue_t setTimeout(uint32_t miliseconds);
bool hasTimedOut() const;
bool isBusy() const;
2020-09-22 02:12:02 +02:00
//!< Use last set timeout value and restart timer.
ReturnValue_t resetTimer();
2020-08-28 18:33:29 +02:00
2020-09-22 02:12:02 +02:00
//!< Make hasTimedOut() return true
void timeOut();
private:
uint32_t startTime = 0;
2020-08-28 18:33:29 +02:00
};
2020-09-22 02:12:02 +02:00
#endif /* FSFW_TIMEMANAGER_COUNTDOWN_H_ */