Repository navigation
Release 0.9.4 dev.9
Release: 0.9.4
Build: 0.9.4-dev.9
Stable behavioral baseline: 0.9.3
Target: Waveshare ESP32-S3-RGB-Matrix / WLED 17.0.0-devV5
Dev.9 is a refactor-only preparation build. It keeps the dev.7 whole-file GIF source-staging policy and the dev.8 corrected telemetry unchanged while moving active stage ownership, guards and counters into IDotMatrixGifSourceStage. No persistent PSRAM source reuse, prefetch or Carousel preload is enabled yet.
The reported dev.8 Carousel/GIF soak reached about 22 minutes with:
gifStage=state:psram bytes:1981 peak:173821 attempts:266 ok:266 fallback:0
psram=total:15269888 free:15116612 minFree:14942920 peakUsed:326968 largest:14942208 minLargest:14680064
All PSRAM snapshot invariants passed. The current largest block recovered to 14,942,208 bytes after the temporary 256 KiB low-water excursion, and no persistent staging-related leak or fragmentation was observed in the reported window.
- adds
IDotMatrixGifSourceStage.h/.cpp; - moves the existing staged-buffer lifetime and
gifStagecounters into that component; - preserves the 2 MiB maximum, 4 MiB reserve, 4096-byte chunk copy and scheduler yield;
- preserves AnimatedGIF callback semantics and automatic LittleFS fallback;
- preserves release order: close AnimatedGIF first, release the stage immediately afterward;
- keeps all other targets and the no-PSRAM frame-cache path unchanged.
Host/package regression must pass. A short real-device Carousel/GIF smoke is required because the staging code was structurally moved. A new long soak is not required solely for this refactor if repeated stage/release transitions, telemetry invariants, playback timing, AudioReactive and Matrix Auto Rotation remain clean.
16x16 -> 64x64 and 32x32 -> 64x64 Waveshare scaling remain separately pending.
iDotMatrix WLED Usermod 0.9.4 — stable release
- Home
- Release 0.9.4
- Release 0.9.3
- Release 0.9.2
- Release 0.9.1
- Release 0.9.0
- Getting Started
- Hardware
- Implementation
- Build / Validation