diff --git a/.gitignore b/.gitignore index 4b1a9776..cc6f8895 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,14 @@ -.pio .cache +.clang-format +.direnv +.DS_Store +.gitignore +.idea +.pio .pioenvs .piolibdeps .vscode -/wled00/Release -/wled00/extLibs -/platformio_override.ini -/wled00/my_config.h -/build_output -.DS_Store -.gitignore -.clang-format -node_modules -.idea -.direnv -wled-update.sh + esp01-update.sh -/wled00/LittleFS +platformio_override.ini replace_fs.py -wled00/wled00.ino.cpp -.vscode/extensions.json diff --git a/CHANGELOG.md b/CHANGELOG.md index b53a7893..2af6bf16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ ## WLED changelog +#### Build 2310010, build 2310130 +- Release of WLED version 0.14.0 "Hoshi" +- Bugfixes for #3400, #3403, #3405 +- minor HTML optimizations +- audioreactive: bugfix for UDP sound sync (partly initialized packets) + #### Build 2309240 - Release of WLED beta version 0.14.0-b6 "Hoshi" - Effect bugfixes and improvements (Meteor, Meteor Smooth, Scrolling Text) diff --git a/package-lock.json b/package-lock.json index fb012a06..e775dc41 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wled", - "version": "0.14.0-b6", + "version": "0.14.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index bf74646f..3135c5f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wled", - "version": "0.14.0-b6", + "version": "0.14.0", "description": "Tools for WLED project", "main": "tools/cdata.js", "directories": { diff --git a/platformio.ini b/platformio.ini index 9fbcb0a4..f3caa585 100644 --- a/platformio.ini +++ b/platformio.ini @@ -352,6 +352,7 @@ platform_packages = ${common.platform_packages} board_build.ldscript = ${common.ldscript_1m128k} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01 -D WLED_DISABLE_OTA + ; -D WLED_USE_UNREAL_MATH ;; may cause wrong sunset/sunrise times, but saves 7064 bytes FLASH and 975 bytes RAM lib_deps = ${esp8266.lib_deps} [env:esp07] @@ -605,6 +606,7 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags} -D WLED_RELEASE_NAME= -DARDUINO_USB_DFU_ON_BOOT=0 -DLOLIN_WIFI_FIX ; seems to work much better with this -D WLED_USE_PSRAM + ; -D WLED_USE_UNREAL_MATH ;; may cause wrong sunset/sunrise times, but saves 6792 bytes FLASH -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 -D LEDPIN=16 diff --git a/readme.md b/readme.md index dda6634a..7b1ed771 100644 --- a/readme.md +++ b/readme.md @@ -3,7 +3,7 @@ - + @@ -66,7 +66,7 @@ Credits [here](https://kno.wled.ge/about/contributors/)! Join the Discord server to discuss everything about WLED! - + Check out the WLED [Discourse forum](https://wled.discourse.group)! diff --git a/usermods/audioreactive/audio_reactive.h b/usermods/audioreactive/audio_reactive.h index 692714ec..215ec6e9 100644 --- a/usermods/audioreactive/audio_reactive.h +++ b/usermods/audioreactive/audio_reactive.h @@ -960,6 +960,8 @@ class AudioReactive : public Usermod { //DEBUGSR_PRINTLN("Transmitting UDP Mic Packet"); audioSyncPacket transmitData; + memset(reinterpret_cast(&transmitData), 0, sizeof(transmitData)); // make sure that the packet - including "invisible" padding bytes added by the compiler - is fully initialized + strncpy_P(transmitData.header, PSTR(UDP_SYNC_HEADER), 6); // transmit samples that were not modified by limitSampleDynamics() transmitData.sampleRaw = (soundAgc) ? rawSampleAgc: sampleRaw; diff --git a/wled00/FX.cpp b/wled00/FX.cpp index eceba705..188022b0 100644 --- a/wled00/FX.cpp +++ b/wled00/FX.cpp @@ -2276,7 +2276,7 @@ uint16_t mode_meteor() { } // draw meteor - for (int j = 0; j < meteorSize; j++) { + for (unsigned j = 0; j < meteorSize; j++) { uint16_t index = in + j; if (index >= SEGLEN) { index -= SEGLEN; @@ -2315,7 +2315,7 @@ uint16_t mode_meteor_smooth() { } // draw meteor - for (int j = 0; j < meteorSize; j++) { + for (unsigned j = 0; j < meteorSize; j++) { uint16_t index = in + j; if (index >= SEGLEN) { index -= SEGLEN; diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index a3a20b8b..dc4f3211 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -1573,7 +1573,7 @@ void WS2812FX::purgeSegments(bool force) { } if (deleted) { _segments.shrink_to_fit(); - if (_mainSegment >= _segments.size()) setMainSegmentId(0); + /*if (_mainSegment >= _segments.size())*/ setMainSegmentId(0); } } diff --git a/wled00/data/index.css b/wled00/data/index.css index 6270de17..3cab4653 100644 --- a/wled00/data/index.css +++ b/wled00/data/index.css @@ -1041,6 +1041,7 @@ textarea { /*padding: 1px 0 1px 20px;*/ display: var(--sgp); width: 100%; + position: relative; } .pname { diff --git a/wled00/data/index.js b/wled00/data/index.js index 6b0aa01d..8f60d983 100644 --- a/wled00/data/index.js +++ b/wled00/data/index.js @@ -833,7 +833,7 @@ function populateSegments(s) } if (segCount < 2) { gId(`segd${lSeg}`).classList.add("hide"); - gId(`segp0`).classList.add("hide"); + if (parseInt(gId("seg0bri").value)==255) gId(`segp0`).classList.add("hide"); } if (!isM && !noNewSegs && (cfg.comp.seglen?parseInt(gId(`seg${lSeg}s`).value):0)+parseInt(gId(`seg${lSeg}e`).value) 1) ? "block":"none"; // rsbtn parent diff --git a/wled00/data/settings.htm b/wled00/data/settings.htm index 2d0c0401..b48918a5 100644 --- a/wled00/data/settings.htm +++ b/wled00/data/settings.htm @@ -2,7 +2,7 @@ - + WLED Settings