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:
Vendored
+3
@@ -6,6 +6,7 @@ import {main} from '../models';
|
||||
import {cat} from '../models';
|
||||
import {profile} from '../models';
|
||||
import {acom} from '../models';
|
||||
import {catemu} from '../models';
|
||||
import {antgenius} from '../models';
|
||||
import {award} from '../models';
|
||||
import {awardref} from '../models';
|
||||
@@ -344,6 +345,8 @@ export function GetActiveProfile():Promise<profile.Profile>;
|
||||
|
||||
export function GetAlertEmailTo():Promise<string>;
|
||||
|
||||
export function GetAmpBandFollowStatus():Promise<Record<string, catemu.Status>>;
|
||||
|
||||
export function GetAmpStatuses():Promise<Array<main.AmpStatus>>;
|
||||
|
||||
export function GetAmplifiers():Promise<Array<main.AmpConfig>>;
|
||||
|
||||
@@ -638,6 +638,10 @@ export function GetAlertEmailTo() {
|
||||
return window['go']['main']['App']['GetAlertEmailTo']();
|
||||
}
|
||||
|
||||
export function GetAmpBandFollowStatus() {
|
||||
return window['go']['main']['App']['GetAmpBandFollowStatus']();
|
||||
}
|
||||
|
||||
export function GetAmpStatuses() {
|
||||
return window['go']['main']['App']['GetAmpStatuses']();
|
||||
}
|
||||
|
||||
@@ -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