Skip to content

v0.1.0

Choose a tag to compare

@bdbarnett bdbarnett released this 21 Sep 23:33
· 20 commits to main since this release
cb5e6c3
  • This repository is audioif, the audio hardware layer, and public. It was
    the private audiopump driver repo until today; the name belonged to the DSP
    repository, which is audiodsp now.
  • First public shape. The audio pump's platform driver: the _audioif C
    module (i2s_start with a one-port and a two-port form, i2s_stop,
    i2s_dma_bytes, i2s_rx_bytes, Input, rt_probe) and a
    CircuitPython-shaped audiobusio.I2SOut (play, stop, pause, resume,
    playing, paused, deinit, plus retarget(), .status and starved()).
    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 through audiopump.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 defining audiodsp_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.