diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f92f5d7..5582843d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,20 @@ ### Builds after release 0.12.0 +#### Build 2111160 + +- Version bump to 0.13.0-b5 "Toki" +- Improv Serial support (PR #2334) +- Button improvements (PR #2284) +- Added two time zones (PR #2264, 2311) +- JSON in/decrementing support for brightness and presets +- Fixed no gamma correction for JSON individual LED control +- Preset cycle bugfix +- Removed ledCount +- LED settings buffer bugfix +- Network pin conflict bugfix +- Changed default ESP32 partition layout to 4M, 1M FS + #### Build 2110110 - Version bump to 0.13.0-b4 "Toki" diff --git a/package-lock.json b/package-lock.json index 48dc9a4a..cb50fcb5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wled", - "version": "0.13.0-b4", + "version": "0.13.0-b5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index be29449f..65e38d83 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wled", - "version": "0.13.0-b4", + "version": "0.13.0-b5", "description": "Tools for WLED project", "main": "tools/cdata.js", "directories": { diff --git a/platformio.ini b/platformio.ini index 0a64a94c..e700ed2b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -207,6 +207,8 @@ build_flags = -g -DCONFIG_LITTLEFS_FOR_IDF_3_2 -D CONFIG_ASYNC_TCP_USE_WDT=0 +default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv + lib_deps = ${env.lib_deps} makuna/NeoPixelBus @ 2.6.7 @@ -292,6 +294,7 @@ platform = espressif32@2.0 build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BROWNOUT_DET lib_deps = ${esp32.lib_deps} +board_build.partitions = ${esp32.default_partitions} [env:esp32_eth] board = esp32-poe @@ -300,6 +303,7 @@ upload_speed = 921600 build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1 lib_deps = ${esp32.lib_deps} +board_build.partitions = ${esp32.default_partitions} [env:esp32s2_saola] board = esp32dev @@ -406,6 +410,7 @@ build_flags = ${common.build_flags_esp32} lib_deps = ${esp32.lib_deps} OneWire@~2.3.5 olikraus/U8g2 @ ^2.28.8 +board_build.partitions = ${esp32.default_partitions} [env:m5atom] board = esp32dev @@ -413,6 +418,7 @@ build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp32} -D LEDPIN=27 -D BTNPIN=39 lib_deps = ${esp32.lib_deps} platform = espressif32@3.2 +board_build.partitions = ${esp32.default_partitions} [env:sp501e] board = esp_wroom_02 @@ -498,3 +504,4 @@ monitor_filters = esp32_exception_decoder lib_deps = ${esp32.lib_deps} TFT_eSPI @ ^2.3.70 +board_build.partitions = ${esp32.default_partitions} diff --git a/wled00/button.cpp b/wled00/button.cpp index 39c1e4f7..aef18c77 100644 --- a/wled00/button.cpp +++ b/wled00/button.cpp @@ -299,8 +299,11 @@ void handleIO() #ifdef ESP8266 // turn off built-in LED if strip is turned off // this will break digital bus so will need to be reinitialised on On - pinMode(LED_BUILTIN, OUTPUT); - digitalWrite(LED_BUILTIN, HIGH); + PinOwner ledPinOwner = pinManager.getPinOwner(LED_BUILTIN); + if (!strip.isOffRefreshRequred && (ledPinOwner == PinOwner::None || ledPinOwner == PinOwner::BusDigital)) { + pinMode(LED_BUILTIN, OUTPUT); + digitalWrite(LED_BUILTIN, HIGH); + } #endif if (rlyPin>=0) { pinMode(rlyPin, OUTPUT); diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index 8e47e236..a641d417 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -397,11 +397,9 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { CJSON(DMXStartLED,dmx[F("start-led")]); JsonArray dmx_fixmap = dmx[F("fixmap")]; - it = 0; - for (int i : dmx_fixmap) { - if (it > 14) break; + for (int i = 0; i < dmx_fixmap.size(); i++) { + if (i > 14) break; CJSON(DMXFixtureMap[i],dmx_fixmap[i]); - it++; } #endif diff --git a/wled00/const.h b/wled00/const.h index 51205d29..37afca7f 100644 --- a/wled00/const.h +++ b/wled00/const.h @@ -265,12 +265,20 @@ #endif // string temp buffer (now stored in stack locally) -#define OMAX 2048 +#ifdef ESP8266 +#define SETTINGS_STACK_BUF_SIZE 2048 +#else +#define SETTINGS_STACK_BUF_SIZE 3096 +#endif #ifdef WLED_USE_ETHERNET -#define E131_MAX_UNIVERSE_COUNT 20 + #define E131_MAX_UNIVERSE_COUNT 20 #else -#define E131_MAX_UNIVERSE_COUNT 10 + #ifdef ESP8266 + #define E131_MAX_UNIVERSE_COUNT 9 + #else + #define E131_MAX_UNIVERSE_COUNT 12 + #endif #endif #define ABL_MILLIAMPS_DEFAULT 850 // auto lower brightness to stay close to milliampere limit diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm index 497b4965..9e6d9277 100644 --- a/wled00/data/settings_leds.htm +++ b/wled00/data/settings_leds.htm @@ -55,7 +55,7 @@ if (n2.substring(0,1)==="L") { var m = LCs[j].name.substring(2); var t2 = parseInt(d.getElementsByName("LT"+m)[0].value, 10); - if (t2<16) continue; + if (t2>=80) continue; } if (LCs[j].value!="" && LCs[i].value==LCs[j].value) {alert(`Pin conflict between ${LCs[i].name}/${LCs[j].name}!`);LCs[j].value="";LCs[j].focus();return false;} } diff --git a/wled00/fcn_declare.h b/wled00/fcn_declare.h index ebc83ec0..eda6bf34 100644 --- a/wled00/fcn_declare.h +++ b/wled00/fcn_declare.h @@ -95,6 +95,12 @@ void onHueConnect(void* arg, AsyncClient* client); void sendHuePoll(); void onHueData(void* arg, AsyncClient* client, void *data, size_t len); +//improv.cpp +void handleImprovPacket(); +void sendImprovStateResponse(uint8_t state, bool error = false); +void sendImprovInfoResponse(); +void sendImprovRPCResponse(uint8_t commandId); + //ir.cpp bool decodeIRCustom(uint32_t code); void applyRepeatActions(); diff --git a/wled00/html_other.h b/wled00/html_other.h index 397ac1af..1561b63d 100644 --- a/wled00/html_other.h +++ b/wled00/html_other.h @@ -42,7 +42,7 @@ function B(){window.history.back()}function U(){document.getElementById("uf").st .bt{background:#333;color:#fff;font-family:Verdana,sans-serif;border:.3ch solid #333;display:inline-block;font-size:20px;margin:8px;margin-top:12px}input[type=file]{font-size:16px}body{font-family:Verdana,sans-serif;text-align:center;background:#222;color:#fff;line-height:200%}#msg{display:none}