Z27AG-DECODE-3: 570 bytes 2-3 slosh with motion, so fuel (not temperature); odometer agrees with the cluster
/ crosscheck (push) Successful in 2s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-15 22:23:47 +09:00
parent e8ba581985
commit c31af2d5e3
+20 -7
View File
@@ -13,8 +13,8 @@ IMU, no OBD-II. Nothing was marked, so this pass uses what any drive has: corner
| Signal | Where | Evidence | Registered as | | Signal | Where | Evidence | Registered as |
|---|---|---|---| |---|---|---|---|
| Wheel speeds | `235` four words, little-endian (pass 2): bytes 0–1 **front right**, 2–3 **front left**, 4–5 **rear right**, 6–7 **rear left** | from corners, below | `wheel_speed_fr_kph`, `_fl_`, `_rr_`, `_rl_` | | Wheel speeds | `235` four words, little-endian (pass 2): bytes 0–1 **front right**, 2–3 **front left**, 4–5 **rear right**, 6–7 **rear left** | from corners, below | `wheel_speed_fr_kph`, `_fl_`, `_rr_`, `_rl_` |
| Odometer | `570` bytes 4–6, little-endian, **1 km** | steps once per kilometre: 12 steps over 11.9 km (`000009`), 3 over 3.0 km (`000011`); 167966 on the 13th, 167988 at the end of the drive back; valid with the engine off too | `odometer_km` (the layout format gained 24-bit fields) | | Odometer | `570` bytes 4–6, little-endian, **1 km** | steps once per kilometre: 12 steps over 11.9 km (`000009`), 3 over 3.0 km (`000011`); 167966 on the 13th, 167988 at the end of the drive back; valid with the engine off too. Agrees with the cluster's (digital) odometer | `odometer_km` (the layout format gained 24-bit fields) |
| Distance counter | `14D` bytes 6–7, little-endian, **about 0.40 m** per count | tracks distance from the wheel speeds with correlation 1.0000 in both drives (103.2 and 103.6 m per step of byte 7); wraps every ~26 km | not registered: the odometer covers whole kilometres; this is there if a trip meter needs finer steps | | Distance counter | `14D` bytes 6–7, little-endian, **about 0.40 m** per count | tracks distance from the wheel speeds with correlation 1.0000 in both drives (103.2 and 103.6 m per step of byte 7); wraps every ~26 km | not registered. The cluster's two trip meters count 0.1 km and may run from this; it is also the finest distance on the bus (slow creeping, short manoeuvres) |
### Which word is which wheel ### Which word is which wheel
@@ -45,11 +45,24 @@ Jack stands (checklist 23–26) would still confirm this, but are no longer need
## Candidates ## Candidates
- **`570` bytes 2 and 3** move together (byte 3 ≈ byte 2 + 48) and fall slowly: byte 2 read 87 on the - **`570` bytes 2 and 3: fuel, most likely.** Both fall slowly: byte 2 read 87 on the 13th and 76
13th and 76 at the end of the drive back, 22 km later. Fuel level fits the fall, but byte 2 also rose at the end of the drive back, 22 km later. Both read `7F` with the engine off. Outside temperature
by about 3 while parked between drives (78 → 81), which fuel would not do on level ground. It may was the other reading, but the car shows it nowhere, and the bytes **slosh**. Take away their own
be outside temperature instead, falling through the evening. Both read `7F` with the engine off. A 60 s average, and what is left follows the car's motion in all three drives:
refuel settles it: fuel jumps, temperature does not. Not registered.
| Byte | Lateral g | Longitudinal g | Lag |
|---|---|---|---|
| 3 | +0.70 to +0.81 | −0.42 to −0.48 | none |
| 2 | +0.64 to +0.75 | −0.48 to −0.50 | about 3 s |
Lateral g here is from the wheel speeds and the steering angle, longitudinal from the change in
wheel speed. A temperature would not do this; liquid in a tank would. Byte 3 looks like the sender
as it is, and byte 2 a damped copy (a gauge needle is damped the same way). The "rise while parked"
(78 → 81) was the same thing: the drive before ended at 80, parked in the same spot (the same
IMU tilt to three decimals). It read 76 a minute earlier, while still moving. The reading moves about
±4 with tilt and motion, so it needs averaging over minutes.
Scale unknown: full is unlikely to be 100 or 255. A refuel gives two points (before and after,
parked level, with the litres put in). Not registered until then.
## Notes on the recording ## Notes on the recording