29#ifndef ETL_CALLBACK_TIMER_DEFERRED_LOCKED_INCLUDED
30#define ETL_CALLBACK_TIMER_DEFERRED_LOCKED_INCLUDED
33#include "callback_timer_locked.h"
44 template <u
int_least8_t Max_Timers_, u
int32_t Max_Handlers_>
49 ETL_STATIC_ASSERT(
Max_Timers_ <= 254U,
"No more than 254 timers are allowed");
93 while (
has_active && (count >= active_list.front().delta))
99 active_list.remove(
timer.
id,
true);
100 remove_callback.call_if(
timer.
id);
102 if (
timer.callback.is_valid())
104 if (!handler_queue.full())
115 insert_callback.call_if(
timer.
id);
124 active_list.front().delta -= count;
150 if (handler_queue.empty())
192 if (
id != etl::timer::id::NO_TIMER)
The deferred callback timer.
Definition callback_timer_deferred_locked.h:46
bool tick(uint32_t count) final
Handle the tick call.
Definition callback_timer_deferred_locked.h:82
void handle_deferred(void)
Definition callback_timer_deferred_locked.h:142
callback_timer_deferred_locked()
Constructor.
Definition callback_timer_deferred_locked.h:65
callback_timer_deferred_locked(try_lock_type try_lock_, lock_type lock_, unlock_type unlock_)
Constructor.
Definition callback_timer_deferred_locked.h:73
etl::timer::id::type register_timer(const callback_type &callback_, uint32_t period_, bool repeating_, uint_least8_t priority_)
Definition callback_timer_deferred_locked.h:185
etl::timer::id::type register_timer(const callback_type &callback_, uint32_t period_, bool repeating_)
Register a timer.
Definition callback_timer_deferred_locked.h:172
Definition callback_timer_locked.h:359
Interface for callback timer.
Definition callback_timer_locked.h:49
void set_locks(try_lock_type try_lock_, lock_type lock_, lock_type unlock_)
Sets the lock and unlock delegates.
Definition callback_timer_locked.h:263
etl::timer::id::type register_timer(const callback_type &callback_, uint32_t period_, bool repeating_)
Register a timer.
Definition callback_timer_locked.h:62
Definition priority_queue.h:461
bitset_ext
Definition absolute.h:39
ETL_NODISCARD ETL_CONSTEXPR14 T round_half_even_unscaled(T value) ETL_NOEXCEPT
Definition scaled_rounding.h:315
The configuration of a timer.
Definition callback_timer_locked.h:378
Common definitions for the timer framework.
Definition timer.h:55