fix(amp): couple a chosen GROUP, not every amplifier

The first version was a single switch meaning "command them all", and that is
wrong the moment a station has three: two SPE on a combiner and a PowerGenius
on another antenna would all go into OPERATE together, keying an amplifier that
has nothing to do with the pair.

It is now a set. Each amplifier is ticked into the group or not, the group is
stored as a list of ids, and an amplifier outside it keeps its own buttons —
which is the entire point of it being a set.

A group of fewer than two members is stored as none: one amplifier coupled to
itself would make every command fan out to a single member for ever.

A remembered member that is no longer running is skipped rather than failing
the command — deleting one amplifier must not break the button on the other.

An amplifier saved without an id cannot join, and the panel says so instead of
quietly omitting it from the list.
This commit is contained in:
2026-08-13 15:24:43 +02:00
parent 345be94c65
commit fabd1becce
7 changed files with 154 additions and 74 deletions
+8 -8
View File
@@ -674,10 +674,6 @@ export function GetAmplifiers() {
return window['go']['main']['App']['GetAmplifiers']();
}
export function GetAmpsLinked() {
return window['go']['main']['App']['GetAmpsLinked']();
}
export function GetAntGeniusSettings() {
return window['go']['main']['App']['GetAntGeniusSettings']();
}
@@ -838,6 +834,10 @@ export function GetIcomState() {
return window['go']['main']['App']['GetIcomState']();
}
export function GetLinkedAmps() {
return window['go']['main']['App']['GetLinkedAmps']();
}
export function GetListsSettings() {
return window['go']['main']['App']['GetListsSettings']();
}
@@ -1890,10 +1890,6 @@ export function SetAlertEmailTo(arg1) {
return window['go']['main']['App']['SetAlertEmailTo'](arg1);
}
export function SetAmpsLinked(arg1) {
return window['go']['main']['App']['SetAmpsLinked'](arg1);
}
export function SetCATFrequency(arg1) {
return window['go']['main']['App']['SetCATFrequency'](arg1);
}
@@ -1942,6 +1938,10 @@ export function SetKenwoodKeySpeed(arg1) {
return window['go']['main']['App']['SetKenwoodKeySpeed'](arg1);
}
export function SetLinkedAmps(arg1) {
return window['go']['main']['App']['SetLinkedAmps'](arg1);
}
export function SetMotorFollow(arg1, arg2, arg3) {
return window['go']['main']['App']['SetMotorFollow'](arg1, arg2, arg3);
}