• In the case of flip it should be reasonably easy - make it run in the background, but block if another SPI.send was in progress. That way you could just put a SPI.send([]) at the end to force it to wait for all the active sends to finish before returning.

    In terms of STM32 support, I'd look at the tv library - that uses DMA SPI for the TV output. However it's potentially a bit tricky choosing the correct DMA device in a way that works across all versions of STM32.

    Then there's nRF52 (and also STM32LL) as well - I believe there are some drivers that handle DMA'd SPI. Last time I looked there was a bug that meant that 1 byte sends failed, but in the newer SDKs I'm using now that's probably fixed.

About

Avatar for Gordon @Gordon started