diff --git a/arduino/mqttfastledmenu/mqttfastledmenu.cpp b/arduino/mqttfastledmenu/mqttfastledmenu.cpp index e61e667..6077df5 100644 --- a/arduino/mqttfastledmenu/mqttfastledmenu.cpp +++ b/arduino/mqttfastledmenu/mqttfastledmenu.cpp @@ -181,7 +181,7 @@ void mqttSendColorState() int blue = color & 0xFF; char buff[12]; - sprintf(buff, "%i,%i,%i\0", red, green, blue); + sprintf(buff, "%i,%i,%i", red, green, blue); client.publish(MQTT_LED_COLOR_STATE, buff, true); } @@ -201,7 +201,7 @@ void ledBlackAll() */ void ledCylon() { - for(int i = 0; i < LED_NUM; i++) { + for (int i = 0; i < LED_NUM; i++) { client.loop(); if (ledEffect != LED_EFFECT_CYLON) { @@ -235,7 +235,7 @@ void ledCylon() FastLED.delay(1000 / speed); } - + Serial.print("\nNettoyage"); // Il faut nettoyer certaines cases avant la prochaine loop if ((LED_NUM - 2) >= 0) { leds[LED_NUM - 2] = color; @@ -245,44 +245,63 @@ void ledCylon() leds[LED_NUM - 1] = CRGB::Black; } FastLED.show(); + Serial.print(" ok\nRewind"); // led[0] et led[255] sont gérées par la loop précédante - for(int i = LED_NUM - 1; i >= 0; i--) { + for (int i = LED_NUM - 1; i >= 0; i--) { + Serial.print("\nLoop "); + Serial.println(i); client.loop(); - + Serial.print(" ok\nTestActif"); if (ledEffect != LED_EFFECT_CYLON) { return; } - + Serial.println(" ok"); if ((i - 1) >= 0) { + Serial.print("-1"); leds[i - 1] = color; leds[i - 1].fadeLightBy(249); + Serial.print(" ok\n"); } + Serial.print("0"); leds[i] = color; + Serial.println(" ok"); if ((i + 1) <= LED_NUM) { + Serial.print("+1"); leds[i + 1] = color; leds[i + 1].fadeLightBy(200); + Serial.print(" ok\n"); } + if ((i + 2) <= LED_NUM) { + Serial.print("+2"); leds[i + 2] = color; leds[i + 2].fadeLightBy(220); + Serial.print(" ok\n"); } + if ((i + 3) <= LED_NUM) { + Serial.print("+3"); leds[i + 3] = CRGB::Black; + Serial.print(" ok\n"); } - + Serial.print("Delay"); FastLED.delay(1000 / speed); + Serial.println(" ok"); } + Serial.print("Clean1"); // Il faut nettoyer certaines cases avant la prochaine loop if (1 <= LED_NUM) { leds[1] = color; leds[1].fadeLightBy(220); } + Serial.print(" ok\nClean2"); if (2 <= LED_NUM) { leds[2] = CRGB::Black; } + Serial.print(" ok\n"); FastLED.show(); }