10#include <zephyr/kernel.h>
18#if ((CONFIG_AUDIO_FRAME_DURATION_US == 7500) && CONFIG_SW_CODEC_LC3)
20#define FRAME_SIZE_BYTES \
21 ((CONFIG_I2S_LRCK_FREQ_HZ / 1000 * 15 / 2) * CONFIG_I2S_CH_NUM * \
22 CONFIG_AUDIO_BIT_DEPTH_OCTETS)
24#define FRAME_SIZE_BYTES \
25 ((CONFIG_I2S_LRCK_FREQ_HZ / 1000 * 10) * CONFIG_I2S_CH_NUM * CONFIG_AUDIO_BIT_DEPTH_OCTETS)
28#define BLOCK_SIZE_BYTES (FRAME_SIZE_BYTES / CONFIG_FIFO_FRAME_SPLIT_NUM)
34#define I2S_SAMPLES_NUM \
35 (BLOCK_SIZE_BYTES / (CONFIG_AUDIO_BIT_DEPTH_OCTETS) / (32 / CONFIG_AUDIO_BIT_DEPTH_BITS))
45 uint32_t
const *tx_buf_released);
void audio_i2s_blk_comp_cb_register(i2s_blk_comp_callback_t blk_comp_callback)
Register callback function for I2S block complete event.
void audio_i2s_init(void)
Initialize I2S module.
void audio_i2s_set_next_buf(const uint8_t *tx_buf, uint32_t *rx_buf)
Supply the buffers to be used in the next part of the I2S transfer.
void audio_i2s_start(const uint8_t *tx_buf, uint32_t *rx_buf)
Start the continuous I2S transfer.
void audio_i2s_stop(void)
Stop the continuous I2S transfer.
void(* i2s_blk_comp_callback_t)(uint32_t frame_start_ts, uint32_t *rx_buf_released, uint32_t const *tx_buf_released)
I2S block complete event callback type.
Definition: audio_i2s.h:44