Skip to content

Refresh EX-IOExpander TCP client compatibility and lifecycle coverage - #534

Open
BanjoR wants to merge 10 commits into
DCC-EX:masterfrom
BanjoR:codex-commandstation-tcp-client
Open

BanjoR wants to merge 10 commits into
DCC-EX:masterfrom
BanjoR:codex-commandstation-tcp-client

Conversation

@BanjoR

@BanjoR BanjoR commented Aug 16, 2026

Copy link
Copy Markdown

Summary Refresh the TCP EX-IOExpander client work from preliminary PR #502 in the context of issue #372. ## Scope and related work - Reconcile poll-response framing with the separate EX-IOExpander TCP server PR #65, accepting tagged payloads while retaining raw-payload compatibility. - Retry partial Client::write results so frames cannot be truncated. - Add a dependency-free PowerShell loopback harness for fragmented frames, tagged/raw polls, error responses, reconnect after disconnect, and two independent client sessions. - Personal integration code and unrelated protocol behavior are explicitly out of scope. ## Validation evidence - pwsh -NoProfile -File test/tcp_client_protocol.tests.ps1 passed all 5 cases. - git diff --check and the scoped source/path audit passed. - PASS - Exact default python -m platformio run in a clean task checkout with an isolated PlatformIO core completed for all five configured environments: mega2560, ESP32, Nucleo-F411RE, Nucleo-F446RE, and Nucleo-F429ZI. - No superseded BanjoR PR was identified; PR #502 is the linked preliminary contribution being refreshed.

  • N/A - Fork-hosted CI: no Actions run exists for exact head 87d8c817fc17b8424f8558de54030576e243adf4; the available CommandStation fork CI is push-triggered and did not record a run for this head.
  • N/A - Upstream PR workflows for this head are Docs run 31942856855 and Label sponsors run 31942857011, both action_required with no firmware jobs; neither is build validation. ## Hardware validation Hardware validation: Not run—no hardware available. Maintainer bench criteria: connect a CommandStation and EX-IOExpander TCP server, exercise fragmented and complete tagged/raw poll frames, malformed/error responses, disconnect/reconnect, partial writes, and two independent client sessions; verify no truncation or cross-session state leakage. This PR is ready for maintainer review; network/hardware bench validation remains outstanding; local five-environment compilation is complete.

Current exact-head CI status

N/A — No BanjoR fork Actions run exists for exact head 87d8c817fc17b8424f8558de54030576e243adf4; no hosted code-test result is claimed. Local validation above is the available evidence.

@BanjoR
BanjoR marked this pull request as ready for review August 17, 2026 09:32
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.

2 participants