fix: CW speed drove the wrong keyer; survey the meters to find the SWR one
Speed: with DTR/RTS line keying the PC does the timing, so the Yaesu console's slider — which sets the rig's internal keyer — changed nothing audible and looked broken. Both entry points now go through one handler that drives the engine actually sending, and additionally sets the rig's own keyer whenever a Yaesu is on CAT, so the radio's front panel shows the same figure. SWR: an operator reads 80 on the bar with a real SWR of 1.1. That is the shape of reading the WRONG METER — ALC, say — not of a scaling error, and which RM index carries which meter is not consistent across the family. Rather than guess again and move the wrong number somewhere else, the first transmission now logs RM1 through RM6 raw, once. The log will say which index is which on this radio, and the mapping can then be corrected as a fact.
This commit is contained in:
@@ -223,7 +223,14 @@ function Row({ label, children }: { label: string; children: React.ReactNode })
|
||||
);
|
||||
}
|
||||
|
||||
export function YaesuPanel({ onReportRST }: { onReportRST?: (rst: string) => void }) {
|
||||
export function YaesuPanel({ onReportRST, onKeySpeed }: {
|
||||
onReportRST?: (rst: string) => void;
|
||||
// Told whenever the operator moves the CW speed here, so the app can keep the
|
||||
// keyer that is ACTUALLY sending in step. With DTR/RTS line keying the PC does
|
||||
// the timing and the rig's internal keyer speed changes nothing audible — the
|
||||
// slider looked broken because it was driving the wrong keyer.
|
||||
onKeySpeed?: (wpm: number) => void;
|
||||
}) {
|
||||
const { t } = useI18n();
|
||||
const [st, setSt] = useState<YaesuState>(ZERO);
|
||||
// The frequency being LISTENED to. RigState follows ADIF, where freq_hz is the
|
||||
@@ -465,7 +472,7 @@ export function YaesuPanel({ onReportRST }: { onReportRST?: (rst: string) => voi
|
||||
<Card icon={Radio} title={t('yaesu.cw')}>
|
||||
<Row label="SPEED">
|
||||
<Slider value={view.key_speed || 20} min={4} max={60} accent="var(--primary)"
|
||||
onChange={(v) => push('key_speed', v, () => SetYaesuKeySpeed(v))} />
|
||||
onChange={(v) => { push('key_speed', v, () => SetYaesuKeySpeed(v)); onKeySpeed?.(v); }} />
|
||||
<span className="w-12 text-right text-xs font-mono tabular-nums text-muted-foreground">{view.key_speed || 20} wpm</span>
|
||||
</Row>
|
||||
<div className="flex items-center gap-2 flex-wrap">
|
||||
|
||||
Reference in New Issue
Block a user