fix(kpa): stop switching the KPA500 off, and answer its operator instantly
Three faults, one report. The slow poll asks ^TP — the KPA1500's ATU, which a KPA500 (no ATU) never answers — and ask() dropped the whole connection on any read timeout: a two-second stall and a reconnect every slow cycle, which is why buttons lagged and the status read wrong. Worse, every serial reopen toggled DTR/RTS — and those lines are the KPA500's POWER SWITCH (that is how the Elecraft utility turns it on), so the amplifier obediently switched off twenty seconds after its operator pressed nothing but Standby. Silence is no longer a dead link (write errors still are), ^TP is never asked again after one silence, the control lines are asserted once and held, and the baud field becomes a list of the rates these amplifiers actually speak.
This commit is contained in:
@@ -4416,8 +4416,17 @@ function SettingsModalImpl({ onClose, onSaved, initialSection, onMainPaneChanged
|
||||
</div>
|
||||
<div className="space-y-1">
|
||||
<Label>Baud</Label>
|
||||
<Input type="number" min={1200} value={amp.baud}
|
||||
onChange={(e) => patchAmp(i, { baud: parseInt(e.target.value) || 115200 })} className="font-mono" />
|
||||
{/* A list, not a free number: the KPA500 report that
|
||||
began this had its operator wondering whether a typed
|
||||
baud was the whole problem. These are the rates the
|
||||
supported amplifiers actually speak. */}
|
||||
<select value={String(amp.baud)}
|
||||
onChange={(e) => patchAmp(i, { baud: parseInt(e.target.value) })}
|
||||
className="h-9 w-full px-2 rounded-md border border-border bg-background text-sm font-mono">
|
||||
{[4800, 9600, 19200, 38400, 57600, 115200].map((b) => (
|
||||
<option key={b} value={String(b)}>{b}</option>
|
||||
))}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
|
||||
Reference in New Issue
Block a user