Anybody know if there is a way to get control back from Show() once the parallel output DMA has been triggered? Perhaps with a function call that allows you to check when it has been completed.
It would mean I could get all my processing done during the DMA and thus keep the frame rates fast!
Show returns almost immediately when using octows2811 for dma, however there is some processing time that has to happen to hand the data off to dma, so it won’t be immediate.
If you call show again before the previous data finishes writing out, then it will wait.
WOW, quick reply, I am actually using WS2811_PORTD rather than OCTOWS2811 as I couldn’t get the later to work when I first tried. Though that could have been my mistake!
Does this work the same, i.e. once the bit field translation is done it returns?
No, only the octows2811 driver uses dma, the rest just parallelize the output to push data out 8-16 times faster. Also, octows2811 requires some other pin connections to work, read the octows2811 library page for wiring info.
Of course, stupid me, 15 & 16 need to be shorted out. Very kind of you to not quote RTFM 