LED-Strip DDP Simulator can be used as a visual debugging tool for the DDP protocol. It really shines✨ fullscreen on e.g. a Raspberry Pi to turn any monitor into a low-fi part of your lighting setup, e.g. using LedFx to drive animations.
- 🎆 Fullscreen or window (options for undecorated/borderless and stay-on-top)
- 🕺 Low latency
- 💫 Configurable high framerate
- 🔋 Minimal resource usage
- 🚀 Hardware accelerated
- 🪄 Framebuffer or Window manager (X / Wayland / MacOS)
On the Releases page the following variants are available:
Desktop-amd64
: Runs with a window manager on Linux x86_64Desktop-arm64
: Runs with a window manager on Linux aarch64 (Raspberry Pi 64-bit)Desktop-armhf
: Runs with a window manager on Linux armhf (Raspberry Pi 32-bit)DRM-amd64
: Runs in a Framebuffer (on the Console) on Linux x86_64DRM-arm64
: Runs in a Framebuffer (on the Console) on Linux aarch64 (Raspberry Pi 64-bit)DRM-armhf
: Runs in a Framebuffer (on the Console) on Linux armhf (Raspberry Pi 32-bit)MacOS-x86_64
: Runs on MacOS x86_64 (Intel)MacOS-arm64
: Runs on MacOS arm64 (M1)
This project uses Raylib with the CMake template. To compile, use one of the following dependending on your build target.
Use the following commands to build for desktop:
cmake -DPLATFORM=Desktop -B build
cmake --build build
Use the following commands to build for DRM (framebuffer):
cmake -DPLATFORM=DRM -B build
cmake --build build
Support for e.g. Art-Net and E1.31 could be added, if there is sufficient interest.
[-V]
Output the version string and exit[-v]
Increase verbosity (can be used multiple times). -v : verbose, -vv : debug, -vvv : trace.[-h]
Output this usage help and exit
[-s NxM]
Screen/window width to use (default 800x600).[-p N | NxM]
horizontal pixel count (default 20x10).[-n N]
total pixel count, automatic ifpixelY
ist set.[-g N | NxM]
horizontal gap between pixels (default 15x15).
[-S]
Enable snake layout, alternates direction of rows.[-M]
Enable mirror layout, mirros horizontally.[-F]
Enable flip layout, flips vertically.[-T]
Enable tilt layout, transforms diagonally.[-R]
Rotate layout right.[-L]
Rotate layout left.[-C]
Enable circle drawing.[-O]
Enable text overlay.
[-f N]
Target FPS (default 60).[-H N]
Hold N seconds before blanking (0 is forever, default 0).[-E N]
Exit after being idle N seconds (0 is never, default 0).[-r N]
Console report rate.[-d N]
Dump every n'th packet.
The windowed builds (Desktop) support the following hotkeys:
- Esc: Quit
- F: Toggles fullscreen
- R: Toggles resizable window
- D: Toggles undecorated window
- M: Toggles maximized window
- T: Toggles topmost window
- V: Toggles vsync hint