PebbleOS
Loading...
Searching...
No Matches
Data Structures | Macros
DA7212 on nRF5

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.
 

Detailed Description

Audio playback implementation for a DA7212 codec fed by the nRF5 I2S peripheral.


Data Structure Documentation

◆ AudioDevice

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.

Macro Definition Documentation

◆ NRF5_AUDIO_CIRC_BUF_SIZE_BYTES

#define NRF5_AUDIO_CIRC_BUF_SIZE_BYTES   4096

Size of the queue between audio_write() and DMA, in bytes (128 ms at 16 kHz).

◆ NRF5_AUDIO_I2S_BUF_COUNT

#define NRF5_AUDIO_I2S_BUF_COUNT   2

Number of I2S buffers.

◆ NRF5_AUDIO_I2S_BUF_SAMPLES_MONO

#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.

◆ NRF5_AUDIO_REFILL_THRESHOLD_BYTES

#define NRF5_AUDIO_REFILL_THRESHOLD_BYTES   1024

Free queue space, in bytes, at which the driver requests a refill.