32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
|
|
---
|
|||
|
|
type: plan
|
|||
|
|
status: active
|
|||
|
|
updated: 2026-10-12
|
|||
|
|
---
|
|||
|
|
# Initial plan
|
|||
|
|
|
|||
|
|
## Scope
|
|||
|
|
|
|||
|
|
The camera end to end on the Orin: capture, the live view, recording, and later
|
|||
|
|
inference. Hardware facts for the current camera are in orin-nano-env-setup
|
|||
|
|
`docs/impl/reports/USB-CAMERA.md`; tablet link limits in app-flutter
|
|||
|
|
`docs/impl/reports/LINK-TEST-2026-10-11.md`.
|
|||
|
|
|
|||
|
|
## Order
|
|||
|
|
|
|||
|
|
0. **Live view** — in place: `src/liveview.py` as `yukart-vision.service` on
|
|||
|
|
`:7710`. Started as a test tool in app-flutter and moved here once the live
|
|||
|
|
view became a product feature (decision 27). Protocol in the module docstring.
|
|||
|
|
1. **Capture fan-out.** One capture process, frames to several consumers (live
|
|||
|
|
view, recorder, inference). Needed before a second consumer exists.
|
|||
|
|
2. **Recording.** H.264 in software (`x264enc`, ~1.3–2 cores at 1080p) in
|
|||
|
|
segments on the recorder's sessions, under the recordings bound.
|
|||
|
|
3. **Exposure for sign reading.** Manual exposure with own metering to hold the
|
|||
|
|
frame rate; LED signs flicker under short exposures.
|
|||
|
|
4. **Inference** — deferred (decision 7): road signs, speed limits first.
|
|||
|
|
|
|||
|
|
## Open
|
|||
|
|
|
|||
|
|
- The protocol lives in the docstring. It moves to contracts when a second
|
|||
|
|
client exists or it changes shape.
|