The bus is up: decision 4 accepted; orin-status publishes yukart/host/*
Also: std::process::Command breaks the cross-compile fallback (GLIBC_2.39). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
@@ -35,6 +35,7 @@ The Orin runs headless: no local video out. The tablet app is the display.
|
||||
| `decoder` | Raw frames → named signals via DBC | No |
|
||||
| `recorder` | Persist raw + decoded sessions to disk; raw CAN and GNSS read directly, not via the bus (decision 25) | No |
|
||||
| `telemetry-gw` | Serve external display clients | No |
|
||||
| `orin-status` | The Orin's own health: temperatures, CPU/GPU load, memory, network links, UPS battery → `yukart/host/*` | No |
|
||||
| `vision` | Camera capture (any V4L2 camera; in practice USB UVC, MJPEG), live view, software H.264 recording; on-device inference later. Repo `svc-vision`, Python (decision 29) | No |
|
||||
|
||||
Each ships as a systemd unit. The host-level prerequisites they depend on
|
||||
@@ -60,7 +61,7 @@ traffic; discovered signals are recorded as a DBC rather than as code.
|
||||
|
||||
## Message bus
|
||||
|
||||
**Proposed: MQTT (mosquitto) on the Jetson.** Rationale:
|
||||
**MQTT (mosquitto) on the Jetson**, listening on localhost only: displays reach the bus through `svc-gw`. Rationale:
|
||||
|
||||
- First-class client libraries on every display target — ESP32 (Arduino
|
||||
`PubSubClient` / ESP-IDF) and Android (Paho) — which is the deciding factor.
|
||||
@@ -74,6 +75,7 @@ traffic; discovered signals are recorded as a DBC rather than as code.
|
||||
yukart/can/raw high-rate raw frames, not retained
|
||||
yukart/vehicle/<signal> decoded signals (rpm, speed, coolant, …), retained
|
||||
yukart/gnss/fix position/speed/time, retained
|
||||
yukart/host/<signal> the Orin itself: temperatures, load, links, UPS battery, retained
|
||||
yukart/system/<service> health and status, retained
|
||||
yukart/nav/guidance next manoeuvre, distance, street name, retained
|
||||
yukart/nav/route active route geometry, retained
|
||||
@@ -350,7 +352,7 @@ rewriting the document.
|
||||
| 1 | Separate services over a message bus, not one process | Accepted | 2026-08-14 |
|
||||
| 2 | Displays are bus subscribers; no display-specific logic upstream | Accepted | 2026-08-14 |
|
||||
| 3 | Listen-only sniffing + active OBD-II, single writer | Accepted | 2026-08-14 |
|
||||
| 4 | MQTT as the bus | **Proposed** | 2026-08-14 |
|
||||
| 4 | MQTT as the bus (raw CAN rate still to confirm) | Accepted | 2026-10-12 |
|
||||
| 5 | Rust for on-Orin services, Python for off-car tooling, Dart for the display client. One exception: decision 29 | Accepted | 2026-09-04 |
|
||||
| 21 | Two clocks per envelope; `monotonic` orders, `timestamp` references | Accepted | 2026-09-05 |
|
||||
| 22 | `signals.json` is the single source for signal name and unit; both are derived, never authored twice | Accepted | 2026-09-05 |
|
||||
|
||||
Reference in New Issue
Block a user