37#ifndef DRIVER_WT588E02B_H
38#define DRIVER_WT588E02B_H
89 uint8_t (*
bin_read)(uint32_t addr, uint16_t size, uint8_t *buffer);
129#define DRIVER_WT588E02B_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
137#define DRIVER_WT588E02B_LINK_SCLK_GPIO_INIT(HANDLE, FUC) (HANDLE)->sclk_gpio_init = FUC
145#define DRIVER_WT588E02B_LINK_SCLK_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->sclk_gpio_deinit = FUC
153#define DRIVER_WT588E02B_LINK_SCLK_GPIO_WRITE(HANDLE, FUC) (HANDLE)->sclk_gpio_write = FUC
161#define DRIVER_WT588E02B_LINK_MOSI_GPIO_INIT(HANDLE, FUC) (HANDLE)->mosi_gpio_init = FUC
169#define DRIVER_WT588E02B_LINK_MOSI_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->mosi_gpio_deinit = FUC
177#define DRIVER_WT588E02B_LINK_MOSI_GPIO_WRITE(HANDLE, FUC) (HANDLE)->mosi_gpio_write = FUC
185#define DRIVER_WT588E02B_LINK_MISO_GPIO_INIT(HANDLE, FUC) (HANDLE)->miso_gpio_init = FUC
193#define DRIVER_WT588E02B_LINK_MISO_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->miso_gpio_deinit = FUC
201#define DRIVER_WT588E02B_LINK_MISO_GPIO_READ(HANDLE, FUC) (HANDLE)->miso_gpio_read = FUC
209#define DRIVER_WT588E02B_LINK_CS_GPIO_INIT(HANDLE, FUC) (HANDLE)->cs_gpio_init = FUC
217#define DRIVER_WT588E02B_LINK_CS_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->cs_gpio_deinit = FUC
225#define DRIVER_WT588E02B_LINK_CS_GPIO_WRITE(HANDLE, FUC) (HANDLE)->cs_gpio_write = FUC
233#define DRIVER_WT588E02B_LINK_BIN_READ_INIT(HANDLE, FUC) (HANDLE)->bin_read_init = FUC
241#define DRIVER_WT588E02B_LINK_BIN_READ(HANDLE, FUC) (HANDLE)->bin_read = FUC
249#define DRIVER_WT588E02B_LINK_BIN_READ_DEINIT(HANDLE, FUC) (HANDLE)->bin_read_deinit = FUC
257#define DRIVER_WT588E02B_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
265#define DRIVER_WT588E02B_LINK_DELAY_US(HANDLE, FUC) (HANDLE)->delay_us = FUC
273#define DRIVER_WT588E02B_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
struct wt588e02b_info_s wt588e02b_info_t
wt588e02b information structure definition
uint8_t wt588e02b_update(wt588e02b_handle_t *handle, uint8_t ind, char *path)
update audio
struct wt588e02b_handle_s wt588e02b_handle_t
wt588e02b handle structure definition
uint8_t wt588e02b_play(wt588e02b_handle_t *handle, uint8_t ind)
play audio
uint8_t wt588e02b_play_loop(wt588e02b_handle_t *handle, uint8_t ind)
play loop
uint8_t wt588e02b_info(wt588e02b_info_t *info)
get chip's information
uint8_t wt588e02b_deinit(wt588e02b_handle_t *handle)
deinit the chip
uint8_t wt588e02b_check_busy(wt588e02b_handle_t *handle, wt588e02b_bool_t *enable)
check chip busy
uint8_t wt588e02b_play_loop_advance(wt588e02b_handle_t *handle, uint8_t ind)
play loop advance
wt588e02b_bool_t
wt588e02b bool enumeration definition
uint8_t wt588e02b_set_vol(wt588e02b_handle_t *handle, uint8_t vol)
set the volume
uint8_t wt588e02b_init(wt588e02b_handle_t *handle)
initialize the chip
uint8_t wt588e02b_play_loop_all(wt588e02b_handle_t *handle)
play loop all
uint8_t wt588e02b_play_list(wt588e02b_handle_t *handle, uint8_t *list, uint8_t len)
play list
uint8_t wt588e02b_update_all(wt588e02b_handle_t *handle, char *path)
update all audio
uint8_t wt588e02b_stop(wt588e02b_handle_t *handle)
stop audio
uint8_t wt588e02b_get_reg(wt588e02b_handle_t *handle, uint8_t *buf, uint16_t len, uint32_t us)
get the chip register
uint8_t wt588e02b_set_reg(wt588e02b_handle_t *handle, uint8_t *buf, uint16_t len, uint32_t us)
set the chip register
wt588e02b handle structure definition
uint8_t(* mosi_gpio_write)(uint8_t data)
uint8_t(* mosi_gpio_deinit)(void)
uint8_t(* mosi_gpio_init)(void)
uint8_t(* miso_gpio_read)(uint8_t *data)
void(* delay_ms)(uint32_t ms)
uint8_t(* sclk_gpio_deinit)(void)
uint8_t(* bin_read_init)(char *name, uint32_t *size)
uint8_t(* cs_gpio_deinit)(void)
uint8_t(* cs_gpio_write)(uint8_t data)
uint8_t(* sclk_gpio_write)(uint8_t data)
void(* debug_print)(const char *const fmt,...)
uint8_t(* bin_read)(uint32_t addr, uint16_t size, uint8_t *buffer)
void(* delay_us)(uint32_t us)
uint8_t(* cs_gpio_init)(void)
uint8_t(* sclk_gpio_init)(void)
uint8_t(* miso_gpio_init)(void)
uint8_t(* bin_read_deinit)(void)
uint8_t(* miso_gpio_deinit)(void)
wt588e02b information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v