Files
trx-rs/trx-server.toml.example
T
sjg c4007f16e3 [feat](trx-server): add JSON TCP listener for client connections
Add a JSON-over-TCP listener so trx-client can connect to trx-server.
Speaks the ClientEnvelope/ClientResponse protocol from trx-core::client.

- New listener.rs module with per-client connection handling
- ListenConfig/AuthConfig in config.rs (default: 127.0.0.1:4532)
- CLI args --listen and --port for override
- Optional token-based authentication
- Updated example config with [listen] section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
2026-02-07 13:03:19 +01:00

65 lines
1.5 KiB
TOML

# trx-server Configuration File
#
# Copy this file to one of:
# ./trx-server.toml (current directory)
# ~/.config/trx-rs/server.toml (user config)
# /etc/trx-rs/server.toml (system-wide)
#
# Or specify a custom path with: trx-server --config /path/to/config.toml
#
# CLI arguments override config file values.
[general]
# Callsign or station identifier
callsign = "N0CALL"
# Log level: trace, debug, info, warn, error
# log_level = "info"
[rig]
# Rig model: ft817 (more models coming)
model = "ft817"
# Initial frequency (Hz) before first CAT read
initial_freq_hz = 144300000
# Initial mode before first CAT read (LSB, USB, CW, CWR, AM, WFM, FM, DIG, PKT)
initial_mode = "USB"
[rig.access]
# Access type: "serial" or "tcp"
type = "serial"
# Serial port settings (when type = "serial")
port = "/dev/ttyUSB0"
baud = 9600
# TCP settings (when type = "tcp")
# host = "192.168.1.100"
# tcp_port = 4532
[behavior]
# Polling interval when idle (milliseconds)
poll_interval_ms = 500
# Polling interval when transmitting (milliseconds)
poll_interval_tx_ms = 100
# Maximum retry attempts for transient errors
max_retries = 3
# Base delay for exponential backoff (milliseconds)
retry_base_delay_ms = 100
[listen]
# Enable the JSON TCP listener for client connections
enabled = true
# IP address to listen on (use "0.0.0.0" for all interfaces)
listen = "127.0.0.1"
# TCP port to listen on
port = 4532
[listen.auth]
# Authentication tokens (empty = no auth required)
tokens = []