47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
#ifndef NH_EVENT_H
|
|
#define NH_EVENT_H
|
|
|
|
#include "nh_common.h"
|
|
|
|
typedef enum {
|
|
NH_EVENT_TYPE_INIT,
|
|
} nh_event_type_t;
|
|
|
|
typedef enum {
|
|
NH_EVENT_INIT_TAG_CAP = 0U,
|
|
NH_EVENT_INIT_TAG_FREQ = 1U,
|
|
NH_EVENT_INIT_TAG_CHIP_ID = 2U,
|
|
NH_EVENT_INIT_TAG_RAW_TP = 3U,
|
|
} nh_event_init_tag_t;
|
|
|
|
typedef enum {
|
|
NH_EVENT_INIT_CAP_WLAN_SDIO = (1U << 0U),
|
|
NH_EVENT_INIT_CAP_BT_UART = (1U << 1U),
|
|
NH_EVENT_INIT_CAP_BT_SDIO = (1U << 2U),
|
|
NH_EVENT_INIT_CAP_BLE_ONLY = (1U << 3U),
|
|
NH_EVENT_INIT_CAP_BR_EDR_ONLY = (1U << 4U),
|
|
NH_EVENT_INIT_CAP_WLAN_SPI = (1U << 5U),
|
|
NH_EVENT_INIT_CAP_BT_SPI = (1U << 6U),
|
|
NH_EVENT_INIT_CAP_CHECKSUM = (1U << 7U),
|
|
} nh_event_init_capability_t;
|
|
|
|
typedef enum {
|
|
NH_ESP_INIT_CHIP_UNRECOGNIZED = 0xFFU,
|
|
NH_ESP_INIT_CHIP_ESP32 = 0x00U,
|
|
NH_ESP_INIT_CHIP_ESP32S2 = 0x02U,
|
|
NH_ESP_INIT_CHIP_ESP32C3 = 0x05U,
|
|
NH_ESP_INIT_CHIP_ESP32S3 = 0x09U,
|
|
NH_ESP_INIT_CHIP_ESP32C2 = 0x0CU,
|
|
} nh_event_init_chip_id_t;
|
|
|
|
typedef struct {
|
|
nh_event_init_capability_t capabilities;
|
|
nh_event_init_chip_id_t chip_id;
|
|
uint8_t spi_freq;
|
|
} nh_event_init_t;
|
|
|
|
nh_ret_t nh_event_get_type(nh_event_type_t *type, uint8_t *event);
|
|
nh_ret_t nh_event_parse_init(nh_event_init_t *init, uint8_t *event);
|
|
|
|
#endif // NH_EVENT_H
|