Zum Inhalt

Anstiege: Höhenprofil und Kletter-Anzeige

TrailBridge schickt beim Abfahren einer GPX-Route das Höhenprofil des nächsten Anstiegs (Protokoll, „Höhenprofil-Service"). Der BikeComputer findet darin Fuß und Gipfel, bewertet den Anstieg und zeigt ihn auf dem Screen RimRidgeClimb (Design, §6).

Anstiegs-Screen

Teil Datei
Wire-Format src/BikeProfileProtocol.h
Algorithmus (rein, Host-Test) src/ClimbProfile.*, test/native_climb/climb_test.cpp
Anbindung: BLE, Position, Einstellungen, CLI, Web, Demo src/ClimbMonitor.*, BLEDevices::subscribeProfile()
Screen src/ui/RimRidgeClimbCustFunc.*, UIFacade::updateClimb()

Was vom Handy kommt, und was die Firmware daraus macht

TrailBridge schickt den Anstieg voraus: die Höhen von der aktuellen Position bis zum Gipfel, sobald der Fuß höchstens 500 m entfernt ist – in einem Frame. Bis 5 km im 25-m-Raster, für längere Anstiege gröber (bis 250 m; der 36 km lange Galibier von Süden kommt mit 200 m). PROFILE_NONE kommt am Gipfel. Auch kleine Hügel (ab 10 m Höhenunterschied) werden geschickt.

Die Firmware

  • findet den Anstieg: Fuß = erster Punkt, ab dem die nächsten 100 m im Mittel 3 % steigen. Gipfel = der letzte Punkt vor einem Gefälle von mehr als 30 m oder vor 2 km ohne mittlere Steigung von 0,5 % – oder das Profilende. Ein kürzeres Flachstück oder eine Senke beendet den Anstieg also nicht; der Galibier von Norden sind zwei Anstiege (Abfahrt vom Télégraphe nach Valloire). TrailBridge sucht mit denselben Kriterien (ElevationProfile.java dort) – die Standardwerte beider Seiten gehören zusammen.
  • fügt Frames zusammen (gleiches Raster, überlappend) und behält den schon gefahrenen Teil, bis zu 320 Schritte. Das braucht es nur, wenn ein Anstieg selbst im 250-m-Raster nicht in einen Frame passt.
  • führt einen Anstieg fort, wenn das Handy PROFILE_NONE und kurz danach ein neues Profil schickt.
  • kennt die Position aus der Restdistanz der Nav-Frames, zwischen zwei Frames fortgeschrieben mit der Strecke des Speed-Sensors.

Höhenangaben sind netto: Gipfel minus Fuß, Gipfel minus Fahrer.

Kategorien

Punktzahl = Länge [m] × mittlere Steigung [%] = 100 × Höhenunterschied. Das ist die Skala von Strava und Garmin (ClimbPro) für 4 bis HC; 5 und 6 setzen sie nach unten durch Halbieren fort.

Kategorie Punkte ab Höhenunterschied ab Beispiel
6 2 000 20 m 400 m mit 5 %
5 4 000 40 m 800 m mit 5 %
4 8 000 80 m 1,6 km mit 5 %
3 16 000 160 m 3 km mit 5,5 %
2 32 000 320 m 5 km mit 6,5 %
1 64 000 640 m 9 km mit 7,5 %
HC 80 000 800 m 10 km mit 8 %

Nicht bewertet (kurzer Hügel, keine automatische Anzeige): kürzer als 300 m, im Mittel flacher als 3 %, oder unter 20 m Höhenunterschied.

Anzeige

  • Der Screen erscheint von selbst, sobald ein bewerteter Anstieg höchstens 300 m voraus liegt, und geht 5 s nach seinem Ende zurück zum Hauptscreen. Er löst nur den Hauptscreen ab; steht gerade Navigation, RQ oder Einstellungen da, ist er danach das Ziel von „zurück".
  • Von Hand: Tipp auf Höhe oder Steigung des Hauptscreens öffnet ihn, Wischen schließt ihn. Ein weggewischter Anstieg kommt nicht von selbst wieder.
  • Profilfarbe nach Steigung des Raster-Abschnitts (25 m, bei langen Anstiegen bis 250 m): unter 1 % blau, bis 4 % grün, bis 7 % gelb, bis 10 % orange, darüber rot. Der gefahrene Teil ist abgedunkelt.

Einstellungen

Alle Werte sind einzeln einstellbar und werden im NVS (Climb) gespeichert:

climb                     Zustand und alle Einstellungen
climb cat4 9000           setzen
climb cat4                anzeigen (mit Bereich und Bedeutung)
climb defaults            Standardwerte

Ohne USB: /debug/climb (Tabelle mit Eingabefeldern), /debug/climb.json, /debug/climb/set?<name>=<wert>.

Name Standard Bedeutung
startgrade / startwindow 3 % / 100 m Fuß: mittlere Steigung über diese Strecke
contgrade 0,5 % mittlere Steigung ab dem bisherigen Gipfel, mit der der Anstieg weitergeht
summitflat 2000 m Flachstück, das den Anstieg beendet; auch der Abstand, in dem ein neuer Anstieg den alten fortsetzt
summitdip 30 m Gefälle, das den Anstieg beendet
summitpass 50 m so weit hinter dem Gipfel ist der Anstieg vorbei
minlength / mingrade 300 m / 3 % darunter nicht bewertet
cat6 … cat1, cathc siehe oben Punktzahl je Kategorie
autoshow 1 automatisch zum Kletter-Screen wechseln
autorank 1 ab welchem Rang: 1 = Kategorie 6 … 6 = Kategorie 1, 7 = HC
showahead 300 m Abstand zum Fuß, ab dem der Screen erscheint
hidedelay 5 s Wartezeit vor dem Zurückwechseln
lookahead 25 m Strecke für die „Steigung voraus"
band1 … band4 1 / 4 / 7 / 10 % Grenzen der Profilfarben
infocycle 4 s Wechsel des Info-Felds (Uhrzeit, Distanz, Temperatur, Trittfrequenz, Höhe)

Ohne Handy ausprobieren

climb demo                2 km mit 6 % (Standard)
climb demo 4000 9         Länge in m, mittlere Steigung in %
climb pos 800             Fahrer 800 m hinter den Profilanfang setzen
climb show / climb hide   Screen öffnen / schließen
climb demo off

Das Demo-Profil läuft als normaler Frame durch den Parser. Der Fahrer bewegt sich mit dem Speed-Sensor (im Simulator-Build mit sim <km/h>) oder per climb pos. Frames vom Handy werden währenddessen ignoriert.

Grenzen

  • Nur mit einer in TrailBridge abgespielten GPX-Route mit Höhendaten. Bei OsmAnd-Navigation gibt es kein Profil.
  • Anstiege über 5 km kommen in gröberem Raster (bis 250 m); „Steigung voraus" und Profilfarben mitteln dann über einen solchen Abschnitt.
  • Über 50 km (oder bei kleiner MTU) passt der Anstieg nicht in einen Frame. Das Profilende gilt dann vorläufig als Gipfel, bis das nächste Stück kommt.
  • Im NVS gespeicherte Werte für contgrade, summitflat und summitdip gehen den neuen Standardwerten vor (climb defaults setzt sie zurück).
  • Verbindet sich der BikeComputer erst im Anstieg, zählt der Anstieg ab dort.