Layered LEDs
- Refactors the CANdle sensor to use "layers", where each layer holds a separate set of segments with separate configs, and higher index layers have higher priority.
- When a higher priority layer has a segment with a set color or animation, that layer is shown above all others below it, even if some segments are black.
- If a layer does not have a set color or animation, it is considered empty and does not get shown - a lower priority layer is allowed to show through.
- The PIT sequence now uses this to display a progress bar that gets ticked with each step - resolves #105
- Added the ability to set individual LEDs, but these get overridden whenever the segment that the LED belongs to is written to
- Drivetrain uses this to display the magnet health of azimuth CANcoders on the first 4 LEDs of the CANdle - resolves #107
Edited by Stas Gannutin