feat(train): the Loop's live heart rate in a recording (ADR 0030, D41)
A recording with a Loop set up reads its heart rate through Polar's SDK while no strap sends: the strap first, the Loop where there is none or while it is lost. The SDK is one for the process, held by the open app's bridge and by the recording service, so that the band stays connected with the app gone; the app reopening finds it connected. The recording file gains `loop` state lines; the rate is kept alone, as `h` lines, and the Record sheet names the source. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
388b3b1ae6
commit
fa7680821d
5 changed files with 577 additions and 72 deletions
|
|
@ -88,6 +88,8 @@
|
|||
|
||||
"recordHeartRate": "Herzfrequenz",
|
||||
"recordNoStrap": "Kein Brustgurt",
|
||||
"recordHeartLoop": "Vom Polar Loop",
|
||||
"recordHeartStrapThenLoop": "{strap}, der Loop, solange er nicht verbunden ist",
|
||||
"strapSheetTitle": "Brustgurt",
|
||||
"strapSearching": "Suche Brustgurte in der Nähe …",
|
||||
"strapSearchingHint": "Leg den Gurt an: Die meisten wachen erst auf, wenn sie die Haut berühren.",
|
||||
|
|
|
|||
|
|
@ -110,6 +110,9 @@
|
|||
|
||||
"recordHeartRate": "Heart rate",
|
||||
"recordNoStrap": "No strap",
|
||||
"recordHeartLoop": "From the Polar Loop",
|
||||
"recordHeartStrapThenLoop": "{strap}, the Loop while it is lost",
|
||||
"@recordHeartStrapThenLoop": {"placeholders": {"strap": {"type": "String", "example": "Polar H10"}}},
|
||||
"@recordNoStrap": {"description": "On the Record sheet, under Heart rate, where no strap is chosen."},
|
||||
"strapSheetTitle": "Heart-rate strap",
|
||||
"strapSearching": "Looking for straps nearby…",
|
||||
|
|
|
|||
|
|
@ -580,6 +580,18 @@ abstract class AppLocalizations {
|
|||
/// **'No strap'**
|
||||
String get recordNoStrap;
|
||||
|
||||
/// No description provided for @recordHeartLoop.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'From the Polar Loop'**
|
||||
String get recordHeartLoop;
|
||||
|
||||
/// No description provided for @recordHeartStrapThenLoop.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{strap}, the Loop while it is lost'**
|
||||
String recordHeartStrapThenLoop(String strap);
|
||||
|
||||
/// No description provided for @strapSheetTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -311,6 +311,14 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get recordNoStrap => 'Kein Brustgurt';
|
||||
|
||||
@override
|
||||
String get recordHeartLoop => 'Vom Polar Loop';
|
||||
|
||||
@override
|
||||
String recordHeartStrapThenLoop(String strap) {
|
||||
return '$strap, der Loop, solange er nicht verbunden ist';
|
||||
}
|
||||
|
||||
@override
|
||||
String get strapSheetTitle => 'Brustgurt';
|
||||
|
||||
|
|
|
|||
|
|
@ -308,6 +308,14 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get recordNoStrap => 'No strap';
|
||||
|
||||
@override
|
||||
String get recordHeartLoop => 'From the Polar Loop';
|
||||
|
||||
@override
|
||||
String recordHeartStrapThenLoop(String strap) {
|
||||
return '$strap, the Loop while it is lost';
|
||||
}
|
||||
|
||||
@override
|
||||
String get strapSheetTitle => 'Heart-rate strap';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue