AtomVM driver for Espressif Audio Development Framework (ESP-ADF)
MIT License
This component ports Espressif Audio Development Framework to AtomVM, thus enabling audio processing to esp32-based systems powered by AtomVM.
cd AtomVM/src/platforms/esp32/components/
git clone https://github.com/pguyot/atomvm_esp_adf.git
cd atomvm_esp_adf/
git submodule update --init components/esp-adf
cd components/esp-adf/
git submodule update --init components/esp-adf-libs/
Espressif Audio Development Framework requires CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY
which you can set using the configuration menu or editing sdkconfig file.
You can use a command sequence such as: (port name depends on OS)
cd AtomVM/src/platforms/esp32/
idf.py set-target esp32
echo CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y >> sdkconfig
idf.py build
idf.py -p /dev/cu.usbmodem14401 flash
You will also need to flash AtomVM core libraries.
Alternatively, you can flash an image generated by the CI of this project.
You can finely select the ESP ADF elements you need using the configuration menu, under Component config
-> ATOMVM ESP-ADF Configuration
).
Default builds include:
Enabling all available decoders currently yields an image that is too large for AtomVM's default partition map.
cd AtomVM/src/platforms/esp32/
idf.py menuconfig
idf.py build
Do not forget FreeRTOS configENABLE_BACKWARD_COMPATIBILITY
(under Component config
-> FreeRTOS
-> Kernel
).
This project defines esp_adf_*
modules.
You can refer to examples or API documentation.