40#define EVENT_MOD_MAX 16
43#ifndef EVENT_RING_SIZE
44#define EVENT_RING_SIZE 32
56#ifndef SKIP_STATIC_ASSERTS
57_Static_assert(
sizeof(
event_entry_t) == 16,
"event_entry_t must be 16 bytes");
79 const void *payload, uint8_t payload_len);
101 uint8_t *num_drained);
112 const void *payload, uint8_t payload_len);
116 uint8_t *num_drained);
void os_event(uint8_t module_id, event_severity_t severity, uint16_t event_id, const void *payload, uint8_t payload_len)
Emit a structured event into the ring buffer.
event_severity_t event_get_squelch(uint8_t module_id)
Get the current squelch level for a given module.
event_severity_t __event_get_squelch(uint8_t module_id)
void event_init(void)
Initialize the event system.
void __os_event(uint8_t module_id, event_severity_t severity, uint16_t event_id, const void *payload, uint8_t payload_len)
bool __event_drain(event_entry_t *out_buf, uint8_t max_entries, uint8_t *num_drained)
uint32_t __event_get_count(void)
void event_set_squelch(uint8_t module_id, event_severity_t min_severity)
Set the minimum severity accepted for a given module.
bool event_drain(event_entry_t *out_buf, uint8_t max_entries, uint8_t *num_drained)
Drain queued events into a caller-provided buffer.
void __event_set_squelch(uint8_t module_id, event_severity_t min_severity)
uint32_t event_get_count(void)
Number of events currently buffered.