APRS¶
OrbitDeck includes two APRS operator surfaces:
/aprsfor direct APRS testing and operations- the APRS section inside
settingsat/settings
This page documents the APRS settings model, runtime model, target model, and transport behavior.
Operating modes¶
APRS currently supports:
terrestrialsatellite
terrestrial uses a local or region-derived APRS frequency and terrestrial path defaults.
satellite uses a selected APRS-capable satellite/channel target and can expose:
- pass timing
- active transmit gating
- Doppler-corrected UHF tuning
- target-specific path defaults such as
ARISS
APRS settings¶
Persisted APRS settings are stored in settings.aprs_settings.
Main fields:
callsignssidlisten_onlyoperating_moderig_modelhamlib_model_idserial_devicebaud_rateciv_addressaudio_input_deviceaudio_output_devicekiss_hostkiss_portdirewolf_binaryterrestrial_pathsatellite_pathterrestrial_beacon_commentsatellite_beacon_commentposition_fudge_lat_degposition_fudge_lon_deglog_enabledlog_max_recordsnotify_incoming_messagesnotify_all_packetsdigipeaterigateselected_satellite_idselected_channel_idterrestrial_manual_frequency_hz
Interpretation:
operating_modechooses whether APRS target resolution is terrestrial or satellite-drivenhamlib_model_idis used by the USB/serial Dire Wolf path for explicit rig model selectionaudio_input_deviceandaudio_output_devicematter in USB APRS mode, but not in IC-705 Wi‑Fi APRS modeposition_fudge_*offsets are applied to position packets before transmitselected_satellite_idandselected_channel_iddefine the saved APRS satellite target
APRS runtime¶
The APRS runtime is returned by GET /api/v1/aprs/state and embedded in GET /api/v1/system/state.
Main fields:
connectedsession_activesidecar_runningkiss_connectedtransport_modecontrol_endpointmodem_stateaudio_rx_activeaudio_tx_activecapabilitiesowned_resourcelast_errorlast_started_atlast_packet_atlast_tx_atlast_tx_packet_typelast_tx_textlast_tx_raw_tnc2packets_rxpackets_txpackets_digipeatedpackets_igatedpackets_dropped_policypackets_dropped_duplicateheard_countdigipeater_requesteddigipeater_activedigipeater_reasonigate_requestedigate_activeigate_auto_enabledigate_statusigate_connectedigate_reasonigate_serverigate_last_connect_atigate_last_errortargetrecent_packetsheard_stationssidecar_commandoutput_tail
Interpretation:
transport_modeisusborwifimodem_statedescribes the active APRS modem stack, such asdirewolf-rx + native-afsk-txcapabilitiesreports which APRS transport features are currently availableoutput_tailis the recent Dire Wolf sidecar output used by the APRS console and troubleshooting workflowtargetis the currently active APRS target after target resolution and pass gating
APRS target model¶
Target resolution feeds:
/api/v1/aprs/targets/api/v1/aprs/select-target/api/v1/aprs/session/select/api/v1/aprs/statesystem/state.aprsPreviewTarget
The target state can include:
operating_modelabelsat_idsat_namechannel_idchannel_labelfrequency_hzuplink_hzdownlink_hzpath_defaultregion_labelguidancerequires_passpass_activepass_aospass_loscorrected_frequency_hzcorrected_uplink_hzcorrected_downlink_hzcorrection_sideactive_phaseretune_activecan_transmittx_block_reasonreason
Interpretation:
corrected_*values come from the shared Doppler modelcan_transmitandtx_block_reasonare the current APRS gate used to prevent off-pass satellite APRS transmitreasoncan carry developer-override or target-resolution context
APRS logging¶
OrbitDeck stores APRS receive history in a local JSONL file when APRS logging is enabled:
data/aprs/received_log.jsonl
Supported operations:
- list recent log entries
- clear by age bucket
- export CSV
- export JSON
Log-related settings:
log_enabledlog_max_recordsnotify_incoming_messagesnotify_all_packets
Digipeater and iGate¶
Digipeater settings:
enabledaliasesmax_hopsdedupe_window_scallsign_allowlistpath_blocklist
iGate settings:
enabledserver_hostserver_portlogin_callsignpasscodefilterconnect_timeout_sgate_terrestrial_rxgate_satellite_rx
Policy:
- digipeater mode is disabled by policy for satellite APRS targets
- iGate can remain active for receive when the current target and network conditions allow it
- APRS can auto-enable iGate when internet is available if
igate_auto_enable_with_internetis enabled
Dire Wolf integration¶
OrbitDeck exposes:
GET /api/v1/aprs/direwolf/statusPOST /api/v1/aprs/direwolf/installPOST /api/v1/aprs/direwolf/install-terminal
USB APRS behavior:
- Dire Wolf acts as the local TNC/decoder path
- Hamlib PTT configuration is generated explicitly from the selected rig model rather than using
PTT RIG AUTO
Wi‑Fi APRS behavior:
- Dire Wolf is used in decode-only UDP-audio mode for receive
- OrbitDeck generates Bell 202 AFSK transmit audio itself
- Wi-Fi PTT and TX audio are driven through the IC-705 LAN session
IC-705 Wi‑Fi APRS transport¶
The Wi‑Fi APRS path currently targets the IC-705.
Behaviour:
- OrbitDeck opens an IC-705 LAN session for CAT/PTT/audio control
- APRS runtime reports
transport_mode = wifi control_endpointreports the radio LAN control socketaudio_rx_activeandaudio_tx_activeexpose the current audio path state- OrbitDeck snapshots the previous radio state before APRS setup
- OrbitDeck restores that state on disconnect and on setup failure
Transport design:
- local OS audio devices are not used in Wi‑Fi APRS mode
- RX audio is forwarded to local UDP for decode-only Dire Wolf receive
- TX uses OrbitDeck-native Bell 202 AFSK modulation plus Wi‑Fi PTT/audio
Operational note:
- Wi‑Fi APRS expects the IC-705 to be in a compatible saved packet/data profile before connect
Rotator APRS workflow¶
The rotator APRS scene uses:
POST /api/v1/aprs/session/selectsystem/state.aprsPreviewTarget
Rotator behaviour:
- APRS-capable pass cards expose
Go to APRS - the rotator can pin an APRS scene for the selected target
- APRS satellite targets expose corrected UHF tuning and pass-state gating
- a connected APRS session can keep reapplying UHF Doppler retuning while the pass remains active