Skip to content

Commit ee1a34f

Browse files
malysclaude
andcommitted
docs(CP-040): the route source is proven on the vehicle
A parked capture with guidance running answered: status 1, remaining 9788, 25 minutes, "Rue de la Fontaine". The adapter binds, accepts the registration, and reports a live route through the synchronous getters. The distance is in metres — MapService logs the time value as remainingMinutes, so 9788 metres is 23,5 km/h to the destination and 9788 kilometres is not a number about a car. No transaction shift on R67: the census caught eleven callbacks on code 11, which is onNetworkIsAvailableChanged landing exactly where the R69 interface puts it. That is evidence against a shift. Callbacks alone would never have answered this. They fire on change, and nothing changed while parked; the getters are what made the capture conclusive, and they were only looked for because the first capture's silence was read as undecidable rather than negative. Elevation, chargers and alternative routes still need a routing engine and the network decision that comes with it. That stays the owner's. Bumps EVHardware to 0580689. Refs: CP-040 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 7067478 commit ee1a34f

2 files changed

Lines changed: 42 additions & 3 deletions

File tree

‎analysis/CP-040_route_source.md‎

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
Date: 2026-09-02
44

5-
Decision owner: pending. This document states the finding and the recommendation; the
6-
network question at the end of it is the owner's, not this session's.
5+
Decision: **build on the OEM adapter's guidance**, proven on the vehicle 2026-09-04. The
6+
network question at the end of this document is a separate one and remains the owner's.
77

88
Firmware examined: `saicadapterservice_overseas_eh32` (R69 EH32), decompiled sources under
99
workspace `apks/`.
@@ -84,6 +84,45 @@ listener on its own, so this displaces neither the navigation app nor the cluste
8484

8585
None of these can be settled off-vehicle, which is why CP-040 carries `on_vehicle_required`.
8686

87+
88+
## Answered on the vehicle — 2026-09-04
89+
90+
A parked capture with a guidance running in the OEM navigation, on
91+
SWI68-29958-1300R67:
92+
93+
```
94+
status=1 dist=9788 min=25 road=Rue de la Fontaine
95+
```
96+
97+
**The route source works.** The adapter binds, accepts the registration, and answers the
98+
synchronous getters with a live route. Everything CP-040 was written to find out is now known.
99+
100+
**The distance is in metres.** `MapService` logs the remaining-time value as
101+
`remainingMinutes`, so 9788 metres is 23,5 km/h to the destination — plausible for a town
102+
route — and 9788 kilometres is not a number about a car. Encoded per generation in
103+
`NavGuidance.remainingDistanceKm`; an unlisted firmware still claims no kilometres.
104+
105+
**No transaction shift on R67.** The census recorded eleven callbacks on code 11 and none on
106+
the decoded ones. Code 11 is `onNetworkIsAvailableChanged` — an unrelated callback landing
107+
exactly where the R69 interface puts it, which is evidence against a shift rather than for one.
108+
The zero on the decoded codes is expected: nothing about the route changed while parked, and
109+
the getters are what answered.
110+
111+
**Callbacks alone would never have answered this.** The five registered transactions are
112+
change notifications, so a stationary car with a route already running publishes nothing. The
113+
getters are what make a parked capture conclusive, and they were found only because the first
114+
capture's silence was read as undecidable rather than negative.
115+
116+
### What this settles, and what it does not
117+
118+
Settled: a route source exists, costs no permission and no network, and reports remaining
119+
distance in metres, remaining time in minutes, a guidance status and a road name.
120+
121+
Not settled, and not this ticket's business: elevation, charger locations and alternative
122+
routes still cannot come from the head unit. They need a routing engine, therefore `INTERNET`
123+
in the stable variant, a `PRODUCT.md` rewrite and a fresh CP-091. That decision remains the
124+
owner's.
125+
87126
## Firmware revision risk, and how the probe catches it
88127

89128
A diagnostic bundle captured on the vehicle reports `detected_firmware=SWI68-29958-1300R67`.

0 commit comments

Comments
 (0)