- Resolved persistent segmentation faults by correcting memory management and simplifying interactive input logic.
- Eliminated LED flickering by implementing a longer timeout in DNRGB packets and removing unnecessary refresh timers.
- Added an ASCII visualization of the LED layout to the terminal for better user feedback.
- Updated lessons_learned.md with detailed explanations of the problems and their solutions.
- Re-implemented the demo and interactive flashing functionality for the wled_config_tool from scratch based on the detailed specification in lessons_learned.md.
- Added a new WledClient::setLedsColor method to send the entire LED state in a single packet, preventing flickering.
- Fixed multiple build issues, including missing Qt module dependencies, deprecated function calls, and linker errors.
- Updated lessons_learned.md to document the code loss and recovery process, as well as the build fixes.
Outlined a new strategy to create a standalone tool for WLED configuration retrieval and interactive LED testing, addressing previous challenges with programmatic access and LED mapping.
Outlined a new strategy to create a standalone tool for WLED configuration retrieval and interactive LED testing, addressing previous challenges with programmatic access and LED mapping.
Updated lessons_learned.md with the confirmed WLED device details, including the corrected IP address (192.168.178.69), total LED count (181), and UDP port (21324). This resolves previous connectivity issues and allows for accurate configuration.
Documented findings from WLED API research, including JSON API for configuration and UDP Realtime protocol details, highlighting the default port mismatch.
Documented the core principles of Ambilight TV and its relevance to the Hyperion_Grabber_X11_QT project, including potential causes for LED color mismatches.
Addresses flickering issue by increasing _changeThreshold_m in hyperiongrabber.cpp from 100 to 5000. This filters out subtle pixel variations that caused unnecessary frame updates to WLED.
The mock server now correctly implements the newline-delimited JSON protocol observed in the Hyperion server and client code.
- It properly parses incoming JSON streams line-by-line.
- It creates QImage objects from the raw RGB data using the dimensions provided in the JSON payload.
- It sends a success reply to the client after receiving an image.
- This commit also updates lessons_learned.md with key findings from the debugging session.
- Remove all X11-related code and dependencies.
- Create a mock Hyperion server for testing.
- Refactor the main application to be Wayland-only.
- Update the build system and documentation.
This commit updates the lessons learned document to include details about
the D-Bus connection issues encountered when running the wayland_poc
executable on the host. It covers the fixes for method name mismatches
(PickSource to SelectSources), argument type mismatches (string to
QDBusObjectPath), and QDBusMessage API versioning.
This provides a more complete record of the debugging process for the
xdg-desktop-portal interaction.
This commit adds a comprehensive document summarizing the challenges,
debugging steps, and solutions encountered while attempting to adapt
the Hyperion Grabber for Wayland. It covers issues related to build
environments, PipeWire header compilation, and xdg-desktop-portal
interaction.
This document serves as a reference for future development and
troubleshooting efforts.