Feature #146
geschlossenTacx FE-C: Diagnose-Logging für Trittfrequenz und Pulsgurt, irreführende Warnung beim Wiederverbinden
0%
Beschreibung
Anlass: Log eines Benutzers mit Tacx Vortex (FE-C über BLE) mit ErControl 3.1.6 (#144).
Beobachtung¶
- Die Trainingsdauer in der Liste ist in 4 von 4 Trainings nur etwa halb so lang wie die echte Zeit. Vermutung: Das Vortex meldet bei geringer Leistung oft Trittfrequenz 0 oder ungültig (0xFF); ErControl zählt das als Stillstand, Uhr und Distanz stehen. Noch nicht belegt.
- Bei abgebrochenen Pulsmesser-Versuchen steht im Log nicht, wie der Versuch endete.
- Beim Wiederverbinden nach einem Funkabbruch erscheint die Warnung "Senden an den Tacx-Trainer fehlgeschlagen" (COMException 0x80004004). Sie entsteht beim Schließen der alten Sitzung (Widerstand lösen auf toter Verbindung) und ist harmlos.
Umfang¶
- Zähler und Minutenzeile für Seite 0x19 (Trittfrequenz 0 / ungültig) in
TacxFecSession. - Release-Write in
Disposeüberspringen, wenn die Verbindung schon als verloren gilt. - Abbruch und Ende ohne Puls in
BlePulsmesserbzw.ConnectToErgometerViewModelloggen.
Verhalten ändert sich nicht.
Folgeaufgabe¶
Benutzer fährt mindestens 10 Minuten mit Pulsgurt und eigener Zeitnahme (ca. 80 rpm, mindestens 100 W) und schickt das Log. Danach entscheiden, ob die Dauerberechnung bei Tacx angepasst wird.
JH Von Julius Haman vor 3 Tagen aktualisiert
- Status wurde von Neu zu Erledigt geändert
JH Von Julius Haman vor 3 Tagen aktualisiert
Stand und Übergabe (10.10.2026)¶
Umgesetzt in ErControl 3.1.7 (Commit e4afd6e): Zähler für Seite 0x19 mit Minutenzeile im Log, Release-Write beim Schließen einer verlorenen Tacx-Verbindung übersprungen, Abbruch bzw. Ende ohne Puls des BLE-Pulsmessers im Log. Das Verhalten der Anwendung ist unverändert.
Beobachtung im Log des Benutzers (ErControl 3.1.6, Tacx Vortex)¶
Vier Trainings am 10.10.2026, die gespeicherte Dauer ist in allen etwa halb so lang wie die Zeit von Trainingsbeginn bis „Ergometer-Verbindung getrennt“:
| Training | echte Zeit (ca.) | Dauer in der Liste | Verhältnis |
|---|---|---|---|
| #2 | 5:31 | 2:41 | 0,49 |
| #3 | 0:57 | 0:31 | 0,55 |
| #4 | 7:06 | 3:35 | 0,50 |
| #1 | ca. 2:05 (Start geschätzt) | 1:03 | ca. 0,5 |
Ø Trittfrequenz 39 rpm (max. 66), Ø Leistung 75 W. Der Benutzer hatte keinen Pulsmesser angelegt, Ø Puls 0 sowie leere Belastung/Fitnessnote sind daher erwartbar und kein Fehler.
Hypothese (noch nicht belegt)¶
Das Vortex meldet bei geringer Leistung oft Trittfrequenz 0 oder ungültig (0xFF). ErControl zählt das als Stillstand, Uhr und Distanz stehen:
TacxFecProtocol.ParseFrame(Seite 0x19): Trittfrequenz 0xFF ergibtnull,TacxFecSession.OnNotifymacht daraus 0.ErgometerSpeedCalculator.CalculateNextBikeSpeed(Zeile 80): Geschwindigkeit ist 0, wenn Trittfrequenz 0 ist.FreiesTrainingWindowViewModel.DataSender_SendingData(isStopped, Zeilen 1885 und 1906): Bei Trittfrequenz 0 und Geschwindigkeit 0 pausiert die Uhr.
Auswertung des nächsten Logs¶
Der Benutzer fährt mindestens 10 Minuten mit Pulsgurt, notiert Start und Ende selbst (ca. 80 rpm, mindestens 100 W) und schickt Log, Screenshot der Trainingsliste und seine Zeiten. Im Log steht einmal pro Minute und beim Beenden eine Zeile „Tacx-Trainer Seite 0x19: N Pakete, davon Trittfrequenz 0: x %, ungültig (0xFF): y %“.
- Hoher Anteil 0 oder 0xFF (etwa die Hälfte): Hypothese bestätigt. Dann Dauerberechnung für Tacx anpassen, zum Beispiel letzte gültige Trittfrequenz kurz halten oder „Leistung > 0 zählt als Fahren“.
- Niedriger Anteil, Dauer trotzdem zu kurz: Ursache liegt woanders, Zeitberechnung und Poll-Takt prüfen.
Weitere Beobachtung im Log: Der Verbindungsabbruch um 11:40:40 (mehr als 5 s keine Daten) wurde nach etwa 8 s selbst wiederhergestellt. Die Ursache des Abbruchs ist unbekannt, aufgetreten ist er nur einmal in vier Trainings.