Я работаю над программой для адресной светодиодной ленты. Это работает, и на данный момент я пытаюсь улучшить свой код. У меня есть 3 светодиодные ленты, и я сделал функцию, которую должны выполнять все три. В функции я хочу указать, какой из них нужно обновить, поэтому я использовал атрибуты. Но это похоже на работу. Я не могу найти это в документации FastLed.
//Number of leds powered
int led_state_1 = 0;
int led_state_2 = 0;
int led_state_3 = 0;
// This is an array of leds. One item for each led in your strip.
CRGB leds1[NUM_LEDS];
CRGB leds2[NUM_LEDS];
CRGB leds3[NUM_LEDS];
void CheckAndUpdateLed(CRGB LedArray, int led_state){
resetLedStrip(LedArray);
for(int whiteLed = 0; whiteLed < led_state; whiteLed = whiteLed + 1) {
// Turn our current led on to white, then show the leds
LedArray[whiteLed] = CRGB::White;
// Show the leds (only one of which is set to white, from above)
FastLED.show();
}
}
когда я меняю LedArray на leds1, он работает. Я вызываю функцию как CheckAndUpdateLed (leds1, led_state_1);