Projekt

Allgemein

Profil

Aktionen

Feature #44

geschlossen
JH

TrainingPoint: vollständige Bewegungsdaten (Geschwindigkeit, GPS) ergänzen, Soll-Werte (Puls/Leistung/Höhe) sauber trennen und Aufzeichnungsintervall auf 1 s stellen

Feature #44: TrainingPoint: vollständige Bewegungsdaten (Geschwindigkeit, GPS) ergänzen, Soll-Werte (Puls/Leistung/Höhe) sauber trennen und Aufzeichnungsintervall auf 1 s stellen

Von Julius Haman vor 15 Tagen hinzugefügt. Vor 13 Tagen aktualisiert.

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

100%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

Problem

Der Sollwert eines Profils landet aktuell für drei unterschiedliche Größen in derselben Spalte ProfileHeight:

Profiltyp Was ProfileHeight heute enthält
topographisch Höhe in m
Leistungsprofil Soll-Leistung in W
Pulsprofil Sollpuls in bpm

Solleistung hat mit Power zwar schon ein eigenes Feld, Sollpuls dagegen nicht - der steckt nur indirekt in ProfileHeight.

Außerdem fehlen Geschwindigkeit und GPS-Position als eigene Werte pro Trainingspunkt (aktuell nur nachträglich aus Position/Profil rekonstruierbar, siehe Exporte).

Vorschlag: TrainingPoint-Spalten umbenennen/ergänzen

Alt Neu Bedeutung
Frequency Cadence Ist-Trittfrequenz
Pulse ActualPulse Ist-Puls
Power TargetPower Soll-Leistung (ans Ergometer gesendet)
PowerActual ActualPower Ist-Leistung
Position Distance Ist-Distanz in m
ProfileHeight aufgeteilt in Elevation (nur topographisch, m) und TargetPulse (nur Pulsprofil, bpm) siehe oben
ProfilePosition entfällt bzw. wird ProfileMinutes (nur Puls-/Leistungsprofil) - bei topographisch identisch mit Distance, daher dort redundant
ProfileFinished bleibt
(neu) Speed Ist-Geschwindigkeit in m/s
(neu) Latitude / Longitude GPS, nullable

Mit TargetPower/ActualPower und TargetPulse/ActualPulse ergibt sich ein konsistentes Namensschema statt der bisherigen Mischung aus Power/PowerActual/ProfileHeight.

Aufzeichnungsintervall auf 1 s statt 2 s

Aktuell wird jeder zweite Sekundentakt verworfen (ergoRunningElapsedCounter % 2 != 0 in RecordTrainingPoint), obwohl das Ergometer ohnehin sekündlich abgefragt wird - die zweite Sekunde wird also nur weggeworfen, nicht eingespart.

Andere Programme zeichnen heute standardmäßig sekündlich auf: Garmin hat den ressourcensparenden "Smart Recording"-Modus bei neueren Geräten (Edge 1040, Explore) ganz entfernt zugunsten von "Every Second Recording", da moderner Speicherplatz kein limitierender Faktor mehr ist. Wahoo/Zwift zeichnen Leistung klassisch sekündlich auf, neuere Trainer sogar pro Kurbelumdrehung.

Vorschlag: Aufzeichnung auf 1 s umstellen (inkl. Anpassung Interval=2 → Interval=1 im HRM-Export).

JH Von Julius Haman vor 15 Tagen aktualisiert Aktionen #1

JH Von Julius Haman vor 15 Tagen aktualisiert Aktionen #2

  • Thema wurde von TrainingPoint: vollständige Bewegungsdaten (Geschwindigkeit, GPS) ergänzen und Soll-Werte (Puls/Leistung/Höhe) sauber trennen statt in ProfileHeight zu vermischen zu TrainingPoint: vollständige Bewegungsdaten (Geschwindigkeit, GPS) ergänzen, Soll-Werte (Puls/Leistung/Höhe) sauber trennen und Aufzeichnungsintervall auf 1 s stellen geändert
  • Beschreibung aktualisiert (Vergleich)

