feat: amplifier band-follow — answer the amp's frequency polls
On its CAT/AUX connector an ACOM is the MASTER: it polls a transceiver and changes band from the reply, so nothing can be pushed to it. internal/catemu answers those polls on a second serial port, in ACOM command set 5 (Kenwood / Elecraft): FA;, FB;, IF; and ID;, and nothing else — a wrong-length reply is worse than none, it desynchronises the amp's parser for the following poll. Also offered for SPE. Some amps do not poll at all but read the radio↔PC CAT line in parallel; those never hear a responder, so an optional unprompted send (500/1000 ms) covers them. The TX frequency is what is sent: in split the amp must be tuned where we transmit. Frame lengths are pinned by tests — the failure they guard against is silent and only shows up as an amp that mistunes. Untested on hardware.
This commit is contained in:
@@ -1442,6 +1442,10 @@ export namespace main {
|
||||
port: number;
|
||||
com_port: string;
|
||||
baud: number;
|
||||
freq_out: boolean;
|
||||
freq_com_port: string;
|
||||
freq_baud: number;
|
||||
freq_broadcast_ms: number;
|
||||
|
||||
static createFrom(source: any = {}) {
|
||||
return new AmpConfig(source);
|
||||
@@ -1458,6 +1462,10 @@ export namespace main {
|
||||
this.port = source["port"];
|
||||
this.com_port = source["com_port"];
|
||||
this.baud = source["baud"];
|
||||
this.freq_out = source["freq_out"];
|
||||
this.freq_com_port = source["freq_com_port"];
|
||||
this.freq_baud = source["freq_baud"];
|
||||
this.freq_broadcast_ms = source["freq_broadcast_ms"];
|
||||
}
|
||||
}
|
||||
export class AmpStatus {
|
||||
|
||||
Reference in New Issue
Block a user