From cade1800f4f9a926e8ae1fc01c844ec98f4c6ca9 Mon Sep 17 00:00:00 2001 From: cschwinne Date: Sun, 21 Aug 2022 12:50:52 +0200 Subject: [PATCH 1/6] Update python dependencies --- platformio.ini | 17 +++++++++++-- requirements.txt | 64 ++++++++++++++++++++++++++++++------------------ 2 files changed, 55 insertions(+), 26 deletions(-) diff --git a/platformio.ini b/platformio.ini index dbbe06d8..b09171ce 100644 --- a/platformio.ini +++ b/platformio.ini @@ -35,6 +35,7 @@ default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s ; default_envs = wemos_shield_esp32 ; default_envs = m5atom ; default_envs = esp32_eth +; default_envs = esp32dev_qio80 ; default_envs = esp32_eth_ota1mapp ; default_envs = esp32s2_saola @@ -324,18 +325,30 @@ board = esp32dev platform = ${esp32.platform} platform_packages = ${esp32.platform_packages} build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET +build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET lib_deps = ${esp32.lib_deps} monitor_filters = esp32_exception_decoder board_build.partitions = ${esp32.default_partitions} +[env:esp32dev_qio80] +board = esp32dev +platform = ${esp32.platform} +platform_packages = ${esp32.platform_packages} +build_unflags = ${common.build_unflags} +build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET +lib_deps = ${esp32.lib_deps} +monitor_filters = esp32_exception_decoder +board_build.partitions = ${esp32.default_partitions} +board_build.f_flash = 80000000L +board_build.flash_mode = qio + [env:esp32_eth] board = esp32-poe platform = ${esp32.platform} platform_packages = ${esp32.platform_packages} 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 -D WLED_DISABLE_BLYNK +build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1 -D WLED_DISABLE_BLYNK -D WLED_WATCHDOG_TIMEOUT=0 lib_deps = ${esp32.lib_deps} board_build.partitions = ${esp32.default_partitions} diff --git a/requirements.txt b/requirements.txt index 06b2d535..820ecdef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,54 +1,70 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.8 # To update, run: # # pip-compile # -aiofiles==0.6.0 +aiofiles==0.8.0 # via platformio -ajsonrpc==1.1.0 +ajsonrpc==1.2.0 # via platformio -bottle==0.12.20 +anyio==3.6.1 + # via starlette +async-timeout==4.0.2 + # via zeroconf +bottle==0.12.23 # via platformio -certifi==2020.12.5 +certifi==2022.6.15 # via requests -chardet==4.0.0 +charset-normalizer==2.1.1 # via requests -click==7.1.2 +click==8.1.3 # via # platformio # uvicorn -colorama==0.4.4 - # via platformio -h11==0.12.0 +colorama==0.4.5 + # via + # click + # platformio +h11==0.13.0 # via # uvicorn # wsproto -idna==2.10 - # via requests -ifaddr==0.1.7 +idna==3.3 + # via + # anyio + # requests +ifaddr==0.2.0 # via zeroconf -marshmallow==3.11.1 +marshmallow==3.17.0 # via platformio -platformio==5.1.1 +packaging==21.3 + # via marshmallow +platformio==6.1.4 # via -r requirements.in -pyelftools==0.27 +pyelftools==0.29 # via platformio +pyparsing==3.0.9 + # via packaging pyserial==3.5 # via platformio -requests==2.25.1 +requests==2.28.1 # via platformio -semantic-version==2.8.5 +semantic-version==2.10.0 # via platformio -starlette==0.14.2 +sniffio==1.2.0 + # via anyio +starlette==0.20.4 # via platformio -tabulate==0.8.9 +tabulate==0.8.10 # via platformio -urllib3==1.26.5 +typing-extensions==4.3.0 + # via starlette +urllib3==1.26.11 # via requests -uvicorn==0.13.4 +uvicorn==0.18.2 # via platformio -wsproto==1.0.0 +wsproto==1.1.0 # via platformio -zeroconf==0.28.8 +zeroconf==0.39.0 # via platformio From 102a28aef49371a989fcfb35966cd2133d609a55 Mon Sep 17 00:00:00 2001 From: cschwinne Date: Tue, 23 Aug 2022 01:26:18 +0200 Subject: [PATCH 2/6] Release of WLED v0.13.3 --- CHANGELOG.md | 6 ++++++ package-lock.json | 2 +- package.json | 2 +- platformio.ini | 6 +++--- wled00/html_other.h | 2 +- wled00/html_settings.h | 2 +- wled00/improv.cpp | 2 +- wled00/wled.h | 8 ++++---- 8 files changed, 18 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9f86e23..baf49362 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ ## WLED changelog +### WLED release 0.13.3 + +- Version bump to v0.13.3 "Toki" +- Disable ESP watchdog by default (fixes flickering and boot issues on a fresh install) +- Added support for LPD6803 + ### WLED release 0.13.2 #### Build 2208140 diff --git a/package-lock.json b/package-lock.json index dce0faf4..f9e1ea0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "wled", - "version": "0.13.2", + "version": "0.13.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b2ffbb36..494f82e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wled", - "version": "0.13.2", + "version": "0.13.3", "description": "Tools for WLED project", "main": "tools/cdata.js", "directories": { diff --git a/platformio.ini b/platformio.ini index b09171ce..60c1d9d1 100644 --- a/platformio.ini +++ b/platformio.ini @@ -325,7 +325,7 @@ board = esp32dev platform = ${esp32.platform} platform_packages = ${esp32.platform_packages} build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET +build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET lib_deps = ${esp32.lib_deps} monitor_filters = esp32_exception_decoder board_build.partitions = ${esp32.default_partitions} @@ -335,7 +335,7 @@ board = esp32dev platform = ${esp32.platform} platform_packages = ${esp32.platform_packages} build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET +build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_qio80 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET lib_deps = ${esp32.lib_deps} monitor_filters = esp32_exception_decoder board_build.partitions = ${esp32.default_partitions} @@ -348,7 +348,7 @@ platform = ${esp32.platform} platform_packages = ${esp32.platform_packages} 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 -D WLED_DISABLE_BLYNK -D WLED_WATCHDOG_TIMEOUT=0 +build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1 -D WLED_DISABLE_BLYNK lib_deps = ${esp32.lib_deps} board_build.partitions = ${esp32.default_partitions} diff --git a/wled00/html_other.h b/wled00/html_other.h index c812a9e5..32c2855e 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}

