feat(train): a recording runs an interval plan, with cues and Lap (ADR 0030, D42)
The plan chosen on the Record sheet goes to the recording service spelled out: each step's end, its target (zones as the heart rates they span for the profile's highest rate) and its spoken line in the app's language. PlanRunner.kt moves through the steps on the moving time and distance, counts a timed step's last seconds down and cues off target from a 30 s window; PlanCues.kt gives a tone, a vibration and the voice, ducking music. The file's plan and step lines bring it back, and the recording screen shows the step, what is left of it, its target, the next step and Lap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
f406ddcc59
commit
d9f98449a8
1 changed files with 1886 additions and 26 deletions
|
|
@ -4,7 +4,8 @@
|
|||
is built; recording (D13–D28) is built on Android, iOS waiting for a Mac; Health
|
||||
Connect (D29–D31) is built; the Loop's setup and keeping (7a, D34–D36) and its
|
||||
daily data (7b, D37, D38), its sessions (7c, D39) and its firmware (D10, D40) are
|
||||
built, and its live heart rate (7d, D41); intervals (D42, D43) are being built.
|
||||
built, and its live heart rate (7d, D41); intervals (D42, D43) are being built, the
|
||||
plans (8a) and the service running them (8b) are.
|
||||
- **Numbering:** 0025 is held by the federation draft (stashed), 0026–0029 by the .NET
|
||||
rewrite on the local branch `rewrite-dotnet`, abandoned on 27 Oct; Train takes the next
|
||||
free number so that neither is ever read as this one.
|
||||
|
|
@ -822,6 +823,18 @@ Strava. What was found, 27 Oct:
|
|||
most every 30 s, switchable per plan (over tones alone, and over no off-target
|
||||
cues). A step on the rower doesn't set its resistance yet (over setting it through
|
||||
FTMS's control point): whether the WP 5000 speaks FTMS is still unknown (D8).
|
||||
Built: the plans, their tab, their editor and the templates (8a, `c167e9b9`); the
|
||||
service running one (8b). The app sends the run spelled out as the recording
|
||||
starts, each step with its end, its target (a zone as the heart rates it spans for
|
||||
the profile's highest rate, 220 less the age where unset, 180 bpm where neither is
|
||||
given) and its spoken line in the app's language, which the service writes into the
|
||||
file as a `plan` line with the plan itself; `PlanRunner.kt` moves through the steps
|
||||
on the moving time and distance, the off-target cues after a step's first 15 s and
|
||||
from a 30 s window of GPS (or the rower's frames, or the last 5 s of heart rate,
|
||||
stroke rate or watts); `PlanCues.kt` gives the tone, the vibration and the voice,
|
||||
ducking music. The recording screen shows the step, what is left of it, its target,
|
||||
the next step and *Lap*. Not tried on a phone yet: the voice's timing over music,
|
||||
and how a GPS pace off target feels at 30 s.
|
||||
- **D43 What an interval workout keeps** (recommended, the developer's; 28 Oct): the
|
||||
workout keeps the plan's name and its steps as run, a lap each (when, how long, how
|
||||
far), sealed in its payload; its page lists each step with its time, distance,
|
||||
|
|
|
|||
Loading…
Reference in a new issue