Commit Graph

524 Commits

Author SHA1 Message Date
Frank
7bd8d5008b bugfix: update Flash Usage after file upload
if we have the flicker-free RMT driver, also update FS usage info when filling /json/state
2026-03-29 22:14:20 +02:00
Frank
c0cbe89af4 fix misplaced closing bracket 2026-03-26 20:08:20 +01:00
Frank
a70b945bce experimental: more info about PSRAM and Flash
* PSRAM speed and transfer mode (serial only)
* added all possible modes and speed flags (-P4 included)
2026-03-26 19:51:27 +01:00
Frank
2dedbf469a minor info page updates
* removed core restart reasons (esp restart code is sufficient)
* added time info
* moved repo to last line
2026-03-11 19:02:29 +01:00
Frank
2914daa3aa fix short black-out when a playlist advances (WLEDMM specific)
* do not call strip.show(), just shedule a "show()" in the next main loop.
* experimental fix for inconsistent state when loading a preset (see upstream https://github.com/wled/WLED/issues/5200)
2026-02-22 20:37:39 +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
c85f65e390 better handling of esp32 PICO-D2 and PICO-V3
including PICO models with PSRAM
2026-02-13 00:28:47 +01:00
Frank
e29d42c954 add wifi.ap to json/info (upstream beackport)
backport based on 0af3063127 (diff-6b6413edc70eb5a8b8d037f55e51154ae77788f431721701e949d2f00cd99820)
2026-02-07 00:39:36 +01:00
Frank
7e104ba414 UX improvement: don't blur GIF images by default
solves a problem when activating images from PixelForge: in case users had "don't load defaults" set, images were always loaded with a strong blur.
2026-01-09 21:29:21 +01:00
AlexeyMal
ce56755416 Random colors via JSON API in Segment object like "col":["r","r","r"] #4996 (#5000)
Add support for random colors via JSON API in Segment object like col=["r","r","r"] #4996
2026-01-09 17:30:08 +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
bde1ac9c76 clarification
bedtime.
2025-12-23 02:12:06 +01:00
Frank
b8c0f8a28b fix akward error message
I start writing gibberish - time to go to bed 😄
2025-12-23 02:05:56 +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
655330d1a6 remove stupid "live forever" default 2025-12-23 01:42:55 +01:00
Frank
3c30edb70a fix typo 2025-12-23 01:26:32 +01:00
Frank
5f3ab42520 reduced freeze time when updating presets
postpone suspendStripService until the first segment operation is needed.
2025-12-23 01:18:46 +01:00
Frank
c185f37791 improved mutex error handling
- debug message in case of "unexpected" mutex errors
- removed experimental delay() in requestJSONBufferLock
2025-12-23 00:33:28 +01:00
Frank
9b5ae9fff9 bugfix: suspendStripService held too long across stateUpdated() call
see discussion in https://github.com/MoonModules/WLED-MM/pull/293#issuecomment-3684424421
2025-12-22 23:58:19 +01:00
Frank
fe63ebf1b7 deSerializeSegment robustness improvement
avoid creating an inconsistent configuration in case the mutex acquisition fails.
2025-12-22 00:39:11 +01:00
Frank
73c54d7a57 replace potentially infinite wait with 2100ms max
better to end with an inconsistent state, than risk a lock-up until reset
2025-12-22 00:05:54 +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
1b1128b699 remove inconsistent error code text printing to serial
error codes "translations" were incomplete and outdated, so lets save a few 100 bytes of flash
2025-12-01 03:16:15 +01:00
Frank
520bc8fcb5 Merge branch 'mdev' into pr/286 2025-11-30 01:38:44 +01:00
Frank
963b4075b8 chip revision style: v<major>.<minor> 2025-11-30 01:09:51 +01:00
Frank
aff7bbfefe tpram => tpsram
small update for code readability
2025-11-29 21:27:09 +01:00
Will Tatam
00e026ce08 Merge pull request #5126 from wled/copilot/backport-version-reporting-0-15-x
Backport version reporting (PR #5093 and #5111) to 0.15.x
2025-11-29 19:17:29 +01:00
Frank
9097dff8f6 show full chip revision in info
shows "rev3.1" instead of "rev3" on V4 builds
2025-11-28 22:06:47 +01:00
Frank
b9ba15a61f older framework support - chip_info.full_revision
this field was added to chip_info in esp-idf 4.4.4 => use "revision" for older frameworks  versions
2025-11-27 20:57:53 +01:00
Frank
e75073c429 re-enable deviceId 2025-11-27 20:42:51 +01:00
Frank
424416d51a hotfix: Disable deviceId retrieval to avoid crashes
Temporarily disable deviceID retrieval to prevent crashes on some ESP32 boards. This prevents the DeviceID from being added to /json/info, until we find a solution that does not crash my esp32.
2025-11-23 02:28:47 +01:00
Will Tatam
2c0510b5b9 Merge pull request #284 from netmindz/deviceId-MM
Add deviceId
2025-11-22 12:31:16 +00:00
Will Tatam
d047ee0984 Add deviceId 2025-11-21 08:39:50 +00:00
Frank
527acefdea improvement for UTF-8 safe string trucation of segment name
did I mention already that this is complicated stuff? oh yes, it is.
2025-11-21 02:52:01 +01:00
Frank
e63dc7e71e longer segment names
* introducing WLED_MAX_SEGNAME_LEN from upstream
* default: max name length = 48
* hopefully found all places where the segment name length was hardcoded (32, 33, 34)
* some comments still refer to "32" but wtf
2025-11-20 23:49:26 +01:00
Frank
2f48f03e44 truncate long segment name, instead of discarding
UX improvement: when segment names are too long (esp. with unicode), truncate it instead of deleting the name completely
2025-11-20 22:33:42 +01:00
Frank
2c3592c3f3 fix off-by-one array violation, debug message wghen segment name is too long
* fix possible off-by-one array overflow in drawText
* debug message when too-long segment name was dropped
2025-11-20 18:43:15 +01:00
Frank
207b197d04 scrolling text minor exhancements
* scroll faster !
* add softening (=blur) option
2025-11-20 18:08:18 +01:00
Frank
bb44dd8616 robustness improvements for image presets
prevent errors / crashes when drawing "i" images from a preset.
- prevent out-of-bounds writing (segment smaller than image)
- make sure that segment properties are cached correctly
- always do "show" when strip was triggered (avoids lost frames)
2025-11-04 20:28:26 +01:00
Frank
f8a673ce81 code robustness improvements plus minor speedup
* make  XY() and _setPixelColorXY_raw() const (minor speedup)
* segment is a struct not a class: friend class Segment --> friend struct Segment
* fix missing braces around two macros
* use non-throwing "new" where possible
* improve robustness of transition code
2025-01-07 15:58:38 +01:00
Frank
426805f674 bugfix: effect sliders cause screen balnking
@Brandon502 it works now with the matrix effect, can you retest please?
2024-11-07 21:03:56 +01:00
Frank
53ecf16ab1 bugfix: make freeze work again
the last commit had a side-effect that cause "freeze" to first blank the screen, then freeze.
2024-11-07 16:43:20 +01:00
Frank
d1541b520f Bugfix: remove ghost pixels when changing segment options
... transpose, mirror, reverse, grouping, spacing, size

* unlike AC WLED, when calling seg.fill(BLACK) from webserver context this usually has no effect --> added  markForBlank() that shedules segment blanking at the next drawing cycle
* fill previous segment with black when size, grouping or spacing changes
2024-11-07 14:36:39 +01:00
Frank
9312506217 detection of "OPI" flash (esp32s3 WROOM-2) 2024-10-30 18:40:26 +01:00
Frank
f14c4cbe5b make presets with images work with FASTPATH
seg.startFrame() is needed, otherwise nothing will be drawn.
2024-10-28 13:09:29 +01:00
Frank
cff17861a4 bugfix: rest segments when leds are switched off/on
based on an idea from @blazoncek in 4cc2cc4ad4 (diff-749825f808f7ce1ce1108fffc7ed037085160a63cad32397135dfc0063494373R56)
2024-10-27 16:43:21 +01:00
Frank
1656400746 bugfix for broken presets when segment name is very long
another off-by-one
2024-10-06 21:32:07 +02:00
Frank
bc11ec4b4e HUB75 bugfixes
* exclude HUB75 from ABL (bad macro in const.h; "pwr" item in json.cpp)
* show HUB75 as "physical" (LEDs preferences)
* minor corrections
2024-09-26 17:33:40 +02:00
Frank
ffc9ec3cfb exclude HUB75 from auto brightness limiter
For a 64x64 panel, ABL assumes 4A of standby current. This does not make any sense.
2024-09-22 17:07:26 +02:00