diff --git a/CHANGELOG.md b/CHANGELOG.md index 5582843df..ba305fbb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,18 @@ ### Builds after release 0.12.0 -#### Build 2111160 +#### Build 2111220 + +- Fixed preset cycle not working from preset called by UI +- Reintroduced permanent min. and max. cycle bounds + +#### Build 2111190 + +- Changed default ESP32 LED pin from 16 to 2 +- Renamed "Running 2" to "Chase 2" +- Renamed "Tri Chase" to "Chase 3" + +#### Build 2111170 - Version bump to 0.13.0-b5 "Toki" - Improv Serial support (PR #2334) @@ -388,6 +399,7 @@ - Added support for WESP32 ethernet board (PR #1764) - Added Caching for main UI (PR #1704) - Added Tetrix mode (PR #1729) +- Removed Merry Christmas mode (use "Chase 2" - called Running 2 before 0.13.0) - Added memory check on Bus creation #### Build 2102050 diff --git a/readme.md b/readme.md index 506f7de73..e76821006 100644 --- a/readme.md +++ b/readme.md @@ -51,7 +51,7 @@ A fast and feature-rich implementation of an ESP8266/ESP32 webserver to control See the [documentation on our official site](https://kno.wled.ge)! -[On this page](https://github.com/Aircoookie/WLED/wiki/Learning-the-ropes) you can find excellent tutorials made by the community and helpful tools to help you get your new lamp up and running! +[On this page](https://kno.wled.ge/basics/tutorials/) you can find excellent tutorials made by the community and helpful tools to help you get your new lamp up and running! ## 🖼️ Images @@ -82,7 +82,7 @@ Any | 5v 3-pin ARGB for PC | Any PC RGB device that supports the 5v 3-pin ARGB m ## ✌️ Other Licensed under the MIT license -Credits [here](https://github.com/Aircoookie/WLED/wiki/Contributors-&-About)! +Credits [here](https://kno.wled.ge/about/contributors/)! Uses Linearicons by Perxis! diff --git a/wled00/FX.h b/wled00/FX.h index f74a380ef..7b3bc69ac 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -967,7 +967,7 @@ const char JSON_mode_names[] PROGMEM = R"=====([ "Colorful", "Traffic Light", "Sweep Random", -"Running 2@!,Width;!,!,;!", +"Chase 2@!,Width;!,!,;!", "Aurora", "Stream", "Scanner", @@ -984,7 +984,7 @@ const char JSON_mode_names[] PROGMEM = R"=====([ "Two Areas@!,Size;1,2,Bg;!", "Running Dual", "Halloween", -"Tri Chase@!,Size;1,2,3;", +"Chase 3@!,Size;1,2,3;", "Tri Wipe@!,Width;1,2,3;", "Tri Fade", "Lightning", diff --git a/wled00/const.h b/wled00/const.h index a88f0a940..d7be4a036 100644 --- a/wled00/const.h +++ b/wled00/const.h @@ -320,8 +320,8 @@ #ifdef WLED_ENABLE_DMX #if (LEDPIN == 2) #undef LEDPIN - #define LEDPIN 3 - #warning "Pin conflict compiling with DMX and LEDs on pin 2. The default LED pin has been changed to pin 3." + #define LEDPIN 1 + #warning "Pin conflict compiling with DMX and LEDs on pin 2. The default LED pin has been changed to pin 1." #endif #endif diff --git a/wled00/json.cpp b/wled00/json.cpp index 54289d3f5..693c3b529 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -355,10 +355,11 @@ bool deserializeState(JsonObject root, byte callMode, byte presetId) deletePreset(ps); } - if (getVal(root["ps"], &presetCycCurr, 1, 5)) { //load preset (clears state request!) - DEBUG_PRINTLN(F("Applying preset")); + ps = presetCycCurr; + if (getVal(root["ps"], &ps, presetCycMin, presetCycMax)) { //load preset (clears state request!) if (!presetId) unloadPlaylist(); //stop playlist if preset changed manually - applyPreset(presetCycCurr, callMode); + if (ps >= presetCycMin && ps <= presetCycMax) presetCycCurr = ps; + applyPreset(ps, callMode); return stateResponse; } diff --git a/wled00/set.cpp b/wled00/set.cpp index a47a27e77..e37653dd8 100644 --- a/wled00/set.cpp +++ b/wled00/set.cpp @@ -538,6 +538,7 @@ void parseNumber(const char* str, byte* val, byte minv, byte maxv) const char* str2 = strchr(str,'~'); //min/max range (for preset cycle, e.g. "1~5~") if (str2) { byte p2 = atoi(str2+1); + presetCycMin = p1; presetCycMax = p2; while (isdigit((str2+1)[0])) str2++; parseNumber(str2+1, val, p1, p2); } else { @@ -646,17 +647,14 @@ bool handleSet(AsyncWebServerRequest *request, const String& req, bool apply) pos = req.indexOf(F("PS=")); //saves current in preset if (pos > 0) savePreset(getNumVal(&req, pos)); - byte presetCycleMin = 1; - byte presetCycleMax = 5; - pos = req.indexOf(F("P1=")); //sets first preset for cycle - if (pos > 0) presetCycleMin = getNumVal(&req, pos); + if (pos > 0) presetCycMin = getNumVal(&req, pos); pos = req.indexOf(F("P2=")); //sets last preset for cycle - if (pos > 0) presetCycleMax = getNumVal(&req, pos); + if (pos > 0) presetCycMax = getNumVal(&req, pos); //apply preset - if (updateVal(&req, "PL=", &presetCycCurr, presetCycleMin, presetCycleMax)) { + if (updateVal(&req, "PL=", &presetCycCurr, presetCycMin, presetCycMax)) { applyPreset(presetCycCurr); } diff --git a/wled00/wled.h b/wled00/wled.h index 1b2c4b876..bd51e1b86 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -8,7 +8,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2111211 +#define VERSION 2111220 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG @@ -520,6 +520,8 @@ WLED_GLOBAL byte improvError _INIT(0); WLED_GLOBAL int16_t currentPlaylist _INIT(-1); //still used for "PL=~" HTTP API command WLED_GLOBAL byte presetCycCurr _INIT(0); +WLED_GLOBAL byte presetCycMin _INIT(1); +WLED_GLOBAL byte presetCycMax _INIT(5); // realtime WLED_GLOBAL byte realtimeMode _INIT(REALTIME_MODE_INACTIVE);