Files
trx-rs/trx-server.toml.example
T
sjg 04f8fd019a [docs](trx-rs): document SDR backend configuration options
Add [sdr], [sdr.gain], and [[sdr.channels]] sections to CONFIGURATION.md,
extend [rig.access] with type = "sdr" / args, add CLI override note, and
append a commented SoapySDR example block to trx-server.toml.example.
Mark SDR-09 as complete in SDR.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
2026-02-24 21:24:41 +01:00

142 lines
3.4 KiB
TOML

# trx-server Configuration File
#
# Copy this file to one of:
# ./trx-server.toml (current directory)
# ~/.trx-server.toml (legacy user config)
# ~/.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 = 4530
[listen.auth]
# Authentication tokens (empty = no auth required)
tokens = []
[pskreporter]
# Enable uploads of decoded FT8/WSPR spots to PSK Reporter
enabled = false
# PSK Reporter endpoint (UDP)
host = "report.pskreporter.info"
port = 4739
# Optional receiver locator (4 or 6-char Maidenhead).
# If omitted, it is derived from [general].latitude/[general].longitude.
# receiver_locator = "JO93"
[aprsfi]
# Enable APRS-IS IGate uplink (forwards received RF APRS packets to APRS-IS / aprs.fi)
enabled = false
# APRS-IS server (rotate.aprs.net does DNS round-robin across all tier-2 servers)
host = "rotate.aprs.net"
port = 14580
# APRS-IS passcode. -1 = auto-computed from [general].callsign.
# passcode = -1
[decode_logs]
# Optional decoder message logs to files (APRS/CW/FT8/WSPR)
enabled = false
# Base directory for decoder logs.
# Default (if omitted): $XDG_DATA_HOME/trx-rs/decoders
# Fallback: logs/decoders
# dir = "/path/to/decoder-logs"
# Per-decoder log file names
# Supported tokens: %YYYY% %MM% %DD%
aprs_file = "TRXRS-APRS-%YYYY%-%MM%-%DD%.log"
cw_file = "TRXRS-CW-%YYYY%-%MM%-%DD%.log"
ft8_file = "TRXRS-FT8-%YYYY%-%MM%-%DD%.log"
wspr_file = "TRXRS-WSPR-%YYYY%-%MM%-%DD%.log"
# --- SoapySDR backend example ---
# To use an SDR device instead of a physical transceiver, set:
#
# [rig]
# model = "soapysdr"
# initial_freq_hz = 14074000
# initial_mode = "USB"
#
# [rig.access]
# type = "sdr"
# args = "driver=rtlsdr"
#
# [sdr]
# sample_rate = 1920000
# bandwidth = 1500000
# center_offset_hz = 200000
#
# [sdr.gain]
# mode = "auto"
# value = 30.0
#
# [[sdr.channels]]
# id = "primary"
# offset_hz = 0
# mode = "auto"
# audio_bandwidth_hz = 3000
# decoders = ["ft8", "cw"]
# stream_opus = true
#
# [[sdr.channels]]
# id = "wspr"
# offset_hz = 21600
# mode = "USB"
# audio_bandwidth_hz = 3000
# decoders = ["wspr"]
# stream_opus = false