2026-03-11 10:44:50 +08:00
|
|
|
#ifndef MODE_EVENT_H
|
|
|
|
|
#define MODE_EVENT_H
|
|
|
|
|
|
2026-03-18 13:41:36 +08:00
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
2026-03-11 10:44:50 +08:00
|
|
|
#include <app_event_manager.h>
|
|
|
|
|
#include <app_event_manager_profiler_tracer.h>
|
|
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
|
{
|
|
|
|
|
MODE_TYPE_USB,
|
|
|
|
|
MODE_TYPE_BLE,
|
|
|
|
|
MODE_TYPE_2G4,
|
|
|
|
|
MODE_TYPE_COUNT,
|
|
|
|
|
} mode_type_t;
|
|
|
|
|
|
|
|
|
|
struct mode_event
|
|
|
|
|
{
|
|
|
|
|
struct app_event_header header;
|
|
|
|
|
mode_type_t mode_type;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
APP_EVENT_TYPE_DECLARE(mode_event);
|
|
|
|
|
|
2026-03-18 13:41:36 +08:00
|
|
|
static inline void mode_event_submit(mode_type_t mode)
|
|
|
|
|
{
|
|
|
|
|
struct mode_event *event = new_mode_event();
|
|
|
|
|
|
|
|
|
|
event->mode_type = mode;
|
|
|
|
|
APP_EVENT_SUBMIT(event);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline mode_type_t mode_event_get_mode(const struct mode_event *event)
|
|
|
|
|
{
|
|
|
|
|
return event->mode_type;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline bool mode_event_is_usb(const struct mode_event *event)
|
|
|
|
|
{
|
|
|
|
|
return event->mode_type == MODE_TYPE_USB;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline bool mode_event_is_ble(const struct mode_event *event)
|
|
|
|
|
{
|
|
|
|
|
return event->mode_type == MODE_TYPE_BLE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static inline bool mode_event_is_2g4(const struct mode_event *event)
|
|
|
|
|
{
|
|
|
|
|
return event->mode_type == MODE_TYPE_2G4;
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-11 10:44:50 +08:00
|
|
|
#endif
|