fix(icom): kill the leftover waveform in both command forms, and say so
The blind kill at connect still left a real 7760 streaming — the selector byte differs by model, and the result was discarded so a quiet failure looked like a cure. Both forms go out now (a NAK costs one frame) and the outcomes are logged. The power table also gains its third measured anchor: a real 200 W reads full deflection, so raw 213 is 200 W — not the printed face's 250.
This commit is contained in:
@@ -277,8 +277,12 @@ func (b *IcomSerial) Connect() error {
|
||||
// acknowledgement. The front-panel display is deliberately untouched.
|
||||
// Synchronously: Connect already runs on the CAT goroutine, and a stray
|
||||
// goroutine writing to the shared link would interleave with the command
|
||||
// loop. One 350 ms wait at most, once per connect.
|
||||
_ = b.execScope("waveform output off (leftover)", civ.SubScopeOn, 0)
|
||||
// loop. Two forms, because the selector byte differs by model and a NAK
|
||||
// costs one frame — and the results are LOGGED, because a kill that quietly
|
||||
// fails leaves the flood running and the next dropout unexplained.
|
||||
err1 := b.execScope("waveform output off (leftover)", civ.SubScopeOn, 0)
|
||||
err2 := b.exec(civ.CmdScope, civ.SubScopeOn, 0x00, 0x00) // main-selector form
|
||||
applog.Printf("icom: waveform-off sent at connect (plain: %v, with selector: %v)", err1, err2)
|
||||
// Defer the DSP snapshot until the rig actually answers CI-V. Over the network
|
||||
// the rig may still be booting (or off) at Connect, so an immediate readDSP
|
||||
// would time out and leave every control at 0 / off with no retry. ReadState
|
||||
|
||||
Reference in New Issue
Block a user