Skip to content

Commit 1cee1c3

Browse files
committed
Merge branch '0_15' into blending-styles
2 parents ebd8a10 + eae5a74 commit 1cee1c3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2741
-389
lines changed

CHANGELOG.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,37 @@
11
## WLED changelog
22

3+
#### Build 2409100
4+
- WLED 0.15.0-b5 release
5+
- Audioreactive usermod included by default in all compatible builds (including ESP8266)
6+
- Demystified some byte definitions of WiZmote ESP-NOW message (#4114 by @ChuckMash)
7+
- Update usermod "Battery" improved MQTT support (#4110 by @itCarl)
8+
- Added a usermod for interacting with BLE Pixels Dice (#4093 by @axlan)
9+
- Allow lower values for touch threshold (#4081 by @RobinMeis)
10+
- Added POV image effect usermod (#3539 by @Liliputech)
11+
- Remove repeating code to fetch audio data (#4103 by @netmindz)
12+
- Loxone JSON parser doesn't handle lx=0 correctly (#4104 by @FreakyJ, fixes #3809)
13+
- Rename wled00.ino to wled_main.cpp (#4090 by @willmmiles)
14+
- SM16825 chip support including WW & CW channel swap (#4092)
15+
- Add stress testing scripts (#4088 by @willmmiles)
16+
- Improve jsonBufferLock management (#4089 by @willmmiles)
17+
- Fix incorrect PWM bit depth on Esp32 with XTAL clock (#4082 by @PaoloTK)
18+
- Devcontainer args (#4073 by @axlan)
19+
- Effect: Fire2012 optional blur amount (#4078 by @apanteleev)
20+
- Effect: GEQ fix bands (#4077 by @adrianschroeter)
21+
- Boot delay option (#4060 by @DedeHai)
22+
- ESP8266 Audioreactive sync (#3962 by @gaaat98, @netmindz, @softhack007)
23+
- ESP8266 PWM crash fix (#4035 by @willmmiles)
24+
- Usermod: Battery fix (#4051 by @Nickbert7)
25+
- Usermod: Mpu6050 usermod crash fix (#4048 by @willmmiles)
26+
- Usermod: Internal Temperature V2 (#4033 by @adamsthws)
27+
- Various fixes and improvements (including build environments to emulate 0.14.0 for ESP8266)
28+
29+
#### Build 2407070
30+
- Various fixes and improvements (mainly LED settings fix)
31+
332
#### Build 2406290
433
- WLED 0.15.0-b4 release
5-
- LED settings bus management update (WARNING only allow available outputs)
34+
- LED settings bus management update (WARNING: only allows available outputs)
635
- Add ETH support for LILYGO-POE-Pro (#4030 by @rorosaurus)
736
- Update usermod_sn_photoresistor (#4017 by @xkvmoto)
837
- Several internal fixes and optimisations

CONTRIBUTING.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,20 @@ A good description helps us to review and understand your proposed changes. For
1616

1717
Please make all PRs against the `0_15` branch.
1818

19+
### Updating your code
20+
While the PR is open - and under review by maintainers - you may be asked to modify your PR source code.
21+
You can simply update your own branch, and push changes in response to reviewer recommendations.
22+
Github will pick up the changes so your PR stays up-to-date.
23+
24+
> [!CAUTION]
25+
> Do not use "force-push" while your PR is open!
26+
> It has many subtle and unexpected consequences on our github reposistory.
27+
> For example, we regularly lost review comments when the PR author force-pushes code changes. So, pretty please, do not force-push.
28+
29+
30+
You can find a collection of very useful tips and tricks here: https://github.com/Aircoookie/WLED/wiki/How-to-properly-submit-a-PR
31+
32+
1933
### Code style
2034

2135
When in doubt, it is easiest to replicate the code style you find in the files you want to edit :)
@@ -37,16 +51,18 @@ if (a == b) {
3751
}
3852
```
3953

54+
```cpp
55+
if (a == b) doStuff(a);
56+
```
57+
58+
Acceptable - however the first variant is usually easier to read:
4059
```cpp
4160
if (a == b)
4261
{
4362
doStuff(a);
4463
}
4564
```
4665

47-
```cpp
48-
if (a == b) doStuff(a);
49-
```
5066

5167
There should always be a space between a keyword and its condition and between the condition and brace.
5268
Within the condition, no space should be between the parenthesis and variables.

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "wled",
3-
"version": "0.15.0-b4",
3+
"version": "0.15.0-b5",
44
"description": "Tools for WLED project",
55
"main": "tools/cdata.js",
66
"directories": {

platformio.ini

Lines changed: 79 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# ------------------------------------------------------------------------------
1111

1212
# CI/release binaries
13-
default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, nodemcuv2_160, esp8266_2m_160, esp01_1m_full_160, esp32dev, esp32_eth, esp32dev_audioreactive, lolin_s2_mini, esp32c3dev, esp32s3dev_16MB_opi, esp32s3dev_8MB_opi, esp32s3_4M_qspi, esp32_wrover
13+
default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, nodemcuv2_160, esp8266_2m_160, esp01_1m_full_160, nodemcuv2_compat, esp8266_2m_compat, esp01_1m_full_compat, esp32dev, esp32_eth, lolin_s2_mini, esp32c3dev, esp32s3dev_16MB_opi, esp32s3dev_8MB_opi, esp32s3_4M_qspi, esp32_wrover
1414

1515
src_dir = ./wled00
1616
data_dir = ./wled00/data
@@ -205,6 +205,38 @@ lib_deps =
205205
ESP8266PWM
206206
${env.lib_deps}
207207

208+
;; compatibilty flags - same as 0.14.0 which seems to work better on some 8266 boards. Not using PIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48
209+
build_flags_compat =
210+
-DESP8266
211+
-DFP_IN_IROM
212+
;;-Wno-deprecated-declarations
213+
-Wno-misleading-indentation
214+
;;-Wno-attributes ;; silence warnings about unknown attribute 'maybe_unused' in NeoPixelBus
215+
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
216+
-DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
217+
-DVTABLES_IN_FLASH
218+
-DMIMETYPE_MINIMAL
219+
-DWLED_SAVE_IRAM ;; needed to prevent linker error
220+
221+
;; this platform version was used for WLED 0.14.0
222+
platform_compat = [email protected]
223+
platform_packages_compat =
224+
platformio/toolchain-xtensa @ ~2.100300.220621 #2.40802.200502
225+
platformio/tool-esptool #@ ~1.413.0
226+
platformio/tool-esptoolpy #@ ~1.30000.0
227+
228+
;; experimental - for using older NeoPixelBus 2.7.9
229+
lib_deps_compat =
230+
ESPAsyncTCP @ 1.2.2
231+
ESPAsyncUDP
232+
ESP8266PWM
233+
fastled/FastLED @ 3.6.0
234+
IRremoteESP8266 @ 2.8.2
235+
makuna/NeoPixelBus @ 2.7.9
236+
https://github.com/blazoncek/QuickESPNow.git#optional-debug
237+
https://github.com/Aircoookie/ESPAsyncWebServer.git @ 2.2.1
238+
239+
208240
[esp32]
209241
#platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip
210242
@@ -315,10 +347,19 @@ build_flags = ${common.build_flags} ${esp8266.build_flags} -D WLED_RELEASE_NAME=
315347
lib_deps = ${esp8266.lib_deps}
316348
monitor_filters = esp8266_exception_decoder
317349

350+
[env:nodemcuv2_compat]
351+
extends = env:nodemcuv2
352+
;; using platform version and build options from WLED 0.14.0
353+
platform = ${esp8266.platform_compat}
354+
platform_packages = ${esp8266.platform_packages_compat}
355+
build_flags = ${common.build_flags} ${esp8266.build_flags_compat} -D WLED_RELEASE_NAME=ESP8266_compat #-DWLED_DISABLE_2D
356+
;; lib_deps = ${esp8266.lib_deps_compat} ;; experimental - use older NeoPixelBus 2.7.9
357+
318358
[env:nodemcuv2_160]
319359
extends = env:nodemcuv2
320360
board_build.f_cpu = 160000000L
321361
build_flags = ${common.build_flags} ${esp8266.build_flags} -D WLED_RELEASE_NAME=ESP8266_160 #-DWLED_DISABLE_2D
362+
-D USERMOD_AUDIOREACTIVE
322363

323364
[env:esp8266_2m]
324365
board = esp_wroom_02
@@ -329,10 +370,18 @@ build_unflags = ${common.build_unflags}
329370
build_flags = ${common.build_flags} ${esp8266.build_flags} -D WLED_RELEASE_NAME=ESP02
330371
lib_deps = ${esp8266.lib_deps}
331372

373+
[env:esp8266_2m_compat]
374+
extends = env:esp8266_2m
375+
;; using platform version and build options from WLED 0.14.0
376+
platform = ${esp8266.platform_compat}
377+
platform_packages = ${esp8266.platform_packages_compat}
378+
build_flags = ${common.build_flags} ${esp8266.build_flags_compat} -D WLED_RELEASE_NAME=ESP02_compat #-DWLED_DISABLE_2D
379+
332380
[env:esp8266_2m_160]
333381
extends = env:esp8266_2m
334382
board_build.f_cpu = 160000000L
335383
build_flags = ${common.build_flags} ${esp8266.build_flags} -D WLED_RELEASE_NAME=ESP02_160
384+
-D USERMOD_AUDIOREACTIVE
336385

337386
[env:esp01_1m_full]
338387
board = esp01_1m
@@ -344,10 +393,18 @@ build_flags = ${common.build_flags} ${esp8266.build_flags} -D WLED_RELEASE_NAME=
344393
; -D WLED_USE_REAL_MATH ;; may fix wrong sunset/sunrise times, at the cost of 7064 bytes FLASH and 975 bytes RAM
345394
lib_deps = ${esp8266.lib_deps}
346395

396+
[env:esp01_1m_full_compat]
397+
extends = env:esp01_1m_full
398+
;; using platform version and build options from WLED 0.14.0
399+
platform = ${esp8266.platform_compat}
400+
platform_packages = ${esp8266.platform_packages_compat}
401+
build_flags = ${common.build_flags} ${esp8266.build_flags_compat} -D WLED_RELEASE_NAME=ESP01_compat -D WLED_DISABLE_OTA #-DWLED_DISABLE_2D
402+
347403
[env:esp01_1m_full_160]
348404
extends = env:esp01_1m_full
349405
board_build.f_cpu = 160000000L
350406
build_flags = ${common.build_flags} ${esp8266.build_flags} -D WLED_RELEASE_NAME=ESP01_160 -D WLED_DISABLE_OTA
407+
-D USERMOD_AUDIOREACTIVE
351408
; -D WLED_USE_REAL_MATH ;; may fix wrong sunset/sunrise times, at the cost of 7064 bytes FLASH and 975 bytes RAM
352409

353410
[env:esp32dev]
@@ -356,7 +413,9 @@ platform = ${esp32.platform}
356413
platform_packages = ${esp32.platform_packages}
357414
build_unflags = ${common.build_unflags}
358415
build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BROWNOUT_DET
416+
${esp32.AR_build_flags}
359417
lib_deps = ${esp32.lib_deps}
418+
${esp32.AR_lib_deps}
360419
monitor_filters = esp32_exception_decoder
361420
board_build.partitions = ${esp32.default_partitions}
362421

@@ -373,19 +432,19 @@ monitor_filters = esp32_exception_decoder
373432
board_build.partitions = ${esp32.large_partitions}
374433
; board_build.f_flash = 80000000L
375434

376-
[env:esp32dev_audioreactive]
377-
board = esp32dev
378-
platform = ${esp32.platform}
379-
platform_packages = ${esp32.platform_packages}
380-
build_unflags = ${common.build_unflags}
381-
build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=ESP32_audioreactive #-D WLED_DISABLE_BROWNOUT_DET
382-
${esp32.AR_build_flags}
383-
lib_deps = ${esp32.lib_deps}
384-
${esp32.AR_lib_deps}
385-
monitor_filters = esp32_exception_decoder
386-
board_build.partitions = ${esp32.default_partitions}
387-
; board_build.f_flash = 80000000L
388-
; board_build.flash_mode = dio
435+
;[env:esp32dev_audioreactive]
436+
;board = esp32dev
437+
;platform = ${esp32.platform}
438+
;platform_packages = ${esp32.platform_packages}
439+
;build_unflags = ${common.build_unflags}
440+
;build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=ESP32_audioreactive #-D WLED_DISABLE_BROWNOUT_DET
441+
; ${esp32.AR_build_flags}
442+
;lib_deps = ${esp32.lib_deps}
443+
; ${esp32.AR_lib_deps}
444+
;monitor_filters = esp32_exception_decoder
445+
;board_build.partitions = ${esp32.default_partitions}
446+
;; board_build.f_flash = 80000000L
447+
;; board_build.flash_mode = dio
389448

390449
[env:esp32_eth]
391450
board = esp32-poe
@@ -394,8 +453,10 @@ platform_packages = ${esp32.platform_packages}
394453
upload_speed = 921600
395454
build_unflags = ${common.build_unflags}
396455
build_flags = ${common.build_flags} ${esp32.build_flags} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1
397-
-D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only
456+
; -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only
457+
${esp32.AR_build_flags}
398458
lib_deps = ${esp32.lib_deps}
459+
${esp32.AR_lib_deps}
399460
board_build.partitions = ${esp32.default_partitions}
400461

401462
[env:esp32_wrover]
@@ -405,14 +466,14 @@ platform_packages = ${esp32_idf_V4.platform_packages}
405466
board = ttgo-t7-v14-mini32
406467
board_build.f_flash = 80000000L
407468
board_build.flash_mode = qio
408-
board_build.partitions = ${esp32.default_partitions}
469+
board_build.partitions = ${esp32.extended_partitions}
409470
build_unflags = ${common.build_unflags}
410471
build_flags = ${common.build_flags} ${esp32_idf_V4.build_flags} -D WLED_RELEASE_NAME=ESP32_WROVER
411472
-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue ;; Older ESP32 (rev.<3) need a PSRAM fix (increases static RAM used) https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/external-ram.html
412473
-D LEDPIN=25
413-
; ${esp32.AR_build_flags}
474+
${esp32.AR_build_flags}
414475
lib_deps = ${esp32_idf_V4.lib_deps}
415-
; ${esp32.AR_lib_deps}
476+
${esp32.AR_lib_deps}
416477

417478
[env:esp32c3dev]
418479
extends = esp32c3

platformio_override.sample.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ lib_deps = ${esp8266.lib_deps}
2929
; ;gmag11/QuickESPNow @ ~0.7.0 # will also load QuickDebug
3030
; https://github.com/blazoncek/QuickESPNow.git#optional-debug ;; exludes debug library
3131
; ${esp32.AR_lib_deps} ;; used for USERMOD_AUDIOREACTIVE
32+
; bitbank2/PNGdec@^1.0.1 ;; used for POV display uncomment following
33+
3234
build_unflags = ${common.build_unflags}
3335
build_flags = ${common.build_flags} ${esp8266.build_flags}
3436
;
@@ -152,6 +154,8 @@ build_flags = ${common.build_flags} ${esp8266.build_flags}
152154
; -D TACHO_PIN=33
153155
; -D PWM_PIN=32
154156
;
157+
; Use POV Display usermod
158+
; -D USERMOD_POV_DISPLAY
155159
; Use built-in or custom LED as a status indicator (assumes LED is connected to GPIO16)
156160
; -D STATUSLED=16
157161
;

usermods/Battery/readme.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,11 @@ Specification from: [Molicel INR18650-M35A, 3500mAh 10A Lithium-ion battery, 3.6
131131

132132
## 📝 Change Log
133133

134+
2024-08-19
135+
136+
- Improved MQTT support
137+
- Added battery percentage & battery voltage as MQTT topic
138+
134139
2024-05-11
135140

136141
- Documentation updated

0 commit comments

Comments
 (0)