correction du code de cylon pour fair eun truc plus propre dans le defilement et aux extremes

This commit is contained in:
Julien Cabillot 2017-04-03 15:45:08 +02:00 committed by Cabillot Julien
parent 0bef100ed9
commit d331ce2f63

View File

@ -170,7 +170,7 @@ void ledCylon()
if (ledEffect != LED_EFFECT_CYLON) {
return;
}
if ((i - 3) >= 0) {
leds[i - 3] = CRGB::Black;
}
@ -179,9 +179,11 @@ void ledCylon()
* Se lit 128/256 d'intensité lumineuse actuelle
* https://github.com/FastLED/FastLED/wiki/Pixel-reference#dimming-and-brightening-colors
*/
leds[i - 2].fadeLightBy(240);
leds[i - 2] = color;
leds[i - 2].fadeLightBy(220);
}
if ((i - 1) >= 0) {
leds[i - 1] = color;
leds[i - 1].fadeLightBy(200);
}
@ -191,40 +193,44 @@ void ledCylon()
leds[i + 1] = color;
// Je suis volontairement un peu moins puissant sur l'avant
// pour donner un effet de trainée sur l'arrière
leds[i + 1].fadeLightBy(220);
}
if ((i + 2) <= LED_NUM) {
leds[i + 2] = color;
leds[i + 2].fadeLightBy(240);
leds[i + 1].fadeLightBy(249);
}
FastLED.delay(1000 / speed);
}
// Il faut nettoyer certaines cases avant la prochaine loop
if ((LED_NUM - 2) >= 0) {
leds[LED_NUM - 2] = color;
leds[LED_NUM - 2].fadeLightBy(220);
}
if ((LED_NUM - 1) >= 0 ) {
leds[LED_NUM - 1] = CRGB::Black;
}
FastLED.show();
// 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--) {
client.loop();
if (ledEffect != LED_EFFECT_CYLON) {
return;
}
if ((i - 2) >= 0) {
leds[i - 2] = color;
leds[i - 2].fadeLightBy(240);
}
if ((i - 1) >= 0) {
leds[i - 1] = color;
leds[i - 1].fadeLightBy(220);
leds[i - 1].fadeLightBy(249);
}
leds[i] = color;
if ((i + 1) <= LED_NUM) {
leds[i + 1] = color;
leds[i + 1].fadeLightBy(200);
}
if ((i + 2) <= LED_NUM) {
leds[i + 2].fadeLightBy(240);
leds[i + 2] = color;
leds[i + 2].fadeLightBy(220);
}
if ((i + 3) <= LED_NUM) {
leds[i + 3] = CRGB::Black;
@ -232,6 +238,15 @@ void ledCylon()
FastLED.delay(1000 / speed);
}
// Il faut nettoyer certaines cases avant la prochaine loop
if (1 <= LED_NUM) {
leds[1] = color;
leds[1].fadeLightBy(220);
}
if (2 <= LED_NUM) {
leds[2] = CRGB::Black;
}
FastLED.show();
}
/**