Commit Graph

1405 Commits

Author SHA1 Message Date
Damian Schneider
76cb2e9988 Improvements to heap-memory and PSRAM handling (#4791)
* Improved heap and PSRAM handling

- Segment `allocateData()` uses more elaborate DRAM checking to reduce fragmentation and allow for larger setups to run on low heap
- Segment data allocation fails if minimum contiguous block size runs low to keep the UI working
- Increased `MAX_SEGMENT_DATA` to account for better segment data handling
- Memory allocation functions try to keep enough DRAM for segment data
- Added constant `PSRAM_THRESHOLD` to improve PSARM usage
- Increase MIN_HEAP_SIZE to reduce risk of breaking UI due to low memory for JSON response
- ESP32 makes use of IRAM (no 8bit access) for pixeluffers, freeing up to 50kB of RAM
- Fix to properly get available heap on all platforms: added function `getFreeHeapSize()`
- Bugfix for effects that divide by SEGLEN: don't run FX in service() if segment is not active
-Syntax fix in AR: calloc() uses (numelements, size) as arguments

* Added new functions for allocation and heap checking

- added `allocate_buffer()` function that can be used to allocate large buffers: takes parameters to set preferred ram location, including 32bit accessible RAM on ESP32. Returns null if heap runs low or switches to PSRAM
- getFreeHeapSize() and getContiguousFreeHeap() helper functions for all platforms to correctly report free useable heap
- updated some constants
- updated segment data allocation to free the data if it is large

- replaced "psramsafe" variable with it's #ifdef: BOARD_HAS_PSRAM and made accomodating changes
- added some compile-time checks to handle invalid env. definitions
- updated all allocation functions and some of the logic behind them
- added use of fast RTC-Memory where available
- increased MIN_HEAP_SIZE for all systems (improved stability in tests)
- updated memory calculation in web-UI to account for required segment buffer
- added UI alerts if buffer allocation fails
- made getUsedSegmentData() non-private (used in buffer alloc function)
- changed MAX_SEGMENT_DATA
- added more detailed memory log to DEBUG output
- added debug output to buffer alloc function
2025-09-16 19:46:16 +02:00
copilot-swe-agent[bot]
72ad39d6a7 Fix 2D matrix generator preview update issue
Co-authored-by: DedeHai <6280424+DedeHai@users.noreply.github.com>
2025-09-03 17:51:00 +00:00
Aiden
5cb8dc3978 Delete the same define 2025-09-01 11:05:31 +08:00
Aiden
8baa6a4616 support iotorero ethernet controller 2025-08-21 12:51:48 +08:00
Arcitec
7865985eeb Make version information consistent across update interfaces
The duplication of logic and the formatting differences between the "OTA Updates" and "Security & Updates" pages made it very difficult to find the exact version details.

With this change, both update-pages now share the same consistent and detailed formatting, making it easy for users to identify which exact version and binary of WLED they've installed.

The version format has also been improved to make it much easier to understand.
2025-08-17 22:45:20 +02:00
TripleWhy
b8b59b2bb1 Make rainbow effects more colorful (#3681)
* Make color_wheel rotate in HSV sapce instead of linearly interpolating R->G->B
* Remove the rainbow wheel option, as that is the same as the rainbow palette
* Use hsv2rgb for color_wheel

This is the current result of the discussion in https://github.com/wled/WLED/pull/3681
2025-08-15 20:19:18 +02:00
Blaž Kristan
374d90629d Merge pull request #4768 from wled/fix-4268
Add mDNS resolution for network bus
2025-08-02 23:12:23 +02:00
Blaž Kristan
bfe5cd52e7 Merge pull request #4748 from wled/aOTA
Revert disable OTA logic & optional Arduino OTA
2025-08-02 23:11:37 +02:00
netmindz
591dbe387c Merge pull request #4780 from jasonsomers/main
Update settings_wifi.htm
2025-07-27 13:52:31 +01:00
Damian Schneider
e2f5becdd0 Bugfixes in FX data allocation (#4783)
- Bugfixes in FX data allocation: realloc was not handled properly.
- Added *intermediate* fix for waitForIt(), see https://github.com/wled/WLED/issues/4779
- Bugfix in 1D->2D expansions: corner-expansion MUST be boundary checked as it blindly writes the max dimension
- removed some realloc(), improving fragmentation on large setups
- increased min heap constant
- ESP32 C3 has no PSRAM, it now uses default alloc functions
- also added missing UI info for "Error 7"
2025-07-23 06:42:06 +02:00
Blaž Kristan
c30c7e1da5 Merge pull request #4763 from wled/fix-parallel-i2s-selection
Prevent parallel I2S use if different LED types are used.
2025-07-22 11:14:55 +02:00
Jason Somers
806163f1ed Merge branch 'wled:main' into main 2025-07-17 22:13:01 -04:00
Blaz Kristan
e7157e542a Add mDNS resolution for network bus 2025-07-12 18:44:38 +02:00
Blaž Kristan
a24420ae70 Fix #4268 2025-07-12 18:18:49 +02:00
Blaz Kristan
6a5dcb3a76 More OTA UI tweaks 2025-06-26 15:46:23 +02:00
Blaz Kristan
796494e925 Tweaks in OTA UI
- added OTA section toggle
- added ignore upload
- fix for missing "NoXXX" ID
- rely on 404 for /dmxmap
2025-06-26 11:41:03 +02:00
Blaž Kristan
0f00c95aba Merge pull request #4700 from wled/secure-ota
Securing OTA update
2025-06-20 20:05:11 +02:00
Will Miles
ab28b6d58f Update crude parallel I2S detection
My ESP32s are now reporting a maximum of 32 buses.
2025-06-07 12:03:48 -04:00
Blaž Kristan
23a51e0982 Merge pull request #4658 from wled/layers
Segment layers and better effect transitions (blending)
2025-06-01 12:28:11 +02:00
Blaž Kristan
dcd3e07273 Securing OTA update
- prevent settings change if not using private IP address or same subnet
- prevent OTA from differnet subnet if PIN is not set
- ability to revert firmware
2025-05-26 18:00:45 +02: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
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
Blaž Kristan
ee9ac947a1 Segment layering & effect blending improvements
- Photoshop-style segment/layer blending
- return of strip ABL
- remove global LED buffer in favour of segment-local buffer
- new effect blending modes/transitions
- custom palettes moved out of WS2812FX class
- increased limits (matrix size, LED RAM)
- added "rainbow"-mode colorwheel
- replaced palettes with gamma unmodified ones
- move gamma adjustment to last step before sending to LEDs
- Segment & WS2812FX class reorganisation (mutable members, reordered members, protected members)
2025-04-22 22:37:18 +02:00
Blaž Kristan
8baf0fdef7 Add UI logic to hide ArduinoOTA checkbox and remove configuration items 2025-04-20 11:44:26 +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
b941654a68 Allow clock overlay to use LED beyond 255 2025-03-29 23:39:47 +01:00
Jason Somers
cf391034da Update settings_wifi.htm
Several of our controllers support the Ethernet module, so we figured it best to leave it as simply "RGB2Go" in the menu, as opposed to "RBG2Go" Tetra.
2025-03-25 13:54:06 -04:00
Will Miles
36cb1cad36 settings_um: Use live config
Use json/cfg for the usermod settings page.  Should fix issues
with outdated content when a new firmware is loaded.
2025-03-23 15:20:16 -04:00
netmindz
8bee304e4d Merge pull request #4577 from DevJogger/main
Add apple-touch-icon Link Tag
2025-03-11 22:19:38 +00:00
Blaž Kristan
2b666ab9f7 Merge branch 'master' into multifix 2025-03-08 12:59:15 +01:00
DevJogger
c9b8789ea9 Reduce apple-touch-icon image size 2025-02-28 18:47:32 +00:00
Blaž Kristan
a66f5d660d Merge branch 'main' into unlimited-bus 2025-02-25 13:54:42 +01:00
DevJogger
d07a057f04 Add an apple touch icon for better recognition on the home screen of Apple devices 2025-02-25 01:13:22 +00:00
Blaž Kristan
dd80919ed6 Merge pull request #4429 from blazoncek/use-bssid
Add ability to enter desired BSSID
2025-02-19 13:46:49 +01:00
Blaž Kristan
7b13771cfe Bugfix in settings 2025-02-19 11:42:00 +01:00
Blaž Kristan
2ffc8dd228 W Hex entry bugfix & optiisation 2025-02-19 11:36:48 +01:00
Blaž Kristan
7ce96c190f Manual advance playlist 2025-02-19 11:34:29 +01:00
Blaž Kristan
7b56e53c47 Nested playlist 2025-02-19 11:19:59 +01:00
Blaž Kristan
f4e7202dd0 UI info 2025-02-19 11:12:12 +01:00
maxi4329
aa3fb7d165 update links to point to the new repo 2025-02-15 20:07:41 +01:00
maxi4329
7f24269511 Fix for #4153 (#4253)
* fix for #4153

* only load touch/mouse events for touch/mouse devices

* undid formating changes

* undid more formating changes

* undid all formating changes

* use pointerover and pointerout eventlisteners
2025-02-15 15:14:52 +01:00
Blaž Kristan
a0c55c6406 Merge pull request #4484 from blazoncek/parallel-I2S
WWA strip support & parallel I2S for S2/S3 (bumping outputs from 5/4 to 12)
2025-02-13 19:10:37 +01:00
Blaž Kristan
64a02b705a Blending style bugfix (wrong limit)
SoundSim bugfix (missing options)
2025-02-04 18:42:38 +01:00
Blaž Kristan
70042db2de Allow "unlimited" virtual buses
- added config upload options
- number of buses it limited to 36 (0-9+A-Z identifiers)
- WRNING web server may not support that many variables
2025-01-30 19:41:44 +01:00
Blaž Kristan
e7c0ce794b Merge conflict fix
- updated blending style constants
2025-01-24 10:10:14 +01:00
Will Tatam
f2caf14d6a Fix missing hideDMXInput and hideNoDMXInput functions 2025-01-22 20:33:15 +00:00
Blaž Kristan
24082d169b Merge branch 'main' into parallel-I2S 2025-01-20 22:19:49 +01:00
Blaž Kristan
3debaf0f41 Merge branch 'main' into use-bssid 2025-01-20 17:46:56 +01:00
Blaž Kristan
3a426e258b Merge branch 'main' into blending-styles 2025-01-20 11:19:43 +01:00
Blaž Kristan
7daea18907 Merge fixes & updates
- Segment::setName()
- S2 limits
- bus debug macros
- remove cctBlending from strip
2025-01-19 11:37:57 +01:00