You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.6 KiB
2.6 KiB
TermTCP CLI
A terminal TCP client for BPQ32 packet radio nodes, written in C with an ncurses TUI. Connects via BPQTermTCP protocol, displays split output/monitor panes, and supports real-time RF frame monitoring with port filtering.
Features
- ncurses TUI with split output and monitor panes
- BPQ packet radio node support (BPQTermTCP protocol)
- RF monitor with per-port and frame-type filtering
- Auto-populates port names from the BPQ server on connect
- Scrollable output and monitor windows with history
- Input history (Up/Down arrows)
- Session logging to timestamped files
- Multiple host configuration with quick connect
- Unicode box-drawing borders on all menus
Dependencies
- GCC
- ncurses (wide character support —
libncursesw6)
Install dependencies on Debian/Ubuntu
sudo apt install gcc libncurses-dev
Build
make -f Makefile_CLI
The binary is ./termtcp.
Other make targets
make -f Makefile_CLI clean # Remove build artifacts
make -f Makefile_CLI debug # Build with debug symbols
make -f Makefile_CLI install # Install to /usr/local/bin/
Manual compile
gcc -Wall -Wextra -O2 -std=gnu99 -D_XOPEN_SOURCE_EXTENDED \
-o termtcp termtcp_cli.c -lm -lncursesw
Configuration
On first run, ~/.termtcprc is created automatically. Edit it to add BPQ nodes:
[Host0]
Host=10.0.2.7
Port=17023
Username=kb8pmy
Password=yourpassword
Name=Home Node
[Host1]
Host=10.121.15.68
Port=17023
Username=kb8pmy
Password=yourpassword
Name=Water Tower
Port names and monitor settings are also saved here automatically.
Usage
./termtcp
Key bindings
| Key | Action |
|---|---|
| Ctrl+A | Open menu |
| Ctrl+A C | Connect |
| Ctrl+A D | Disconnect |
| Ctrl+A O | Config / host editor |
| Ctrl+A M | Monitor options |
| Ctrl+A L | Toggle session log |
| Ctrl+A H | Help |
| Ctrl+A Q | Quit |
| Up / Down | Input history |
| PgUp / PgDn | Scroll output window |
| Home / End | Scroll monitor window |
| Enter | Send line to server |
Monitor options (Ctrl+A M)
- Toggle TX, supervisor, nodes, and UI-only filtering
- Toggle monitor pane visibility
- Select which RF ports to monitor (Tab to switch to port selection)
Port names are auto-populated from the BPQ server when you connect.
BPQ Protocol Notes
- Connects using BPQTermTCP protocol (same as QtTermTCP)
- Sends trace options on connect to enable RF monitoring
- Port list is requested automatically via P8=1 parameter
- Monitor frames delimited by
0xFF/0xFEbyte markers - NODES broadcasts filtered client-side via
>NODESdetection in AX.25 header
Version
Current: 0.0.53