Files
MeshTerm/config.example.toml
T
Jean-Pierre MartineauandClaude Opus 4.8 965783d276 Network (TCP) companions: connect, remember, and manage from the picker
Add TCP alongside serial and BLE as a first-class companion transport, end to
end: discovery/connection/selection learn a tcp: stable_id and host:port target,
--tcp and TCP config profiles reach a WiFi board or network proxy, and a network
companion -- which isn't discoverable -- is rebuilt into the picker from its
remembered endpoint.

Device picker gains the network-device affordances:
- "Add a network device" prompts for host:port, smoke-tests it, and remembers it.
  The row is marked "- experimental" in the cautionary hue.
- Delete on a network row opens a chromeless Cancel/Remove confirm (Cancel left,
  Remove right and default: Enter removes, Esc cancels), then DeviceStore.forget
  prunes it and re-draws the list. Serial/BLE rows stay inert.
- The "Del remove" footer atom now follows the highlight, surfacing on the box's
  bottom border only while the cursor sits on a deletable row; the box is sized
  to the fullest footer so it never widens mid-navigation.

Folds in the accompanying courier, channels, and config refinements built along
the way. Screens stay readable at 72 cols; full suite green (745 tests).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 02:38:11 -04:00

60 lines
2.5 KiB
TOML

# MeshTerm configuration.
# Copy to ~/.meshterm/config.toml (or pass --db / --port on the CLI).
#
# Profiles are optional. With no profile, no --port/--ble/--tcp, MeshTerm discovers attached
# serial devices and nearby Bluetooth companions, lets you pick one (interactively) or uses the
# single one present, and remembers the last device that connected as the default for next time.
# A network (TCP) companion isn't discoverable — name it with --tcp host:port, a TCP profile, or
# the picker's "add a network device" prompt. Define profiles below only to give your hardware
# stable aliases (e.g. --profile yagi, --profile handheld for Bluetooth, --profile wifi for TCP).
default_profile = "s3"
trace_cooldown_s = 1.0
# Automatic re-sends of a direct message that goes unacknowledged, before it's marked failed.
# 0, 1, or 2 (clamped): 0 = one shot, 2 (default) = up to three tries. Ctrl-R in chat is a
# further manual retry on top of this.
direct_message_soft_retries = 2
# Days of overheard-packet history the recorder keeps; older observations are pruned
# once per session start (0 = keep everything forever).
history_days = 365
# db_path = "C:/Users/you/meshterm/meshterm.db"
# output_dir = "C:/Users/you/meshterm/output"
# One [profiles.<name>] block per physical companion device.
[profiles.s3]
port = "COM5"
baudrate = 115200
default_tx_power = 20
description = "XIAO ESP32-S3 + Wio SX1262 serial companion"
[profiles.yagi]
port = "COM6"
description = "Yagi repeater (reaching the wider mesh)"
[profiles.local]
port = "COM7"
description = "Local-range repeater"
[profiles.observer]
port = "COM8"
description = "XIAO observer running a bot"
# A Bluetooth LE companion: give it an `address` (from `meshterm devices`) instead of a port.
# The `transport = "ble"` line is optional — a bare `address` already implies Bluetooth.
[profiles.handheld]
address = "AA:BB:CC:DD:EE:FF"
# transport = "ble"
# ble_pin = "123456" # only if your device requires a pairing PIN
description = "Pocket handheld over Bluetooth"
# A network (TCP) companion — a WiFi board, or a meshcored-style proxy — reachable at a
# host:port. Give it a `host` (and optional `tcp_port`, default 5000); a bare `host` already
# implies TCP, so the `transport = "tcp"` line is optional. A TCP companion isn't discoverable,
# so a profile (or --tcp host:port, or the picker's "add a network device" prompt) is how you
# reach one.
[profiles.wifi]
host = "192.168.1.50"
# tcp_port = 5000
# transport = "tcp"
description = "Basestation over WiFi"