Enhancement/395 webpage bring up#483
Merged
nk25719 merged 2 commits intoPubInv:enhancement/395-webpage-bringUpfrom Apr 17, 2026
Merged
Enhancement/395 webpage bring up#483nk25719 merged 2 commits intoPubInv:enhancement/395-webpage-bringUpfrom
nk25719 merged 2 commits intoPubInv:enhancement/395-webpage-bringUpfrom
Conversation
…nd-update-webpage Add web /status and /lcd endpoints and LCD mirror buffer for GPAD_API
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes issue #395/krake/pubinv
What and why
Provide a backend for the existing webpage in
data/so device status and the live LCD output can be shown remotely.Make the on-device LCD output available to the web UI by mirroring writes from the HAL layer into an in-memory buffer.
Added JSON endpoints
/statusand/lcdand wired them into the web server so the page can fetch runtime info and the four LCD lines; the new handlers and template processor live inFirmware/GPAD_API/GPAD_API/GPAD_API.ino.Replaced the index templating callback with
templateProcessor()to populate%SERIAL%,%URL%,%IP%,%MAC%,%RSSI%,%UPTIME%,%MQTT%, and%QR%when servingindex.html.Implemented
jsonEscape(),uptimeString(), andcurrentUrl()helpers used by the new endpoints to construct safe JSON and human-readable status values.Extended
LCDWrapperinFirmware/GPAD_API/GPAD_API/GPAD_HAL.hto maintain a 20x4 mirror buffer with cursor tracking and addedline(row)accessors so the web endpoint can return exactly what is printed to the physical LCD.Adjusted startup ordering so routes are registered before
server.begin()to ensure endpoints are available as soon as the web server starts.Verify
pio run -d Firmware/GPAD_API, which failed because thepioCLI is not installed in the environment (pio: command not found).python3 -m platformio run -d Firmware/GPAD_API, which failed because theplatformioPython package is not installed (No module named platformio).files changes only
GPAD_API
GPAD_HAL