25#ifndef EVENT_PERIODIC_CALLBACK_H
26#define EVENT_PERIODIC_CALLBACK_H
68 void (*callback)(
void *),
void *arg)
70 memset(&
event->event, 0,
sizeof(
event->event));
72 event->event.callback = callback;
73 event->event.arg = arg;
118 void (*callback)(
void *),
void *arg)
133 return event->periodic.timer.interval;
158 return event->periodic.count;
POSIX.1-2008 compliant version of the assert macro.
#define assert(cond)
abort the program if assertion is false
Provides a callback-with-argument event type.
void _event_callback_handler(event_t *event)
event callback handler function (used internally)
Provides functionality to trigger periodic events.
static void event_periodic_stop(event_periodic_t *event_periodic)
Stop a periodic timeout event.
static void event_periodic_set_count(event_periodic_t *event_periodic, uint32_t count)
Set the amount of times the periodic event should repeat itself.
static void event_periodic_start(event_periodic_t *event_periodic, uint32_t interval)
Starts a periodic timeout.
void event_periodic_init(event_periodic_t *event_periodic, ztimer_clock_t *clock, event_queue_t *queue, event_t *event)
Initialize a periodic event timeout.
static void event_periodic_callback_init(event_periodic_callback_t *event, ztimer_clock_t *clock, event_queue_t *queue, void(*callback)(void *), void *arg)
Initialize a periodic callback event.
static void * event_periodic_callback_get_arg(event_periodic_callback_t *event)
Get user context from Periodic Callback Event.
static void event_periodic_callback_stop(event_periodic_callback_t *event)
Stop a periodic callback event.
static uint32_t event_periodic_callback_get_interval(const event_periodic_callback_t *event)
Get the interval in which the periodic callback event repeats.
static uint32_t event_periodic_callback_get_count(const event_periodic_callback_t *event)
Get the amount of times the periodic callback event should repeat itself.
static void event_periodic_callback_start(event_periodic_callback_t *event, uint32_t interval)
Starts a periodic callback event.
static void event_periodic_callback_set_count(event_periodic_callback_t *event, uint32_t count)
Set the amount of times the periodic callback event should repeat itself.
static void event_periodic_callback_create(event_periodic_callback_t *event, ztimer_clock_t *clock, uint32_t interval, event_queue_t *queue, void(*callback)(void *), void *arg)
Initialize and start a periodic callback event.
Callback Event structure definition.
void * arg
callback function argument
Periodic Callback Event structure.
event_callback_t event
callback event portion
event_periodic_t periodic
periodic event portion