fix(elecraft): the K3 power meter converts to real watts

The operator measured the whole table: 10 W showed 83, 12 W showed 100, 13 W
showed 8 — the bargraph is relative to a meter RANGE that flips at 12 W
(0-12 QRP, 0-120 above). A bar percentage was never watts; with the PC
setting choosing the range, it converts, and the console prints the watts
beside the bar.
This commit is contained in:
2026-08-30 13:31:34 +02:00
parent 37298afd77
commit 0b909a4d63
4 changed files with 26 additions and 7 deletions
+3 -2
View File
@@ -18,7 +18,7 @@ type KenwoodState = {
available: boolean; model?: string; elecraft: boolean; mode?: string; data_sub?: string;
transmitting: boolean; split: boolean; split_tx_hz?: number;
s_meter: number; s_meter_raw: number;
power_meter: number; swr: number; swr_raw: number;
power_meter: number; power_w?: number; swr: number; swr_raw: number;
rf_power: number; af_gain: number; rf_gain: number; mic_gain: number; squelch: number;
preamp: boolean; att: boolean; nb: boolean; nr: boolean; agc?: string;
filter_hz: number; antenna: number; rit: boolean; xit: boolean; rit_offset: number; key_speed: number;
@@ -222,7 +222,8 @@ export function ElecraftPanel({ onReportRST }: { onReportRST?: (rst: string) =>
onReportRST(sMeterRST(sp.s, sp.over, view.mode));
}}
title={t('k3.sMeterHint', { raw: String(view.s_meter_raw) })} />
<MeterBar label="PWR" value={view.transmitting ? view.power_meter : 0} lo={0} hi={100} accent="#0ea5e9" />
<MeterBar label="PWR" value={view.transmitting ? view.power_meter : 0} lo={0} hi={100} accent="#0ea5e9"
display={view.transmitting && view.elecraft ? `${view.power_w ?? 0} W` : undefined} />
{/* 0 means "not measured", and it must not render as a perfect 1.0:
a match that looks ideal on an antenna nobody has measured is the one
reading that can cost a radio. */}
+2
View File
@@ -1083,6 +1083,7 @@ export namespace cat {
s_meter: number;
s_meter_raw: number;
power_meter: number;
power_w: number;
swr: number;
swr_raw: number;
rf_power: number;
@@ -1120,6 +1121,7 @@ export namespace cat {
this.s_meter = source["s_meter"];
this.s_meter_raw = source["s_meter_raw"];
this.power_meter = source["power_meter"];
this.power_w = source["power_w"];
this.swr = source["swr"];
this.swr_raw = source["swr_raw"];
this.rf_power = source["rf_power"];