Skip to main content

Interface Layout

Layout

The TUI divides the terminal into four regions separated by line-drawing characters.

┌─────────────────────────────────────────────────────────────────┐
│  STM32 SERIAL COMMANDER              /dev/ttyACM0  ·  115200 baud │
├──────────────────────────────┬──────────────────────────────────┤
│  COMMANDS                    │  MOTOR                           │
│                              │  erpm    2000  [e]               │
│  [1] speed                   │  accel   1000  [a]               │
│  [2] stop                    │  time ms 5000  [t]               │
│  [3] profile                 │                                  │
│                              │  PIO                             │
│  [b] pio build               │  target  upload      [p]         │
│                              │  env     can_board   [n]         │
│  [q] quit                    │                                  │
├──────────────────────────────┼──────────────────────────────────┤
│  TX                          │  INCOMING                        │
│  ▸ connected /dev/ttyACM0    │  [INFO] system ready             │
│  ▸ speed 2000                │  [INFO] CAN init ok              │
│  ▸ profile 2000 1000 5000    │  [WARNING] temp high             │
├──────────────────────────────┴──────────────────────────────────┤
│  1 speed   2 stop   3 profile   b pio build   e/a/t/p/n edit   q quit │
└─────────────────────────────────────────────────────────────────┘

Regions

Top-left — COMMANDS: Available key bindings. [q] is visually separated from the command group.

Top-right — MOTOR / PIO: Editable parameters with current values. Each shows its edit key in brackets. Values highlight in yellow when active.

Bottom-left — TX: Scrolling log of sent commands, prefixed with . Most recent entries appear at the bottom.

Bottom-right — INCOMING: Scrolling serial output, colour-coded by severity:

Prefix

Colour

[ERROR]

Red

[WARNING]

/

[WARN]

Yellow

[INFO]

Cyan

(other)

White

Status bar: Shows edit mode prompt when a field is being edited; otherwise shows the full key reference.

Terminal Requirements

Minimum ~80×24 terminal. Colour support recommended — falls back to curses.COLOR_MAGENTA if the terminal cannot redefine colours (the TUI uses a custom purple #5a2273).