Camera GPIO observability development plan¶
Workstream: OBS-HW-CAMERA (board slice of OBS-HW).
Status: Planned, 2026-09-29. All new work below is pending.
The system architecture (orb-weaver-context/context/experimental-system-observability.md)
and development roadmap (orb-weaver-context/context/experimental-system-observability-plan.md)
own the cross-repository intent, gate definitions, and workstream dependencies.
This document owns only this board's contribution. It records planned work,
not new electrical measurements, hardware validation, or deployment approval.
Current evidence and board boundary¶
The dated updates in the design record, session handoff, and fabrication log describe the v1.0 board. Five assembled boards were ordered on 2026-09-26. The bring-up log contains the arrival, power and per-channel measurement procedure; its results remain pending. Confirm actual arrival and unit identity before scheduling tests. Completed routing/fabrication checks are not evidence of electrical behavior.
This board has no MCU or firmware. It exposes electrical observations of the three camera channels, trigger/sync inputs and output copies through InstrumentPort-Digital-50. It receives no QP, SWD/JTAG, command-UART or firmware trace implementation. Keep the existing fixed 3.3 V output contract and actual channel allocation in the design record authoritative.
A camera signal such as ExposureActive is evidence about that output and the
camera's configured behavior. It does not by itself establish that a usable
frame reached disk, that the frame contents are correct, or that all intended
experimental data were recorded. Native camera, pyControl and OneBox records
supply the complementary evidence.
Independent execution paths¶
| Path | Ready now | Waiting condition and exit evidence |
|---|---|---|
OBS-HW-CAMERA.1: qualification preparation |
Extract the actual 18-channel overlay, channel roles and expected polarity/timing from the design record; coordinate fixtures with OBS-IF/OBS-HOST |
G0: versioned overlay and referenced electrical/timing criteria; record configuration-dependent meanings |
OBS-HW-CAMERA.2: current-board bring-up |
Prepare inspection, power and per-channel worksheets independently of QP | Arrived board, camera/test fixture and qualified OBS-HW-ADAPTER path; G1: actual per-unit electrical and capture measurements |
OBS-HW-CAMERA.3: correlated camera operation |
Define checks across trigger, camera output and native frame/acquisition records | G1 and OBS-HOST G2 monitors; G4 contribution: replayable capture/log bundle with latency, loss, timing uncertainty and coverage |
OBS-HW-CAMERA.4: bounded experiment observation |
Prepare configuration manifest and observation-window requirements with OBS-RUN |
G4 and laboratory acceptance; G5: agreed trial windows, anomaly reports and archived native evidence without altered experimental control |
All preparation can run alongside the firmware and QP tracks. This board's G1/G2 contribution does not wait for G3, and its electrical monitoring does not require adding any processor or a new board revision.
Planned tasks and acceptance¶
- [ ]
.1Reconcile the installed camera model, channel configuration, cables, BNC destinations, InstrumentPort overlay and actual board revision. Preserve shared contract ownership inboard-interfaces; derive test expectations from the current design record and device documentation. - [ ]
.1Prepare the remaining local interface/harness/validation documents already queued in.agents/PLANS.md, linking the existing design tables instead of creating competing pin assignments. Assign missing tolerance or latency requirements to the appropriate rig/device owner. - [ ]
.2Perform the existing arrival, first-power and per-camera-channel bring-up sequence on each identified unit. Record voltages, currents, polarity, load, ground paths and actual camera settings against the existing stated limits; keep failed and incomplete checks visible. - [ ]
.2Qualify all 18 used Digital-50 channels through the actual adapter and cable. Identify unused grounded channels, measured propagation delay and skew, pulse fidelity and limits under simultaneous switching. Record power-off/loading behavior; use a scope/meter where digital samples alone cannot establish amplitude or electrical integrity. - [ ]
.3Capture a known trigger/sync sequence, camera outputs and the corresponding native frame/OneBox/pyControl records. Measure latency, pulse widths, sequence/count agreement and clock-alignment uncertainty. Record the camera configuration that gives each observed line its meaning. - [ ]
.3Supply positive and intentionally incomplete or anomalous bench fixtures toOBS-HOST: missing trigger/output, missing stored frame, changed channel mapping and capture gaps. State which cases a monitor can identify, which are ambiguous and which require additional evidence. - [ ]
.4WithOBS-RUN, document finite observation windows, raw-evidence retention and anomaly handling. LA5032 capture/upload gaps remain gaps; don't claim continuous electrical coverage from separate windows. Experiment sequencing remains in the researcher's existing tools.
Use the manufactured v1.0 board for these checks. A new revision is a separate proposal only if measured limits or an agreed new requirement justify it. No schematic, layout, BOM, fabrication package or shared design block changes are implied by this plan.
Evidence, ownership and handoff¶
For each bench session, record the board revision and unit identity, source commit and dirty state, exact adapter and cable, connector views, instrument identity/settings, channel-map version, stimulus, units, uncertainty, and raw capture location/hash. Link measurements from the existing bring-up log; do not copy another board's or revision's results into a new acceptance record. Preserve unsuccessful and incomplete captures and state their limits.
Before measurements, claim the physical DUT, analyzer, cable, power supply, and time window in the shared session record described by the central roadmap. Only one agent/operator controls a claimed instrument or DUT at a time. Offline documentation, fixture review, and saved-capture analysis may run in parallel. A reservation records coordination; it does not authorize motion, reset, stimulus, programming, or a change to a live experiment.
Use docs/bringup-log.md for per-unit measurements and
docs/evidence/observability/<session-id>/ for new retained board captures and
manifests (create it when evidence exists). Keep native experimental data in
the laboratory's owning destination and link its identified artifacts from the
correlated session record; preserve camera/rig software commits and settings.
One camera-board agent owns this plan, its .agents/PLANS.md entry and the
local evidence record. Claim each pending interface/harness/validation document
before concurrent edits. OBS-HW-ADAPTER owns adapter qualification,
OBS-HOST owns decoding and monitor software, and OBS-RUN owns the actual
experiment pilot. No agent in this workstream edits kicad-libs.
Close steps only with evidence and limitations, then send gate contributions
to the central roadmap owner. Documentation checks are relative-link review,
git diff --check, and make test; preserve the generated README block and
docs/generated/. Those checks establish no new electrical or rig validation.