Astra MCU SDK Peripheral Driver Library
Loading...
Searching...
No Matches
Data Structures

Data structures for DMIC driver. More...

Data Structures

struct  dmic_io_config_s
 DMIC I/O configuration structure. More...
struct  dmic_channel_config_s
 DMIC channel configuration structure. More...
struct  dmic_fifo_config_s
 DMIC RX FIFO configuration structure. More...
struct  dmic_dma_config_s
 Generic DMA configuration. More...
struct  dmic_data_path_config_s
 Unified DMIC data-path configuration. More...
struct  dmic_buffer_context_s
 DMIC buffer context structure. More...
struct  dmic_capability_s
 DMIC instance capability description. More...

Typedefs

typedef struct dmic_io_config_s dmic_io_config_t
 DMIC I/O configuration structure.
typedef struct dmic_channel_config_s dmic_channel_config_t
 DMIC channel configuration structure.
typedef struct dmic_fifo_config_s dmic_fifo_config_t
 DMIC RX FIFO configuration structure.
typedef struct dmic_dma_config_s dmic_dma_config_t
 Generic DMA configuration.
typedef struct dmic_data_path_config_s dmic_data_path_config_t
 Unified DMIC data-path configuration.
typedef struct dmic_buffer_context_s dmic_buffer_context_t
 DMIC buffer context structure.
typedef struct dmic_capability_s dmic_capability_t
 DMIC instance capability description.
typedef void(* dmic_event_cb_t) (dmic_instance_en instance, uint8_t channel, dmic_event_en event, uint32_t offset, uint32_t size, void *user_data)
 DMIC event callback function type.

Detailed Description

Data structures for DMIC driver.

Typedef Documentation

◆ dmic_io_config_t

DMIC I/O configuration structure.

Holds the I/O configuration parameters for DMIC operation including sample rate, polarity, channel swap, and input phase settings.

◆ dmic_channel_config_t

DMIC channel configuration structure.

Holds the channel configuration parameters including filter settings, power modes, and data transfer parameters.

◆ dmic_fifo_config_t

DMIC RX FIFO configuration structure.

Holds the FIFO configuration parameters including almost-full threshold and interrupt enable flags for various FIFO conditions.

◆ dmic_data_path_config_t

Unified DMIC data-path configuration.

Use this structure with dmic_config_data_path to configure data path from a single API. Buffer layout policy:

  • Single-channel capture uses per-channel layout.
  • Multi-channel capture uses interleaved layout. Example: ch0_s0, ch1_s0, ch0_s1, ch1_s1, ... The driver automatically selects interleaved mode when more than one channel is active.

◆ dmic_buffer_context_t

DMIC buffer context structure.

Holds runtime buffer information for each DMIC channel including pointer, size, sample count, and available-byte metadata.

◆ dmic_capability_t

DMIC instance capability description.

This structure reports the static/runtime capabilities exposed by a DMIC instance such as transfer paths, channel count, supported buffer models, and max clock information.

◆ dmic_event_cb_t

typedef void(* dmic_event_cb_t) (dmic_instance_en instance, uint8_t channel, dmic_event_en event, uint32_t offset, uint32_t size, void *user_data)

DMIC event callback function type.

Callback function invoked for DMIC transfer-ready notifications and runtime error conditions.

Parameters
instanceDMIC instance identifier
channelDMIC channel index
eventEvent code (typically DMIC_EVENT_READ_COMPLETE for transfer-ready notification)
offsetOffset in bytes from the start of the active circular capture buffer for transfer events
sizeData size in bytes for transfer events
user_dataPointer to user-specific data