adafruit / Adafruit_DotStar

GNU General Public License v3.0
98 stars 58 forks source link

Dotstar random Flickering in SPI Mode #28

Closed siteswapjuggler closed 2 years ago

siteswapjuggler commented 6 years ago

Hi I'm actually using your Library on an ESP8266 project, controlling 30 devices with 6 Dotstars each via OSC Protocol. I choose SPI mode to save as much time as possible and everything went nice at first.

The problem started when I did my first real scale test with every 30 devices connected at this point the Dotstars start flickering randomly. I didn't really figured out, addding a noInterrupts() before sending the dotstar command didn't help and I had to go back to the bitbanging mode to make it work (on the exact same SPI pins actually so I don't have to spoil my boards).

But so far it seems that SPI mode have a kind of limit...

caternuson commented 2 years ago

This sounds like SW SPI worked, but HW SPI did not? This is also seems like a fairly large and potentially complex setup, so could be other things. Try updating to the latest library, esp. 1.2.0 or newer, since that re-worked the SPI plumbing.

Closing for now. Can reopen if issue can be recreated on a simple setup and with an example sketch so the issue can be recreated locally.

siteswapjuggler commented 2 years ago

Thanks for your answer, the setup was quiet simple actually esp8266 6 dotstar each on SPI pins, sketch with basic wifi and osc reception. This declaration Adafruit_DotStar strip(NUMPIXELS, DATAPIN, CLOCKPIN, DOTSTAR_BRG); was working well while this one Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_BRG); was not.

I should have give you the version of Arduino, ESP Core and Library I was using and for sure the problem should not exist anymore, I'll let you know if it happens again.

caternuson commented 2 years ago

Agree a 6 DotStar strip is simple. If problem can be created on a standalone setup running a simple example sketch, that will help troubleshoot. That'll help rule out it being something with the larger 30 device configuration.

siteswapjuggler commented 2 years ago

The fact is that the problem doesn't occure when there is only one device. I suspected some interference with the WiFi process anyhow especially when the RF domain is crowded which would have triggerred a SPI underrun or something like that. But well it was three years ago my detail memory doesn't go this far.