diff --git a/firmware/test1/heizung-test1/src/main.cpp b/firmware/test1/heizung-test1/src/main.cpp index a86de3bb6bd60967c3e93f95b613674c310f8cb7..945c3a36b0483222bf391ccad304aee639d317db 100644 --- a/firmware/test1/heizung-test1/src/main.cpp +++ b/firmware/test1/heizung-test1/src/main.cpp @@ -53,7 +53,8 @@ Adafruit_MPR121 cap0, cap1; bool capAvailable[2]; Adafruit_NeoPixel pixelsDisplay(60, WS2812_DISPLAY, NEO_GRB + NEO_KHZ800); -Adafruit_NeoPixel pixelsDigout1(2, DIGOUT1, NEO_GRB + NEO_KHZ800); +Adafruit_NeoPixel pixelsDigout1(50, DIGOUT1, NEO_GRB + NEO_KHZ800); +Adafruit_NeoPixel pixelsDigout2(50, DIGOUT2, NEO_GRB + NEO_KHZ800); void setup() { rp2040.enableDoubleResetBootloader(); @@ -456,31 +457,82 @@ void loop() { } } - static int digout1_timer = 0; - static int digout1_state = 2; - if (digout1_timer < 300 || !pixelsDigout1.canShow()) - digout1_timer++; - else { - digout1_timer = 0; - digout1_state++; - - for (int i=0; i<pixelsDigout1.numPixels(); i++) { - switch ((digout1_state-3*i)%8) { - case 0: - pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(255, 0, 0)); - break; - case 1: - pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 255, 0)); - break; - case 2: - pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 0, 255)); - break; - default: - pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 0, 0)); - break; + if (0) { + static int digout1_timer = 0; + static int digout1_state = 2; + if (digout1_timer < 300 || !pixelsDigout1.canShow()) + digout1_timer++; + else { + digout1_timer = 0; + digout1_state++; + + for (int i=0; i<pixelsDigout1.numPixels(); i++) { + switch ((digout1_state-3*i)%8) { + case 0: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(255, 0, 0)); + break; + case 1: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 255, 0)); + break; + case 2: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 0, 255)); + break; + default: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 0, 0)); + break; + } + } + pixelsDigout1.show(); + } + } + + if (1) { + static int digout1_timer = 0; + static int digout1_state = 2; + if (digout1_timer < 20 || !pixelsDigout1.canShow() || !pixelsDigout2.canShow()) + digout1_timer++; + else { + digout1_timer = 0; + digout1_state++; + if (digout1_state >= 3) + digout1_state = 0; + + for (int i=0; i<pixelsDigout1.numPixels(); i++) { + switch (digout1_state%3) { + case 0: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(40, 0, 0)); + break; + case 1: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 40, 0)); + break; + case 2: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 0, 40)); + break; + default: + pixelsDigout1.setPixelColor(i, pixelsDigout1.Color(0, 0, 0)); + break; + } + } + pixelsDigout1.show(); + + for (int i=0; i<pixelsDigout2.numPixels(); i++) { + switch ((digout1_state+1)%3) { + case 0: + pixelsDigout2.setPixelColor(i, pixelsDigout2.Color(40, 0, 0)); + break; + case 1: + pixelsDigout2.setPixelColor(i, pixelsDigout2.Color(0, 40, 0)); + break; + case 2: + pixelsDigout2.setPixelColor(i, pixelsDigout2.Color(0, 0, 40)); + break; + default: + pixelsDigout2.setPixelColor(i, pixelsDigout2.Color(0, 0, 0)); + break; + } } + pixelsDigout2.show(); } - pixelsDigout1.show(); } static int ledring_timer = 0;