@@ -72,9 +72,38 @@ class Base
7272 }
7373 ledStrips.clear ();
7474
75- for (int ledCount : ledCounts) {
76- LED_DRIVER* ledStrip = new LED_DRIVER (ledCount, DATA_PIN);
77- ledStrips.push_back (ledStrip);
75+ #if defined(NEOPIXEL_RGBW) || defined(NEOPIXEL_RGB)
76+ for (int ledCount : ledCounts) {
77+ LED_DRIVER* ledStrip = new LED_DRIVER (ledCount, DATA_PIN);
78+ ledStrips.push_back (ledStrip);
79+ }
80+ #else
81+
82+ #endif
83+
84+
85+ #if defined(SECOND_SEGMENT_START_INDEX)
86+ if (ledsNumber > SECOND_SEGMENT_START_INDEX)
87+ {
88+ #if defined(NEOPIXEL_RGBW) || defined(NEOPIXEL_RGB)
89+ ledStrip1 = new LED_DRIVER (SECOND_SEGMENT_START_INDEX, DATA_PIN);
90+ ledStrip2 = new LED_DRIVER2 (ledsNumber - SECOND_SEGMENT_START_INDEX, DATA_PIN);
91+ #else
92+ ledStrip1 = new LED_DRIVER (SECOND_SEGMENT_START_INDEX);
93+ ledStrip1->Begin (CLOCK_PIN, 12 , DATA_PIN, 15 );
94+ ledStrip2 = new LED_DRIVER2 (ledsNumber - SECOND_SEGMENT_START_INDEX);
95+ ledStrip2->Begin (SECOND_SEGMENT_CLOCK_PIN, 12 , SECOND_SEGMENT_DATA_PIN, 15 );
96+ #endif
97+ }
98+ #endif
99+
100+ if (ledStrip1 == nullptr )
101+ {
102+ #if defined(NEOPIXEL_RGBW) || defined(NEOPIXEL_RGB)
103+ ledStrip1 = new LED_DRIVER (ledsNumber, DATA_PIN);
104+ #else
105+ ledStrip1 = new LED_DRIVER (ledsNumber, SPI_INTERFACE, DATA_PIN, CLOCK_PIN);
106+ #endif
78107 }
79108 }
80109
0 commit comments