Files
MeshTerm/config.example.toml
T
Jean-Pierre MartineauandClaude Opus 4.8 43353f83a9 Initial commit: MeshTools with device discovery & selection
MeshTools is a Rich+Questionary interactive / Typer-scriptable toolkit for
tuning a MeshCore mesh over a serial companion device, with SQLite-logged runs
and Plotly visualizations. Includes the skeleton (trace, info, history),
TX-power optimization, and a MockDevice simulator (--mock).

Device discovery & selection:
- core/discovery.py: enumerate serial ports (pyserial), flag/sort likely LoRa
  hardware by USB vendor id, stable_id for replug-safe identity.
- core/device_store.py: remember the last successfully connected device in
  <config_dir>/devices.json (independent of --db).
- core/selection.py: non-interactive resolver (--port > profile > remembered >
  sole device > guidance error) for the CLI.
- ui/device_picker.py + menu startup: interactive picker preselecting the
  remembered default; banner reflects the choice.
- tools/devices.py: `meshtools devices` lists/marks attached devices.
- AppContext resolves the port and records last-known-good on connect success.

Fixes:
- theme.py: force UTF-8 on stdout/stderr so glyphs don't crash legacy consoles.
- connection.py: friendly message when meshcore is missing; pin meshcore>=2.3.
- trace/tx-optimize: fall back to free-text target entry when the device
  reports no contacts (autocomplete requires non-empty choices).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 17:02:34 -04:00

32 lines
1011 B
TOML

# MeshTools configuration.
# Copy to ~/.config/meshtools/config.toml (or pass --db / --port on the CLI).
#
# Profiles are optional. With no profile and no --port, MeshTools discovers attached
# serial devices, lets you pick one (interactively) or uses the single one present, and
# remembers the last device that connected as the default for next time. Define profiles
# below only to give your hardware stable aliases (e.g. --profile yagi).
default_profile = "s3"
trace_cooldown_s = 1.0
# db_path = "C:/Users/you/meshtools/meshtools.db"
# output_dir = "C:/Users/you/meshtools/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"