feat(elecraft): the rest of the main controls on the K3/K4 console

So the tester can exercise everything in one session instead of one
control per build: RF and mic gain, squelch, preamp, attenuator, NB, NR,
AGC, filter width, antenna, RIT/XIT with a clear, and the keyer speed.

The analogue scales differ between an Elecraft and a Kenwood — RF gain
000-250, mic 000-060, squelch 000-029 against 0-255 — so each is mapped
through its own full scale and shown as a percentage. Using one rig's
range on the other silently halves or doubles every setting.

Antenna only appears when the radio answers AN: a K3 without the internal
ATU has one socket, and a switch that goes nowhere is worse than none.
This commit is contained in:
2026-08-24 14:29:38 +02:00
parent 60dad353ce
commit dd77e7f467
8 changed files with 502 additions and 7 deletions
+26
View File
@@ -119,6 +119,8 @@ export function CheckForUpdate():Promise<main.UpdateInfo>;
export function CheckHamlogKey(arg1:string):Promise<string>;
export function ClearKenwoodRIT():Promise<void>;
export function ClearLookupCache():Promise<void>;
export function CloseAutostartPrograms():Promise<void>;
@@ -1105,12 +1107,36 @@ export function SetFlexRSTChaseEnabled(arg1:boolean):Promise<void>;
export function SetKenwoodAFGain(arg1:number):Promise<void>;
export function SetKenwoodAGC(arg1:string):Promise<void>;
export function SetKenwoodAntenna(arg1:number):Promise<void>;
export function SetKenwoodAtt(arg1:boolean):Promise<void>;
export function SetKenwoodFilter(arg1:number):Promise<void>;
export function SetKenwoodKeySpeed(arg1:number):Promise<void>;
export function SetKenwoodMicGain(arg1:number):Promise<void>;
export function SetKenwoodNB(arg1:boolean):Promise<void>;
export function SetKenwoodNR(arg1:boolean):Promise<void>;
export function SetKenwoodPower(arg1:number):Promise<void>;
export function SetKenwoodPreamp(arg1:boolean):Promise<void>;
export function SetKenwoodRFGain(arg1:number):Promise<void>;
export function SetKenwoodRIT(arg1:boolean):Promise<void>;
export function SetKenwoodSquelch(arg1:number):Promise<void>;
export function SetKenwoodTX(arg1:boolean):Promise<void>;
export function SetKenwoodXIT(arg1:boolean):Promise<void>;
export function SetLinkedAmps(arg1:Array<string>):Promise<void>;
export function SetMotorFollow(arg1:boolean,arg2:number,arg3:string):Promise<void>;
+52
View File
@@ -178,6 +178,10 @@ export function CheckHamlogKey(arg1) {
return window['go']['main']['App']['CheckHamlogKey'](arg1);
}
export function ClearKenwoodRIT() {
return window['go']['main']['App']['ClearKenwoodRIT']();
}
export function ClearLookupCache() {
return window['go']['main']['App']['ClearLookupCache']();
}
@@ -2150,18 +2154,66 @@ export function SetKenwoodAFGain(arg1) {
return window['go']['main']['App']['SetKenwoodAFGain'](arg1);
}
export function SetKenwoodAGC(arg1) {
return window['go']['main']['App']['SetKenwoodAGC'](arg1);
}
export function SetKenwoodAntenna(arg1) {
return window['go']['main']['App']['SetKenwoodAntenna'](arg1);
}
export function SetKenwoodAtt(arg1) {
return window['go']['main']['App']['SetKenwoodAtt'](arg1);
}
export function SetKenwoodFilter(arg1) {
return window['go']['main']['App']['SetKenwoodFilter'](arg1);
}
export function SetKenwoodKeySpeed(arg1) {
return window['go']['main']['App']['SetKenwoodKeySpeed'](arg1);
}
export function SetKenwoodMicGain(arg1) {
return window['go']['main']['App']['SetKenwoodMicGain'](arg1);
}
export function SetKenwoodNB(arg1) {
return window['go']['main']['App']['SetKenwoodNB'](arg1);
}
export function SetKenwoodNR(arg1) {
return window['go']['main']['App']['SetKenwoodNR'](arg1);
}
export function SetKenwoodPower(arg1) {
return window['go']['main']['App']['SetKenwoodPower'](arg1);
}
export function SetKenwoodPreamp(arg1) {
return window['go']['main']['App']['SetKenwoodPreamp'](arg1);
}
export function SetKenwoodRFGain(arg1) {
return window['go']['main']['App']['SetKenwoodRFGain'](arg1);
}
export function SetKenwoodRIT(arg1) {
return window['go']['main']['App']['SetKenwoodRIT'](arg1);
}
export function SetKenwoodSquelch(arg1) {
return window['go']['main']['App']['SetKenwoodSquelch'](arg1);
}
export function SetKenwoodTX(arg1) {
return window['go']['main']['App']['SetKenwoodTX'](arg1);
}
export function SetKenwoodXIT(arg1) {
return window['go']['main']['App']['SetKenwoodXIT'](arg1);
}
export function SetLinkedAmps(arg1) {
return window['go']['main']['App']['SetLinkedAmps'](arg1);
}
+26
View File
@@ -1082,6 +1082,19 @@ export namespace cat {
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;
key_speed: number;
meters_provisional: boolean;
static createFrom(source: any = {}) {
@@ -1104,6 +1117,19 @@ export namespace cat {
this.swr_raw = source["swr_raw"];
this.rf_power = source["rf_power"];
this.af_gain = source["af_gain"];
this.rf_gain = source["rf_gain"];
this.mic_gain = source["mic_gain"];
this.squelch = source["squelch"];
this.preamp = source["preamp"];
this.att = source["att"];
this.nb = source["nb"];
this.nr = source["nr"];
this.agc = source["agc"];
this.filter_hz = source["filter_hz"];
this.antenna = source["antenna"];
this.rit = source["rit"];
this.xit = source["xit"];
this.key_speed = source["key_speed"];
this.meters_provisional = source["meters_provisional"];
}
}