I2S audio playback library for the Arduino Zero / Adafruit M0 (SAMD21 processor) -and- Adafruit M4 (SAMD51 processor) boards
Supports:
- DMA / interrupt support. Uses the Adafruit ZeroDMA library to set up DMA transfers, see examples!
- Both Transmit (audio/speaker output) & Receive (audio/mic input) support.
TODO:
- MCLK output. Only supports output for BCLK, LRCLK, and data.
To install, use the Arduino Library Manager and search for "Adafruit ZeroI2S" and install the library.
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.
Documentation is produced by doxygen. Contributions should include documentation for any new code added.
Some examples of how to use doxygen can be found in these guide pages:
https://learn.adafruit.com/the-well-automated-arduino-library/doxygen
https://learn.adafruit.com/the-well-automated-arduino-library/doxygen-tips
This library uses clang-format
to standardize the formatting of .cpp
and .h
files.
Contributions should be formatted using clang-format
:
The -i
flag will make the changes to the file.
clang-format -i *.cpp *.h
If you prefer to make the changes yourself, running clang-format
without the -i
flag will print out a formatted version of the file. You can save this to a file and diff it against the original to see the changes.
Note that the formatting output by clang-format
is what the automated formatting checker will expect. Any diffs from this formatting will result in a failed build until they are addressed. Using the -i
flag is highly recommended.
Written by Dean Miller for Adafruit Industries. MIT license, check license.txt for more information All text above must be included in any redistribution