Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
3.4 KiB
type, date
| type | date |
|---|---|
| report | 2026-10-15 |
Z27AG CAN: second pass, against OBD-II and GNSS
Sessions 000007-20261015T192938 and 000008-20261015T200202 (car Orin): doors, tailgate,
bonnet and wipers (checklist step 10–11), then a short drive with GNSS (3D fix, helix antenna)
and OBD-II through the ELM327 on the K-line, all on the Orin's clock. The first time CAN, OBD-II
and GNSS were recorded together. About 30 minutes; 1190 OBD-II samples of each fast value.
Confirmed
| Signal | Where | Evidence | Registered as |
|---|---|---|---|
| Engine speed | 210 bytes 4–5, BE, 1 rpm (pass 1) |
equal to OBD-II 0C: median ratio 1.0000, median difference 4 rpm, 1190 samples |
engine_rpm (unchanged) |
| Coolant temperature | 449 byte 2, −40 °C |
equal to OBD-II 05 within ±1 °C (median 0.0) over 86–97 °C; no other byte tracks it |
coolant_temp_c |
| Vehicle speed | 231 bytes 6–7, little-endian, 0.0577 km/h per count |
steady cruising (> 15 km/h, GNSS change < 1 km/h over 2 s, 117 fixes): spread 2.6 % against GNSS | vehicle_speed_kph |
| Four wheel speeds | 235 four words, little-endian (pass 1 left the byte order open) |
big-endian misses by 28 km/h rms; little-endian fits. Words 0, 1: 0.0578; words 2, 3: 0.0581 km/h per count against GNSS | not yet: which word is which wheel waits for the jack-stands run (fronts turn, rears stay) |
Scales are against GNSS, so they include this car's tyres today. OBD-II speed reads 3 % low
against GNSS (0.9706): the ECU's figure is no better a reference than the ABS frames. The two
word pairs of 235 differ by 0.5 %, the usual size of a front/rear tyre difference.
Doors, tailgate, bonnet, wipers
| Thing | Bit | Notes |
|---|---|---|
| Driver's door | 423.0.4 |
its own bit (pass 1); also sets any-door |
| Passenger, rear left, rear right | only 423.2.1 (any door) |
no bit of their own |
| Tailgate | only 423.2.1 |
with the driver's door open, 423.0.4 cleared on closing it while 423.2.1 stayed set until the tailgate shut |
| Bonnet | nothing | a mechanical latch with no switch, as expected |
| Front wiper running | 423.3.3 |
set through "low" and "high"; nothing in a 4 s "interval" window. Medium confidence; also explains pass 1's unexplained 423.3.3 stretch |
IMU calibration, checked against GNSS
Level from session 000006 (two still stretches, the ground's 1.9° slope cancelled), forward from
000008 (three stops, one launch; 3512 samples, mean spread 12.7°). The module sits upside down,
about 24° off level, turned so its X axis points forward. Calibrated, the marked stretches read:
| Stretch | IMU longitudinal (0.25 s mean, peak) | GNSS |
|---|---|---|
| Stop, 48 → 0 km/h | −0.35 g | −0.28 g |
| Stop, 45 → 0 | −0.17 g | −0.17 g |
| Stop, 40 → 0 | −0.21 g | −0.18 g |
| Launch | +0.32 g | +0.36 g |
Lateral stays at about 0 in all four: forward is straight ahead. GNSS reports about once a second, which smooths short peaks.
Not found
- Intake air temperature: no byte of
449tracks OBD-II0F(29–51 °C here). 449bytes 0, 1, 3 move like temperatures but match nothing on OBD-II.
Notes on the recording
- The Orin froze mid-drive (19:59; hardware watchdog reset at 20:01:47), splitting the drive over two sessions. orin-nano-env-setup has the investigation.
- OBD-II through the ELM gave each fast value about every 2 s (K-line, ~250 ms per request).