Files
app-flutter/docs/GUIDELINES.md
T
mikkeli c1ffba08fb Record the measured USB link: NCM, bind to Ethernet, keep awake
Tested against the car Orin: the tablet is USB host to the Orin's NCM
gadget (192.168.55.1). Android routes app traffic over it only when it
is the default network, so the app must bind to TRANSPORT_ETHERNET. PD
changes cost ~3 s, and an idle tablet off charger sleeps and goes
silent, so the app keeps the device awake. Two guidelines follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:08:28 +09:00

1.1 KiB

type
type
guidelines

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.

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