16#include <zephyr/kernel.h>
27#define ZCT_TIMER_MANAGER_LOG_LEVEL LOG_LEVEL_WRN
48 LOG_DBG(
"TimerManager constructor called.");
50 for (uint32_t i = 0; i < maxNumTimers; i++) {
54 LOG_DBG(
"TimerManager constructor finished.");
96 LOG_DBG(
"getNextExpiringTimer() called. this: %p, m_numTimers: %u.",
this,
m_numTimers);
99 Timer* expiredTimer =
nullptr;
100 uint64_t durationToWaitUs = 0;
107 expiredTimer = timer;
111 LOG_DBG(
"Expired timer: %p.\n", expiredTimer);
115 durationToWaitUs = 0;
118 int64_t uptime_ticks = k_uptime_ticks();
119 if (expiredTimer !=
nullptr) {
121 durationToWaitUs = 0;
122 LOG_DBG(
"Timer expired.");
128 LOG_DBG(
"Time to wait in us: %llu.", durationToWaitUs);
133 LOG_DBG(
"No timers running.");
#define ZCT_TIMER_MANAGER_LOG_LEVEL
Definition TimerManager.hpp:27
Definition TimerManager.hpp:35
uint32_t m_maxNumTimers
Definition TimerManager.hpp:143
TimerExpiryInfo getNextExpiringTimer()
Definition TimerManager.hpp:94
Timer ** m_timers
Definition TimerManager.hpp:141
~TimerManager()
Definition TimerManager.hpp:57
TimerManager(uint32_t maxNumTimers)
Definition TimerManager.hpp:46
void registerTimer(Timer &timer)
Definition TimerManager.hpp:76
uint32_t m_numTimers
Definition TimerManager.hpp:142
A timer that can be used to execute callbacks at regular intervals in an event driven application.
Definition Timer.hpp:39
void setIsRegistered(bool isRegistered)
Definition Timer.hpp:152
int64_t getNextExpiryTimeTicks() const
Definition Timer.hpp:144
bool isRunning() const
Definition Timer.hpp:113
Definition TimerManager.hpp:63
uint64_t m_durationToWaitUs
Definition TimerManager.hpp:65
TimerExpiryInfo(Timer *timer, uint64_t durationToWaitUs)
Definition TimerManager.hpp:68
Timer * m_timer
Definition TimerManager.hpp:64