I’m interested in the stale branch here: https://github.com/ARMmbed/mbed-os/compare/feature-hal-spec-sai
That was implementing a Serial Audio Interface HAL API for Mbed-OS. I recently rebased it (find that here: https://github.com/EmbeddedPlanet/mbed-os/tree/feature-hal-spec-sai) and started working on a nRF5x port but deadlines are coming around and the API falls a bit short of my requirements at this point.
I’d like to propose the continuation of the SAI HAL Spec and implementation work.
Something that is missing from the API from my perspective:
Since audio is more of a “streaming” data format, the HAL API should support asynchronous transfers much like I2C and SPI do. A proposed method of implementation could be:
-> User provides buffers for audio RX and TX (should be double buffered)
-> Transfer is started and handled by hardware until half the buffer is consumed
-> User application code receives a callback that can give a pointer to new data or fill out the existing buffer.
Does anyone else have interest in SAI for Mbed? Comments on the proposed asynchronous functionality?