WLED Software Update

-Installed version: 0.13.2
Download the latest binary: Download the latest binary:


Incorrect configuration may require a factory reset or re-flashing of your ESP.
For security reasons, passwords are not backed up.

About

WLED - version 0.13.2


Contributors, dependencies and special thanks
A huge thank you to everyone who helped me create WLED!

diff --git a/wled00/improv.cpp b/wled00/improv.cpp index fb80e6d3..f8d5e526 100644 --- a/wled00/improv.cpp +++ b/wled00/improv.cpp @@ -189,7 +189,7 @@ void sendImprovInfoResponse() { out[11] = 4; //Firmware len ("WLED") out[12] = 'W'; out[13] = 'L'; out[14] = 'E'; out[15] = 'D'; uint8_t lengthSum = 17; - uint8_t vlen = sprintf_P(out+lengthSum,PSTR("0.13.2/%i"),VERSION); + uint8_t vlen = sprintf_P(out+lengthSum,PSTR("0.13.3/%i"),VERSION); out[16] = vlen; lengthSum += vlen; uint8_t hlen = 7; #ifdef ESP8266 diff --git a/wled00/wled.h b/wled00/wled.h index 535f82a5..7d023882 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -3,12 +3,12 @@ /* Main sketch, global variable declarations @title WLED project sketch - @version 0.13.2 + @version 0.13.3 @author Christian Schwinne */ // version code in format yymmddb (b = daily build) -#define VERSION 2208140 +#define VERSION 2208222 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG @@ -51,8 +51,8 @@ #ifndef WLED_WATCHDOG_TIMEOUT // 3 seconds should be enough to detect a lockup - // define WLED_WATCHDOG_TIMEOUT=0 to disable watchdog - #define WLED_WATCHDOG_TIMEOUT 3 + // define WLED_WATCHDOG_TIMEOUT=0 to disable watchdog, default + #define WLED_WATCHDOG_TIMEOUT 0 #endif //optionally disable brownout detector on ESP32. From 2847921e5a376d6cdb4e04aa38be62ded28e7d8a Mon Sep 17 00:00:00 2001 From: Soren Singh Dary <67230851+sorensd@users.noreply.github.com> Date: Wed, 14 Sep 2022 17:26:16 +0530 Subject: [PATCH 3/6] Fixed a type in the file name (#2781) --- usermods/mpu6050_imu/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usermods/mpu6050_imu/readme.md b/usermods/mpu6050_imu/readme.md index adb19ef8..7750bfb3 100644 --- a/usermods/mpu6050_imu/readme.md +++ b/usermods/mpu6050_imu/readme.md @@ -78,7 +78,7 @@ to the info object ## Usermod installation 1. Copy the file `usermod_mpu6050_imu.h` to the `wled00` directory. -2. Register the usermod by adding `#include "usermod_mpu6050_imu.h.h"` in the top and `registerUsermod(new MPU6050Driver());` in the bottom of `usermods_list.cpp`. +2. Register the usermod by adding `#include "usermod_mpu6050_imu.h"` in the top and `registerUsermod(new MPU6050Driver());` in the bottom of `usermods_list.cpp`. Example **usermods_list.cpp**: From 8bd8975e0af6a2874b76e318b6ff1c2c7e4d0417 Mon Sep 17 00:00:00 2001 From: Soren Singh Dary <67230851+sorensd@users.noreply.github.com> Date: Thu, 15 Sep 2022 02:59:35 +0530 Subject: [PATCH 4/6] Fixed the dependency (#2782) --- usermods/mpu6050_imu/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usermods/mpu6050_imu/readme.md b/usermods/mpu6050_imu/readme.md index 7750bfb3..6e3cee3e 100644 --- a/usermods/mpu6050_imu/readme.md +++ b/usermods/mpu6050_imu/readme.md @@ -36,7 +36,7 @@ lib_deps = AsyncTCP@1.0.3 Esp Async WebServer@1.2.0 IRremoteESP8266@2.7.3 - I2Cdevlib-MPU6050@fbde122cc5 + jrowberg/I2Cdevlib-MPU6050@^1.0.0 ``` ## Wiring From 1daa97545bfac3ca509b5afc804fe23e64b3f77d Mon Sep 17 00:00:00 2001 From: Patrick <40436536+paeppi88@users.noreply.github.com> Date: Thu, 22 Sep 2022 20:43:40 +0200 Subject: [PATCH 5/6] Usermod Wordclock update to use an alternatve wiring pattern (#2757) * Update * update readme file * readme update * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update platformio.ini --- usermods/usermod_v2_word_clock/readme.md | 14 ++++- .../usermod_v2_word_clock.h | 51 +++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) diff --git a/usermods/usermod_v2_word_clock/readme.md b/usermods/usermod_v2_word_clock/readme.md index 9c4d1ac0..dac79bc1 100644 --- a/usermods/usermod_v2_word_clock/readme.md +++ b/usermods/usermod_v2_word_clock/readme.md @@ -7,6 +7,16 @@ There are 2 parameters to chnage the behaviour: active: enable/disable usermod diplayItIs: enable/disable display of "Es ist" on the clock. +### Update for alternatative wiring pattern +Based on this fantastic work I added an alternative wiring pattern. +For original you have to use a long wire to connect DO - DI from first line to the next line. + +I wired my clock in meander style. So the first LED in second line is in the right. +With this problem every second line was inverted and showed the wrong letter. + +I added a switch in usermod called "meander wiring?" to enable/disable alternativ wiring pattern. + + ## Installation Copy and update the example `platformio_override.ini.sample` @@ -23,4 +33,6 @@ No special requirements. ## Change Log -2022/03/30 initial commit \ No newline at end of file +2022/08/18 added meander wiring pattern. + +2022/03/30 initial commit diff --git a/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h b/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h index 10b83dd0..cc85a09a 100644 --- a/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h +++ b/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h @@ -23,15 +23,19 @@ class WordClockUsermod : public Usermod // set your config variables to their boot default value (this can also be done in readFromConfig() or a constructor if you prefer) bool usermodActive = false; bool displayItIs = false; + bool meander = false; // defines for mask sizes #define maskSizeLeds 114 #define maskSizeMinutes 12 + #define maskSizeMinutesMea 12 #define maskSizeHours 6 + #define maskSizeHoursMea 6 #define maskSizeItIs 5 #define maskSizeMinuteDots 4 // "minute" masks + // Normal wiring const int maskMinutes[12][maskSizeMinutes] = { {107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // :00 @@ -48,7 +52,25 @@ class WordClockUsermod : public Usermod { 7, 8, 9, 10, 33, 34, 35, -1, -1, -1, -1, -1} // :55 fünf vor }; + // Meander wiring + const int maskMinutesMea[12][maskSizeMinutesMea] = + { + { 99, 100, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1}, // :00 + { 7, 8, 9, 10, 33, 34, 35, 36, -1, -1, -1, -1}, // :05 fünf nach + { 18, 19, 20, 21, 33, 34, 35, 36, -1, -1, -1, -1}, // :10 zehn nach + { 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1}, // :15 viertel + { 11, 12, 13, 14, 15, 16, 17, 33, 34, 35, 36, -1}, // :20 zwanzig nach + { 7, 8, 9, 10, 41, 42, 43, 44, 45, 46, 47, -1}, // :25 fünf vor halb + { 44, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1}, // :30 halb + { 7, 8, 9, 10, 33, 34, 35, 36, 44, 45, 46, 47}, // :35 fünf nach halb + { 11, 12, 13, 14, 15, 16, 17, 41, 42, 43, -1, -1}, // :40 zwanzig vor + { 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1}, // :45 dreiviertel + { 18, 19, 20, 21, 41, 42, 43, -1, -1, -1, -1, -1}, // :50 zehn vor + { 7, 8, 9, 10, 41, 42, 43, -1, -1, -1, -1, -1} // :55 fünf vor + }; + // hour masks + // Normal wiring const int maskHours[13][maskSizeHours] = { { 55, 56, 57, -1, -1, -1}, // 01: ein @@ -65,6 +87,23 @@ class WordClockUsermod : public Usermod { 49, 50, 51, -1, -1, -1}, // 11: elf { 94, 95, 96, 97, 98, -1} // 12: zwölf and 00: null }; + // Meander wiring + const int maskHoursMea[13][maskSizeHoursMea] = + { + { 63, 64, 65, -1, -1, -1}, // 01: ein + { 62, 63, 64, 65, -1, -1}, // 01: eins + { 55, 56, 57, 58, -1, -1}, // 02: zwei + { 66, 67, 68, 69, -1, -1}, // 03: drei + { 73, 74, 75, 76, -1, -1}, // 04: vier + { 51, 52, 53, 54, -1, -1}, // 05: fünf + { 83, 84, 85, 86, 87, -1}, // 06: sechs + { 88, 89, 90, 91, 92, 93}, // 07: sieben + { 77, 78, 79, 80, -1, -1}, // 08: acht + {103, 104, 105, 106, -1, -1}, // 09: neun + {106, 107, 108, 109, -1, -1}, // 10: zehn + { 49, 50, 51, -1, -1, -1}, // 11: elf + { 94, 95, 96, 97, 98, -1} // 12: zwölf and 00: null + }; // mask "it is" const int maskItIs[maskSizeItIs] = {0, 1, 3, 4, 5}; @@ -127,14 +166,24 @@ class WordClockUsermod : public Usermod } // update led mask + if (meander) + { + updateLedMask(maskHoursMea[index], maskSizeHoursMea); + } else { updateLedMask(maskHours[index], maskSizeHours); + } } // set minutes void setMinutes(int index) { // update led mask + if (meander) + { + updateLedMask(maskMinutesMea[index], maskSizeMinutesMea); + } else { updateLedMask(maskMinutes[index], maskSizeMinutes); + } } // set minutes dot @@ -358,6 +407,7 @@ class WordClockUsermod : public Usermod JsonObject top = root.createNestedObject("WordClockUsermod"); top["active"] = usermodActive; top["displayItIs"] = displayItIs; + top["Meander wiring?"] = meander; } /* @@ -386,6 +436,7 @@ class WordClockUsermod : public Usermod configComplete &= getJsonValue(top["active"], usermodActive); configComplete &= getJsonValue(top["displayItIs"], displayItIs); + configComplete &= getJsonValue(top["Meander wiring?"], meander); return configComplete; } From cd0471386daef12c17501c716328a37eb7c4b98e Mon Sep 17 00:00:00 2001 From: Renaud11232 Date: Wed, 12 Oct 2022 18:18:43 +0200 Subject: [PATCH 6/6] Fix SSDR usermod compilation (#2825) --- .../usermod_seven_segment_reloaded.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h b/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h index 6274abce..b1a271a6 100644 --- a/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h +++ b/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h @@ -384,7 +384,7 @@ public: if (!umSSDRDisplayTime || strip.isUpdating()) { return; } - #ifdef USERMOD_ID_SN_PHOTORESISTOR + #ifdef USERMOD_SN_PHOTORESISTOR if(bri != 0 && umSSDREnableLDR && (millis() - umSSDRLastRefresh > umSSDRResfreshTime)) { if (ptr != nullptr) { uint16_t lux = ptr->getLastLDRValue();