Repository navigation
v0.1.0
- This repository is
audioif, the audio hardware layer, and public. It was
the privateaudiopumpdriver repo until today; the name belonged to the DSP
repository, which is audiodsp now. - First public shape. The audio pump's platform driver: the
_audioifC
module (i2s_startwith a one-port and a two-port form,i2s_stop,
i2s_dma_bytes,i2s_rx_bytes,Input,rt_probe) and a
CircuitPython-shapedaudiobusio.I2SOut(play,stop,pause,resume,
playing,paused,deinit, plusretarget(),.statusandstarved()).
Drivers for ESP32 (a pinned FreeRTOS task and the I2S peripheral), unix
(pthread) and Windows (_beginthreadex); WebAssembly and any port without
threads run the engine throughaudiopump.service()and need nothing from
here. - The portable half — the pull loop, the ring, the event queue, the tap and the
lock as port hooks — lives in
audiodsp. This repository binds to
it by definingaudiodsp_port_driver(). - Proved on an ESP32-P4 (ES8311 codec) and an ESP32-S3 (MAX98357A amplifier),
on unix and on Windows. What is open is in the issues.
Build it beside audiodsp in a cmods workspace; the README has the two links and the command. It is a firmware C module, so there is nothing on PyPI or MIP to install.