Projekt

Allgemein

Profil

Aktionen

Fehler #176

geschlossen
JH

Serielles Ergometer: unlesbare Antworten werden still verworfen

Fehler #176: Serielles Ergometer: unlesbare Antworten werden still verworfen

Von Julius Haman vor 8 Tagen hinzugefügt. Vor 7 Tagen aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
Beginn:
24.10.2026
Abgabedatum:
% erledigt:

100%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

Anlass

Forum: Kettler Racer 9 über COM-Port, die Schaltung am Racer "friert" nach etwa drei Schaltvorgängen ein (in ErControl 2.5 funktionierte sie).

Ursachen (Vermutungen, noch ohne Log des Benutzers)

  1. Liefert das Ergometer eine Zeile mit anderer Spaltenzahl, ergibt KettlerErgometer.ConvertReceiveString null und der Poll-Tick endet ohne Meldung (HandlePollTickAsync). 2.5 hätte dabei eine Exception geworfen. Ein FormatException/OverflowException bei Nicht-Zahlen wurde gar nicht abgefangen.
  2. In 3 führt schon ein einzelner Lese-Timeout (ReceiveDataException) zu "Verbindung verloren" und damit zu Reconnect (Port schließen, öffnen, CM, Baudraten durchprobieren; währenddessen werden alle Ticks übersprungen). 2.5 hat den Tick nur abgebrochen; der nächste Tick hatte dann einen Jitter > 1000 ms und wurde als "x Timer Events verpasst" ausgeglichen (TrainingControl.M_cTimer_Elapsed), ohne Port-Neustart und ohne CM. Ein Rechner/Trainer, der mit dem 1-s-Takt gelegentlich oder regelmäßig Probleme hat, landet in 3 in einer Reconnect-Schleife. Wie das Racer auf das erneute CM reagiert, ist unbekannt.

Hinweis: Die Antwortzeit "300-400 ms" im Code-Kommentar (HandlePollTickAsync) stammt von einem anderen Gerät; für das Racer 9 gibt es keine Messwerte.

Änderung

  • Unlesbare Antwort bei bestehender Verbindung: Warnung mit gesendetem Befehl und kompletter Rohantwort (höchstens alle 30 s, mit Zähler der unterdrückten Meldungen). FormatException/OverflowException führen dann ebenfalls zu null (Tick wird übersprungen) statt zu einer unbehandelten Exception. Beim Verbindungsaufbau (Erkennung ST/DB) bleibt es unverändert.
  • Dauer jedes seriellen Austauschs ins Debug-Log (Erweiterte Protokollierung für serielle Schnittstelle); ein Timeout bei bestehender Verbindung wird mit der Wartezeit als Warnung geloggt.
  • Einzelne Lese-Timeouts zählen wie in 2.5 als verpasster Tick: Warnung im Log, neuer Versuch im nächsten Takt. Zum Reconnect kommt es erst, wenn seit 5 s (wie DataStaleAfter bei BLE/ANT+) keine gültigen Daten mehr kamen. #129 (Kabel gezogen, Gerät aus) bleibt damit erhalten.

Offen

Ursache des Einfrierens selbst; hängt vom Log des Benutzers ab. Ob 5 s die richtige Schwelle sind, zeigen die Antwortzeiten aus dessen Log.

JH Von Julius Haman vor 8 Tagen aktualisiert Aktionen #1

JH Von Julius Haman vor 8 Tagen aktualisiert Aktionen #2

Überlegungen zum Takt (noch nicht umgesetzt)

  • Der Poll ist bereits halb adaptiv: Der nächste Tick startet erst nach Ende des vorigen, Mindestabstand 500 ms (MinPollDelayMs); die Zeit läuft über die Wanduhr. 2.5 regelte den Takt nur zwischen 900 und 1100 ms.
  • Mögliche Stufen, falls die Messwerte es nötig machen: (1) adaptiver Lese-Timeout (z. B. 1 s → 2 s nach wiederholten Timeouts), (2) größere MinPollDelayMs, (3) erst zuletzt ein echtes größeres Intervall. Jeweils mit Logzeile beim Umschalten.
  • Ein größeres Intervall betrifft Pulsregelung, Gangautomatik, Geschwindigkeitsträgheit und Gangleistungs-Rampe (auf ca. 1 s ausgelegt) sowie die Auflösung der Trainingspunkte; vorher prüfen.
  • Entscheidung erst nach den Antwortzeiten aus dem Debug-Log des Benutzers.

JH Von Julius Haman vor 8 Tagen aktualisiert Aktionen #3

  • Status wurde von Neu zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Julius Haman gesetzt
  • Zielversion wurde auf ErControl 3.1.11 gesetzt

JH Von Julius Haman vor 8 Tagen aktualisiert Aktionen #4

  • % erledigt wurde von 0 zu 70 geändert

JH Von Julius Haman vor 7 Tagen aktualisiert Aktionen #5

  • Status wurde von In Bearbeitung zu Erledigt geändert
  • Zugewiesen an Julius Haman wurde gelöscht
  • % erledigt wurde von 70 zu 100 geändert
Aktionen

Auch abrufbar als: PDF Atom