|
|
@ -9,6 +9,22 @@ |
|
|
|
|
|
|
|
|
#include "mqttfastledmenu.h"
|
|
|
#include "mqttfastledmenu.h"
|
|
|
|
|
|
|
|
|
|
|
|
// LED
|
|
|
|
|
|
// En déplaçant ces vars dans le .h + init dans le setup, cylon crash au moment du premier retour ?!
|
|
|
|
|
|
int brightness = LED_BRIGHTNESS_DEFAULT; |
|
|
|
|
|
int color = LED_COLOR_DEFAULT; |
|
|
|
|
|
int speed = LED_SPEED_DEFAULT; |
|
|
|
|
|
CRGB leds[LED_NUM]; |
|
|
|
|
|
String ledEffect = LED_EFFECT_ERROR; |
|
|
|
|
|
boolean ledState = false; |
|
|
|
|
|
|
|
|
|
|
|
// WIFI
|
|
|
|
|
|
WiFiClient espClient; |
|
|
|
|
|
|
|
|
|
|
|
// MQTT
|
|
|
|
|
|
char message_buff[100]; |
|
|
|
|
|
PubSubClient client(espClient); |
|
|
|
|
|
|
|
|
void setup() |
|
|
void setup() |
|
|
{ |
|
|
{ |
|
|
Serial.begin(SERIAL_SPEED); |
|
|
Serial.begin(SERIAL_SPEED); |
|
|
@ -18,13 +34,14 @@ void setup() |
|
|
setupWifi(); |
|
|
setupWifi(); |
|
|
|
|
|
|
|
|
// LED
|
|
|
// LED
|
|
|
|
|
|
/*
|
|
|
brightness = LED_BRIGHTNESS_DEFAULT; |
|
|
brightness = LED_BRIGHTNESS_DEFAULT; |
|
|
color = LED_COLOR_DEFAULT; |
|
|
color = LED_COLOR_DEFAULT; |
|
|
speed = LED_SPEED_DEFAULT; |
|
|
speed = LED_SPEED_DEFAULT; |
|
|
ledEffect = LED_EFFECT_ERROR; |
|
|
ledEffect = LED_EFFECT_ERROR; |
|
|
ledState = false; |
|
|
ledState = false; |
|
|
|
|
|
|
|
|
// LED
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
LEDS.addLeds<LED_CHIPSET,LED_PIN, LED_COLOR_ORDER>(leds, LED_NUM).setCorrection(TypicalSMD5050); |
|
|
LEDS.addLeds<LED_CHIPSET,LED_PIN, LED_COLOR_ORDER>(leds, LED_NUM).setCorrection(TypicalSMD5050); |
|
|
ledBlackAll(); |
|
|
ledBlackAll(); |
|
|
FastLED.setBrightness(brightness); |
|
|
FastLED.setBrightness(brightness); |
|
|
@ -235,7 +252,6 @@ void ledCylon() |
|
|
|
|
|
|
|
|
FastLED.delay(1000 / speed); |
|
|
FastLED.delay(1000 / speed); |
|
|
} |
|
|
} |
|
|
Serial.print("\nNettoyage"); |
|
|
|
|
|
// Il faut nettoyer certaines cases avant la prochaine loop
|
|
|
// Il faut nettoyer certaines cases avant la prochaine loop
|
|
|
if ((LED_NUM - 2) >= 0) { |
|
|
if ((LED_NUM - 2) >= 0) { |
|
|
leds[LED_NUM - 2] = color; |
|
|
leds[LED_NUM - 2] = color; |
|
|
@ -245,63 +261,43 @@ void ledCylon() |
|
|
leds[LED_NUM - 1] = CRGB::Black; |
|
|
leds[LED_NUM - 1] = CRGB::Black; |
|
|
} |
|
|
} |
|
|
FastLED.show(); |
|
|
FastLED.show(); |
|
|
Serial.print(" ok\nRewind"); |
|
|
|
|
|
|
|
|
|
|
|
// led[0] et led[255] sont gérées par la loop précédante
|
|
|
// 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(); |
|
|
client.loop(); |
|
|
Serial.print(" ok\nTestActif"); |
|
|
|
|
|
if (ledEffect != LED_EFFECT_CYLON) { |
|
|
if (ledEffect != LED_EFFECT_CYLON) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
Serial.println(" ok"); |
|
|
|
|
|
if ((i - 1) >= 0) { |
|
|
if ((i - 1) >= 0) { |
|
|
Serial.print("-1"); |
|
|
|
|
|
leds[i - 1] = color; |
|
|
leds[i - 1] = color; |
|
|
leds[i - 1].fadeLightBy(249); |
|
|
leds[i - 1].fadeLightBy(249); |
|
|
Serial.print(" ok\n"); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Serial.print("0"); |
|
|
|
|
|
leds[i] = color; |
|
|
leds[i] = color; |
|
|
Serial.println(" ok"); |
|
|
|
|
|
|
|
|
|
|
|
if ((i + 1) <= LED_NUM) { |
|
|
if ((i + 1) <= LED_NUM) { |
|
|
Serial.print("+1"); |
|
|
|
|
|
leds[i + 1] = color; |
|
|
leds[i + 1] = color; |
|
|
leds[i + 1].fadeLightBy(200); |
|
|
leds[i + 1].fadeLightBy(200); |
|
|
Serial.print(" ok\n"); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((i + 2) <= LED_NUM) { |
|
|
if ((i + 2) <= LED_NUM) { |
|
|
Serial.print("+2"); |
|
|
|
|
|
leds[i + 2] = color; |
|
|
leds[i + 2] = color; |
|
|
leds[i + 2].fadeLightBy(220); |
|
|
leds[i + 2].fadeLightBy(220); |
|
|
Serial.print(" ok\n"); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((i + 3) <= LED_NUM) { |
|
|
if ((i + 3) <= LED_NUM) { |
|
|
Serial.print("+3"); |
|
|
|
|
|
leds[i + 3] = CRGB::Black; |
|
|
leds[i + 3] = CRGB::Black; |
|
|
Serial.print(" ok\n"); |
|
|
|
|
|
} |
|
|
} |
|
|
Serial.print("Delay"); |
|
|
|
|
|
FastLED.delay(1000 / speed); |
|
|
FastLED.delay(1000 / speed); |
|
|
Serial.println(" ok"); |
|
|
|
|
|
} |
|
|
} |
|
|
Serial.print("Clean1"); |
|
|
|
|
|
// Il faut nettoyer certaines cases avant la prochaine loop
|
|
|
// Il faut nettoyer certaines cases avant la prochaine loop
|
|
|
if (1 <= LED_NUM) { |
|
|
if (1 <= LED_NUM) { |
|
|
leds[1] = color; |
|
|
leds[1] = color; |
|
|
leds[1].fadeLightBy(220); |
|
|
leds[1].fadeLightBy(220); |
|
|
} |
|
|
} |
|
|
Serial.print(" ok\nClean2"); |
|
|
|
|
|
if (2 <= LED_NUM) { |
|
|
if (2 <= LED_NUM) { |
|
|
leds[2] = CRGB::Black; |
|
|
leds[2] = CRGB::Black; |
|
|
} |
|
|
} |
|
|
Serial.print(" ok\n"); |
|
|
|
|
|
FastLED.show(); |
|
|
FastLED.show(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|