# trx-rs Configuration File # # Copy this file to one of: # ./trx-rs.toml (current directory) # ~/.config/trx-rs/config.toml (user config) # /etc/trx-rs/config.toml (system-wide) # # Or specify a custom path with: trx-bin --config /path/to/config.toml # # CLI arguments override config file values. [general] # Callsign or station identifier displayed in frontends 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 [frontends.http] # Enable HTTP/REST frontend with SSE for real-time updates enabled = true listen = "127.0.0.1" port = 8080 [frontends.rigctl] # Enable rigctl-compatible TCP interface (hamlib compatible) enabled = false listen = "127.0.0.1" port = 4532 [frontends.http_json] # Enable JSON-over-TCP control interface enabled = true listen = "127.0.0.1" # Set to 0 to bind an ephemeral port port = 0 # List of accepted bearer tokens (empty = no auth) # auth.tokens = ["example-token"] [frontends.qt] # Enable Qt/QML GUI frontend (Linux only, requires system Qt6) enabled = false # Use remote JSON TCP server instead of local rig task # remote.enabled = true # remote.url = "127.0.0.1:9000" # remote.auth.token = "example-token" [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