Aktionen
Feature #158
geschlossen
JH
AntInterface: Version muss zur ErControl-Version passen
Feature #158:
AntInterface: Version muss zur ErControl-Version passen
Beginn:
12.10.2026
Abgabedatum:
12.10.2026
% erledigt:
100%
Geschätzter Aufwand:
Gefunden in Version:
Beschreibung
Problem¶
ErControl und AntInterface teilen sich seit #93 dieselbe Versionsnummer, ErControl prüfte beim Verbinden aber nur die Protokollversion. Eine AntInterface mit gleichem Protokoll, aber anderer Programmversion oder anderem Build (unvollständiges Update, manuell hinterlegter Pfad) wurde stillschweigend akzeptiert.
Zusätzlich bleibt nach einem ErControl-Absturz ein verwaister AntInterface-Prozess bestehen, der den ANT-Stick blockiert (die Pipe-Namen sind pro Start eindeutig, der Altprozess wird also nicht verbunden, hält aber den Stick).
Lösung¶
Schritt 1: Versions- und Commit-Prüfung¶
HelloMessagebekommtAppVersion(Programmversion derAntInterface.exe) undCommit(Git-Kennung, aus der sie gebaut wurde).- ErControl vergleicht beides nach dem Verbinden mit den eigenen Werten. Bei Abweichung oder fehlenden Angaben (ältere AntInterface) wird ein fataler Fehler gemeldet und der eigene AntInterface-Prozess beendet. Die Meldung nennt Version und Commit beider Seiten und wird in Verbinden-Dialog, Verbindungstest und Gerätesuche statt des Stick-Hinweises angezeigt (diese Stellen zeigten für jeden fatalen Fehler den Hinweis, den ANT+-Stick anzustecken).
- Die Commit-Kennung wird nur verglichen, wenn beide Seiten eine echte kennen (Build ohne .git liefert
unknown). - Dadurch fallen auch mehrere Builds mit gleicher Versionsnummer auf.
Schritt 2: Verwaiste Prozesse¶
- Vor dem Start verwaiste
AntInterface.exe-Prozesse beenden (Elternprozess existiert nicht mehr, gleicher Pfad). - Kindprozess einem Windows Job Object mit
KILL_ON_JOB_CLOSEzuweisen, damit nach einem Absturz keine Verwaisten mehr entstehen.
JH Von Julius Haman vor 20 Tagen aktualisiert
- Beschreibung aktualisiert (Vergleich)
JH Von Julius Haman vor 20 Tagen aktualisiert
- Beschreibung aktualisiert (Vergleich)
JH Von Julius Haman vor 20 Tagen aktualisiert
- Status wurde von Neu zu Erledigt geändert
Umgesetzt in zwei Commits (Versions-/Commit-Prüfung, verwaiste Prozesse und Job Object). Getestet: ErControl im Task-Manager beendet, AntInterface wurde dabei ebenfalls beendet.
JH Von Julius Haman vor 19 Tagen aktualisiert
- Abgabedatum wurde auf 12.10.2026 gesetzt
- Beginn wurde auf 12.10.2026 gesetzt
JH Von Julius Haman vor 19 Tagen aktualisiert
- % erledigt wurde von 0 zu 100 geändert
Aktionen