Skip to content

prepare WS DDP for ESP8266 compatibility, fix compiler warnings in pacman FX, remove omggif.js for ESP8266#5734

Open
DedeHai wants to merge 5 commits into
wled:mainfrom
DedeHai:minor_fixes
Open

prepare WS DDP for ESP8266 compatibility, fix compiler warnings in pacman FX, remove omggif.js for ESP8266#5734
DedeHai wants to merge 5 commits into
wled:mainfrom
DedeHai:minor_fixes

Conversation

@DedeHai

@DedeHai DedeHai commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator
  • use smaller packet size in WS DDP send on ESP8266 so sending does not fail
  • fix the flooding warnings in PacMan
  • remove omggif.js from ESP8266 builds as it is not useable (no image support) - accommodated with fixes in pixelforge, this saves roughly 2.5k of flash.

note: pixelpaint and videolab tools will get an update too

Summary by CodeRabbit

  • Bug Fixes
    • Improved Pac‑Man effect stability by hardening position math and preventing out-of-range LED indexing, including stricter ghost/power-dot state handling.
    • Enhanced reset behavior when blue ghosts return to the start for more consistent gameplay.
    • Fixed DDP WebSocket streaming chunk sizing for ESP8266 devices to improve update reliability.
  • UI Improvements
    • Updated PixelForge image/segment tab behavior to better handle ESP8266 limitations, including conditional resource loading and clearer availability messaging.
  • Compatibility
    • GIF-related assets are now only served when GIF support is enabled.

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

The PR hardens PacMan position handling, adds ESP8266-specific DDP chunk sizing, and updates PixelForge resource loading, image-tab behavior, and GIF route compilation for ESP8266 and GIF support configurations.

Changes

PacMan type handling

Layer / File(s) Summary
PacMan state and initialization
wled00/FX.cpp
PacMan positions, power-dot counts, allocation sizes, and initialization loops use explicit signed and unsigned integer types.
PacMan update and rendering
wled00/FX.cpp
Update, blinking, reset, movement, and drawing logic uses explicit loop types and unsigned bounds checks for positions.

ESP8266 PixelForge support

Layer / File(s) Summary
ESP8266 capability and PixelForge UI
wled00/data/pixelforge/pixelforge.htm
PixelForge detects ESP8266 targets, conditionally loads GIF resources, and displays an unavailable image-tool notice on ESP8266.
Conditional GIF asset route
wled00/wled_server.cpp
The GIF asset include, route, and HTTP handler are compiled only when GIF support is enabled.

DDP chunk sizing

Layer / File(s) Summary
ESP8266 DDP frame limit
wled00/data/common.js
sendDDP accepts an optional ESP8266 flag and selects a 172- or 472-pixel payload limit.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PixelForge
  participant fsMem
  participant ResourceLoader
  participant ImageTab
  PixelForge->>fsMem: detect device architecture
  fsMem-->>PixelForge: set is8266
  PixelForge->>ResourceLoader: conditionally load omggif.js
  PixelForge->>ImageTab: show image content or ESP8266 notice
Loading

Possibly related PRs

  • wled/WLED#4891: Both PRs modify the PacMan effect’s position and ghost/power-dot state handling.
  • wled/WLED#4982: Both PRs modify PixelForge and omggif.js integration.
  • wled/WLED#4997: Both PRs modify the sendDDP WebSocket streaming path.

Suggested labels: connectivity, effect, enhancement

Suggested reviewers: netmindz

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main changes: ESP8266 DDP compatibility, Pacman warning fixes, and disabling omggif.js on ESP8266.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DedeHai DedeHai changed the title prepare DDP for ESP8266 compatibility, fix compiler errros in pacman FX prepare WS DDP for ESP8266 compatibility, fix compiler errros in pacman FX Jul 13, 2026
@DedeHai DedeHai changed the title prepare WS DDP for ESP8266 compatibility, fix compiler errros in pacman FX prepare WS DDP for ESP8266 compatibility, fix compiler warnings in pacman FX Jul 13, 2026
@DedeHai DedeHai changed the title prepare WS DDP for ESP8266 compatibility, fix compiler warnings in pacman FX prepare WS DDP for ESP8266 compatibility, fix compiler warnings in pacman FX, remove omggif.js for ESP8266 Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant