fsfw/timemanager/Countdown.h

32 lines
591 B
C++

#ifndef FSFW_TIMEMANAGER_COUNTDOWN_H_
#define FSFW_TIMEMANAGER_COUNTDOWN_H_
#include "Clock.h"
/**
* @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;
//!< Use last set timeout value and restart timer.
ReturnValue_t resetTimer();
//!< Make hasTimedOut() return true
void timeOut();
private:
uint32_t startTime = 0;
};
#endif /* FSFW_TIMEMANAGER_COUNTDOWN_H_ */