* 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
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.
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.
Requires configurator update.
LED strip Cleanup.
New LED functions:
- GPS (G)
- Battery (L)
- RSSI (S)
- Larson Scanner (O)
- Blink (B)
- Blink on landing (N)
Mode colors and special colors are configurable (mode_color in CLI, MSP_LED_STRIP_MODECOLOR & MSP_SET_LED_STRIP_MODECOLOR)
addition to setting via the CLI.
Note: MSP_CONFIG from baseflight
bc68d89983d762d35cc1cf5e3fa0c2cf03287b70 will not be supported because
more specific commands exist in cleanflight.
MSP_MISC and MSP_CONFIG are good examples of single responsibility
violations.
having to reference min/maxThrottle.
Range was not being calculated correctly.
Throttle color now blends with the current color of the LED so that at
mid throttle any orientation color is still correct when mixing Throttle
and Flight Mode on an LED.
Fix tabs. Reduce nesting level.
Added documentation.
Added LED_STRIP feature, can only be enabled under certain circumstances
depending on target due to pin/timer mappings - see documentation.