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: //