Projekt

Allgemein

Profil

Feature #49

Von Julius Haman vor 14 Tagen aktualisiert

### Problem 

 Im Hauptchart (ErgometerDataPlotControl.ShowMetricsTrainingData) werden Ist-Werte (Cadence, TargetPower, ActualPulse) bereits aus den gespeicherten TrainingPoints gezeichnet. Die überlagerte Soll-Kurve (DesiredPulseLine, bei Puls-/Leistungsprofilen) wird dagegen bei jeder Anzeige neu aus Profile.GetDrawingPoints() berechnet - das ist Profildaten, keine Trainingsdaten. 

 Dadurch geht Information verloren: GetDrawingPoints() nutzt den zur Laufzeit verstellbaren Intensitätsfaktor Profile.HeightFactor ([NotMapped], nicht persistiert, startet jede Session bei 1). Schaut man sich ein altes Training später an, zeigt die Soll-Linie die Kurve mit dem heutigen Standard-Faktor, nicht mit dem, was während des damaligen Trainings durch IncreaseHeight/DecreaseHeight tatsächlich eingestellt war. 

 Seit #44 gibt es dafür bereits die passenden Felder direkt am TrainingPoint: TargetPower und TargetPulse, die den tatsächlich zum Aufnahmezeitpunkt geltenden Sollwert festhalten (inkl. damaliger Intensitätsanpassung). 

 ### Vorschlag 

 Grundsatz: im Hauptchart sollen ausschließlich Trainingsdaten angezeigt werden, keine (live nachberechneten) Profildaten. 

 - Soll-Kurve bei Leistungsprofil-Trainings aus tp.TargetPower statt Profile.GivenPowerAt() zeichnen. 
 - Soll-Kurve bei Pulsprofil-Trainings (die "rosa Linie") aus tp.TargetPulse statt Profile.GivenPulseAt() zeichnen. 
 - Prüfen, ob/wie das mit der bestehenden DesiredPulseLine-Infrastruktur (SetDesiredCurve, live vs. Historie) zusammenpasst, oder ob eine grundsätzlichere Überarbeitung der Chart-Datenquellen sinnvoll ist (daher als eigenes, möglicherweise größeres Ticket statt Teil von #44). 

 ### Kontext 

 Entstanden aus der Spalten-Review von TrainingPoint nach #44. Test

Zurück