feat(train): a workout out as GPX, TCX or FIT (ADR 0030, D49)

11b: Export on a workout's page hands it to the share sheet as GPX (with
a track only; heart rate and cadence in Garmin's TrackPointExtension),
TCX (laps, heart rate, cadence, watts, a row's distance) or FIT (file
ID, records, timer events at the pauses, laps with their intensities,
session, activity), all from the same points: the precise fixes while
moving, else the rower's frames, else the heart rates; a plan's steps
are the laps. The FIT writer is our own (protocol 1.0, CRC-16/ARC),
tested by a reader written from the specification.

Not tried yet with Strava, intervals.icu or Garmin Connect.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-29 14:37:48 +01:00
commit 128ba1f6c8
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -3111,6 +3111,36 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Heart rate {bpm}'**
String announceHeartRate(String bpm);
/// No description provided for @workoutExport.
///
/// In en, this message translates to:
/// **'Export'**
String get workoutExport;
/// No description provided for @workoutExportTitle.
///
/// In en, this message translates to:
/// **'Export the workout'**
String get workoutExportTitle;
/// No description provided for @workoutExportGpxHint.
///
/// In en, this message translates to:
/// **'The track, for maps and other apps'**
String get workoutExportGpxHint;
/// No description provided for @workoutExportTcxHint.
///
/// In en, this message translates to:
/// **'Laps, heart rate and cadence, for most training sites'**
String get workoutExportTcxHint;
/// No description provided for @workoutExportFitHint.
///
/// In en, this message translates to:
/// **'What Strava, Garmin and intervals.icu read best'**
String get workoutExportFitHint;
}
class _AppLocalizationsDelegate