* Add ledstrip_grb_rgb setting (GRB or RGB) to handle WS2811 or WS2812 LED drivers
* Rename setting lookup table to lookupLedStripPackingOrder
* Fix call to ws2811UpdateStrip
* Fix unit test
* Use ledStripFormatRGB_e enumeration for RGB packing format
* Fix unit test
* Whoops. Make ledStripFormatRGB_e match lookupLedStripFormatRGB
* Applied review feedback
* Add documentation of ledstrip_grb_rgb
Clean up the logic to use a bitmask indicating which overlays are disabled rather than an array to indicate which are enabled.
Performance remains unchanged from the previous optimization but a few bytes of RAM are saved and the code is cleaner.
The current design continuously runs timer loops for all overlays regardless of whether or not any LEDs are actually using the overlay. Then each overlay function iterates through all configured LED's to apply if needed.
This optimization "looks ahead" and turns off any overlays that are not assigned to any LEDs. The most optimization is achieved when no overlays are used, and regresses to match the current performance level if every overlay is assigned.
VTX controlled LED color. 8 fixed colors rather than a variable hue. This ensures a perceivable color difference. The channel groups are based on 39Mhz spacing across the full spectrum.
Squashed commits:
[6f4441f] Default to values out of range for initial check.
[85c1fa4] updating comments.
[24c004b] cleaning up loose ends
[83e015f] show led for each power level
[8f0d8ee] replacing “blink on landing” with VTX overlay.
[663aea3] Stubbing out the initial VTX overlay functionality.
Style suggestions adopted.
Use centerPWM (average of max and min PWM) for readability.
No longer resets hOffset, means that other functions (battery and rssi, currently) which use this still add to the hue
the flight controller code.
Likely the dependencies can be further improved. This is a
minimal-impact solution while there are a lot of other Betaflight PR's
still pending.