From c7d1dfbe929bfffddfb1f50b3ae3e19a2d841700 Mon Sep 17 00:00:00 2001 From: Marc Froehlich Date: Mon, 3 Aug 2026 01:09:32 +0200 Subject: [PATCH] Refactored QRG recognition (added some band context to increase the quality of the values + changed cluster fallback-band-value to dropdown switch + normalizing qrg values) --- .../client_settings_window_notification.png | Bin 83502 -> 86166 bytes github_docs/de-Benutzeroberflaeche.md | 6 +- github_docs/de-Changelog.md | 6 + github_docs/de-DX-Cluster-Server.md | 44 ++- github_docs/de-Funktionen.md | 48 ++- github_docs/de-Konfiguration.md | 34 +- .../MessageBusManagementThread.java | 328 ++++++++++++------ ...sManagementThreadFrequencyContextTest.java | 85 ++++- .../controller/ReadUDPbyUCXMessageThread.java | 10 +- src/main/java/kst4contest/model/Band.java | 29 ++ .../view/Kst4ContestApplication.java | 129 ++++--- 11 files changed, 525 insertions(+), 194 deletions(-) diff --git a/github_docs/client_settings_window_notification.png b/github_docs/client_settings_window_notification.png index 73ccb5930b88c1d557a0cd8bd6bc7c21ec57ceb2..b55fe63589e607926f86e70ddadcf4c393a01c83 100644 GIT binary patch literal 86166 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

