44 uint16_t event_id,
const void *payload,
45 uint8_t payload_len) {
49 if ((uint8_t)severity < (uint8_t)
squelch[module_id]) {
52 uint8_t pl_len = payload_len;
63 if ((payload != NULL) && (pl_len > 0u)) {
64 (void)memcpy(entry->
payload, payload, pl_len);
78 squelch[module_id] = min_severity;
89 uint8_t *num_drained) {
90 if ((out_buf == NULL) || (max_entries == 0u)) {
91 if (num_drained != NULL) {
98 if (num_drained != NULL) {
113 if (to_drain > (uint32_t)max_entries) {
114 to_drain = (uint32_t)max_entries;
117 for (uint32_t i = 0u; i < to_drain; i++) {
127 if (num_drained != NULL) {
128 *num_drained = (uint8_t)to_drain;
event_severity_t __event_get_squelch(uint8_t module_id)
static event_severity_t squelch[16]
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)
static event_entry_t ring[32]
static uint32_t ring_head
static uint32_t ring_count
void __event_set_squelch(uint8_t module_id, event_severity_t min_severity)
ICARUS OS - Main API Header.