fix(train): the wheel is learnt from rides GPS covered, whatever its size (ADR 0030, D56)

The measure was held to GPS making 90 % of the wheel's way at the
circumference taken, 2105 mm to start: a real wheel under some 1.9 m fell
short of it on every ride and was never learnt. A ride now measures where
precise fixes followed it for 95 % of its moving time, its quotient between
1 and 3 m as one typed may be.

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-30 16:01:40 +01:00
commit 9b9b8d08ca
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1187,10 +1187,10 @@ Strava. What was found, 27 Oct:
progress and live speed are the wheel's where GPS made less than 90 % of the wheel's
way (a turbo trainer, a tunnel, no fix), else GPS's (`usesWheel`, `rodeByWheel`).
The circumference starts at 2105 mm (700×25C) and is learnt from rides with at least
2 km of GPS whose quotient falls between 1.5 and 2.5 m: the first sets it, each later
one moves it a quarter of the way (`measuredWheelMm`); one typed on the Record sheet
(1000 to 3000 mm) stays until cleared, which measures again. Auto-pause still follows
GPS alone on a trainer.
2 km of GPS covering the ride (D56) whose quotient falls between 1 and 3 m: the
first sets it, each later one moves it a quarter of the way (`measuredWheelMm`); one
typed on the Record sheet (1000 to 3000 mm) stays until cleared, which measures
again. Auto-pause still follows GPS alone on a trainer.
- **D50 The instance's own map and searching for places** (recommended, the developer's
but the search's region; 29 Oct; step 12, what D22, D23 and D44 left for later):
- **Tiles** (12a): Protomaps' basemap (schema v4, zooms 0 to 15, ODbL, OpenStreetMap's
@ -1416,6 +1416,14 @@ Strava. What was found, 27 Oct:
written, and the other version is offered instead (`LoopFailed('another update')`).
The relay's calls to Polar have timeouts, caps on their size and https on every
hop, one fetch per file at a time, and a limit per person.
- **D56 The wheel learnt from GPS that covered the ride** (recommended, the developer's;
30 Oct; revises D49's measure): a ride measures the wheel where precise fixes followed
it for 95 % of its moving time (gaps of 30 s at most count, a pause cuts), not where
GPS made 90 % of the wheel's way at the circumference taken: that held every wheel to
the one taken, so a real wheel under some 1.9 m (20", 24", a child's 16") was never
learnt from the 2105 mm a sensor starts with. Its quotient may fall between 1 and 3 m,
as one typed may (`measuredWheelMm`, `_gpsCovered`). A tunnel's straight line still
measures nothing. The distance still follows `usesWheel`, against the wheel as learnt.
## Consequences