Astra MCU SDK Peripheral Driver Library
General Functions

DMIC functions

dmic_status_en dmic_init (dmic_instance_en instance)
dmic_status_en dmic_get_capability (dmic_instance_en instance, dmic_capability_t *capability)
dmic_status_en dmic_config_channel (dmic_instance_en instance, uint8_t channel, const dmic_channel_config_t *cfg)
dmic_status_en dmic_configure_io (dmic_instance_en instance, const dmic_io_config_t *dmic_config)
dmic_status_en dmic_enable_interrupts (dmic_instance_en instance, uint32_t mask)
dmic_status_en dmic_reset (dmic_instance_en instance)
dmic_status_en dmic_enable (dmic_instance_en instance)
dmic_status_en dmic_disable (dmic_instance_en instance)
dmic_status_en dmic_isr (dmic_instance_en instance)
dmic_status_en dmic_start (dmic_instance_en instance)
dmic_status_en dmic_stop (dmic_instance_en instance)
dmic_status_en dmic_read (dmic_instance_en instance, dmic_buffer_context_t *buf, int32_t timeout)
dmic_status_en dmic_read_nonblocking (dmic_instance_en instance, dmic_buffer_context_t *buf)
dmic_status_en dmic_set_channel_volume (dmic_instance_en instance, uint8_t channel, float volume_db)
dmic_status_en dmic_set_channel_gain (dmic_instance_en instance, dmic_channel_en channel, dmic_gain_ctrl_en gain_ctrl)
dmic_status_en dmic_set_channel_boost (dmic_instance_en instance, dmic_channel_en channel, dmic_boost_en boost_level)
dmic_status_en dmic_register_callback (dmic_instance_en instance, dmic_event_cb_t event_cb, void *user_data)
dmic_status_en dmic_config_data_path (dmic_instance_en instance, const dmic_data_path_config_t *cfg)

dmic_init()

Initialize DMIC instance runtime and backend.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT.

dmic_get_capability()

Query static/runtime capability information for one instance.

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT.

dmic_config_channel()

Configure one DMIC capture channel.

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT.

dmic_configure_io()

Configure sample-rate/clock polarity and input routing.

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT.

dmic_enable_interrupts()

Enable selected FIFO interrupt sources.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT.

dmic_reset()

Reset DMIC backend and software runtime defaults.

Return values: DMIC_OK.

dmic_enable()

Enable DMIC hardware for a configured instance.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT.

dmic_disable()

Disable DMIC hardware for an instance.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT.

dmic_isr()

Top-level DMIC ISR dispatch entry.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT, DMIC_ERROR.

dmic_start()

Start capture/streaming for an enabled instance.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT, DMIC_ERROR_INVALID_CONFIG.

dmic_stop()

Stop capture and place backend in idle state.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT.

dmic_read()

Blocking/timeout-based audio data retrieval.

Return values: DMIC_OK, DMIC_ERROR_TIMEOUT, DMIC_ERROR_OVERFLOW, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT, DMIC_ERROR_DMA_FAILED.

dmic_read_nonblocking()

Immediate read query without waiting for data readiness.

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT, DMIC_ERROR_DMA_FAILED.

dmic_set_channel_volume()

Set channel digital volume in dB (quantized to hardware step).

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT.

dmic_set_channel_gain()

Set microphone gain control preset for one channel.

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT, DMIC_ERROR_INVALID_GAIN.

dmic_set_channel_boost()

Set per-channel digital boost level.

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT, DMIC_ERROR_INVALID_BOOST.

dmic_register_callback()

Register runtime callback for transfer and error notifications.

Return values: DMIC_OK, DMIC_ERROR_INVALID_CONTEXT.

dmic_config_data_path()

Configure FIFO or DMA data path from a unified configuration structure.

Return values: DMIC_OK, DMIC_ERROR_INVALID_PARAM, DMIC_ERROR_INVALID_CONTEXT, DMIC_ERROR_NOT_SUPPORTED.