38 #ifndef FREERTOS_FREERTOSPP_TIMERCPP_H 39 #define FREERTOS_FREERTOSPP_TIMERCPP_H 45 #if FREERTOSCPP_USE_NAMESPACE 54 Timer(
char const* name_,
void(*func)(TimerHandle_t handle), TickType_t period_,
bool reload,
bool start_) :
56 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
57 xTimerCreateStatic(name_, period_, reload, this, func, &timerBuffer)
59 xTimerCreate(name_, period_, reload, this, func)
66 #if FREERTOSCPP_USE_CHRONO 67 Timer(
char const* name_,
void(*func)(TimerHandle_t handle),
Time_ms period_,
bool reload,
bool start_) :
69 #if( configSUPPORT_STATIC_ALLOCATION == 1 )
70 xTimerCreateStatic(name_,
ms2ticks(period_), reload, this, func, &timerBuffer)
72 xTimerCreate(name_,
ms2ticks(period_), reload, this, func)
78 #endif // FREERTOSCPP_USE_CHRONO 86 bool period(TickType_t period_, TickType_t wait = portMAX_DELAY) { configASSERT(period_ > 0);
return xTimerChangePeriod(
timerHandle, period_, wait);}
87 #if FREERTOSCPP_USE_CHRONO 91 bool periodISR(TickType_t period_, portBASE_TYPE& waswoken) { configASSERT(period_ > 0);
return xTimerChangePeriodFromISR(
timerHandle, period_, &waswoken); }
92 #if FREERTOSCPP_USE_CHRONO 96 #if FREERTOSCPP_USE_CHRONO 102 #if FREERTOSCPP_USE_CHRONO 108 #if FREERTOSCPP_USE_CHRONO 113 #if FREERTOS_VERSION >= 10'002'000 114 void reload(
bool reload) { vTimerSetReloadMode(
timerHandle, reload); }
121 #if( configSUPPORT_STATIC_ALLOCATION == 1 ) 122 StaticTimer_t timerBuffer;
128 TimerClass(
char const* name_, TickType_t period_,
bool reload) :
129 Timer(name_, &timerClassCallback, period_, reload, false)
132 virtual void timer() = 0;
145 TimerMember(
char const* name_, T* obj_,
void (T::*func_)(), TickType_t period_, UBaseType_t reload) :
150 virtual void timer() { (obj->*func)();}
156 #if FREERTOSCPP_USE_NAMESPACE bool reset(Time_ms wait)
Definition: TimerCPP.h:97
bool period(Time_ms period_, TickType_t wait=portMAX_DELAY)
Definition: TimerCPP.h:88
constexpr TickType_t ms2ticks(Time_ms ms)
Definition: FreeRTOScpp.h:81
std::chrono::milliseconds Time_ms
Definition: FreeRTOScpp.h:79
TimerHandle_t timerHandle
Definition: TimerCPP.h:118
Definition: CallBack.h:63
TimerClass(char const *name_, TickType_t period_, bool reload)
Definition: TimerCPP.h:128
TimerMember(char const *name_, T *obj_, void(T::*func_)(), TickType_t period_, UBaseType_t reload)
Definition: TimerCPP.h:145
static void timerClassCallback(TimerHandle_t timerHandle)
Definition: TimerCPP.h:134
bool stop(Time_ms wait)
Definition: TimerCPP.h:109
bool start(Time_ms wait)
Definition: TimerCPP.h:103
Definition: TimerCPP.h:126
const char * name()
Definition: TimerCPP.h:84
Definition: TimerCPP.h:143
bool start(TickType_t wait=portMAX_DELAY)
Definition: TimerCPP.h:101
Definition: TimerCPP.h:52
bool active()
Definition: TimerCPP.h:82
virtual void timer()
Definition: TimerCPP.h:150
Timer(char const *name_, void(*func)(TimerHandle_t handle), TickType_t period_, bool reload, bool start_)
Definition: TimerCPP.h:54
bool startISR(portBASE_TYPE &waswoken)
Definition: TimerCPP.h:105
virtual ~Timer()
Definition: TimerCPP.h:80
bool period(Time_ms period_, Time_ms wait)
Definition: TimerCPP.h:89
bool periodISR(TickType_t period_, portBASE_TYPE &waswoken)
Definition: TimerCPP.h:91
Timer(char const *name_, void(*func)(TimerHandle_t handle), Time_ms period_, bool reload, bool start_)
Definition: TimerCPP.h:67
T * obj
Definition: TimerCPP.h:152
bool period(TickType_t period_, TickType_t wait=portMAX_DELAY)
Definition: TimerCPP.h:86
bool resetISR(portBASE_TYPE &waswoken)
Definition: TimerCPP.h:99
bool reset(TickType_t wait=portMAX_DELAY)
Definition: TimerCPP.h:95
TickType_t expiryTime()
Definition: TimerCPP.h:83
bool periodISR(Time_ms period_, portBASE_TYPE &waswoken)
Definition: TimerCPP.h:93
bool stop(TickType_t wait=portMAX_DELAY)
Definition: TimerCPP.h:107
bool stopISR(portBASE_TYPE &waswoken)
Definition: TimerCPP.h:111
TickType_t period()
Definition: TimerCPP.h:85