routes¶
GPX routes worth keeping, with a spreadsheet index, so they can be loaded onto the Garmin (Forerunner 970) or the Magene C606 V2 later or rebuilt. Repo: ~/routes → github.com/angelEmbeddedEra/routes (private)
Status¶
- 2026-09-09: created with the two Sandling Beach Triathlon Festival bike courses (Sprint 20.0 mi, International 25.3 mi), both also uploaded as Garmin courses.
Decisions¶
routes.csvis the source of truth;tools/build-index.pyvalidates every GPX and regenerates the README table. Never hand-edit the table.- GPX files carry no
<ele>— devices compute elevation from their own DEM; mixing sources gives a lumpy profile. - Garmin course ids and Magene load status live in the CSV row, so "is it on the device" is answerable without opening an app.
Gotchas¶
- The Garmin MCP runs in a container and only sees
~/garmin-dataas/data— copy a GPX there beforeupload_course. - RideWithGPS refuses
.gpxexport without login but serves the route as.json(/routes/<id>.json) withtrack_pointsandcourse_points(turn cues). OSRM's public router works from this box for the odd missing leg. - Garmin
upload_workoutsport ids: 10 = multi_sport, 9 = hiit, 4 = swimming, 2 = cycling, 1 = running. - Magene has no API; OnelapFit's GPX import is the way in.
magpxon GitHub exists but is fragile.
Log¶
- 2026-09-09: repo created and pushed; Sprint course built from RideWithGPS 37620725 + OSRM leg + official map; International straight from the RWGPS route.