Bugfixes
Bugfixes
This commit is contained in:
@@ -1071,7 +1071,7 @@ void loop() {
|
||||
if (mode == SET_MODE) {
|
||||
DBG_OUTPUT_PORT.printf("SET_MODE: %d %d\n", ws2812fx_mode, mode);
|
||||
strip.setMode(ws2812fx_mode);
|
||||
strip.trigger();
|
||||
//strip.trigger(); // is done later anyway, why do it more than once?
|
||||
prevmode = SET_MODE;
|
||||
mode = SETCOLOR;
|
||||
}
|
||||
@@ -1081,23 +1081,22 @@ void loop() {
|
||||
}
|
||||
if (mode == SETCOLOR) {
|
||||
strip.setColor(main_color.red, main_color.green, main_color.blue, main_color.white);
|
||||
strip.trigger();
|
||||
mode = (prevmode == SET_MODE) ? SETSPEED : prevmode;
|
||||
if (mode == HOLD) strip.trigger();
|
||||
}
|
||||
if (mode == SETSPEED) {
|
||||
strip.setSpeed(convertSpeed(ws2812fx_speed));
|
||||
strip.trigger();
|
||||
mode = (prevmode == SET_MODE) ? BRIGHTNESS : prevmode;
|
||||
if (mode == HOLD) strip.trigger();
|
||||
}
|
||||
if (mode == BRIGHTNESS) {
|
||||
strip.setBrightness(brightness);
|
||||
strip.trigger();
|
||||
if (prevmode == SET_MODE) prevmode = HOLD;
|
||||
mode = prevmode;
|
||||
mode = (prevmode == SET_MODE) ? HOLD : prevmode;
|
||||
if (mode == HOLD) strip.trigger();
|
||||
}
|
||||
#ifdef ENABLE_LEGACY_ANIMATIONS
|
||||
if (mode == WIPE) {
|
||||
strip.setColor(main_color.red, main_color.green, main_color.blue, main_color.white);
|
||||
//strip.setColor(main_color.red, main_color.green, main_color.blue, main_color.white);
|
||||
strip.setMode(FX_MODE_COLOR_WIPE);
|
||||
strip.trigger();
|
||||
mode = HOLD;
|
||||
@@ -1113,13 +1112,13 @@ void loop() {
|
||||
mode = HOLD;
|
||||
}
|
||||
if (mode == THEATERCHASE) {
|
||||
strip.setColor(main_color.red, main_color.green, main_color.blue, main_color.white);
|
||||
//strip.setColor(main_color.red, main_color.green, main_color.blue, main_color.white);
|
||||
strip.setMode(FX_MODE_THEATER_CHASE);
|
||||
strip.trigger();
|
||||
mode = HOLD;
|
||||
}
|
||||
if (mode == TWINKLERANDOM) {
|
||||
strip.setColor(main_color.red, main_color.green, main_color.blue, main_color.white);
|
||||
//strip.setColor(main_color.red, main_color.green, main_color.blue, main_color.white);
|
||||
strip.setMode(FX_MODE_TWINKLE_RANDOM);
|
||||
strip.trigger();
|
||||
mode = HOLD;
|
||||
|
||||
@@ -16,7 +16,7 @@ const char HOSTNAME[] = "McLightingRGBW"; // Friedly hostname
|
||||
//#define ENABLE_OTA // If defined, enable Arduino OTA code.
|
||||
#define ENABLE_AMQTT // If defined, enable Async MQTT code, see: https://github.com/marvinroger/async-mqtt-client
|
||||
//#define ENABLE_MQTT // If defined, enable MQTT client code, see: https://github.com/toblum/McLighting/wiki/MQTT-API
|
||||
#define ENABLE_HOMEASSISTANT // If defined, enable Homeassistant integration, ENABLE_MQTT or ENABLE_AMQTT must be active
|
||||
//#define ENABLE_HOMEASSISTANT // If defined, enable Homeassistant integration, ENABLE_MQTT or ENABLE_AMQTT must be active
|
||||
#define ENABLE_BUTTON // If defined, enable button handling code, see: https://github.com/toblum/McLighting/wiki/Button-control
|
||||
//#define ENABLE_BUTTON_GY33 // If defined, enable button handling code for GY-33 color sensor to scan color
|
||||
//#define MQTT_HOME_ASSISTANT_SUPPORT // If defined, use AMQTT and select Tools -> IwIP Variant -> Higher Bandwidth
|
||||
@@ -115,7 +115,7 @@ uint32_t autoParams[][4] = { // color, speed, mode, duration (seconds)
|
||||
// List of all color modes
|
||||
#ifdef ENABLE_LEGACY_ANIMATIONS
|
||||
#ifdef ENABLE_E131
|
||||
enum MODE { SET_MODE, HOLD, AUTO, OFF, TV, CUSTOM, SETCOLOR, SETSPEED, BRIGHTNESS, WIPE, RAINBOW, RAINBOWCYCLE, THEATERCHASE, TWINKLERANDOM, THEATERCHASERAINBOW, E131 };
|
||||
enum MODE { SET_MODE, HOLD, AUTO, OFF, TV, CUSTOM, SETCOLOR, SETSPEED, BRIGHTNESS, WIPE, RAINBOW, RAINBOWCYCLE, THEATERCHASE, TWINKLERANDOM, THEATERCHASERAINBOW, E131};
|
||||
#else
|
||||
enum MODE { SET_MODE, HOLD, AUTO, OFF, TV, CUSTOM, SETCOLOR, SETSPEED, BRIGHTNESS, WIPE, RAINBOW, RAINBOWCYCLE, THEATERCHASE, TWINKLERANDOM, THEATERCHASERAINBOW};
|
||||
#endif
|
||||
|
||||
@@ -894,6 +894,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght
|
||||
main_color.red = (uint8_t) color["r"];
|
||||
main_color.green = (uint8_t) color["g"];
|
||||
main_color.blue = (uint8_t) color["b"];
|
||||
prevmode = mode;
|
||||
mode = SETCOLOR;
|
||||
}
|
||||
|
||||
@@ -901,7 +902,9 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght
|
||||
uint8_t json_speed = constrain((uint8_t) root["speed"], 0, 255);
|
||||
if (json_speed != ws2812fx_speed) {
|
||||
ws2812fx_speed = json_speed;
|
||||
if(stateOn) mode = SETSPEED;
|
||||
//if(stateOn) mode = SETSPEED;
|
||||
prevmode = mode;
|
||||
mode = SETSPEED;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -910,12 +913,16 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght
|
||||
color_temp = (uint16_t) root["color_temp"];
|
||||
unsigned int kelvin = 1000000 / color_temp;
|
||||
main_color = temp2rgb(kelvin);
|
||||
prevmode = mode;
|
||||
mode = SETCOLOR;
|
||||
}
|
||||
|
||||
if (root.containsKey("brightness")) {
|
||||
brightness = constrain((uint8_t) root["brightness"], 0, 255); //fix #224
|
||||
mode = BRIGHTNESS;
|
||||
uint8_t json_brightness = constrain((uint8_t) root["brightness"], 0, 255); //fix #224
|
||||
if (json_brightness != brightness) {
|
||||
prevmode = mode;
|
||||
mode = BRIGHTNESS;
|
||||
}
|
||||
}
|
||||
|
||||
if (root.containsKey("effect")) {
|
||||
|
||||
Reference in New Issue
Block a user