71 void*
operator new(
size_t sz,
void* pv) {
return reinterpret_cast<Timer*
>(pv); }
97 void Start(
bool bRepeat_, uint32_t u32IntervalMs_,
TimerCallback pfCallback_,
void* pvData_);
uint32_t m_u32Interval
Interval of the timer in timer ticks.
the TimerList class. This class implements a doubly-linked-list of timer objects. ...
bool IsInitialized(void)
IsInitialized.
uint8_t m_u8Flags
Flags for the timer, defining if the timer is one-shot or repeated.
static constexpr auto uTimerFlagCallback
Timer is pending a callback.
Basic data type primatives used throughout the OS.
static uint32_t USecondsToTicks(uint32_t x)
void SetInitialized()
SetInitialized.
uint32_t m_u32TimeLeft
Time remaining on the timer.
TimerCallback m_pfCallback
Pointer to the callback function.
void Init()
Init Re-initialize the Timer to default values.
static constexpr auto m_uTimerInitCookie
Mark3 Kernel Configuration This file is used to configure the kernel for your specific application in...
void Stop()
Stop Stop a timer already in progress. Has no effect on timers that have already been stopped...
Timer()
Timer Default Constructor - Do nothing. Allow the init call to perform the necessary object initializ...
void(*)(Thread *pclOwner_, void *pvData_) TimerCallback
The Thread Class. This object providing the fundamental thread control data structures and functions ...
static constexpr auto m_uTimerInvalidCookie
static uint32_t SecondsToTicks(uint32_t x)
static uint32_t MSecondsToTicks(uint32_t x)
The Quantum Class. Static-class used to implement Thread quantum functionality, which is fundamental ...
The TimerScheduler Class. This implements a "Static" class used to manage a global list of timers use...
void Start()
Start Start or restart a timer using parameters previously configured via calls to Start(<with args>)...
static constexpr auto uTimerFlagOneShot
Timer is one-shot.
The Timer Class. This class provides kernel-managed timers, used to provide high-precision delays...
uint8_t m_u8Initialized
Cookie used to determine whether or not the timer is initialized.
void * m_pvData
Pointer to the callback data.
The TypedLinkListNode class The TypedLinkListNode class provides a linked-list node type for a specif...
static constexpr auto uMaxTimerTicks
Maximum value to set.
static constexpr auto uTimerFlagActive
Timer is currently active.
Core linked-list declarations, used by all kernel list types At the heart of RTOS data structures are...
Thread * m_pclOwner
Pointer to the owner thread.
static constexpr auto uTimerTicksInvalid
static constexpr auto uTimerFlagExpired
Timer is actually expired.