I have some Wavetable Oscillators that I’m porting from my project in STM32F303 because of this whole chip-shortage situation and was looking into the ESP32, I trawled through some examples and it seems that using IDF this should be possible however I couldn’t get my hands on anything concrete. My use case is as follows:
Allocate memory for circular TX Buffer, set up I2S, run my “fillBuffer()” DDS routine.
Start I2S DMA transmission using TX Buffer.
Get callback on DMA_TX Half Complete. Update the first half of buffer using my"fillBuffer()" DDS routine , while DMA writes out the 2nd half.
Get callback on DMA_TX Complete. Update the 2nd half of the buffer “fillBuffer()” DDS routine, while DMA writes out 1st half.
I have found some use cases using FREERTOS tasks, but I am a n00b in terms of RTOS and honestly couldn’t make much sense of it.