diff --git a/wled00/WS2812FX.cpp b/wled00/WS2812FX.cpp index 21db57a29..0c8388bc5 100644 --- a/wled00/WS2812FX.cpp +++ b/wled00/WS2812FX.cpp @@ -38,8 +38,8 @@ #define CALL_MODE(n) (this->*_mode[n])(); void WS2812FX::init(bool supportWhite, uint16_t countPixels, uint8_t pin) { - for (int i=0; i < _led_count; i++) _locked[i] = false; begin(supportWhite,countPixels,pin); + for (int i=0; i < _led_count; i++) _locked[i] = false; WS2812FX::setBrightness(_brightness); show(); } diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm index e1a93e7e1..c349832df 100644 Binary files a/wled00/data/settings_leds.htm and b/wled00/data/settings_leds.htm differ diff --git a/wled00/htmls01.h b/wled00/htmls01.h index cae21c542..61765e164 100644 --- a/wled00/htmls01.h +++ b/wled00/htmls01.h @@ -86,18 +86,17 @@ const char PAGE_settings_leds1[] PROGMEM = R"=====(

LED setup

LED count (max. 255):
-The default boot color is always saved in preset slot 0.
-Alternatively, apply preset at boot
+LEDs are 4-channel type (RGBW):
+Apply preset at boot (0 uses defaults)
Default RGB color:
+Default white value (only RGBW):
Default brightness: (0-255)
-Default white value (only RGBW, -1 to disable):
-Default effect ID:
-Default effect speed:
-Default effect intensity:
-Default secondary RGB(W):
+Default effect ID:
+Default effect speed:
+Default effect intensity:
diff --git a/wled00/wled00.ino b/wled00/wled00.ino index 891ce42f2..d74ff7b47 100644 --- a/wled00/wled00.ino +++ b/wled00/wled00.ino @@ -33,7 +33,7 @@ #include "WS2812FX.h" //version in format yymmddb (b = daily build) -#define VERSION 1804121 +#define VERSION 1804141 const String versionString = "0.6.3"; //AP and OTA default passwords (change them!) diff --git a/wled00/wled02_xml.ino b/wled00/wled02_xml.ino index a6cc53c3c..310e4a4c0 100644 --- a/wled00/wled02_xml.ino +++ b/wled00/wled02_xml.ino @@ -141,11 +141,8 @@ String getSettings(byte subPage) resp += ds + "CG" + v + colS[1] +";"; resp += ds + "CB" + v + colS[2] +";"; resp += ds + "CA" + v + briS +";"; - if (useRGBW) { - resp += ds + "CW" + v + whiteS +";"; - } else { - resp += ds + "CW" + v + "-1;"; - } + resp += ds + "EW" + c + useRGBW +";"; + resp += ds + "CW" + v + whiteS +";"; resp += ds + "SR" + v + colSecS[0] +";"; resp += ds + "SG" + v + colSecS[1] +";"; resp += ds + "SB" + v + colSecS[2] +";"; diff --git a/wled00/wled03_set.ino b/wled00/wled03_set.ino index 36695b5a2..3167e0256 100644 --- a/wled00/wled03_set.ino +++ b/wled00/wled03_set.ino @@ -117,6 +117,7 @@ void handleSettingsSet(byte subPage) int i = server.arg("LC").toInt(); if (i >= 0 && i <= 1200) ledCount = i; } + useRGBW = server.hasArg("EW"); if (server.hasArg("IS")) //ignore settings and save current brightness, colors and fx as default { colS[0] = col[0]; @@ -165,14 +166,7 @@ void handleSettingsSet(byte subPage) if (server.hasArg("CW")) { int i = server.arg("CW").toInt(); - if (i >= 0 && i <= 255) - { - useRGBW = true; - whiteS = i; - } else { - useRGBW = false; - whiteS = 0; - } + if (i >= 0 && i <= 255) whiteS = i; } if (server.hasArg("CA")) { @@ -236,6 +230,7 @@ void handleSettingsSet(byte subPage) int i = server.arg("BF").toInt(); if (i > 0) briMultiplier = i; } + strip.init(useRGBW,ledCount,PIN); } //UI @@ -382,7 +377,6 @@ void handleSettingsSet(byte subPage) aOtaEnabled = server.hasArg("AO"); } } - strip.init(useRGBW,ledCount,PIN); saveSettingsToEEPROM(); } diff --git a/wled00/wled05_init.ino b/wled00/wled05_init.ino index 9033e5820..7e58abeea 100644 --- a/wled00/wled05_init.ino +++ b/wled00/wled05_init.ino @@ -4,12 +4,14 @@ void wledInit() { - EEPROM.begin(EEPSIZE); - if (!EEPROM.read(397)) strip.init(EEPROM.read(372),EEPROM.read(229),PIN); //quick init - Serial.begin(115200); Serial.setTimeout(50); + EEPROM.begin(EEPSIZE); + Serial.println("PreStripInit"); + if (!EEPROM.read(397)) strip.init(EEPROM.read(372),EEPROM.read(229),PIN); //quick init + Serial.println("PostStripInit"); + #ifdef USEFS SPIFFS.begin(); #endif