Hi,
I’m currently using NeoPixel library to adress WS2811 RGB LEDS. One problem with the library is that it turns off the interrupt somewhere which throws off the timing I need to so in my main loop (using millis).
Before I switch to FastLED I would like to know if the FastLED library does something similar.
Using an Arduino Mega 2560 if it matters.
Thanks.
On the avr we do attempt to tweak the millis timer to account for the time spent with interrupts disabled - but if you really want to do something that involves interrupts you either need to use leds that have both a clock and a data line or you need to move to one of the platforms (pretty much everything but AVR) that has a high enough clock rate to allow enabling interrupts interwoven with writing out the led data.
Thanks @Daniel_Garcia
Pretty much stuck on the AVR platform right now. Lots of coding time invested.
Do you know if FastLED ‘masking’ interrupt for a smaller period of time than the NeoPixel library ?
Not by enough to care (but it’s about as low as it can get in FastLED) - the masked interrupts are a function of how long it takes to write the led data - for the 2812 FastLED should be coming in at just about 30us per led (multiply that by the number of leds and that’s how long interrupts are disabled for).
This is why the library can adjust the millis clock after writing out the led data, after all, it knows how many cycles it just took doing it 
That said, though - if the reason you want interrupts is because you’re using millis as a clock - you should know that the arduino clock drifts A WHOLE LOT - the arduino basically sucks as a clock, and if you want clock timings you should grab an external RTC chip.
If you are using millis for a rough “do this every X seconds” then FastLED’s fixup of millis should be enough for you.
Interesting, so FastLED ‘resync’ millis to account for the time it lost. Which NeoPixel does not do. Nice.
I’m using the ArduinoThread library (https://github.com/ivanseidel/ArduinoThread) with my code on a 700+ LED strip.
I’ll fork my code and give FastLED a try this week.