I want to be able to connect different types of pixel strips to an Arduino to drive them. Can I change the COLOR_ORDER after the board is programmed? I want to save the COLOR_ORDER in EEPROM and read it when the Arduino is powered.
If I make COLOR_ORDER a String variable I get the following error:
could not convert template argument ‘COLOR_ORDER’ to ‘EOrder’
No - color order has to be defined at compile time.
@Ahmad_Sajadian Maybe a button that would toggle on/off a subroutine that would swap around the RGB order? The subroutine would need to run (or not run) just prior to the FastLED.show() command.
@Daniel_Garcia then how can I change it at run time (and get applied after a restart)?
Use #IF DEFINED statements in your setup
@marmil Yes that’s a solution. I don’t know what’s going on under FastLED hood that modifies color order, but I think it would be much more efficient to change the COLOR_ORDER parameter if it is possible.
@Jeremy_Spencer I want to be able to cycle through different color orders by pushing a button attached to the controlling Arduino. I don’t think it is possible with preprocessor directives.
You could just have a second set of LEDs defined and copy over the colours in the correct order before calling show
It seems to me that if you want to change the color order, just create your own color CRGB objects and fill those according to the color order you want, swapping the individual values in the assignment.
A bit of extra programming, but not terribly difficult. I realize this only works for CRGB objects, but it should be easy enough.