47 static LPD8806Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
48 return add_leds(&controller, num_leds);
51 static WS2801Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
52 return add_leds(&controller, num_leds);
55 static WS2803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
56 return add_leds(&controller, num_leds);
59 static SM16716Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
60 return add_leds(&controller, num_leds);
63 static P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
64 return add_leds(&controller, num_leds);
68 static APA102Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
69 return add_leds(&controller, num_leds);
72 static SK9822Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER, SPI_DATA_RATE> controller;
73 return add_leds(&controller, num_leds);
78 template<ESPIChipsets CHIPSET, u
int8_t DATA_PIN, u
int8_t CLOCK_PIN> CLEDController &
add_leds(
int num_leds) {
81 static LPD8806Controller<DATA_PIN, CLOCK_PIN> controller;
82 return add_leds(&controller, num_leds);
85 static WS2801Controller<DATA_PIN, CLOCK_PIN> controller;
86 return add_leds(&controller, num_leds);
89 static WS2803Controller<DATA_PIN, CLOCK_PIN> controller;
90 return add_leds(&controller, num_leds);
93 static SM16716Controller<DATA_PIN, CLOCK_PIN> controller;
94 return add_leds(&controller, num_leds);
97 static P9813Controller<DATA_PIN, CLOCK_PIN> controller;
98 return add_leds(&controller, num_leds);
102 static APA102Controller<DATA_PIN, CLOCK_PIN> controller;
103 return add_leds(&controller, num_leds);
106 static SK9822Controller<DATA_PIN, CLOCK_PIN> controller;
107 return add_leds(&controller, num_leds);
116 static LPD8806Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
117 return add_leds(&controller, num_leds);
120 static WS2801Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
121 return add_leds(&controller, num_leds);
124 static WS2803Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
125 return add_leds(&controller, num_leds);
128 static SM16716Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
129 return add_leds(&controller, num_leds);
132 static P9813Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
133 return add_leds(&controller, num_leds);
137 static APA102Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
138 return add_leds(&controller, num_leds);
141 static SK9822Controller<DATA_PIN, CLOCK_PIN, RGB_ORDER> controller;
142 return add_leds(&controller, num_leds);
148 template<
template<u
int8_t DATA_PIN, EOrder RGB_ORDER>
class CHIPSET, uint8_t DATA_PIN, EOrder RGB_ORDER>
154 template<
template<u
int8_t DATA_PIN, EOrder RGB_ORDER>
class CHIPSET, uint8_t DATA_PIN>
177 template<EBlockChipsets CHIPSET,
int NUM_LANES, EOrder RGB_ORDER> CLEDController &
add_leds(
int num_leds) {
179#ifdef PORTA_FIRST_PIN
182 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(320), NS(320), NS(640), RGB_ORDER>(),
184 case WS2811_400_PORTA:
186 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(800), NS(800), NS(900), RGB_ORDER>(),
189 return add_leds(
new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(320), NS(320), NS(640),
190 RGB_ORDER, 0,
false, 300>(),
194 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(700), NS(1100), NS(700), RGB_ORDER>(),
198 new InlineBlockClocklessController<NUM_LANES, PORTA_FIRST_PIN, NS(500), NS(1500), NS(500), RGB_ORDER>(),