46 static LPD8806Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
47 return add_leds(&controller, num_leds);
50 static WS2801Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
51 return add_leds(&controller, num_leds);
54 static WS2803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
55 return add_leds(&controller, num_leds);
58 static SM16716Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
59 return add_leds(&controller, num_leds);
62 static P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
63 return add_leds(&controller, num_leds);
67 static APA102Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
68 return add_leds(&controller, num_leds);
71 static SK9822Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
72 return add_leds(&controller, num_leds);
77 template<ESPIChipsets CHIPSET, u
int8_t DATA_PIN, u
int8_t CLOCK_PIN> CLEDController &
add_leds(
int num_leds) {
80 static LPD8806Controller<DATA_PIN, CLOCK_PIN> controller;
81 return add_leds(&controller, num_leds);
84 static WS2801Controller<DATA_PIN, CLOCK_PIN> controller;
85 return add_leds(&controller, num_leds);
88 static WS2803Controller<DATA_PIN, CLOCK_PIN> controller;
89 return add_leds(&controller, num_leds);
92 static SM16716Controller<DATA_PIN, CLOCK_PIN> controller;
93 return add_leds(&controller, num_leds);
96 static P9813Controller<DATA_PIN, CLOCK_PIN> controller;
97 return add_leds(&controller, num_leds);
101 static APA102Controller<DATA_PIN, CLOCK_PIN> controller;
102 return add_leds(&controller, num_leds);
105 static SK9822Controller<DATA_PIN, CLOCK_PIN> controller;
106 return add_leds(&controller, num_leds);
115 static LPD8806Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
116 return add_leds(&controller, num_leds);
119 static WS2801Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
120 return add_leds(&controller, num_leds);
123 static WS2803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
124 return add_leds(&controller, num_leds);
127 static SM16716Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
128 return add_leds(&controller, num_leds);
131 static P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
132 return add_leds(&controller, num_leds);
136 static APA102Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
137 return add_leds(&controller, num_leds);
140 static SK9822Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
141 return add_leds(&controller, num_leds);
146 template<
template<u
int8_t DATA_PIN, EOrder RGB_ORDER>
class CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER>
152 template<
template<u
int8_t DATA_PIN, EOrder RGB_ORDER>
class CHIPSET, uint8_t DATA_PIN>
174 template<EBlockChipsets CHIPSET,
int NUM_LANES, EOrder RGB_ORDER> CLEDController &
add_leds(
int num_leds) {
176#ifdef PORTA_FIRST_PIN
179 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(320), NS(320), NS(640), RGB_ORDER>(),
181 case WS2811_400_PORTA:
183 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(800), NS(800), NS(900), RGB_ORDER>(),
186 return add_leds(
new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(320), NS(320), NS(640),
187 RGB_ORDER, 0,
false, 300>(),
191 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(700), NS(1100), NS(700), RGB_ORDER>(),
195 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(500), NS(1500), NS(500), RGB_ORDER>(),