@Zor - I realize it’s almost 2 years later, but did you ever figure this out? I’m finding the same weirdness with the “bpm” routing on FastLED, running much slower than it should (vs. on my Arduino which ran at the expected speed).
As a test, I tried using the millis() function to see how long my BPM code was executing, by printing millis() at the start and end of my BPM routine, and got very strange results. Here’s the code, which I’m calling from within loop() using EVERY_N_MILLIS_I
from FastLED:
void pulse() {
Serial.println("----------");
printTime();
uint8_t BeatsPerMinute = 62;
CRGBPalette16 palette = PartyColors_p;
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);
for( int i = startPixel; i <= endPixel; i++) {
leds[channel][i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));
}
FastLED.show();
printTime();
}
void printTime() {
Serial.println(millis());
}
And here are the results when I use a 10ms cycle. You’ll see that the start numbers and end numbers are indeed 10ms apart from each other, but I don’t understand how it jumps from 16k to 52k then back again each cycle? It’s running slowly but not 30+ seconds between pulses.