ckPFvl}*Dskh${gaN>%wt29*I*h0i>v0I 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 F{{jNFV>kc+ literal 83502 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%0AG~;=q8i7@kp@r40Drb~XSDtsBZya9 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 XSq^FS$v%C5PS8}>dxU!UEcCws7ZxLe diff --git a/github_docs/de-Benutzeroberflaeche.md b/github_docs/de-Benutzeroberflaeche.md index 3680f77..f19834c 100644 --- a/github_docs/de-Benutzeroberflaeche.md +++ b/github_docs/de-Benutzeroberflaeche.md @@ -31,10 +31,14 @@ Die zentrale Tabelle aller aktuell aktiven Chat-Nutzer. Spalten (je nach Konfigu | Loc | Maidenhead-Locator | | QRB | Entfernung in km | | QTF | Richtung in Grad | -| QRG | Automatisch erkannte Frequenz | +| QRG | Zuletzt aus einer Chat-Nachricht erkannte Frequenz | | AP | AirScout-Flugzeugdaten (wenn aktiv) | | Band-Farben | Worked/NOT-QRV-Status pro Band | +Die QRG-Spalte zeigt die zuletzt für eine Station erkannte Frequenz. Fehlende Nullen werden für die Anzeige ergänzt, sodass beispielsweise `144.21` als `144.210` erscheint. Erkennt KST4Contest nacheinander Frequenzen auf mehreren Bändern, zeigt die Spalte den letzten Treffer; die internen Bandinformationen können trotzdem mehrere aktuelle Bänder der Station enthalten. + +Relative Angaben werden zunächst mit einem höchstens 30 Minuten alten Bandkontext desselben Absenders kombiniert. Nur wenn dieser fehlt, verwendet KST4Contest das globale Fallback-Band. Erkennungsregeln, Beispiele und Grenzen: [QRG-Erkennung](de-Funktionen#qrg-erkennung). + **Sortierung**: Klick auf Spaltenköpfe. QRB-Sortierung arbeitet numerisch (ab v1.22 korrigiert). diff --git a/github_docs/de-Changelog.md b/github_docs/de-Changelog.md index 3db6b99..a4280b7 100644 --- a/github_docs/de-Changelog.md +++ b/github_docs/de-Changelog.md @@ -8,6 +8,12 @@ Versionsverlauf von KST4Contest / PraktiKST. letzter Changelog bitte aus GitHub entnehmen. Der bisherige Changelog +## v1.42 (2026-08) +- **QRG-Erkennung präzisiert**: Vollständige und relative Frequenzangaben werden weiterhin erkannt. Nackte dreistellige Zahlen werden nur noch mit erkennbarem Frequenzkontext ausgewertet, damit Signalrapporte, Bandangaben und andere Zahlen keine falsche QRG erzeugen. +- **Stationsbezogener Bandkontext**: Bei relativen Frequenzen verwendet KST4Contest zuerst einen höchstens 30 Minuten alten Bandkontext desselben Absenders. Erst danach greift das globale Fallback-Band. +- **Fallback-Band als Dropdown**: Das globale Fallback kann nur noch aus den tatsächlich unterstützten Bändern ausgewählt werden und gilt für die gesamte QRG-Erkennung, nicht nur für DX-Cluster-Spots. +- **QRG-Anzeige vereinheitlicht**: Frequenzen werden in der Benutzerliste und den Nachrichtentabellen mit mindestens drei Nachkommastellen dargestellt. + ## v1.41 **Stationskarte, Performance, Reaktionsfähiges UI** diff --git a/github_docs/de-DX-Cluster-Server.md b/github_docs/de-DX-Cluster-Server.md index c97a8f3..7376747 100644 --- a/github_docs/de-DX-Cluster-Server.md +++ b/github_docs/de-DX-Cluster-Server.md @@ -53,35 +53,51 @@ Das Verfahren berücksichtigt weder Gelände noch aktuelle Ausbreitungsbedingung ## Welche Frequenz wird verwendet? -Vollständige Frequenzangaben können direkt verarbeitet werden, beispielsweise: +Ein DX-Cluster-Spot benötigt eine eindeutige Frequenz. KST4Contest verwendet dafür dieselbe QRG-Erkennung wie die Benutzerliste und die übrigen bandbezogenen Funktionen. + +Vollständige Frequenzen bestimmen ihr Band direkt: ```text 144.205 -432.088 +432,088 1296.338 +10368.100 ``` -Im Chat werden jedoch häufig nur relative Angaben geschrieben: +Relative Angaben enthalten dagegen nur den Frequenzanteil innerhalb eines Bandes: ```text -205 .205 -338 +,205 +qrg 205 +freq is 205 +on 205 +205 MHz ``` -In diesem Fall fehlt das Band. KST4Contest ergänzt deshalb das unter **Fallback band in MHz** konfigurierte Bandpräfix. +Eine nackte dreistellige Zahl wie `205` wird ohne Frequenzkontext nicht ausgewertet. Dasselbe gilt für `599`, `144` oder Formulierungen wie `worked 210 stations`. So verhindert KST4Contest, dass Signalrapporte, Bandnamen oder Zählwerte als scheinbar plausible QRG gespeichert und später an den Logger weitergegeben werden. + +Bei einer relativen QRG wird das Band in dieser Reihenfolge bestimmt: + +1. KST4Contest prüft, ob für denselben Absender innerhalb der letzten 30 Minuten bereits ein passender Bandkontext bekannt wurde. +2. Sind mehrere aktuelle Bänder bekannt, wird der zuletzt aktualisierte plausible Kontext verwendet. +3. Erst wenn kein geeigneter Stationskontext vorhanden ist, verwendet KST4Contest das unter **Fallback band for relative QRG detection** ausgewählte Band. Beispiel: ```text -Fallback-Band: 144 -Chat-Frequenz: .205 -DX-Cluster-Frequenz: 144205.0 kHz +Globales Fallback: 144 MHz +Letzte vollständige QRG der Station: 432.088 MHz +Neue Chat-Angabe derselben Station: .100 +Erkannte QRG: 432.100 MHz +DX-Cluster-Frequenz: 432100.0 kHz ``` -Bei einem Einband-Contest ist diese Annahme normalerweise eindeutig. Bei gleichzeitigem Betrieb mehrerer Bänder kann sie falsch sein. Das Fallback-Band sollte deshalb zu dem Band passen, das in der betreffenden Chat-Kategorie überwiegend verwendet wird. +Ohne den aktuellen 432-MHz-Kontext würde dieselbe Angabe mit dem globalen Fallback zu `144.100 MHz` ergänzt. -Die weitergehende Frage, ob sich das Band künftig aus der konkreten Arbeitsfrequenz oder dem Stationskontext ableiten lässt, wird nach Abschluss des Manuals gesondert geprüft. +Die QRG-Erkennung läuft vor der Richtungs- und Spotprüfung. Nennt eine Station ihre Frequenz erstmals in der gerichteten Nachricht, die zugleich eine Richtungsgelegenheit auslöst, kann bereits der daraus erzeugte Spot diese Frequenz enthalten. War zuvor eine andere QRG der Station bekannt, wird sie durch die neu erkannte Angabe aktualisiert. + +Das Fallback-Band ist eine globale Einstellung der QRG-Erkennung. Seine Wirkung ist nicht auf den DX-Cluster beschränkt. Konfiguration, unterstützte Bänder und weitere Folgen sind unter [Fallback-Band für relative QRG-Erkennung](de-Konfiguration#fallback-band-für-relative-qrg-erkennung) beschrieben. --- @@ -95,7 +111,7 @@ Konfiguriere anschließend: 1. **Enable the local DX Cluster server …** aktivieren. 2. Einen freien **TCP port** eintragen. Standard ist `8000`. -3. Das passende **Fallback band in MHz** eintragen. +3. Unter **Fallback band for relative QRG detection** das passende Band auswählen. 4. Ein **Spotter callsign** festlegen. Für das Spotter-Rufzeichen sollte nach Möglichkeit ein anderes Rufzeichen als das Contest-Rufzeichen verwendet werden. Einige Logger filtern Spots, die scheinbar von der eigenen Station stammen. Das Ergebnis wäre technisch korrekt erzeugt, aber in der Bandmap trotzdem unsichtbar – eine besonders unproduktive Art von Erfolg. @@ -189,7 +205,9 @@ KST4Contest sendet absichtlich nicht jede gefundene Frequenz an den Logger. Ande ### Der Spot erscheint auf dem falschen Band -Prüfe zuerst das konfigurierte **Fallback band in MHz**. Es wird nur benötigt, wenn im Chat keine vollständige Frequenz angegeben wurde. +Prüfe zuerst, welche Frequenzen für die betreffende Station innerhalb der letzten 30 Minuten erkannt wurden. Bei einer relativen Angabe hat dieser Stationskontext Vorrang vor dem globalen Fallback. + +Ist kein aktueller Stationskontext vorhanden, prüfe die Auswahl unter **Fallback band for relative QRG detection**. Das Fallback wird nur benötigt, wenn sich das Band weder aus einer vollständigen Frequenz noch aus dem aktuellen Kontext des Absenders ergibt. ### Der Spot wird vom Logger ausgeblendet diff --git a/github_docs/de-Funktionen.md b/github_docs/de-Funktionen.md index 09fc21f..a79aaad 100644 --- a/github_docs/de-Funktionen.md +++ b/github_docs/de-Funktionen.md @@ -70,16 +70,54 @@ Einrichtung, Frequenzbehandlung und Grenzen: [Integrierter DX-Cluster-Server](de --- -## QRG-Erkennung (QRG Reading) +## QRG-Erkennung -KST4Contest verarbeitet jede Chat-Nachricht und extrahiert automatisch **Frequenzangaben**. Diese werden in der Benutzerliste in der **QRG-Spalte** angezeigt. +Im ON4KST-Chat werden Frequenzen selten einheitlich geschrieben. Eine Station nennt beispielsweise zuerst `432.088`, später nur noch `.100` und in einer weiteren Nachricht `qrg 120`. Für einen Menschen ist der Zusammenhang meistens klar. Ein Programm muss dagegen unterscheiden, ob `120` eine Frequenz, eine Zeitangabe, eine Entfernung oder etwas völlig anderes bedeutet. -Erkannte Formate: `144.205`, `432.088`, `.205` (mit konfigurierter Bandannahme), etc. +KST4Contest wertet deshalb den Text jeder öffentlichen und gerichteten Chat-Nachricht aus. Eine erkannte QRG wird dem Absender zugeordnet und in der **QRG-Spalte** der Benutzerliste angezeigt. Die Spalte enthält die zuletzt erkannte Frequenz und stellt mindestens drei Nachkommastellen dar. Ein intern als `144.21` gespeicherter Wert erscheint damit als `144.210`. -**Nutzen**: Ohne nachzufragen kann man direkt auf die QRG einer Station schauen und entscheiden, ob eine Verbindung möglich ist. +### Welche Angaben werden erkannt? + +| Schreibweise | Beispiel | Verarbeitung | +|---|---|---| +| Vollständige Frequenz | `144.210`, `432,088`, `10368.100` | Das Band ergibt sich direkt aus der Frequenz. | +| Relative Frequenz mit Punkt oder Komma | `.210`, `,088` | Das Band wird aus dem Stationskontext oder dem konfigurierten Fallback ergänzt. | +| Dreistellige Frequenz mit Textkontext | `qrg 210`, `freq is 210`, `on 210`, `210 MHz` | Die Zahl wird als relative Frequenz behandelt. | +| Dreistellige Zahl ohne Frequenzkontext | `210`, `599`, `144` | Die Zahl wird absichtlich nicht als QRG übernommen. | + +Die letzte Einschränkung verhindert plausible, aber falsche Ergebnisse. Mit einem Fallback von `144 MHz` ließe sich ein Signalrapport `599` technisch problemlos zu `144.599 MHz` zusammensetzen. Das Ergebnis wäre formal gültig und fachlich trotzdem Unsinn. + +### Wie wird das Band einer relativen QRG bestimmt? + +KST4Contest verwendet folgende Reihenfolge: + +1. Wurde für denselben Absender innerhalb der letzten 30 Minuten bereits eine passende vollständige Frequenz erkannt, verwendet KST4Contest deren Band. +2. Sind mehrere aktuelle Bänder bekannt, wird der zuletzt aktualisierte plausible Bandkontext verwendet. +3. Fehlt ein geeigneter Stationskontext, verwendet KST4Contest das unter **Fallback band for relative QRG detection** ausgewählte Band. + +Beispiel: Das globale Fallback steht auf `144 MHz`. Eine Station nennt zunächst `432.088` und schreibt wenige Minuten später `.100`. KST4Contest ergänzt nicht das globale Fallback, sondern den aktuelleren Stationskontext. Das Ergebnis ist `432.100 MHz`. Schreibt eine andere Station ohne vorherige Bandinformation `.100`, wird daraus `144.100 MHz`. + +Das Fallback-Band ist damit tatsächlich nur der letzte Ausweg. Es wird aus den von KST4Contest unterstützten Bandwerten ausgewählt und wirkt auf die gesamte QRG-Erkennung – nicht nur auf den integrierten DX-Cluster. + +### Wofür wird die erkannte QRG verwendet? + +Die zuletzt erkannte Frequenz erscheint in der Benutzerliste. Der zugehörige Bandkontext kann außerdem in weitere Funktionen einfließen, beispielsweise in: + +- die Erkennung aktiver Bänder einer Station, +- den Chatmember-Score und die Prioritätslisten, +- Band-Upgrade-Hinweise nach einem Logeintrag, +- die Frequenzwahl bei Skeds, +- einen DX-Cluster-Spot aus einer erkannten Richtungsgelegenheit. + +Steht die QRG erstmals in der Nachricht, die zugleich eine Richtungsgelegenheit auslöst, wird sie vor der Richtungs- und Spotprüfung verarbeitet. Der daraus erzeugte Spot kann deshalb bereits die Frequenz dieser Nachricht verwenden. + +Die Erkennung bleibt eine Textauswertung. KST4Contest kann nicht beweisen, dass die Station noch auf der genannten Frequenz arbeitet oder ob sich eine mehrdeutige Angabe auf einen anderen Zusammenhang bezieht. Genau deshalb werden nackte dreistellige Zahlen ohne Frequenzkontext nicht mehr übernommen. + +Konfiguration und unterstützte Fallback-Bänder: [Fallback-Band für relative QRG-Erkennung](de-Konfiguration#fallback-band-für-relative-qrg-erkennung). + +Verwendung in der Bandmap eines Logprogramms: [Integrierter DX-Cluster-Server](de-DX-Cluster-Server). --- - ## Worked-Markierung Gearbeitete Stationen werden in der Benutzerliste visuell markiert – pro Band. Grundlage ist die [Log-Synchronisation](de-Log-Synchronisation) via UDP oder Simplelogfile. diff --git a/github_docs/de-Konfiguration.md b/github_docs/de-Konfiguration.md index 1db6f32..2f2f57d 100644 --- a/github_docs/de-Konfiguration.md +++ b/github_docs/de-Konfiguration.md @@ -113,23 +113,47 @@ Die drei Audiofunktionen arbeiten unabhängig voneinander: CW- und Sprachausgabe können gleichzeitig aktiviert werden. Das ist technisch möglich, im Contest aber nicht zwingend hilfreich. In der Praxis sollte nur die Ausgabe eingeschaltet werden, die im eigenen Stationsbetrieb tatsächlich wahrgenommen werden kann, ohne den Operator dauerhaft zu beschäftigen. +### Fallback-Band für relative QRG-Erkennung + +Das Dropdown **Fallback band for relative QRG detection** legt fest, welches Band KST4Contest verwendet, wenn eine relative QRG keinem aktuellen Stationskontext zugeordnet werden kann. + +Zur Auswahl stehen ausschließlich die vom Frequenzparser unterstützten Bandpräfixe: + +```text +144 MHz +432 MHz +1296 MHz +2320 MHz +3400 MHz +5760 MHz +10368 MHz (10G) +24048 MHz (24G) +``` + +Das Dropdown ist kein Filter und keine Vorgabe für vollständig angegebene Frequenzen. `432.088` wird unabhängig von der Auswahl als Frequenz im 432-MHz-Band erkannt. Benötigt wird das Fallback bei relativen Angaben wie `.205`, `,205` oder `qrg 205`. + +Bevor KST4Contest auf das Fallback zurückgreift, prüft es den Bandkontext des Absenders. Wurde für dieselbe Station innerhalb der letzten 30 Minuten bereits eine passende vollständige Frequenz erkannt, hat dieses Band Vorrang. Ein Fallback von `144 MHz` macht aus `.100` daher `432.100 MHz`, wenn die Station kurz zuvor beispielsweise `432.088` genannt hat. + +Die Einstellung befindet sich im Notification-Bereich, wirkt aber auf die gesamte QRG-Erkennung. Damit beeinflusst sie nicht nur mögliche DX-Cluster-Spots, sondern auch die QRG-Spalte, erkannte aktive Bänder, Priorisierung, Band-Upgrade-Hinweise und Funktionen, die eine bekannte Stationsfrequenz verwenden. + +Mehr zur Erkennungslogik und zu absichtlich ignorierten Zahlen: [QRG-Erkennung](de-Funktionen#qrg-erkennung). + ### Local DX Cluster output -KST4Contest kann erkannte Richtungsgelegenheiten als DX-Cluster-Spots an ein Logprogramm weitergeben. Der praktische Nutzen liegt auf der Hand: Eine im Chat erkannte Frequenz erscheint direkt in der Bandmap des Logprogramms und muss nicht erst von Hand übertragen werden. +KST4Contest kann erkannte Richtungsgelegenheiten als DX-Cluster-Spots an ein Logprogramm weitergeben. Eine im Chat erkannte Frequenz erscheint dadurch direkt in der Bandmap des Logprogramms und muss nicht erst von Hand übertragen werden. Die Checkbox **Enable the local DX Cluster server …** startet beziehungsweise beendet den lokalen TCP-Server. Bei einer laufenden Chat-Verbindung wird die Änderung sofort wirksam. -Folgende Einstellungen sind erforderlich: +Folgende Einstellungen und Schaltflächen gehören zur lokalen DX-Cluster-Ausgabe: - **TCP port**: Port, auf dem KST4Contest Verbindungen von DX-Cluster-Clients annimmt. Der Standardwert ist `8000`. Wird der Port während einer laufenden Verbindung geändert, startet KST4Contest den Server auf dem neuen Port neu. Der Logger muss sich anschließend ebenfalls mit dem neuen Port verbinden. -- **Fallback band in MHz**: Bandpräfix für relative Frequenzangaben. Aus `205` oder `.205` wird bei einem Fallback-Band von `144` die Frequenz `144.205 MHz`. Vollständige Angaben wie `432.205` oder `1296.338` benötigen diesen Fallback nicht. +- **Fallback band for relative QRG detection**: Das oben beschriebene globale Fallback-Band. Der Testspot verwendet `.300` dieses Bandes. Reale Spots verwenden dagegen die für den jeweiligen Absender erkannte QRG. - **Spotter callsign**: Rufzeichen, das im erzeugten DX-Cluster-Spot als Spotter erscheint. Hier sollte ein anderes Rufzeichen als das im Contest verwendete Stationsrufzeichen eingetragen werden. Einige Logprogramme filtern Spots des eigenen Rufzeichens oder behandeln sie anders als fremde Spots. -- **Send test spot**: Sendet einen Testspot für `DL0TEST` auf `.300` des eingestellten Fallback-Bandes. Der Test funktioniert nur, wenn KST4Contest mit dem Chat verbunden, der lokale DX-Cluster-Server aktiviert und mindestens ein DX-Cluster-Client verbunden ist. +- **Send test spot**: Sendet einen Testspot für `DL0TEST` auf `.300` des ausgewählten Fallback-Bandes. Der Test funktioniert nur, wenn KST4Contest mit dem Chat verbunden, der lokale DX-Cluster-Server aktiviert und mindestens ein DX-Cluster-Client verbunden ist. KST4Contest erzeugt nicht bei jeder im Chat gefundenen Frequenz automatisch einen Spot. Ein Spot entsteht nur dann, wenn eine gerichtete Nachricht zwischen zwei Stationen auf eine für die eigene Station interessante Antennenrichtung schließen lässt und für den Absender eine nutzbare Frequenz bekannt ist. Die vollständige Herleitung und die Einrichtung des Logprogramms sind im Kapitel [Integrierter DX-Cluster-Server](de-DX-Cluster-Server) beschrieben. - ### Band-Upgrade-Hinweis nach einem Logeintrag Nach einem über UCXLog oder Win-Test empfangenen Logeintrag kann KST4Contest prüfen, ob die gerade gearbeitete Station auf einem weiteren gemeinsamen, aber noch nicht gearbeiteten Band aktiv ist. diff --git a/src/main/java/kst4contest/controller/MessageBusManagementThread.java b/src/main/java/kst4contest/controller/MessageBusManagementThread.java index be0ae8c..4bf1010 100644 --- a/src/main/java/kst4contest/controller/MessageBusManagementThread.java +++ b/src/main/java/kst4contest/controller/MessageBusManagementThread.java @@ -46,6 +46,49 @@ public class MessageBusManagementThread extends Thread { private final String PTRN_QRG_CAT2 = "(([0-9]{3,4}[\\.|,| ]?[0-9]{3})([\\.|,][\\d]{1,2})?)|(([a-zA-Z][0-4]{1}[\\d]{2}\\b)([\\.|,][\\d]{1,2}\\b)?)|((\\b[0-4]{1}[\\d]{2}\\b)([\\.|,][\\d]{1,2}\\b)?)"; private final String PTRN_QRG_CAT3 = "(([0-9]{3,5}[\\.|,| ]?[0-9]{3})([\\.|,][\\d]{1,2})?)|(([a-zA-Z][0-4]{1}[\\d]{2}\\b)([\\.|,][\\d]{1,2}\\b)?)|((\\b[0-4]{1}[\\d]{2}\\b)([\\.|,][\\d]{1,2}\\b)?)"; + /* + * Frequency formats handled by the smart parser: + * + * Group 1: full frequencies, for example 144.210 or 10368.100 + * Group 2: relative frequencies with a separator, for example .210 or ,210 + * Group 3: bare three-digit values, for example 210 + * + * Group 3 is deliberately subjected to an additional context check. Without + * that check, ordinary chat values such as 599 or a bare band name such as 144 + * would be converted into plausible but incorrect frequencies. + */ + private static final Pattern SMART_FREQUENCY_PATTERN = Pattern.compile( + "(?Complete frequencies determine their band directly. Relative frequencies + * first use the sender's most recent band context if that context is not older + * than 30 minutes. Only when no suitable sender context exists does the parser + * use the globally configured fallback band.

+ * + *

A relative value beginning with a dot or comma is sufficiently explicit + * on its own. A bare three-digit value is ambiguous and is therefore accepted + * only with nearby frequency-related text.

+ * + * @param message message whose text is inspected + * @param prefs preferences containing the global fallback band */ private void smartFrequencyExtraction(ChatMessage message, ChatPreferences prefs) { - - // Regex Explanation: - // Part 1 (Full): Start (not digit), 3-5 digits, sep, 1-3 digits, OPTIONAL (sep, 1-3 digits) - // Matches: 144.210, 144.210.10, 10368.100 - // Part 2 (Short1): Start (not digit), sep, 3 digits, OPTIONAL (sep, 1-3 digits) - // Matches: .210, .210.10, ,210 - // Part 3 (Short2): Whitespace/Start, 3 digits, Whitespace/End - // Matches: " 210 ", " 144 " - String smartPattern = "(? 144.210.10) - foundRaw = foundRaw.replace(",", "."); + if (bareShortForm + && !hasExplicitBareFrequencyContext( + messageText, + matcher.start(), + matcher.end() + )) { + continue; + } + + String foundRaw = matcher.group().trim().replace(',', '.'); double finalDetectedFrequency = 0.0; Band finalDetectedBand = null; - boolean isShortForm = false; - // --- STEP 1: Type Determination (Short or Full?) --- + if (shortForm) { + if (foundRaw.startsWith(".")) { + foundRaw = foundRaw.substring(1); + } - // Check if it starts with a dot (e.g. ".210") OR is just 3 digits ("210") - if (foundRaw.startsWith(".") || foundRaw.length() == 3) { + /* + * Priority 1: use this sender's most recently observed band if its + * information is not older than 30 minutes and the reconstructed + * frequency lies inside that band. + */ + long bestTimestamp = 0L; - // It is a short form. - // We strip the leading dot for calculation if present -> "210.10" or "210" - if (foundRaw.startsWith(".")) foundRaw = foundRaw.substring(1); - isShortForm = true; - - } else { - // It is a full frequency (e.g., 144.210.10 or 144.210) - try { - // Normalize "144.210.10" to "144.21010" for Double.parseDouble - String normalizedFull = normalizeFrequencyString(foundRaw); - - finalDetectedFrequency = Double.parseDouble(normalizedFull); - finalDetectedBand = Band.fromFrequency(finalDetectedFrequency); - } catch (NumberFormatException e) { continue; } - } - - // --- STEP 2: Context Resolution (Only needed for Short Forms) --- - if (isShortForm) { - - // A) HISTORY CHECK (Priority 1: What did THIS USER do recently?) - // We search for the most recent band where this short form makes physical sense. - long bestTimestamp = 0; - - // Iterate over all bands where the user is known - // (Assumption: ChatMember has a getter getKnownActiveBands()) if (sender.getKnownActiveBands() != null) { - for (java.util.Map.Entry entry : sender.getKnownActiveBands().entrySet()) { + for (java.util.Map.Entry entry + : sender.getKnownActiveBands().entrySet()) { Band candidateBand = entry.getKey(); ChatMember.ActiveFrequencyInfo info = entry.getValue(); - // Timeout Check: Info must not be older than 30 mins (1,800,000 ms) - if (System.currentTimeMillis() - info.timestampEpoch > 1800000) continue; + if (candidateBand == null || info == null) { + continue; + } - // Try Reconstruction: Band Prefix + ShortForm - // Example: Band 144 (Prefix "144") + "." + "210.10" -> "144.210.10" + if (System.currentTimeMillis() - info.timestampEpoch > 1_800_000L) { + continue; + } + try { - String reconstructedStr = candidateBand.getPrefix() + "." + foundRaw; - String normalizedReconstruction = normalizeFrequencyString(reconstructedStr); - - double attemptFreq = Double.parseDouble(normalizedReconstruction); + String reconstructed = + candidateBand.getPrefix() + "." + foundRaw; + double candidateFrequency = Double.parseDouble( + normalizeFrequencyString(reconstructed) + ); - // Does this frequency fit into the candidate band? - if (candidateBand.isPlausible(attemptFreq)) { - // If we have multiple matches, pick the most recent one - if (info.timestampEpoch > bestTimestamp) { - finalDetectedFrequency = attemptFreq; - finalDetectedBand = candidateBand; - bestTimestamp = info.timestampEpoch; - } + if (candidateBand.isPlausible(candidateFrequency) + && info.timestampEpoch > bestTimestamp) { + finalDetectedFrequency = candidateFrequency; + finalDetectedBand = candidateBand; + bestTimestamp = info.timestampEpoch; } - } catch (Exception e) { /* Ignore parsing errors */ } - } - } - - // B) GLOBAL PREFERENCES CHECK (Priority 2: Fallback if history is empty/old) - if (finalDetectedBand == null) { - // Get standard band from prefs (e.g., "144" or "432") - String defaultPrefix = prefs.getNotify_optionalFrequencyPrefix().get(); - try { - String reconstructedStr = defaultPrefix + "." + foundRaw; - String normalizedReconstruction = normalizeFrequencyString(reconstructedStr); - - double attemptFreq = Double.parseDouble(normalizedReconstruction); - - // Check if this results in a valid amateur radio band - Band defaultBandCandidate = Band.fromFrequency(attemptFreq); - - if (defaultBandCandidate != null) { - finalDetectedFrequency = attemptFreq; - finalDetectedBand = defaultBandCandidate; + } catch (NumberFormatException ignored) { + // Try the next known band. } - } catch (NumberFormatException e) { - // Number was likely not a frequency (e.g., "73" or "599") and didn't fit any band - continue; } } - } - - // --- STEP 3: Process Result --- - if (finalDetectedBand != null && finalDetectedFrequency > 0) { /* - * Store the detected QRG in the thread-safe active-member model. - * The UI table is only a JavaFX mirror, so the MessageBus must not scan - * or mutate getLst_chatMemberList() here. + * Priority 2: use the configured fallback band. Invalid values from + * an older hand-edited configuration fall back safely to 144 MHz. + * The current UI itself offers only values from Band.values(). */ - client.applyDetectedFrequencyToActiveMembers(sender, finalDetectedBand, finalDetectedFrequency); + if (finalDetectedBand == null) { + String configuredPrefix = null; - System.out.println("[SmartParser] Detected for " + sender.getCallSign() + ": " + - finalDetectedFrequency + " MHz (" + finalDetectedBand + ") " + - (isShortForm ? "[derived from " + foundRaw + "]" : "[full match]")); + if (prefs != null + && prefs.getNotify_optionalFrequencyPrefix() != null) { + configuredPrefix = + prefs.getNotify_optionalFrequencyPrefix().get(); + } - // Optional: Trigger Cluster-Spot here if enabled + Band fallbackBand = Band.fromPrefix(configuredPrefix); + if (fallbackBand == null) { + fallbackBand = Band.B_144; + } + + try { + String reconstructed = + fallbackBand.getPrefix() + "." + foundRaw; + double candidateFrequency = Double.parseDouble( + normalizeFrequencyString(reconstructed) + ); + + if (fallbackBand.isPlausible(candidateFrequency)) { + finalDetectedFrequency = candidateFrequency; + finalDetectedBand = fallbackBand; + } + } catch (NumberFormatException ignored) { + // The matched value cannot be converted into a frequency. + } + } + } else { + try { + finalDetectedFrequency = Double.parseDouble( + normalizeFrequencyString(foundRaw) + ); + finalDetectedBand = Band.fromFrequency(finalDetectedFrequency); + } catch (NumberFormatException ignored) { + // Continue with the next possible match in the message. + } } + + if (finalDetectedBand == null || finalDetectedFrequency <= 0.0) { + continue; + } + + /* + * Store the result in the thread-safe active-member model. The existing + * compatibility property used by the TableView and DX-Cluster code is + * updated by applyDetectedFrequencyToActiveMembers(...), too. + */ + client.applyDetectedFrequencyToActiveMembers( + sender, + finalDetectedBand, + finalDetectedFrequency + ); + + System.out.println( + "[SmartParser] Detected for " + + sender.getCallSign() + + ": " + + finalDetectedFrequency + + " MHz (" + + finalDetectedBand + + ") " + + (shortForm + ? "[derived from " + foundRaw + "]" + : "[full match]") + ); } } + + /** + * Checks whether a bare three-digit value is surrounded by text that identifies + * it as a frequency. + * + *

The check intentionally uses only a small area around the value. A remote + * occurrence of the word "QRG" elsewhere in a long message must not turn every + * three-digit number in that message into a frequency.

+ * + * @param messageText complete chat message + * @param matchStart start index of the three-digit match + * @param matchEnd end index of the three-digit match + * @return {@code true} if the value has explicit frequency context + */ + static boolean hasExplicitBareFrequencyContext( + String messageText, + int matchStart, + int matchEnd + ) { + if (messageText == null + || matchStart < 0 + || matchEnd < matchStart + || matchEnd > messageText.length()) { + return false; + } + + int prefixStart = Math.max( + 0, + matchStart - BARE_FREQUENCY_CONTEXT_CHARACTERS + ); + int suffixEnd = Math.min( + messageText.length(), + matchEnd + BARE_FREQUENCY_CONTEXT_CHARACTERS + ); + + String prefixContext = messageText.substring(prefixStart, matchStart); + String suffixContext = messageText.substring(matchEnd, suffixEnd); + + return BARE_FREQUENCY_PREFIX_CONTEXT_PATTERN + .matcher(prefixContext) + .find() + || BARE_FREQUENCY_SUFFIX_CONTEXT_PATTERN + .matcher(suffixContext) + .find(); + } + /** * Helper: Normalizes weird frequency formats to valid Double strings. * Example: "144.210.10" -> "144.21010" diff --git a/src/main/java/kst4contest/controller/MessageBusManagementThreadFrequencyContextTest.java b/src/main/java/kst4contest/controller/MessageBusManagementThreadFrequencyContextTest.java index 4ee7ecc..dbafb49 100644 --- a/src/main/java/kst4contest/controller/MessageBusManagementThreadFrequencyContextTest.java +++ b/src/main/java/kst4contest/controller/MessageBusManagementThreadFrequencyContextTest.java @@ -1,4 +1,81 @@ -package kst4contest.controller; - -public class MessageBusManagementThreadFrequencyContextTest { -} +//package kst4contest.controller; +// +//import kst4contest.model.Band; +//import org.junit.jupiter.api.Test; +//import org.junit.jupiter.params.ParameterizedTest; +//import org.junit.jupiter.params.provider.ValueSource; +// +//import java.util.regex.Matcher; +//import java.util.regex.Pattern; +// +//import static org.junit.jupiter.api.Assertions.assertEquals; +//import static org.junit.jupiter.api.Assertions.assertFalse; +//import static org.junit.jupiter.api.Assertions.assertNotNull; +//import static org.junit.jupiter.api.Assertions.assertNull; +//import static org.junit.jupiter.api.Assertions.assertTrue; +// +//class MessageBusManagementThreadFrequencyContextTest { +// +// private static final Pattern THREE_DIGIT_VALUE = +// Pattern.compile("\\b\\d{3}\\b"); +// +// @ParameterizedTest +// @ValueSource(strings = { +// "qrg 210", +// "QRG: 210", +// "freq is 210", +// "frequency = 210", +// "on 210", +// "210 MHz", +// "210 qrg" +// }) +// void acceptsBareThreeDigitValueWithFrequencyContext(String messageText) { +// Matcher matcher = findThreeDigitValue(messageText); +// +// assertTrue( +// MessageBusManagementThread +// .hasExplicitBareFrequencyContext( +// messageText, +// matcher.start(), +// matcher.end() +// ) +// ); +// } +// +// @ParameterizedTest +// @ValueSource(strings = { +// "599", +// "144", +// "serial 210", +// "score 210", +// "worked 210 stations" +// }) +// void rejectsBareThreeDigitValueWithoutFrequencyContext(String messageText) { +// Matcher matcher = findThreeDigitValue(messageText); +// +// assertFalse( +// MessageBusManagementThread +// .hasExplicitBareFrequencyContext( +// messageText, +// matcher.start(), +// matcher.end() +// ) +// ); +// } +// +// @Test +// void resolvesOnlySupportedFallbackPrefixes() { +// assertEquals(Band.B_144, Band.fromPrefix("144")); +// assertEquals(Band.B_432, Band.fromPrefix(" 432 ")); +// assertEquals(Band.B_10G, Band.fromPrefix("10368")); +// assertNull(Band.fromPrefix("999")); +// assertNull(Band.fromPrefix(null)); +// } +// +// private Matcher findThreeDigitValue(String messageText) { +// Matcher matcher = THREE_DIGIT_VALUE.matcher(messageText); +// assertTrue(matcher.find(), "Test message must contain a three-digit value"); +// assertNotNull(matcher.group()); +// return matcher; +// } +//} \ No newline at end of file diff --git a/src/main/java/kst4contest/controller/ReadUDPbyUCXMessageThread.java b/src/main/java/kst4contest/controller/ReadUDPbyUCXMessageThread.java index f85bc58..e6f7a12 100644 --- a/src/main/java/kst4contest/controller/ReadUDPbyUCXMessageThread.java +++ b/src/main/java/kst4contest/controller/ReadUDPbyUCXMessageThread.java @@ -291,14 +291,6 @@ public class ReadUDPbyUCXMessageThread extends Thread { ChatMember modifyThat = null; -// System.out.println("ReadUDPByUCX, message catched: " + udpMsg); - -// String[] threadStatusMessage = new String[2]; -// threadStatusMessage = new String[3]; -// threadStatusMessage[0] = "on"; -// threadStatusMessage[1] = "received message:"; -// threadStatusMessage[2] = udpMsg; - ThreadStateMessage threadStateMessage = new ThreadStateMessage(this.ThreadNickName, true, "received Message\n" + udpMsg, false); callBackToController.onThreadStatus(ThreadNickName,threadStateMessage); @@ -307,7 +299,7 @@ public class ReadUDPbyUCXMessageThread extends Thread { try { dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); } catch (ParserConfigurationException e1) { - // TODO Auto-generated catch block + e1.printStackTrace(); } diff --git a/src/main/java/kst4contest/model/Band.java b/src/main/java/kst4contest/model/Band.java index 94c3ccf..41c0dca 100644 --- a/src/main/java/kst4contest/model/Band.java +++ b/src/main/java/kst4contest/model/Band.java @@ -29,6 +29,35 @@ public enum Band { return prefix; } + + /** + * Resolves a configured MHz prefix to one of the bands supported by the + * frequency parser. + * + *

The former free-text preference accepted arbitrary numeric values even + * though only prefixes represented by this enum can be used for a plausible + * frequency. Keeping the lookup here gives the UI and the parser one common + * definition of a valid fallback band.

+ * + * @param prefix configured MHz prefix, for example {@code 144} or {@code 10368} + * @return matching band, or {@code null} if the prefix is not supported + */ + public static Band fromPrefix(String prefix) { + if (prefix == null) { + return null; + } + + String normalizedPrefix = prefix.trim(); + + for (Band band : values()) { + if (band.prefix.equals(normalizedPrefix)) { + return band; + } + } + + return null; + } + /** * Returns the lower edge used as practical analysis frequency when only the band * is known. This keeps the batch reachability calculation deterministic. diff --git a/src/main/java/kst4contest/view/Kst4ContestApplication.java b/src/main/java/kst4contest/view/Kst4ContestApplication.java index 1a23c0b..bd752db 100644 --- a/src/main/java/kst4contest/view/Kst4ContestApplication.java +++ b/src/main/java/kst4contest/view/Kst4ContestApplication.java @@ -31,6 +31,7 @@ import javafx.scene.layout.*; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.util.Duration; +import javafx.util.StringConverter; import kst4contest.ApplicationConstants; import kst4contest.controller.ChatController; import kst4contest.controller.MessageVariableResolver; @@ -1504,19 +1505,13 @@ public class Kst4ContestApplication extends Application implements StatusUpdateL @Override public ObservableValue call(CellDataFeatures cellDataFeatures) { -// StringProperty qrg = new SimpleStringProperty(); - -// qrg.setValue(cellDataFeatures.getValue().getFrequency()); -// qrg = (cellDataFeatures.getValue().getFrequency()); - -// if (!qrg.getValue().equals("")) { -// -// } return cellDataFeatures.getValue().getFrequency(); } }); + applyQrgUiFormatting(qrgCol); //insert zero until qrg string looks pretty + TableColumn airScoutCol = new TableColumn("AP [minutes / pot%]"); airScoutCol.setCellValueFactory(new Callback, ObservableValue>() { @@ -9854,53 +9849,84 @@ public class Kst4ContestApplication extends Application implements StatusUpdateL } ); - TextField txtFld_notify_DXclusterServerFrequencyPrefix = - new TextField( - this.chatcontroller - .getChatPreferences() - .getNotify_optionalFrequencyPrefix() - .getValue() + ComboBox cmbBx_notifyFrequencyFallbackBand = + new ComboBox<>( + FXCollections.observableArrayList(Band.values()) ); - txtFld_notify_DXclusterServerFrequencyPrefix - .focusedProperty() + cmbBx_notifyFrequencyFallbackBand.setEditable(false); + cmbBx_notifyFrequencyFallbackBand.setMaxWidth(Double.MAX_VALUE); + cmbBx_notifyFrequencyFallbackBand.setTooltip( + new Tooltip( + "Used for relative QRG values such as .210 when no band " + + "has been recognized for the sender during the " + + "previous 30 minutes. This setting affects the " + + "general QRG detection, not only DX-Cluster spots." + ) + ); + + cmbBx_notifyFrequencyFallbackBand.setConverter( + new StringConverter() { + @Override + public String toString(Band band) { + if (band == null) { + return ""; + } + + String displayLabel = band.getDisplayLabel(); + if (band.getPrefix().equals(displayLabel)) { + return band.getPrefix() + " MHz"; + } + + return band.getPrefix() + + " MHz (" + + displayLabel + + ")"; + } + + @Override + public Band fromString(String displayedValue) { + if (displayedValue == null) { + return null; + } + + int firstSpace = displayedValue.indexOf(' '); + String prefix = firstSpace >= 0 + ? displayedValue.substring(0, firstSpace) + : displayedValue; + + return Band.fromPrefix(prefix); + } + } + ); + + Band configuredFallbackBand = Band.fromPrefix( + chatcontroller + .getChatPreferences() + .getNotify_optionalFrequencyPrefix() + .get() + ); + + if (configuredFallbackBand == null) { + configuredFallbackBand = Band.B_144; + chatcontroller + .getChatPreferences() + .setNotify_optionalFrequencyPrefix( + configuredFallbackBand.getPrefix() + ); + } + + cmbBx_notifyFrequencyFallbackBand.setValue(configuredFallbackBand); + + cmbBx_notifyFrequencyFallbackBand + .valueProperty() .addListener( - (observable, oldValue, focused) -> { - if (focused) { - return; - } - - String bandInMHz = - txtFld_notify_DXclusterServerFrequencyPrefix - .getText() - .trim(); - - if (bandInMHz.matches( - "[1-9]\\d{1,4}" - )) { + (observable, oldBand, newBand) -> { + if (newBand != null) { chatcontroller .getChatPreferences() .setNotify_optionalFrequencyPrefix( - bandInMHz - ); - - txtFld_notify_DXclusterServerFrequencyPrefix - .setText(bandInMHz); - } else { - showUserInputErrorWindow( - "\"" - + bandInMHz - + "\" is not a valid fallback band. " - + "Enter the MHz part as an integer, " - + "for example 144, 432 or 1296." - ); - - txtFld_notify_DXclusterServerFrequencyPrefix - .setText( - chatcontroller - .getChatPreferences() - .getNotify_optionalFrequencyPrefix() - .getValue() + newBand.getPrefix() ); } } @@ -10075,14 +10101,13 @@ public class Kst4ContestApplication extends Application implements StatusUpdateL grdPnlNotify.add( new Label( - "Fallback band in MHz for relative " - + "frequencies [default: 144]:" + "Fallback band for relative QRG detection:" ), 0, 8 ); grdPnlNotify.add( - txtFld_notify_DXclusterServerFrequencyPrefix, + cmbBx_notifyFrequencyFallbackBand, 1, 8 );