📍 QTH / Locator

e.key==='Enter' && applyQRA()} />
{#if qraError}{qraError}{/if}
{qraFromCoords || '—'}
or enter coordinates manually

🔌 FlexRadio

{$flexConnected ? 'CONNECTED' : 'OFFLINE'}
{#if $flexConnected} {:else} {/if} {#if flexStatus} {flexStatus} {/if}
SATELLITE SLICES
↓ RX Downlink
↑ TX Uplink

Default: Slice A = RX downlink, Slice B = TX uplink

🔄 PstRotator

{$rotorConnected ? 'CONNECTED' : 'OFFLINE'}
{#if $rotorConnected} {:else} {/if} {#if rotorStatus} {rotorStatus} {/if}
ROTOR MODE
Axes

Select "Azimuth only" if you don't have an elevation rotor

🔊 Voice Alerts

{#if availableVoices.length === 0}

No voices detected. Install English voices via Windows Settings → Speech.

{:else}

{availableVoices.length} English voice{availableVoices.length > 1 ? 's' : ''} available. Recommended: Microsoft David or Zira.

{/if}

🛰️ TLE Data

Source: Celestrak amateur · Fallback: PE0SAT

{#if tleStatus} {tleStatus} {/if}

ℹ️ About

SatMaster v1.0 — F4BPO

Amateur satellite tracking · FlexRadio Doppler correction · PstRotator control

SGP4 via akhenakh/sgp4 · Go + Wails + Svelte