So i have a question regarding FastLED.delay(); does this act more like delay or like millis(); because i noticed the code im working on has FastLED.delay(1000/FRAMES_PER_SECOND); towards the end of the loop. But im able to use 2 pushbuttons in the main loop and they read perfectly as if i was using millis for timing. But the word delay in it really throws me off!
It’s a delay. If you have FRAMES_PER_SECOND set to, say, 60 then it will delay for 16ms. While it is delaying it will keep calling FastLED.show() to drive dithering.
It’s a delay. If you have FRAMES_PER_SECOND set to, say, 60 then it will delay for 16ms. While it is delaying it will keep calling FastLED.show() to drive dithering.
Ok. So the reason its still reading buttons is probably because the delay is so short it probably takes me longer to press the button?
Well that is unnintentionally convenient lol. I was having to add millis to every pattern on my previous code
Hi, I don’t really understand this. If FastLED.delay() keeps calling FastLED.show() in what sense is it a delay at all?
https://plus.google.com/104232521683450572261/posts/JGVDe2emC2Z
If you say “delay(500)” - then your code will pause for 500ms and do nothing during that time. If you say FastLED.delay(500) then your code will still pause for 500ms and do nothing during that time - but FastLED.show() will continually get called over and over - and this will drive the dithering engine to get you better detail at low brightness levels.
But if the code is paused then what’s the point of running FastLED.show()? If my code loop is incrementing variables to create running dots along a strip, then if the variables aren’t incremented running FastLED.show() won’t achieve anything - will it?
That’s my newbie perspective, anyway 
“This will drive the dithering engine” – it’s not doing nothing. https://github.com/FastLED/FastLED/wiki/FastLED-Temporal-Dithering
Ok thanks - I’m on a learning curve. I think I understand what dithering is. But it seems a subtle effect, and in all other respects code processing is paused while FastLED.delay is doing it’s thing…?
I have a script that uses blur1d to create a cool effect that requires the right balance between iterations and delay, I’ll try replacing it with the FastLED delay and see how it differs.