|
PebbleOS
|
Audio playback implementation for a DA7212 codec fed by the nRF5 I2S peripheral. More...
Data Structures | |
| struct | AudioDevice |
| DA7212 audio device. More... | |
Macros | |
| #define | NRF5_AUDIO_I2S_BUF_SAMPLES_MONO 512 |
| Mono samples per I2S buffer. | |
| #define | NRF5_AUDIO_I2S_BUF_COUNT 2 |
| Number of I2S buffers. | |
| #define | NRF5_AUDIO_CIRC_BUF_SIZE_BYTES 4096 |
| Size of the queue between audio_write() and DMA, in bytes (128 ms at 16 kHz). | |
| #define | NRF5_AUDIO_REFILL_THRESHOLD_BYTES 1024 |
| Free queue space, in bytes, at which the driver requests a refill. | |
Audio playback implementation for a DA7212 codec fed by the nRF5 I2S peripheral.
| struct AudioDevice |
DA7212 audio device.
SF32LB52 audio device.
QEMU audio device.
| Data Fields | ||
|---|---|---|
| DMA_Channel_TypeDef * | audec_dma_channel | AUDCODEC DAC DMA channel. |
| IRQn_Type | audec_dma_irq | AUDCODEC DAC DMA interrupt. |
| uint32_t | audec_dma_request | AUDCODEC DAC DMA request. |
| DMA_Channel_TypeDef * | audprc_dma_channel | AUDPRC DMA channel; not used by the driver. |
| IRQn_Type | audprc_dma_irq | AUDPRC DMA interrupt; not used by the driver. |
| uint32_t | audprc_dma_request | AUDPRC DMA request; not used by the driver. |
| uint32_t | base_addr | Base address of the device registers. |
| uint32_t | channels | Number of channels. |
| I2CSlavePort * | codec | Codec control port. |
| uint8_t | data_format | Sample width in bits; not used by the driver. |
| uint8_t | data_mode | Data mode; not used by the driver. |
| nrfx_i2s_t | i2s_instance | I2S instance. |
| uint8_t | irq_priority | I2S interrupt priority. |
| uint32_t | irq_priority | DAC DMA interrupt priority. |
| int | irqn | Device interrupt number. |
| uint32_t | lrck_pin | I2S LRCK pin, to the codec WCLK. |
| uint32_t | mck_pin | I2S MCK pin, to the codec MCLK. |
| OutputConfig | pa_ctrl | Power amplifier enable output. |
| const BoardPowerOps * | power_ops | Board power hooks, or NULL. |
| uint32_t | samplerate | Sample rate in Hz. |
| uint32_t | sck_pin | I2S SCK pin, to the codec BCLK. |
| uint32_t | sdin_pin |
I2S SDIN pin, or NRF_I2S_PIN_NOT_CONNECTED. |
| uint32_t | sdout_pin | I2S SDOUT pin, to the codec DATA_IN. |
| AudioDeviceState * | state | Driver runtime state. |
| #define NRF5_AUDIO_CIRC_BUF_SIZE_BYTES 4096 |
Size of the queue between audio_write() and DMA, in bytes (128 ms at 16 kHz).
| #define NRF5_AUDIO_I2S_BUF_COUNT 2 |
Number of I2S buffers.
| #define NRF5_AUDIO_I2S_BUF_SAMPLES_MONO 512 |
Mono samples per I2S buffer.
The stereo I2S buffer holds twice as many 16-bit samples; 512 mono samples are 32 ms at 16 kHz.
| #define NRF5_AUDIO_REFILL_THRESHOLD_BYTES 1024 |
Free queue space, in bytes, at which the driver requests a refill.