Commit Graph

1198 Commits

Author SHA1 Message Date
95137a6d65 Clean up RFP ESP32-S3 target and tooling
Some checks failed
WLED CI / wled_build (push) Has been cancelled
Deploy Nightly / wled_build (push) Has been cancelled
Deploy Nightly / Deploy nightly (push) Has been cancelled
2026-04-17 01:00:37 +02:00
Frank
e56ce96137 build 2603101 2026-03-10 17:44:50 +01:00
Frank
a906432feb basic support for firmware metadata (upstream 0.15 backport) 2026-03-10 17:42:18 +01:00
Frank
f3eda7027f build 2602221 2026-02-22 20:42:54 +01:00
Frank
ae3a796f8d build 2602201 2026-02-20 18:06:03 +01:00
Frank Möhle
cce3c0b5d3 psram-aware malloc functions (backport of upstream #4895) (#342)
Introduces new memory allocation functions, based on wled#4895 by @DedeHai

* keep a minimum of 15KB RAM available to UI - improves stability
* S3/S2/C3 automatically use "fast RTC Ram" for small data (reduces fragmentation)
* auto-detects PSRAM (or no PSRAM) when firmware was built with -D BOARD_HAS_PSRAM
* d_malloc() and d_calloc() prefer DRAM if possible (faster), but fall back to PSRAM when free RAM gets low.
2026-02-18 17:57:47 +01:00
Frank
b691cdee56 build 2601281 2026-01-28 23:05:06 +01:00
Frank
4b47714f68 Philips hue robustness improvements
* reduce JSON buffer from 1024 to 640
* ESP32: define buffer globally (reduces likelyhood of crashes due to low stack)
* added some sanity checks after string ops
* delete hueClient object after closing the connection

* make functions static if not used outside of hue.cpp, re-shuffle order where needed
* rename JSON buffer object: root -> jsonHUEroot
2026-01-28 22:12:24 +01:00
Frank Möhle
0718a6d265 comment clarification
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-25 17:30:03 +01:00
Frank
3150f3b448 use correct DMXSerial object on -S2 and -C3 2026-01-25 17:12:04 +01:00
Frank
6ad6acfe08 align DMX output drivers with upstream
imports a few DMX serial output improvement from upstream
2026-01-25 15:06:27 +01:00
Frank Möhle
5cfca1b340 fix indentation
minor
2026-01-15 11:38:55 +01:00
Frank Möhle
5a8d45b6d3 use WLED_BUILD_VERSION for override by CI actions
avoids potential name clashes with used libraries
2026-01-15 11:23:57 +01:00
Frank
a1a7eb6007 bump version to 14.7.2-mdev (development) build 2601151 2026-01-15 10:53:20 +01:00
Frank
5431ab85fa build 2601131 2026-01-13 16:31:52 +01:00
Frank Möhle
5c10d60022 build 2601111 2026-01-11 20:15:38 +01:00
Frank
f771ded956 build 2601091 2026-01-09 16:31:57 +01:00
Frank Möhle
1a7f469f8c Merge pull request #308 from MoonModules/flickerFixer_backport
WLED-MM backport of upstream wled#4980
RMT High-priority Interrupt driver - solves flickering problems on esp32, esp32-S2 and esp32-S3

do not use the new RMTHI driver on old V3 builds (especially esp32dev_compat)
upgrade all esp32 builds to NeoPixelBus 2.7.9 (we can't go higher due to API incompatibilities)
2026-01-09 16:23:10 +01:00
copilot-swe-agent[bot]
747ca3d5aa Implement GitHub repo extraction in build process
Co-authored-by: netmindz <442066+netmindz@users.noreply.github.com>

# Conflicts:
#	platformio.ini
#	wled00/json.cpp
#	wled00/wled.h
2026-01-06 22:52:26 +00:00
Frank
cec6e229df small simplification 2026-01-06 19:16:09 +01:00
Frank
ad0409789e WLEDMM_NO_FILEWAIT => WLEDMM_FILEWAIT
reversed the logic, to make it more straight forward.
2026-01-06 19:02:45 +01:00
Frank
fafcbf9cf4 no file access waiting if we have the flicker-free LEDs driver 2026-01-06 12:30:27 +01:00
Frank
e6cca911d5 build 2601051 2026-01-05 16:05:53 +01:00
Frank
f07070d7c7 build 2601011 2026-01-01 19:46:19 +01:00
Frank
0901d903b9 Merge branch 'mdev' into pixelforge_backport 2026-01-01 18:07:41 +01:00
Frank
7994536b87 build 2512301 2025-12-30 22:08:41 +01:00
Frank
2a56f9b658 fix presets.json corruption, part 2: mutex for presets file writing
prevents concurrent presets.json writes from doSaveState() and savePreset()
2025-12-29 20:48:07 +01:00
Frank
35c847404c Merge branch 'mdev' into pixelforge_backport 2025-12-29 19:47:51 +01:00
Frank
103e7db83f post merge fix, build 2512291 2025-12-29 14:45:11 +01:00
Frank
2775b16141 clarifications (minor)
* replace delay by vTaskDelay (same behaviour)
* degrade user message to debug (expected behaviour -> no message)
* add pdMS_TO_TICKS to esp32SemTake macro (future proof)
2025-12-23 01:59:59 +01:00
Frank
1c2e6aac6e oppsie 2025-12-23 00:11:40 +01:00
Frank
68a76ff442 minor refactoring of critical sections
- define dummy macros for 8266, to avoid #ifdef ESP32
- small hint for readers who were not able to play arcade games in the 1980's ;-)
2025-12-22 17:59:22 +01:00
Frank
30fcd6efad segment & bus.show mutex redesign
* separate mutexes for improved performance:
  - busses.show and effect drawing
  - critical changes to segment vector
  - block out critical segment changes while strip.service() loops over segments
* UDP realtime acquires mutex before drawing
  - prevents corrupted outputs, caused by parallel tasks updating pixels while busses.show() runs
2025-12-21 23:56:09 +01:00
Frank
7df63db744 and mutex for all
revised mutex and critical section handling for segment drawing
- simplified code with macros (no more #if ESP32 ... #endif)
- remove some critical sections (prevents interrupt stalling)
- added mutex to functions that change the list of segments
- added mutexes to all (potential) background drawing code
- use recursive mutexes to prevent accidental self-locking of tasks
2025-12-20 17:13:52 +01:00
Frank
c25f082231 improve stability of DDP via tcp_task (websockets)
* protect pixel buffer changes with critical section
* protect segment list modification with critical section
* make _isServicing and _triggered atomic (move out of packed bitarray)
* allow custom timeout for waitUntilIdle - DDP needs a longer timeout
* protect strip.show() and effect drawing functions with mutex, to prevent crashes
2025-12-19 18:13:20 +01:00
Frank
4ec939cb4c build 2512171 2025-12-17 01:21:17 +01:00
Damian Schneider
69d4970a6b clear enable bit on unused time macros (#5134)
disables the checkmark in UI on unused macros
2025-12-16 19:56:58 +01:00
Frank
12d7c085b2 better handling of low-brightness colors
reduce default gamma from 2.8 to 2.6
2025-12-01 03:12:44 +01:00
Frank
1125a0003b build number 2511281 2025-11-28 23:10:56 +01:00
Frank
1b3823510c update default AP channel to 6, possible fix for "AP does not show"
backport from upstream
2025-11-27 11:14:59 +01:00
Frank
d26c751281 Disable unicode support in ArduinoJson
Disabled unicode hex string support, to save flash memory.
2025-11-25 21:33:21 +01:00
Frank
dcdc05b592 unicode-related robustness improvements
* enable ARDUINOJSON_DECODE_UNICODE (otherwise unicode needs 6(!) bytes for encoding)
* robustness: increase a few tiny string buffers for some extra margin
* Web UI: allow entering up to 64 chars as segment name
2025-11-20 22:36:46 +01:00
Frank
0a0ca506eb Add WLEDMM_FASTPATH definition for all esp32 builds
force all esp32 builds to use WLEDMM_FASTPATH.
The code is proven in use, while non-fastpath is becoming obsolete.
2025-11-18 23:35:15 +01:00
Frank
dc04ccbde7 another attempt to avoid LED glitches during file writing
* mark synchronization variables volatile (thread-safe)
* additional logic in closeFile() to avoid file write while leds are pushed out by NPB driver
* some comments and analysis
* replace "yield()" after file ops with "delay(0)" before operations.
2025-11-15 00:11:35 +01:00
Frank
60878305fb debug code updates & fixes
better output when using WLED_DEBUG_HEAP without WLED_DEBUG
2025-10-25 00:53:25 +02:00
Frank
22d142942a build 2510241, version 14.7.0-dev
ongoing development
2025-10-24 19:15:20 +02:00
Frank
df55650c84 build 2501170 2025-01-17 21:44:52 +01:00
Frank
7bf7ac0c33 build 2501162 2025-01-16 21:01:40 +01:00
Frank
bd31dd2508 increase E131 max universes from 12 to 112 (esp32 boards only)
* use a more meaningful max universes limit of 112 (safe up to 128x128 pixels)
* accept more universes, but only track sequences for the configures max universes
* made e131LastSequenceNumber[] local (its only used in e131.cpp)
2025-01-16 14:48:54 +01:00
Frank
c96b2d7249 platformio.ini - re-introduce platform_packages for compatibility
MM builds are still using the standard arduino platform - we'll "flip the switch" later
2025-01-16 12:03:08 +01:00