Added a qDebug() statement in hgx11::_sendImage() to log when an image
is created and an attempt is made to send it to the Hyperion server.
This will help determine if the image grabbing and sending pipeline is
active.
Added a qDebug() statement in hgx11net::_connectHost() to log a
successful connection to the Hyperion server. This will help confirm
that the network connection is established before any commands are
attempted to be sent.
Added a qDebug() statement in hgx11net::_sendCommand() to log the JSON
command string just before it is sent to the Hyperion server. This
will help in debugging why no results are appearing on the Hyperion
end, by confirming if commands are being sent and what their content is.
The JSON output sent to the Hyperion server was malformed, specifically
the "priority" field, leading to an "unterminated object" error.
This was caused by the _hyperionPriority_m variable (and
subsequently _priority_m in hgx11net) containing the literal
"priority:" string, which was then redundantly added during JSON
string construction.
This commit modifies:
- hgx11.cpp: To store only the numerical priority value in
_hyperionPriority_m.
- hgx11net.cpp: To explicitly add the "priority:" key during JSON
string construction in all relevant functions (clearLeds,
setLedColor, _colorAdjustment, _thresholdAdjustment,
_transformdAdjustment, _temperatureAdjustment, and _setImgSize).
This ensures that the generated JSON is correctly formatted.
Added qDebug() statements to trace the execution flow and print out important values in the damage monitoring thread.
This will help to identify if X11 damage events are being received.
Added qDebug() statements to trace the execution flow and print out important values in the main function.
This will help to identify if the application is exiting prematurely.
Added qDebug() statements to trace the execution flow and print out important values in the screen grabbing process.
This will help to identify the root cause of the screen grabbing issue.
The systemd user service might not clear the LED's because systemd doesn't allow enough time for the grabber to gracefully shutdown, so this service ensures the LED's do turn off, unfortunately this doesn't occur on user logout, putting a ExecStop in the user script could also be a viable option.