JH Von Julius Haman vor 14 Tagen aktualisiert Aktionen #3

  • Tracker wurde von Fehler zu Feature geändert

JH Von Julius Haman vor 14 Tagen aktualisiert Aktionen #4

Auswirkung auf die Trainings-Visualisierung

Beim Review der bestehenden Anzeige für gefahrene Trainings zeigt sich, dass die Visualisierung aktuell stark vom Profil abhängt, statt bereits gespeicherte Trainingsdaten zu nutzen:

ErgometerDataPlotControl.ShowTopographicTrainingData() (ErControl.Core/Model/ErgometerDataPlotControl.cs) liest für den Höhen-/Steigungschart eines abgeschlossenen Trainings live Training.ProfileTraining.Profile.ProfilePoints – obwohl TrainingPoint bereits eigene ProfileHeight/ProfilePosition-Spalten besitzt.

Konkret betroffen:

  • Höhenkurve (profile.GetDrawingPoints())
  • Steigungs-Einfärbung (Gradient wird live aus ProfilePoint-Paaren berechnet)
  • Start-/Ziel- und Punktbeschriftungen (z. B. Bergnamen) aus ProfilePoints
  • Gewünschte Puls-/Leistungskurve bei Metrics-Trainings (SetDesiredCurve)

Einzige bereits autarke Stelle: das Haze-Overlay für den gefahrenen Bereich nutzt Training.DistanceFrom/DistanceTo, nicht das Profil.

Konsequenz: Damit ein Training nach #44 wirklich unabhängig vom Profil ist, muss dieser Chart mit umgebaut werden – sonst beeinflusst eine spätere Änderung oder Löschung des Profils weiterhin die Darstellung alter Trainings, obwohl die Rohdaten längst im Training selbst vorliegen.

JH Von Julius Haman vor 14 Tagen aktualisiert Aktionen #5

Ergänzung: Übersichtsgrafik statt Chart-Abhängigkeit vom Profil

Beim Review der bestehenden Trainings-Visualisierung (ErgometerDataPlotControl.ShowTopographicTrainingData) zeigte sich: Der Höhen-/Steigungschart für gefahrene Trainings hängt aktuell stark am Profil (liest live Training.ProfileTraining.Profile.ProfilePoints für Höhenkurve, Steigungsfärbung und Beschriftungen), obwohl TrainingPoint bereits eigene ProfileHeight-/ProfilePosition-Spalten besitzt.

Konsequenz für #44: Damit ein Training wirklich autark wird, sollte der Hauptchart künftig ausschließlich aus den eigenen TrainingPoint-Daten gebaut werden. Damit wird aber auch nur noch der tatsächlich gefahrene Streckenabschnitt angezeigt, nicht mehr das komplette Profil mit hervorgehobenem gefahrenen Bereich (wie bisher über das Haze-Overlay).

Um den Gesamtkontext trotzdem nicht ganz zu verlieren: zusätzlich eine kleine Übersichtsgrafik im Trainingsdetail-Fenster einblenden, die das komplette Profil zeigt und die Endposition des Trainings markiert – aber nur, sofern die Profil-Verknüpfung (ProfileTraining) noch existiert. Fehlt sie (Profil gelöscht/geändert), entfällt nur diese Zusatzgrafik, der autarke Hauptchart bleibt unberührt.

Diese Übersichtsgrafik liefert nebenbei die Datengrundlage für #47 (Startdistanz-Vorschlag beim Fortsetzen eines Profils).

JH Von Julius Haman vor 14 Tagen aktualisiert Aktionen #6

  • Status wurde von Neu zu Gelöst geändert
  • % erledigt wurde von 0 zu 100 geändert

JH Von Julius Haman vor 14 Tagen aktualisiert Aktionen #7

  • Status wurde von Gelöst zu Erledigt geändert

JH Von Julius Haman vor 13 Tagen aktualisiert Aktionen #8

  • Zielversion wurde auf ErControl 3.0.5 gesetzt
Aktionen

Auch abrufbar als: PDF Atom