Skip to content

feat: ISOBUS Virtual Terminal UI with persisted, VT-editable settings - #66

Open
sujandumaru wants to merge 5 commits into
AgOpenGPS-Official:developfrom
sujandumaru:feat/vt-ui
Open

feat: ISOBUS Virtual Terminal UI with persisted, VT-editable settings#66
sujandumaru wants to merge 5 commits into
AgOpenGPS-Official:developfrom
sujandumaru:feat/vt-ui

Conversation

@sujandumaru

Copy link
Copy Markdown
Collaborator

Summary

Adds an ISOBUS Virtual Terminal (VT) client to AOG-TaskController so the TC presents an on-screen UI on any connected VT: it shows connection/link status and the TC's bound IP, and lets the operator toggle features (NMEA, VT, TECU, AOG heartbeat) and edit settings directly from the terminal. Changes made on the VT are persisted to disk so they survive a restart.

Closes #23.

What's included

  • VT client + object pool — an embedded ISO 11783 object pool (resources/AOG_TC.iop, compiled into the binary via CMake file(READ … HEX) -> resources/AOG_TC.iop.h), rendered through AgIsoStack's VT client.
  • Live status — working-set label + AOG link state + the TC's bound IP ("AOG TC IP") pushed to the VT and refreshed as connection state changes.
  • VT-editable settings — feature toggles and numeric fields on the VT write back into the settings store.
  • Persistence — settings are saved atomically (temp file + rename) and guarded for concurrent access, so a VT edit and the runtime don't race on the file. Sample config updated to list the full persisted key set.
  • Refactor — application setup and the VT status-update path were split out of the main flow into focused helpers to keep the new code readable.
  • Docs — VT UI, settings keys, and troubleshooting notes.

Testing

  • Built clean (Linux).
  • Verified end-to-end against AgISOVirtualTerminal on pool loads, status strings update, toggles/edits round-trip and persist across restart.

Notes

  • Pool default strings are baked in the .iop; the running app overrides them at runtime, so a brief pre-connect default may flash before the client attaches.

Happy to adjust scope, split commits, or add tests if you'd prefer any of that before merge.

@sujandumaru
sujandumaru requested review from GwnDaan and gunicsba July 29, 2026 17:07
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.

[feat] UI in VT

1 participant