Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Public API header file for Digital Microphones. More...
Go to the source code of this file.
Data Structures | |
struct | pdm_io_cfg |
PDM Input/Output signal configuration. More... | |
struct | pcm_stream_cfg |
Configuration of the PCM streams to be output by the PDM hardware. More... | |
struct | pdm_chan_cfg |
Mapping/ordering of the PDM channels to logical PCM output channel. More... | |
struct | dmic_cfg |
Input configuration structure for the DMIC configuration API. More... | |
Enumerations | |
enum | dmic_state { DMIC_STATE_UNINIT , DMIC_STATE_INITIALIZED , DMIC_STATE_CONFIGURED , DMIC_STATE_ACTIVE , DMIC_STATE_PAUSED , DMIC_STATE_ERROR } |
DMIC driver states. More... | |
enum | dmic_trigger { DMIC_TRIGGER_STOP , DMIC_TRIGGER_START , DMIC_TRIGGER_PAUSE , DMIC_TRIGGER_RELEASE , DMIC_TRIGGER_RESET } |
DMIC driver trigger commands. More... | |
enum | pdm_lr { PDM_CHAN_LEFT , PDM_CHAN_RIGHT } |
PDM Channels LEFT / RIGHT. More... | |
Functions | |
static uint32_t | dmic_build_channel_map (uint8_t channel, uint8_t pdm, enum pdm_lr lr) |
Build the channel map to populate struct pdm_chan_cfg. | |
static void | dmic_parse_channel_map (uint32_t channel_map_lo, uint32_t channel_map_hi, uint8_t channel, uint8_t *pdm, enum pdm_lr *lr) |
Helper function to parse the channel map in pdm_chan_cfg. | |
static uint32_t | dmic_build_clk_skew_map (uint8_t pdm, uint8_t skew) |
Build a bit map of clock skew values for each PDM channel. | |
static int | dmic_configure (const struct device *dev, struct dmic_cfg *cfg) |
Configure the DMIC driver and controller(s) | |
static int | dmic_trigger (const struct device *dev, enum dmic_trigger cmd) |
Send a command to the DMIC driver. | |
static int | dmic_read (const struct device *dev, uint8_t stream, void **buffer, size_t *size, int32_t timeout) |
Read received decimated PCM data stream. | |
Public API header file for Digital Microphones.
This file contains the Digital Microphone APIs