Skip to content

Configuration

W9KSB edited this page Jun 14, 2026 · 3 revisions

Configuration

Overview

Pi-Sat uses one main configuration file:

  • pi-sat-controller.conf

This file controls:

  • server behavior
  • station location
  • TLE sources
  • tracked satellites
  • RX and TX device settings
  • rotator settings
  • automation selections
  • advanced control and timing behavior

Section Breakdown

[server]

Controls how the web app is served.

Important settings:

  • host
  • port
  • gui_resources_caching

gui_resources_caching controls browser caching behavior for GUI assets and is intentionally hidden from the settings page.

[station]

Defines the ground-station location used for pass prediction and live geometry.

Important settings typically include:

  • station name
  • location fields used by the backend for orbital calculations
  • elevation

The operator-facing GUI workflow may use a grid-based entry path even though the backend ultimately works from resolved location values.

[tle]

Controls TLE download behavior.

Important settings:

  • source_url
  • cache_dir
  • stale_after_hours

source_url can contain multiple TLE URLs. Pi-Sat downloads all configured sources, merges them, and keeps the newest TLE when duplicates exist for the same NORAD ID.

[profiles]

Controls where satellite and transponder profile data is stored.

Important settings:

  • satellites_file

[my_satellites]

Stores the operator's tracked satellite list and pass threshold behavior.

Important settings:

  • min_pass_elevation_deg
  • autotrack_next_pass
  • satellite_<norad_id> = name

[rx] and [tx]

Define radio control paths for downlink and uplink control.

Important settings:

  • enabled
  • connectivity
  • host
  • port
  • serial_port
  • baud
  • model_id
  • target_vfo
  • write_enabled
  • timeout_s

connectivity determines whether Pi-Sat uses:

  • an existing network Hamlib daemon
  • or a locally managed serial Hamlib daemon

write_enabled still exists in config, but it is not treated as a normal operator-facing GUI control.

[rotator]

Defines rotator control behavior.

Important settings:

  • enabled
  • connectivity
  • host
  • port
  • serial_port
  • baud
  • model_id
  • write_enabled
  • timeout_s
  • min_elevation_deg
  • return_home_after_pass

The current home position behavior is centered around the home target used by the backend rotator logic.

[automation]

This section stores optional AOS and LOS script selections used by the automation feature.

Typical behavior:

  • None means no script is selected
  • selected scripts are discovered from the local scripts/ directory
  • runtime execution details are visible through the monitor page logs

[safety]

Controls TX, retry, and update behavior.

Important settings:

  • tx_inhibit_below_horizon
  • tx_inhibit_on_cat_loss
  • tx_inhibit_without_valid_pass
  • frequency_deadband_hz
  • cat_rate_limit_hz
  • tracking_update_interval_ms
  • device-failure threshold behavior if supported by the current build

Settings Page vs Config File

Not every config key is exposed in the web settings page. Some values are intentionally local-only or hidden because they are deployment details or backend controls rather than routine operator settings.

Examples include:

  • GUI asset caching behavior
  • cache paths
  • some local-only file references
  • config-level write_enabled behavior

The runtime top-bar toggles in the dashboard are separate from config-level write permissions.

Recommended Practice

  • Keep one config file per Pi
  • Back up the config before major changes
  • Prefer stable serial paths such as /dev/serial/by-id/... where possible
  • Treat station location as critical configuration, not cosmetic metadata

Clone this wiki locally