58#ifndef WAV_BUFFER_SIZE
59 #define WAV_BUFFER_SIZE (1024 * 32)
96 uint8_t (*
iis_init)(uint32_t standard, uint32_t mode, uint32_t polarity,
97 uint32_t format, uint32_t enable, uint32_t freq);
125#define WAV_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
133#define WAV_LINK_AUDIO_INIT(HANDLE, FUC) (HANDLE)->audio_init = FUC
141#define WAV_LINK_AUDIO_DEINIT(HANDLE, FUC) (HANDLE)->audio_deinit = FUC
149#define WAV_LINK_AUDIO_READ(HANDLE, FUC) (HANDLE)->audio_read = FUC
157#define WAV_LINK_AUDIO_WRITE(HANDLE, FUC) (HANDLE)->audio_write = FUC
165#define WAV_LINK_IIS_INIT(HANDLE, FUC) (HANDLE)->iis_init = FUC
173#define WAV_LINK_IIS_DEINIT(HANDLE, FUC) (HANDLE)->iis_deinit = FUC
181#define WAV_LINK_IIS_STOP(HANDLE, FUC) (HANDLE)->iis_stop = FUC
189#define WAV_LINK_IIS_PAUSE(HANDLE, FUC) (HANDLE)->iis_pause = FUC
197#define WAV_LINK_IIS_RESUME(HANDLE, FUC) (HANDLE)->iis_resume = FUC
205#define WAV_LINK_IIS_SET_FREQ(HANDLE, FUC) (HANDLE)->iis_set_freq = FUC
213#define WAV_LINK_IIS_WRITE(HANDLE, FUC) (HANDLE)->iis_write = FUC
221#define WAV_LINK_IIS_READ(HANDLE, FUC) (HANDLE)->iis_read = FUC
229#define WAV_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
237#define WAV_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
334 uint32_t mode, uint32_t polarity,
335 uint32_t format, uint32_t enable, uint32_t freq);
struct wav_handle_s wav_handle_t
wav handle structure definition
uint8_t wav_record_stop(wav_handle_t *handle)
wav record stop
uint8_t wav_player_config(wav_handle_t *handle, uint32_t standard, uint32_t mode, uint32_t polarity, uint32_t format, uint32_t enable, uint32_t freq)
wav player config
struct wav_header_s wav_header_t
wav header structure definition
wav_status_t
wav status enumeration definition
uint8_t wav_record_file_fill(wav_handle_t *handle, uint8_t index)
wav record file fill
uint8_t wav_player_stop(wav_handle_t *handle)
wav player stop
uint8_t wav_player_resume(wav_handle_t *handle)
wav player resume
uint8_t wav_player_get_status(wav_handle_t *handle, wav_status_t *status)
wav get status
uint8_t wav_player_pause(wav_handle_t *handle)
wav player pause
#define WAV_BUFFER_SIZE
wav buffer size definition
uint8_t wav_record_start(wav_handle_t *handle, uint32_t sample_rate, char *path)
wav record start
uint8_t wav_init(wav_handle_t *handle)
initialize the wav
uint8_t wav_player_start(wav_handle_t *handle)
wav player start
uint8_t wav_deinit(wav_handle_t *handle)
wav deinit
uint8_t wav_player_buffer_fill(wav_handle_t *handle, uint8_t index)
wav player buffer fill
uint8_t wav_player_init(wav_handle_t *handle, char *path)
initialize the wav player
wav handle structure definition
uint8_t(* iis_deinit)(void)
uint8_t(* iis_pause)(void)
void(* delay_ms)(uint32_t ms)
uint8_t(* iis_stop)(void)
uint8_t buf[WAV_BUFFER_SIZE]
uint8_t(* iis_resume)(void)
uint8_t(* iis_write)(uint16_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* iis_init)(uint32_t standard, uint32_t mode, uint32_t polarity, uint32_t format, uint32_t enable, uint32_t freq)
uint8_t(* audio_init)(uint8_t type, char *name, uint32_t *size)
uint8_t(* audio_read)(uint32_t addr, uint16_t size, uint8_t *buffer)
uint8_t(* iis_set_freq)(uint32_t freq)
uint8_t(* iis_read)(uint16_t *buf, uint16_t len)
uint8_t(* audio_deinit)(void)
uint8_t(* audio_write)(uint32_t addr, uint16_t size, uint8_t *buffer)