A direct message was transmitted once and marked failed the moment its single delivery-ack window lapsed, leaving Ctrl-R as the only recourse. Now the send path re-sends an unacknowledged message automatically before giving up, matching the mesh convention of a few tries. _deliver_direct loops send_direct_message until an ack lands or the budget is spent; both the initial send and the manual Ctrl-R resend route through it. Each attempt already blocks a full ack window before the next, so the retries are spaced by that window rather than hammering the radio, and a hard send rejection propagates without retry. The budget is the new direct_message_soft_retries setting: retries + 1 tries, clamped to 0..2 so a message is never re-broadcast more than twice (0 = one shot, default 2 = up to three tries). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
45 lines
1.7 KiB
TOML
45 lines
1.7 KiB
TOML
# MeshTerm configuration.
|
|
# Copy to ~/.meshterm/config.toml (or pass --db / --port on the CLI).
|
|
#
|
|
# Profiles are optional. With no profile, no --port, and no --ble, 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. Define profiles below only to give your hardware stable aliases
|
|
# (e.g. --profile yagi, or --profile handheld for a Bluetooth device).
|
|
|
|
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
|
|
# 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"
|