29 lines
722 B
C
29 lines
722 B
C
#ifndef EVENT_MGMT_H
|
|
#define EVENT_MGMT_H
|
|
|
|
#include <zephyr/kernel.h>
|
|
|
|
#define EVENT_MGMT_FS_READY BIT(0)
|
|
#define EVENT_MGMT_AUDIO_READY BIT(1)
|
|
#define EVENT_MGMT_BLE_CONNECTED BIT(2)
|
|
#define EVENT_MGMT_BLE_DISCONNECTED BIT(3)
|
|
|
|
extern struct k_event event_mgmt_events;
|
|
|
|
static inline int event_mgmt_wait_for(uint32_t events, k_timeout_t timeout)
|
|
{
|
|
uint32_t got = k_event_wait(&event_mgmt_events, events, false, timeout);
|
|
return (got & events) == events ? 0 : -ETIMEDOUT;
|
|
}
|
|
|
|
static inline void event_mgmt_set_event(uint32_t event)
|
|
{
|
|
k_event_post(&event_mgmt_events, event);
|
|
}
|
|
|
|
static inline void event_mgmt_clear_event(uint32_t event)
|
|
{
|
|
k_event_clear(&event_mgmt_events, event);
|
|
}
|
|
|
|
#endif /* EVENT_MGMT_H */ |