Components/arch_driver/src/include/driver/i2s.h
Go to the documentation of this file.
i2s_comm_format_t
I2S communication standard format.
Definition: Components/arch_driver/src/include/driver/i2s.h:79
bool i2s_set_dividers(uint8_t bck_div, uint8_t mclk_div)
bool i2s_dma_read(i2s_buffer_info_t *info, size_t max_bytes)
Fetch a DMA buffer containing received data (zero-copy)
i2s_event_type_t
I2S event types.
Definition: Components/arch_driver/src/include/driver/i2s.h:108
i2s_channel_fmt_t
I2S channel format type.
Definition: Components/arch_driver/src/include/driver/i2s.h:88
bool i2s_set_sample_rates(uint32_t rate)
bool i2s_dma_write(i2s_buffer_info_t *info, size_t max_bytes)
Fetch a DMA buffer for direct writing (zero-copy)
i2s_bits_per_sample_t
I2S bit width per sample.
Definition: Components/arch_driver/src/include/driver/i2s.h:62
unsigned TickType_t
Defines the wait interval (presently milliseconds)
Definition: Components/arch_driver/src/include/driver/i2s.h:209
size_t i2s_write(const void *src, size_t size, TickType_t ticks_to_wait)
writes a buffer of frames into the DMA memory, returns the amount of frames written.
void(* i2s_callback_t)(void *param, i2s_event_type_t event)
Callback function type.
Definition: Components/arch_driver/src/include/driver/i2s.h:119
size_t i2s_read(void *dest, size_t size, TickType_t ticks_to_wait)
Reads a block of received data.
i2s_mode_t
I2S Mode, default is I2S_MODE_MASTER.
Definition: Components/arch_driver/src/include/driver/i2s.h:99
float i2s_get_real_rate()
bool i2s_enable_loopback(bool enable)
i2s_channel_t
I2S channel.
Definition: Components/arch_driver/src/include/driver/i2s.h:71
i2s_pin_t
I2S pin enable for i2s_set_pin.
Definition: Components/arch_driver/src/include/driver/i2s.h:261
@ I2S_COMM_FORMAT_I2S_MSB
I2S format MSB.
Definition: Components/arch_driver/src/include/driver/i2s.h:81
@ I2S_COMM_FORMAT_I2S
I2S communication format I2S.
Definition: Components/arch_driver/src/include/driver/i2s.h:80
@ I2S_COMM_FORMAT_I2S_LSB
I2S format LSB.
Definition: Components/arch_driver/src/include/driver/i2s.h:82
@ I2S_EVENT_DMA_ERROR
Definition: Components/arch_driver/src/include/driver/i2s.h:109
@ I2S_CHANNEL_FMT_ONLY_RIGHT
Definition: Components/arch_driver/src/include/driver/i2s.h:92
@ I2S_CHANNEL_FMT_RIGHT_LEFT
Definition: Components/arch_driver/src/include/driver/i2s.h:89
@ I2S_CHANNEL_FMT_ALL_RIGHT
Definition: Components/arch_driver/src/include/driver/i2s.h:90
@ I2S_CHANNEL_FMT_ONLY_LEFT
Definition: Components/arch_driver/src/include/driver/i2s.h:93
@ I2S_CHANNEL_FMT_ALL_LEFT
Definition: Components/arch_driver/src/include/driver/i2s.h:91
@ I2S_BITS_PER_SAMPLE_16BIT
I2S bits per sample: 16-bits.
Definition: Components/arch_driver/src/include/driver/i2s.h:64
@ I2S_BITS_PER_SAMPLE_8BIT
I2S bits per sample: 8-bits.
Definition: Components/arch_driver/src/include/driver/i2s.h:63
@ I2S_BITS_PER_SAMPLE_24BIT
I2S bits per sample: 24-bits.
Definition: Components/arch_driver/src/include/driver/i2s.h:65
@ I2S_CHANNEL_MONO
I2S 1 channel (mono)
Definition: Components/arch_driver/src/include/driver/i2s.h:72
@ I2S_CHANNEL_STEREO
I2S 2 channel (stereo)
Definition: Components/arch_driver/src/include/driver/i2s.h:73
@ I2S_PIN_BC_IN
GPIO 13 / RXD2 / D7.
Definition: Components/arch_driver/src/include/driver/i2s.h:265
@ I2S_PIN_BCK_OUT
GPIO 15 / TXD2 / D8.
Definition: Components/arch_driver/src/include/driver/i2s.h:262
@ I2S_PIN_WS_IN
GPIO 14 / D5.
Definition: Components/arch_driver/src/include/driver/i2s.h:266
@ I2S_PIN_WS_OUT
GPIO 2 / TXD1 / D4.
Definition: Components/arch_driver/src/include/driver/i2s.h:263
@ I2S_PIN_DATA_OUT
GPIO 3 / RXD0 / D9.
Definition: Components/arch_driver/src/include/driver/i2s.h:264
@ I2S_PIN_DATA_IN
GPIO 12 / D6.
Definition: Components/arch_driver/src/include/driver/i2s.h:267
void enable(Handler &commandHandler, HardwareSerial &serial)
Defines a buffer with available content.
Definition: Components/arch_driver/src/include/driver/i2s.h:195
void * buffer
Definition: Components/arch_driver/src/include/driver/i2s.h:197
i2s_sample_t * samples
Definition: Components/arch_driver/src/include/driver/i2s.h:198
size_t size
Available space (TX) or data (RX) in bytes.
Definition: Components/arch_driver/src/include/driver/i2s.h:200
Contains I2S buffer status information.
Definition: Components/arch_driver/src/include/driver/i2s.h:290
I2S configuration parameters.
Definition: Components/arch_driver/src/include/driver/i2s.h:138
void * param
Callback parameter.
Definition: Components/arch_driver/src/include/driver/i2s.h:145
bool auto_start
Start immediately on successful initialisation.
Definition: Components/arch_driver/src/include/driver/i2s.h:143
uint8_t bits_mod
Evaluate what this does (4 bits)
Definition: Components/arch_driver/src/include/driver/i2s.h:146
unsigned sample_rate
I2S sample rate.
Definition: Components/arch_driver/src/include/driver/i2s.h:141
i2s_module_config_t tx
TX module configuration.
Definition: Components/arch_driver/src/include/driver/i2s.h:139
i2s_module_config_t rx
RX module configuration.
Definition: Components/arch_driver/src/include/driver/i2s.h:140
i2s_callback_t callback
Callback handler.
Definition: Components/arch_driver/src/include/driver/i2s.h:144
bool tx_desc_auto_clear
I2S auto clear tx descriptor if there is underflow condition (Mutes output)
Definition: Components/arch_driver/src/include/driver/i2s.h:142
I2S module configuration (TX or RX)
Definition: Components/arch_driver/src/include/driver/i2s.h:124
uint16_t dma_buf_len
I2S DMA Buffer Length (in samples)
Definition: Components/arch_driver/src/include/driver/i2s.h:129
i2s_comm_format_t communication_format
I2S communication format.
Definition: Components/arch_driver/src/include/driver/i2s.h:128
i2s_bits_per_sample_t bits_per_sample
I2S bits per sample.
Definition: Components/arch_driver/src/include/driver/i2s.h:126
uint8_t dma_buf_count
I2S DMA Buffer Count.
Definition: Components/arch_driver/src/include/driver/i2s.h:130
uint8_t callback_threshold
Definition: Components/arch_driver/src/include/driver/i2s.h:131
i2s_channel_fmt_t channel_format
I2S channel format.
Definition: Components/arch_driver/src/include/driver/i2s.h:127
i2s_mode_t mode
I2S work mode (combination of i2s_mode_t)
Definition: Components/arch_driver/src/include/driver/i2s.h:125
1.9.1