Feature #41
Von Julius Haman vor 9 Tagen aktualisiert
## Ausgangslage Für ANT+-FE-C-Trainer galten Analog zum BLE-FTMS-Pendant (siehe verwandtes Ticket zu 0x2AD8): auch das ANT+ FE-C-Protokoll kennt eine Capabilities-Page mit Angaben zur unterstützten Power-Range des Trainers. AntFecErgometer.cs liest das bisher feste Werte nicht aus - Power-Minimum (25 W / 400 W / 5 W). Seit #42 liegt der Leistungsbereich am Gerät, wirksam war er aber nur bei seriellen Geräten. BLE-FTMS-Geräte melden ihren Bereich selbst (#40). ## Ursprüngliche Idee: Auslesen per FE-C Der Bereich sollte beim Verbinden aus der FE-Capabilities-Seite (0x36) gelesen werden. Das ist nicht möglich: Die Seite enthält laut öffentlichen Implementierungen (z. B. GoldenCheetah #1393) nur die maximale Widerstandskraft in Newton W), -Maximum (Prefs.PowerMax) und ein Bitfeld der unterstützten Modi (Basic Resistance / Target Power / Simulation), keine Min-/Max-/Increment-Werte in Watt. Newton lässt sich nicht sinnvoll in Watt umrechnen. Das Seitenlayout ist nicht gegen die Spezifikation (D000001231) oder einen echten Trainer geprüft. ## Umsetzung Der manuelle Leistungsbereich (Min/Max/Schrittweite, Geräte → Trainingsgeräte) gilt jetzt Schrittweite (5 W) sind auch für ANT+ FE-C. Effektive Range ANT+-Geräte fest im Training: Code/in den globalen Einstellungen hinterlegt, nicht geräteabhängig. 1. Live-Range des Geräts (BLE FTMS) 2. Gerätewerte (seriell, Vorschlag: die Capabilities-Page beim Verbinden mit einem ANT+ FE-C) 3. Default 25 / 400 / 5 W Fehlt eine Live-Range, greift FE-C-Gerät auslesen und für die nächste Stufe, die Verbindung ist davon nie betroffen. Keine Migration nötig (Spalten aus #42). ## Offen Live-Auslesen per FE-C bleibt nur möglich, wenn die Spezifikation oder ein echter Trainer verfügbar ist (Request Data Page 0x46 in `FecControlRole`, neue Pipe-Nachricht, `AntFecErgometer.PowerRange`). Session als Power-Range verwenden (Live-Wert vom Gerät) statt der hart codierten/globalen Werte.