Tactility/Drivers/audio-codec-module
Ken Van Hoeylandt 69d224c7ff Update README
2026-08-16 15:58:31 +02:00
..
2026-07-22 22:43:34 +02:00
2026-07-14 08:34:29 +02:00
2026-08-16 15:58:31 +02:00

Audio codec module

Provides audio_codec_adapters.h: glue that lets a codec driver build an esp_codec_dev control/data/GPIO interface (audio_codec_ctrl_if_t / audio_codec_data_if_t / audio_codec_gpio_if_t) directly from Tactility's own I2C controller, I2S controller, and GPIO pin devices, so a codec driver only ever needs device_get_parent()/device_find_by_name() plus a handful of devicetree properties -- it never touches the platform I2C/I2S/GPIO APIs directly.

The codec-agnostic AudioCodecApi (open/close/read/write/volume/mute/native-rate/native-channels/capabilities) that every codec driver in this repo implements (ES8311, ES8388, ES7210, AW88298, the dummy I2S amps, the PDM mic) is defined in TactilityKernel (tactility/drivers/audio_codec.h), not here. This is intentionally low-level: no resampling or mixing, one codec device per chip. Most app code should go through audio_stream (see Drivers/audio-stream-module) instead of talking to a codec device directly.

License: Apache v2.0