2026-09-03 18:48:32 +09:00
|
|
|
---
|
2026-09-04 14:14:17 +09:00
|
|
|
type: guidelines
|
2026-09-03 18:48:32 +09:00
|
|
|
---
|
|
|
|
|
# Display client guidelines
|
|
|
|
|
|
|
|
|
|
## 1. The client knows the contract, not the car
|
|
|
|
|
- No CAN frame IDs, no DBC knowledge, no device paths. Topic names and payload
|
|
|
|
|
schemas only.
|
|
|
|
|
- If rendering something requires new knowledge of the vehicle, that knowledge
|
|
|
|
|
belongs upstream in the decoder, not here.
|
|
|
|
|
|
|
|
|
|
## 2. Render whatever state exists, immediately
|
|
|
|
|
- Retained topics mean a client connecting mid-drive has state at once. Never
|
|
|
|
|
block the first paint on a full set of signals.
|
|
|
|
|
- Missing is a normal state and must have a visual form. It is not an error.
|
|
|
|
|
|
|
|
|
|
## 3. Design for a split screen
|
|
|
|
|
- The screen may be shared with another app. Do not assume full width.
|
|
|
|
|
|
2026-10-09 16:08:28 +09:00
|
|
|
## 4. Bind to the Orin's network explicitly
|
|
|
|
|
- Android's default network is never the Orin link (it has no internet). Request
|
|
|
|
|
`TRANSPORT_ETHERNET` and bind to it; never rely on the default route.
|
|
|
|
|
|
|
|
|
|
## 5. Keep the device awake while displaying
|
|
|
|
|
- A sleeping tablet is indistinguishable from a dead link. Hold the screen on
|
|
|
|
|
while the app is the display, and treat every reconnect as routine, not an error.
|
|
|
|
|
|
|
|
|
|
## 6. To be added
|