Millisecond interval event timers¶
Provides timers for events up to $2^{32}$ milliseconds in the future.
Note
Experimental and likely to replaced with unified timer API
Compared to xtimer, evtimer offers:
- only relative 32-bit millisecond timer values Events can be scheduled with a relative offset of up to ~49.7 days in the future. **For time-critical stuff, use xtimer!**
- more flexible, “intrusive” timer type
evtimer.h::evtimer_event_t
only contains the necessary fields, which can be extended as needed, and handlers define actions taken on timer triggers. Check out evtimer_msg_event_t as example. - uses xtimer as backend
-
struct evtimer_event
evtimer_event_t
¶ Generic event.
-
void(*
evtimer_callback_t
()¶ Event timer callback type.
-
void
evtimer_init
(evtimer_t * evtimer,evtimer.h::evtimer_callback_t
handler)¶ Initializes an event timer.
Parameters
evtimer: An event timer handler: An event handler function
-
void
evtimer_add
(evtimer_t * evtimer,evtimer.h::evtimer_event_t
* event)¶ Adds event to an event timer.
Parameters
evtimer: An event timer event: An event
-
void
evtimer_del
(evtimer_t * evtimer,evtimer.h::evtimer_event_t
* event)¶ Removes an event from an event timer.
Parameters
evtimer: An event timer event: An event
-
void
evtimer_print
(const evtimer_t * evtimer)¶ Print overview of current state of an event timer.
Parameters
evtimer: An event timer
-
void
evtimer_add_msg
(evtimer_msg.h::evtimer_msg_t
* evtimer, evtimer_msg_event_t * event,kernel_types.h::kernel_pid_t
target_pid)¶ Adds event to an event timer that handles events via IPC.
Parameters
evtimer: An event timer event: An event target_pid: The PID of the thread that should receive the IPC message
-
void
_evtimer_msg_handler
(evtimer.h::evtimer_event_t
* event)¶ Event handler for IPC messages.
Parameters
event: The event to handle
-
void
evtimer_init_msg
(evtimer_t * evtimer)¶ Initializes event timer to handle events via IPC.
Parameters
evtimer: An event timer
-
struct
evtimer_event
¶ Generic event.
-
struct evtimer_event *
next
¶ the next event in the queue
-
uint32_t
offset
¶ offset in milliseconds from previous event
-
struct evtimer_event *
-
struct
evtimer_t
¶ Event timer.
-
xtimer.h::xtimer_t
timer
¶ Timer.
-
evtimer.h::evtimer_callback_t
callback
¶ Handler function for this evtimer’s event type.
-
evtimer.h::evtimer_event_t
*events
¶ Event queue.
-
-
struct
evtimer_msg_event_t
¶ IPC-message event.
-
evtimer.h::evtimer_event_t
event
¶ base class
-