ST7735_t3 & OctoWS2811 DMA conflict?

submo

Active member
Hello,

I'm working on a project that uses both the ST7735_t3 & OctoWS2811 library.

I've setup the ST7735 to use a frame buffer, I'm using Async updates using updateScreenAsync(), and I've got a few Led's being controlled using the Octo library.

For the most part everything works fine.

The issue I'm having is that if I call leds.show() from the Octo library, whilst there's an Async update from the ST7735 in progress, it can cause random glitches on the LED strip. A random led will flash briefly maybe every three or four seconds or so.

I can get around this by putting a check in to make sure that the Async update on the ST7735 is complete, before calling leds.show() which works well, and doesn't glitch out, but I'm just curious to why this was happening in the first place.

I'm guessing that due to them both using DMA, that there may be a conflict somewhere? My DMA knowledge is pretty poor, so any advice or info on this would be appreciated.

TIA
 
This may or may not be adjacent to the issues that can be experienced with using the audio library alongside asynchronous display updates. You can find a thread here about a fork of the ST7735 library to support the ST7796, which I subsequently did some work on to improve the interaction with audio. I haven't (yet) tested with an ST7735, but most of the code relates to that so it ought to work for you. I think...

You'll probably need my changes, which are on a branch at https://github.com/h4yn0nnym0u5e/ST7735_t3/tree/dev/big-screen-t4. In addition, I think you'll need some changed cores files, which are linked from post #106 and a ZIP file posted in #108; discussion of what those do is in this thread. Make sure you have a route back from overwriting the cores files, if you use them!

Of course, it may be that only one or the other sets of changes will be enough, or that even both together aren't!
 
Thanks for this....

Unfortunately this didn't work...

I replaced the DMA core files you posted, and tried your ST7735_t3 library, but it kinda made things worse. Whilst I could still see what I had originally on the display, it was mixed with a lot of static snow, and lots of noticeable screen tearing.

I'm not sure what you changed, but it didn't seem to play nice with my ST7735.

Appreciate the help though!
 
Back
Top