Skip to content

Commit f83bb67

Browse files
committed
BRANCH.md: tighten copy + cover Compare tab, calibration, Lock Wheel, Begode fix
1 parent f91981f commit f83bb67

1 file changed

Lines changed: 49 additions & 42 deletions

File tree

BRANCH.md

Lines changed: 49 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,62 @@
11
# external-gps
22

3-
## What this branch adds
4-
5-
External BLE GPS box support for high-accuracy speed and position logging. The
6-
first (and only) implementation is **RaceBox** — Mini, Mini S, Pro. The wheel
7-
and the GPS box hold separate BLE connections, so pairing one doesn't affect
8-
the other.
9-
10-
When a RaceBox is paired and connected:
11-
12-
- A small purple **dot on the speedometer dial** marks the external GPS speed
13-
alongside the wheel's needle.
14-
- A **"GPS X.X" readout** sits under the main speed number, in the same purple
15-
so the two read as a pair.
16-
- Trip CSVs gain one new column at the end: **`Ext GPS speed`**. Empty when
17-
no device is paired so analysis tools can tell "not connected" from "0 km/h".
18-
- The trip-detail speed chart adds a thin purple overlay line for the external
19-
GPS speed (only when the CSV has data for it).
20-
21-
Pairing UI lives in **Settings → Integration → External GPS**.
3+
External BLE GPS support (RaceBox) for ground-truth speed verification
4+
and wheel calibration, plus Compare-tab tooling and the usual polish.
5+
6+
## What's new
7+
8+
**External GPS (RaceBox Mini / Mini S / Pro)**
9+
- Pair in Settings → Integration → External GPS.
10+
- Purple speed dot on the dial + "GPS X.X" readout under the main speed.
11+
- `Ext GPS speed` column in trip CSVs, purple overlay on the trip chart.
12+
- **E** indicator top-right: dim when stale, lit when sending, hidden when
13+
no external GPS is paired.
14+
15+
**Live data sources sheet (tap the GPS icon)**
16+
- Phone / Wheel / External tabs + a Compare tab.
17+
- Compare auto-decalibrates the wheel speed so wheel-vs-GPS delta reflects
18+
the real sensor offset, not the residual after the current calibration.
19+
- A/B selection persists across sheet open/close; first compare entry
20+
seeds Wheel vs External (or Phone fallback).
21+
- **Calibrate wheel** stays enabled whenever the wheel reports motion.
22+
23+
**Wheel parameters**
24+
- Speed calibration range widened from ±5 % to ±15 %.
25+
- Per-wheel profiles (keyed by BLE name) restore tiltback / alarm /
26+
calibration automatically on reconnect.
27+
28+
**Dashboard polish**
29+
- Lock Wheel stays enabled at all speeds; tap while moving shows a
30+
"Slow down to lock the wheel" toast. Repository still hard-blocks the
31+
actual lock command on every entry path.
32+
33+
**Begode imperial fix**
34+
- Begode firmware emits mph-scaled bytes when the wheel's screen is set
35+
to imperial. EUC Planet now reads the units flag and converts back to
36+
km internally so speed reads correctly in either app unit setting.
2237

2338
## Who should test this
2439

25-
You need a RaceBox device to exercise the actual protocol. Without one you can
26-
still:
27-
28-
- Check that the Integration tab shows the new section.
29-
- Confirm the dashboard is unchanged when no device is paired.
30-
- Inspect a trip CSV from a normal recording — the new trailing column should
31-
exist with empty cells.
40+
- RaceBox owners: pairing, dial overlay, Compare tab, CSV column.
41+
- Begode riders: flip the wheel display to imperial via the Begode app,
42+
then check EUC Planet reads correct speed in both metric and imperial
43+
app modes.
44+
- Everyone else: confirm dashboard / Compare / Lock Wheel still behave
45+
normally without an external GPS paired.
3246

33-
## Known limitations
47+
## Known gaps
3448

35-
- **No real-device verification yet.** The UBX-NAV-PVT parser is implemented
36-
to spec but has not been confirmed against an actual RaceBox. Reach out if
37-
it doesn't decode.
38-
- **Auto-reconnect on app restart is not wired yet.** You'll need to tap
39-
"Reconnect" after pairing if the connection drops or the app restarts.
40-
- **No reconnect-on-disconnect retry.** If the GPS box goes out of range,
41-
the connection won't come back automatically.
42-
- **Dial gauge upper bound** still follows the wheel's max speed. If you
43-
paired RaceBox to a moped that goes 80 km/h but the wheel max is 50, the
44-
dot will pin at the top of the dial.
49+
- No auto-connect for the external GPS on app start; tap Reconnect after.
50+
- No reconnect-on-disconnect retry when the box goes out of range.
51+
- Dial upper bound still scales to wheel max; a faster external source
52+
will pin at the top.
4553

4654
## How to install
4755

48-
This is a **debug-signed build** (CI). It can't update an existing Play Store
49-
install in place — uninstall the Play version first, then install this APK.
50-
Reinstalling the Play Store version later will overwrite this branch build.
56+
Debug-signed CI build. Uninstall any Play Store install first, then
57+
install this APK. Reinstalling from Play later overwrites this build.
5158

52-
## Provide feedback
59+
## Feedback
5360

54-
Open an issue at https://github.com/eried/eucplanet/issues with the tag
61+
Open an issue at https://github.com/eried/eucplanet/issues tagged
5562
`branch:external-gps`.

0 commit comments

Comments
 (0)