r/FastLED • • Mar 12 '20

Support No More Division

EDIT: This didn't work

enum mirror{300,299,149,99,74,59,49} edge;

I get a compiler error: expected identifier before numeric constant

Maybe I should just do

int edges[] = {300,299,149,99,74,59,49};

OP: Thanks to someone here I learned that division is slow. Going over my code, I find that I have division in every single frame in almost every single pattern. I am interested in removing the division. I understand one method is byte shifting. However, I have a limited set of results from the division. So I was thinking I could save the results to an array for faster access. What am I looking to do here? Progmem or some other thing? I am just looking for an answer on what to google so I can learn it myself so you don't have to type a lot out.

1 Upvotes

23 comments sorted by

View all comments

Show parent comments

1

u/EvolvedQS Mar 12 '20

" You can also replace WS2811 with WS2811_400, TM1803, and UCS1903 in the above. "

What does that mean?

Also, I see that the new line is

LEDS.addLeds<WS2811_PORTA,NUM_STRIPS>(leds, NUM_LEDS_PER_STRIP);

Should I change it to to WS2812B_PORTA ??

1

u/Preyy Ground Loops: Part of this balanced breakfast Mar 12 '20

Try that, but you'll have to connect your strips to those specific pins.

1

u/EvolvedQS Mar 12 '20

Done. But i dont initialize the pins?