From d3cb5efddb4bbf00dd2a025bcf142729f764402e Mon Sep 17 00:00:00 2001 From: Julien Cabillot Date: Fri, 21 Apr 2017 00:50:28 +0200 Subject: [PATCH] =?UTF-8?q?cylon=20corrig=C3=A9=20:(?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arduino/mqttfastledmenu/mqttfastledmenu.cpp | 46 +++++++++---------- .../mqttfastledmenu/mqttfastledmenu.example.h | 12 ----- 2 files changed, 21 insertions(+), 37 deletions(-) diff --git a/arduino/mqttfastledmenu/mqttfastledmenu.cpp b/arduino/mqttfastledmenu/mqttfastledmenu.cpp index 6077df5..dc2e2f5 100644 --- a/arduino/mqttfastledmenu/mqttfastledmenu.cpp +++ b/arduino/mqttfastledmenu/mqttfastledmenu.cpp @@ -9,6 +9,22 @@ #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() { Serial.begin(SERIAL_SPEED); @@ -18,13 +34,14 @@ void setup() setupWifi(); // LED + /* brightness = LED_BRIGHTNESS_DEFAULT; color = LED_COLOR_DEFAULT; speed = LED_SPEED_DEFAULT; ledEffect = LED_EFFECT_ERROR; ledState = false; - - // LED + */ + LEDS.addLeds(leds, LED_NUM).setCorrection(TypicalSMD5050); ledBlackAll(); FastLED.setBrightness(brightness); @@ -235,7 +252,6 @@ 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,63 +261,43 @@ 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--) { - 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(); } diff --git a/arduino/mqttfastledmenu/mqttfastledmenu.example.h b/arduino/mqttfastledmenu/mqttfastledmenu.example.h index 3a8c5e4..28dfc89 100644 --- a/arduino/mqttfastledmenu/mqttfastledmenu.example.h +++ b/arduino/mqttfastledmenu/mqttfastledmenu.example.h @@ -17,19 +17,10 @@ #define LED_EFFECT_FULLRED "full" #define LED_EFFECT_ERROR "error" -int brightness; -int color; -int speed; -CRGB leds[LED_NUM]; -String ledEffect; -boolean ledState; - // WIFI #define WIFI_SSID "XXX" #define WIFI_PASSWORD "XXX" -WiFiClient espClient; - // MQTT #define MQTT_SERVER "XXX" #define MQTT_PORT 1883 @@ -47,9 +38,6 @@ WiFiClient espClient; #define MQTT_LED_COLOR_COMMAND "strip1/color/switch" #define MQTT_LED_COLOR_STATE "strip1/color/status" -char message_buff[100]; -PubSubClient client(espClient); - void setupWifi(); void testConnectMQTT();