From cbe571a7423bebe5584bd9302c7a010b4fb5a9d5 Mon Sep 17 00:00:00 2001 From: rouggy Date: Wed, 29 Jul 2026 13:52:45 +0200 Subject: [PATCH] chore: log the power setting with the Yaesu meters, to identify the wattmeter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One transmission cannot name it. RM4 rose while RM5 stayed flat — which points at RM4 — but RM5 differed BETWEEN transmissions, 208 then 105, which points at RM5. Both readings are consistent with either answer, so picking one now would just be the FT-991A table mistake again in a new place. The survey line now carries the rig's power setting, and the sample cap is raised from 12 to 40 so two transmissions fit. Keying at, say, 10 W and then 100 W makes the answer a one-line comparison: the wattmeter is whichever index moves with the setting. The displayed mapping is left alone until that comparison exists. --- internal/cat/yaesu_panel.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/cat/yaesu_panel.go b/internal/cat/yaesu_panel.go index ab5c727..496d482 100644 --- a/internal/cat/yaesu_panel.go +++ b/internal/cat/yaesu_panel.go @@ -135,7 +135,7 @@ func (y *Yaesu) readPanel(mode string, split bool, txHz int64) { // the transmission starts catches the meters still at rest (RM4=13, the // rest zero), which says nothing. What identifies a meter is which index // TRACKS the power over a few seconds of steady carrier. - if y.metersLogged < 12 { + if y.metersLogged < 40 { y.metersLogged++ raw := make([]string, 0, 6) for i := 1; i <= 6; i++ { @@ -146,7 +146,14 @@ func (y *Yaesu) readPanel(mode string, split bool, txHz int64) { raw = append(raw, fmt.Sprintf("RM%d=-", i)) } } - debugLog.Printf("yaesu: meters while transmitting: %s (send this if a bar reads wrong)", strings.Join(raw, " ")) + // The POWER SETTING goes on the same line. Which index is the wattmeter + // cannot be read off one transmission — RM4 rose while RM5 sat still, + // but RM5 differed BETWEEN transmissions (208 then 105), so both are + // candidates. What settles it is transmitting at two different power + // settings and seeing which index follows: printing the setting here + // makes that a one-line comparison instead of a memory exercise. + debugLog.Printf("yaesu: meters at PC=%dW: %s (compare two different power settings)", + y.panel.RFPower, strings.Join(raw, " ")) } // Measured on an FTDX10 (2026-07-29), a steady carrier for three seconds: //