Skip to content

Interactive serial module#282

Open
llogen wants to merge 4 commits into
mainfrom
feat/extendSerialModule
Open

Interactive serial module#282
llogen wants to merge 4 commits into
mainfrom
feat/extendSerialModule

Conversation

@llogen

@llogen llogen commented Feb 18, 2026

Copy link
Copy Markdown
Contributor

Bidirectional serial console to the DUT. Resolves #121 and #119.

Client: raw terminal mode — keystrokes (incl. Ctrl-C/D/Z) stream live to
the DUT; quit with Ctrl-A x. Builds on Linux/macOS/Windows.

Module: three modes — interactive, expect (wait for regex), and
expect-send (auto-reply to prompts). Strips non-SGR escape sequences from
output. Auto-reconnects if the serial device drops mid-session (#119).

Agent: closes module stdin on teardown so sessions end cleanly.

This comment was marked as outdated.

@llogen llogen force-pushed the feat/extendSerialModule branch 2 times, most recently from 9f7f3e0 to 87a4da9 Compare February 18, 2026 10:07
@llogen llogen requested a review from Copilot February 18, 2026 10:08

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as resolved.

@jenstopp jenstopp changed the title feat: make serial module interactive Interactive serial module Mar 16, 2026
@llogen llogen force-pushed the feat/extendSerialModule branch 3 times, most recently from 8de5449 to 8db5226 Compare June 8, 2026 08:55
@llogen llogen marked this pull request as ready for review June 8, 2026 08:56
@llogen llogen force-pushed the feat/extendSerialModule branch from 8db5226 to d43b406 Compare June 19, 2026 09:08
llogen added 4 commits June 22, 2026 12:29
The serial module gains three modes - interactive pass-through,
expect (wait for a regex then exit) and expect-send pairs that
auto-reply to prompts - and strips non-SGR terminal sequences from
DUT output so they cannot corrupt the client terminal. If the serial
device disappears mid-session (e.g. an FTDI chip that powers down with
the DUT) it waits for the device to reappear and reconnects
automatically. (#119)

Signed-off-by: llogen <christoph.lange@blindspot.software>
The agent now closes the module stdin channel during session
teardown, so a module blocked reading client input (such as the
serial console) unblocks via EOF and the command returns instead
of hanging.

Signed-off-by: llogen <christoph.lange@blindspot.software>
The client now switches the terminal to raw mode during a run and
forwards every keystroke - including Ctrl-C, Ctrl-D and Ctrl-Z -
straight to the DUT. Press Ctrl-A then x to quit the session. Raw
mode is build-tagged for Linux and macOS, with a no-op fallback on
other platforms so the client still builds everywhere. (#121)

Signed-off-by: llogen <christoph.lange@blindspot.software>
The serial module accepts tagged expect:/send: arguments, so an
automation can send input before expecting, or interleave sends
and expects in any order — not just strict expect-send pairs.

Signed-off-by: llogen <christoph.lange@blindspot.software>
@llogen llogen force-pushed the feat/extendSerialModule branch from d43b406 to fafae49 Compare June 22, 2026 11:50
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.

Implement proper consol raw mode on the client

2 participants