|
Zephyr Project API 4.0.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