Commit Graph

5741 Commits

Author SHA1 Message Date
Will Miles
4a3af814bf Merge pull request #4669 from willmmiles/4597-usermods-not-building
Correct issues with usermods not being linked.
- Explicitly set libArchive: false in usermod library.json files
- Fix up symlink path generation on Windows
- Add validation script to report usermod linkage in resulting binary
2025-05-26 22:41:45 -04:00
netmindz
db22936153 Merge pull request #4698 from zuckschwerdt/fix-initmqtttwice
Fix running initMqtt twice on bootup
2025-05-26 20:42:02 +00:00
netmindz
f26733cd8c Merge pull request #4697 from zuckschwerdt/fix-mqttlwtonce
Change to set LWT only once
2025-05-26 12:00:15 +00:00
Will Miles
f3623158d7 Usermod script cleanup
Fix whitespace and remove unused imports
2025-05-25 08:33:27 -04:00
Will Miles
e80a7c6b75 usermod_v2_HttpPullLightControl: Add usermod object
The module instance was missing.
2025-05-24 23:15:36 -04:00
Will Miles
309c8d67f3 Generalize module link validation
Perform validation for external modules, too.
2025-05-24 23:14:22 -04:00
Will Miles
75c95d88e2 usermods/*/setup_deps.py: Check lib_deps for deps
Check the safest possible location for final information on what
components are actually being linked in.  This demonstrates a safe
approach that works even for out-of-tree modules.
2025-05-24 22:18:22 -04:00
Will Miles
0a7d3a9d9b load_usermods: Simplify load code
Remove all the unnecessary bits.
2025-05-24 22:16:01 -04:00
Blaž Kristan
aa28769e71 Merge pull request #4652 from wled/disable-ota
Only disable Arduino OTA when using -D WLED_DISABLE_OTA
2025-05-24 21:27:08 +02:00
Will Miles
75cd411073 Improve all-usermod handling
Use a magic custom_usermods string instead of a magic environment
name; and disable the validation script as it triggers on the non-
platform-compatible mods.
2025-05-24 14:13:08 -04:00
Will Miles
792a7aa081 load_usermods: Resolve folder paths
Ensure all paths used in usermod symlinks are fully resolved, including
any case correctness issues on Windows.  Apparently PlatformIO does
not handle symlink files correctly on Windows if there are case
differences between cwd and the resolved path.
2025-05-22 09:13:54 -04:00
Will Miles
7ea510e75b validate_usermods: Improve message 2025-05-22 08:44:05 -04:00
Will Miles
242df4b049 validate_usermods: Fix old ESP32 platform
The modern linker used with new platforms (ESP8266, ESP32 >v4) always
produces paths in the map file with slash; however the old linker for
the old ESP32 platform instead produces paths with backslash when
building on Windows.  Match both types as a path separator when
scanning linked symbols.
2025-05-22 08:43:52 -04:00
Will Miles
358e38e056 validate_usermods: Ensure map file is created
Not all of our platforms create one by default; ensure it's produced.
2025-05-22 08:41:59 -04:00
Christian W. Zuckschwerdt
c693f63244 Fix running initMqtt twice on bootup 2025-05-22 14:14:39 +02:00
Christian W. Zuckschwerdt
817157bbc1 Change to set LWT only once 2025-05-22 11:19:52 +02:00
Will Miles
ac61eb4b1b validate_usermods: Fix inverted check
Difference direction was inverted.  It's tough to test when it always
works correctly on your local machine!

H/t @coderabbitai
2025-05-19 17:41:11 -04:00
Will Miles
24ab2952ee Add unambiguous usermod list to info
Neither the info panel nor the settings dialog can be trusted to
accurately report the usermod list:
- Not all usermods necessarily add to the info panel
- Not all usermods necessarily add to the config page
- #4609 is required for the config page to be correct

Add a short list to the info object that lists the loaded usermod IDs.
This is not displayed via the UI, but can be queried with curl or web
debug tools.

To be removed when usermod loading is working well.
2025-05-19 17:30:40 -04:00
Will Miles
999637f8ad Validate usermods at link time
Add additional validation of the linker .map output to confirm that the
correct usermods were added.
2025-05-19 17:30:22 -04:00
Damian Schneider
25223c446f fixed bouncing bug (#4694) 2025-05-19 20:48:00 +02:00
Damian Schneider
66ad27ad3a add support for up to 10 ESPNow remotes (#4654)
* add support for up to 10 ESPNow remotes

* removed debug line

* changed todo comment

* fixed some issues, shortened html/java code

- reverting name to `linked_remote`
- ESPNow remote list is now hidden if unchecked
- shortened java script function names and variables to save flash
- removed now obsolete settings in xml.cpp
- correct checking of valid hex string for remote list in java script

* fixed indentation, using emplace_back instead of push_back, using JsonVariant, replaced buttons with +/-

* shortened java code

* updated java code, fixed bug

- element is now properly removed
- `+` button is hidden if list is full
- user needs to remove a remote, then reload the page to add it (workaround for edge case that needs more code to handle otherwise)

* add limit

* clearer usage description
2025-05-19 20:34:27 +02:00
Damian Schneider
d9ad4ec743 improved & refactored Android FX (#4522)
- returns FRAMETIME -> no more flickering in transitions and overlay
- no more double-painting of pixels
2025-05-19 19:50:48 +02:00
netmindz
cbe7d0678b Merge pull request #4683 from srg74/main
Fixing markdownlint errors
2025-05-11 17:13:41 +00:00
srg74
42d9a41cf5 Fixed markdownlint errors #2 2025-05-11 12:49:32 -04:00
srg74
b5a710dbe4 Fixed markdownlint errors 2025-05-11 12:19:03 -04:00
netmindz
40653b0d6f Merge pull request #4682 from DedeHai/PS_galaxy
Add new effect: PS Galaxy
2025-05-10 15:05:02 +00:00
Damian Schneider
608aff1e17 slight speed improvement, fixed indentation 2025-05-10 09:11:07 +02:00
Damian Schneider
5fe766399b comment 2025-05-09 19:06:38 +02:00
Damian Schneider
891115ecee bugfix 2025-05-09 19:06:06 +02:00
Damian Schneider
0fe722e478 add new effect: PS Galaxy
- parameters tuned to make it look good on most settings
2025-05-09 18:53:16 +02:00
Will Miles
ee3864175d load_usermods: Make missing libArchive an error
Rather than try and fail to add this property, abort if it's missing
from any requested usermod.
2025-05-06 22:39:10 -04:00
Will Miles
849d5e6667 Add libArchive to other usermods
Not all of them were removed by the reverted commit; re-do the
rest of them.
2025-05-06 22:38:33 -04:00
Will Miles
a8dd2435ec Revert "Usermods: Remove libArchive"
This reverts commit 0d44e7ec27.
2025-05-06 22:12:01 -04:00
Damian Schneider
d9b086cbe9 Bugfixes in PS, improvements to PS Fireworks 1D (#4673)
- fixed inconsitencies in size rendering
- fixed palette being wrapped in color by position and color by age modes
- Fixed bug in memory layout: for some unknown reason, if flags come before particles, last flag is sometimes overwritten, changing memory laout seems to fix that
- New color modes in PS Fireworks 1D:
 - custom3 slider < 16: lower saturation (check1: single color or multi-color explosions)
 - custom3 slider <= 23: full saturation (check1: single color or multi-color explosions)
 - custom3 slider > 23: color by speed (check 1 has not effect here)
 - custom slider = max: color by age or color by position (depends on check1)
2025-05-01 13:39:23 +02:00
Will Miles
6464c620c7 load_usermods: Enforce CPPPATH type
Ensure that entries put in CPPPATH are always strings so SCons can
correctlly deduplicate.
2025-04-30 21:56:56 -04:00
Will Miles
7998650e60 Fix up usermod libArchive settings
The ConfigureProjectLibBuilder process will flush and reload the library
settings from the on-disk manifests if any new library is installed at
that stage.  This has the side effect of reverting the libArchive setting
applied to usermods which was performed prior to that call.
Apply the setting afterwards, instead.

Fixes #4597
2025-04-30 21:18:05 -04:00
netmindz
d10714d1c1 Merge pull request #4623 from willmmiles/more-usermod-fixes
More usermod fixes
2025-04-30 18:55:36 +00:00
Damian Schneider
f721efca1e fixed wrong gravity setting, added option for no trail (#4665) 2025-04-28 21:12:27 +02:00
netmindz
410025f30f Merge pull request #4661 from wled/dependabot/pip/h11-0.16.0
Bump h11 from 0.14.0 to 0.16.0
2025-04-25 07:20:10 +00:00
dependabot[bot]
f1d52a8ec1 Bump h11 from 0.14.0 to 0.16.0
Bumps [h11](https://github.com/python-hyper/h11) from 0.14.0 to 0.16.0.
- [Commits](https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0)

---
updated-dependencies:
- dependency-name: h11
  dependency-version: 0.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 16:33:57 +00:00
Damian Schneider
10b925acb7 bugfix in enumerating buttons and busses (#4657)
char value was changed from "55" to 'A' which is 65.
need to deduct 10 so the result is 'A' if index counter is 10.
2025-04-23 15:06:31 +02:00
Blaž Kristan
8baf0fdef7 Add UI logic to hide ArduinoOTA checkbox and remove configuration items 2025-04-20 11:44:26 +02:00
Damian Schneider
353868414a Removed PS memory manager and some minor improvements (#4651)
* Removed memory manager from PS

- reverted all changes related to memory manager
- moved local buffer into effect data memory
- some RAM issues may occur on larger setups: tested on S3 it works fine up to 32x32 but runs into memory issues at 64x32

* fixed ifdef, improved readability, add optimize "o2" flags to improve speed

- added struct for x and y coordinates, thx to @blazoncek

* cleanup and minor improvements

- removed local buffer for ESP8266 in 1D system to save on RAM
- increased particle brightness in PS Impact
- minor tweak in collision binning (might improve speed)
- removed comments and some other unused stuff
- fixed a few compiler wranings

* fixed init sequence bug
2025-04-20 11:38:32 +02:00
Blaž Kristan
c661d8f5b7 Merge pull request #4627 from blazoncek/overlay-fix
Allow clock overlay to use LED beyond 255
2025-04-20 11:05:35 +02:00
Blaž Kristan
ca7d7d9369 Only disable Arduino OTA when using -D WLED_DISABLE_OTA
- since Update object is accessible even with ArduinoOTA disabled it should possible to use HTTP OTA regardless
- this saves about 12kB while still allowing OTA updates
- HTTP OTA updates can be blocked using PIN or OTA lock
2025-04-20 11:01:19 +02:00
Damian Schneider
02f14baad4 Updates to particle system (#4630)
* added Sonic Boom AR FX, some tweaks to Sonic Stream
* added white color option to Sonic Stream
* improvements to collisions (speed look-ahead)
* code prettified
* added "playful" mode to PS Chase plus some minor speed optimizations
* Adding new FX: PS Springy with many config options
2025-04-15 19:07:21 +02:00
netmindz
e979c58c98 Merge pull request #4609 from willmmiles/usermod-cfg-live
Use live cfg json instead of file for usermod settings page
2025-04-06 09:28:45 +00:00
Blaž Kristan
b941654a68 Allow clock overlay to use LED beyond 255 2025-03-29 23:39:47 +01:00
Will Miles
354a0aef52 Merge remote-tracking branch 'upstream/main' into more-usermod-fixes 2025-03-29 11:12:31 -04:00
Will Miles
b0b3196e52 Merge pull request #4620 from gsieben/USERMOD-BME68X-Update-to-Version-1.0.2
Update USERMOD BME68X to version 1.0.2
2025-03-29 11:09:17 -04:00