From 18438d7737524f20a11b9f4fa1f5b38e88150271 Mon Sep 17 00:00:00 2001 From: rouggy Date: Sat, 4 Jul 2026 09:01:55 +0200 Subject: [PATCH] chore: release v0.16.3 --- frontend/src/version.ts | 2 +- internal/cat/omnirig.go | 21 ++++++++++++++------- telemetry.go | 2 +- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/frontend/src/version.ts b/frontend/src/version.ts index f6f2a6d..7a105b3 100644 --- a/frontend/src/version.ts +++ b/frontend/src/version.ts @@ -1,6 +1,6 @@ // Single source of truth for the app version shown in the UI (header + About). // Bump this on a release (the release script updates it alongside telemetry.go). -export const APP_VERSION = '0.16.2'; +export const APP_VERSION = '0.16.3'; // Author / credits, shown in Help -> About. export const APP_AUTHOR = 'F4BPO'; diff --git a/internal/cat/omnirig.go b/internal/cat/omnirig.go index 97c173d..14745ee 100644 --- a/internal/cat/omnirig.go +++ b/internal/cat/omnirig.go @@ -177,14 +177,21 @@ func (o *OmniRig) ReadState() (RigState, error) { BandFromHz(freqA) == BandFromHz(freqB) if genuineSplit { - // OmniRig's Vfo enum is RX-letter then TX-letter (AB = RX A, TX B). - // ADIF: FreqHz = TX, RxFreqHz = RX. + // ADIF: FreqHz = TX, RxFreqHz = RX. Determine which VFO is RX from the + // ACTIVE frequency (OmniRig's generic Freq — the VFO you're listening on): + // RX = the active VFO, TX = the other one. This is far more reliable than + // trusting OmniRig's Vfo AB/BA enum, which several rigs (e.g. Yaesu FTDX10) + // report inverted — the split then showed TX/RX swapped. s.Split = true - switch s.Vfo { - case "BA": - s.FreqHz, s.RxFreqHz = freqA, freqB // TX A, RX B - default: // "AB" and the usual "TX on the other VFO" case - s.FreqHz, s.RxFreqHz = freqB, freqA // TX B, RX A + switch { + case freqMain != 0 && freqMain == freqA: + s.RxFreqHz, s.FreqHz = freqA, freqB // listening on A → TX on B + case freqMain != 0 && freqMain == freqB: + s.RxFreqHz, s.FreqHz = freqB, freqA // listening on B → TX on A + case s.Vfo == "BA": + s.FreqHz, s.RxFreqHz = freqA, freqB // fall back to the Vfo enum + default: + s.FreqHz, s.RxFreqHz = freqB, freqA } } else { // Simplex: the operating frequency is OmniRig's generic Freq (the active diff --git a/telemetry.go b/telemetry.go index be22f9d..6bb721e 100644 --- a/telemetry.go +++ b/telemetry.go @@ -21,7 +21,7 @@ import ( const ( // appVersion is stamped on every heartbeat (and could feed the About box). - appVersion = "0.16.2" + appVersion = "0.16.3" // posthogHost is the PostHog ingestion endpoint. EU cloud by default; change // to https://us.i.posthog.com for a US project.