cylon corrigé :(

This commit is contained in:
Julien Cabillot 2017-04-21 00:50:28 +02:00 committed by Cabillot Julien
parent 9373f0a209
commit d3cb5efddb
2 changed files with 21 additions and 37 deletions

View File

@ -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<LED_CHIPSET,LED_PIN, LED_COLOR_ORDER>(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();
}

View File

@ -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();