Compare commits
2 Commits
da40a56f1d
...
bb47ee5301
| Author | SHA1 | Date | |
|---|---|---|---|
| bb47ee5301 | |||
| 5398e32427 |
+1
-1
@@ -24,7 +24,7 @@ contracts repo, not copied into each consumer.
|
||||
| [orin-nano-env-setup](gitea:yukart/orin-nano-env-setup) | Jetson host bring-up |
|
||||
| [app-flutter](gitea:yukart/app-flutter) | Flutter display client |
|
||||
| [contracts](gitea:yukart/contracts) | Topic namespace, payload schemas, signal registry |
|
||||
| [svc-core](gitea:yukart/svc-core) | Acquisition + processing cluster: `recorder`, `orin-status`, `obd-poller` now; `can-bridge`, `gnss`, `decoder` to come |
|
||||
| [svc-core](gitea:yukart/svc-core) | Acquisition + processing cluster: `recorder`, `decoder`, `orin-status`, `obd-poller` now; `can-bridge`, `gnss` to come |
|
||||
| [svc-gw](gitea:yukart/svc-gw) | Telemetry gateway — aggregation and the display boundary |
|
||||
| [svc-nav](gitea:yukart/svc-nav) | Navigation service — routing and guidance |
|
||||
| [svc-vision](gitea:yukart/svc-vision) | Camera: capture and the live view; recording and inference to come |
|
||||
|
||||
+17
-6
@@ -1,7 +1,7 @@
|
||||
---
|
||||
type: plan
|
||||
status: active
|
||||
updated: 2026-10-12
|
||||
updated: 2026-10-13
|
||||
---
|
||||
# Roadmap
|
||||
|
||||
@@ -15,7 +15,8 @@ Getting the Jetson to see the hardware at all.
|
||||
- [x] PCAN-USB working as SocketCAN (out-of-tree `pcan.ko`, netdev build)
|
||||
- [x] Stable CAN names by udev: `can_pcan`, `can_onboard` — `canN` order raced at boot
|
||||
- [x] Z27AG OBD-port CAN measured: 500 kbps, not gatewayed, 27 periodic IDs at
|
||||
~890 frames/s; `can_pcan` comes up at 500k listen-only on boot and hot-plug
|
||||
~890 frames/s; `can_pcan` comes up at 500k on hot-plug (verified 2026-10-13;
|
||||
boot not yet seen), acknowledging rather than listen-only
|
||||
- [x] SIM7600G-H-M.2 specified and documented
|
||||
- [x] SIM7600 LTE data path: QMI (self-built `qmi_wwan`), povo, metered, ranked
|
||||
below Ethernet/WiFi; failover tested, Tailscale stays reachable over LTE
|
||||
@@ -44,6 +45,10 @@ Get real Z27AG traffic onto disk before designing anything around it.
|
||||
- [x] `recorder` — raw CAN + GNSS sessions on the car unit (`yukart-recorder.service`):
|
||||
starts on traffic or `ctl start`, ends after 15 s idle, marks via `ctl mark` or
|
||||
the app; fsync'd every second, bounded at 50 GB, ~20 MB per hour of driving
|
||||
- [ ] Off-board retention: sessions roll off the car unit once copied to dedicated
|
||||
storage (halogen over tailnet/WiFi, or object storage such as S3), instead of
|
||||
living on board until the cap. Not urgent: first checklist session was 6.2 MB
|
||||
for 16 min, 423 GB free (2026-10-13)
|
||||
- [ ] `can-bridge` — listen-only, timestamped frames onto the bus
|
||||
- [ ] Capture drive sessions across varied conditions (idle, cold start, moving,
|
||||
lights/indicators/windows actuated) with a written log of what was done when
|
||||
@@ -57,15 +62,21 @@ mark …`, or the app's Mark button), on the same clock as the frames.
|
||||
- [ ] Correlate captures against the event log; identify recurring frame IDs —
|
||||
prior art and first candidates (engine speed in `0x210` / `0x13D`) in contracts
|
||||
`docs/impl/reports/Z27AG-CAN-PRIOR-ART.md`
|
||||
- [ ] Build the Z27AG DBC incrementally in `contracts`
|
||||
- [ ] `decoder` — raw frames to named signals
|
||||
- [ ] Build the Z27AG signal set incrementally in `contracts` — in `signals.json`'s
|
||||
`can` blocks, not a hand-kept DBC (one is generated if a tool needs it)
|
||||
- [x] `decoder` — raw frames to named signals, 2026-10-13: svc-core `decoder`, laid out
|
||||
only by the `can` blocks in contracts `signals.json` (rpm, accelerator, brake,
|
||||
handbrake, indicators, side lights, dipped beam, doors, A/C compressor)
|
||||
- [x] `obd-poller` — active OBD-II PIDs, single writer, 2026-10-12: mode 01, the
|
||||
nine `obd2` signals (~10 Hz fast, 1 Hz slow), only while the bus is alive;
|
||||
`can_pcan` out of listen-only. Recorded beside the frames (`vehicle.ndjson`)
|
||||
`can_pcan` out of listen-only. Recorded beside the frames (`vehicle.ndjson`).
|
||||
**Disabled 2026-10-13:** the Z27AG doesn't answer OBD-II on CAN (likely
|
||||
K-line, pin 7); kept for later active-send use
|
||||
- [ ] OBD-II beyond mode 01: DTC scan (modes 03/07/0A) and MUT-III `21 xx`
|
||||
requests, both needing multi-frame (ISO-TP) replies
|
||||
- [ ] First decoding captures in the car, per contracts
|
||||
`docs/impl/plans/Z27AG-CAPTURES.md`
|
||||
`docs/impl/plans/Z27AG-CAPTURES.md` — first checklist session 2026-10-13
|
||||
(117 marks, yukart-data `can-captures/`); jack-stands section still to do
|
||||
- [ ] `gnss` — position/speed, useful as ground truth for validating decoded speed
|
||||
|
||||
OBD-II gives standardised signals quickly and is worth doing early; it also
|
||||
|
||||
Reference in New Issue
Block a user