mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-09-11 03:35:28 +02:00
fix: make AirScout and map propagation band-aware by resolving realistic per-station QRGs to canonical AirScout bands, using one shared watchlist, honoring the operator-selected band for Calc selected and map path analysis, and replacing the obsolete 430 MHz fallback with 432 MHz (fixes #67) and parts of #74
This commit is contained in:
@@ -450,8 +450,15 @@ public class ChatController implements ThreadStatusCallback, PstRotatorEventList
|
||||
chatPreferences.getAirScout_asClientNameString();
|
||||
String serverIdentifier =
|
||||
chatPreferences.getAirScout_asServerNameString();
|
||||
String bandValue =
|
||||
chatPreferences.getAirScout_asBandString();
|
||||
String bandValue = resolveAirScoutBandValue(remoteChatMember);
|
||||
if (bandValue == null) {
|
||||
System.out.println(
|
||||
"[AirScout, info]: Show-path request ignored because no "
|
||||
+ "usable propagation frequency could be resolved."
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
int port =
|
||||
chatPreferences.getAirScout_asCommunicationPort();
|
||||
|
||||
@@ -498,6 +505,30 @@ public class ChatController implements ThreadStatusCallback, PstRotatorEventList
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves the AirScout protocol frequency for one station. In automatic mode
|
||||
* this uses the same station-specific resolution as the internal path analysis;
|
||||
* manual mode keeps the configured forced value for compatibility.
|
||||
*
|
||||
* @param remoteChatMember target station
|
||||
* @return AirScout frequency in 100-Hz units, or {@code null} if auto mode has
|
||||
* no safe result
|
||||
*/
|
||||
public String resolveAirScoutBandValue(ChatMember remoteChatMember) {
|
||||
if (!chatPreferences.isAirScout_autoBandSelectionEnabled()) {
|
||||
return chatPreferences.getAirScout_asBandString();
|
||||
}
|
||||
|
||||
if (reachabilityService == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var resolution = reachabilityService
|
||||
.resolveAutomaticPropagationFrequency(remoteChatMember);
|
||||
|
||||
return resolution == null ? null : resolution.getAirScoutBandValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* starts the calculation scheduler for scores / priorities of skeds to be made
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user