54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
|
|
# Acceptance Checklist
|
||
|
|
|
||
|
|
This checklist condenses the current P11 firmware/control spec for implementation tracking.
|
||
|
|
|
||
|
|
## Input contract
|
||
|
|
|
||
|
|
- [ ] Accepts `controller-job.v1` only.
|
||
|
|
- [ ] Rejects `job.v1` and malformed input.
|
||
|
|
- [ ] Runs 4-gate intake validation.
|
||
|
|
- [ ] Rejects wrong `machine_id`.
|
||
|
|
- [ ] Rejects incompatible `controller_version` or unsupported capability.
|
||
|
|
|
||
|
|
## Execution
|
||
|
|
|
||
|
|
- [ ] Sequential segment execution exists for future job mode.
|
||
|
|
- [ ] Force PID tracks setpoint within agreed commissioning tolerance.
|
||
|
|
- [ ] Force modulation uses live table encoder angle.
|
||
|
|
- [ ] Table and spindle RPM follow commands.
|
||
|
|
- [ ] Pause time excluded from segment polishing time.
|
||
|
|
|
||
|
|
## Telemetry
|
||
|
|
|
||
|
|
- [ ] Core channels logged at >=100 Hz.
|
||
|
|
- [ ] Single monotonic timestamp source.
|
||
|
|
- [ ] Commanded and actual values both present.
|
||
|
|
- [ ] Sensor faults are detectable.
|
||
|
|
- [ ] CSV parseable by standard tools.
|
||
|
|
|
||
|
|
## State machine and safety
|
||
|
|
|
||
|
|
- [ ] All accepted states/transitions implemented.
|
||
|
|
- [ ] Illegal transitions logged.
|
||
|
|
- [ ] Operator acknowledge cannot be bypassed.
|
||
|
|
- [ ] E-stop all-stop independent of software state.
|
||
|
|
- [ ] Interlocks implemented with documented thresholds.
|
||
|
|
- [ ] Watchdog timeout causes pause, then abort.
|
||
|
|
- [ ] `FAULTED` exits only through explicit reset.
|
||
|
|
|
||
|
|
## Manual mode
|
||
|
|
|
||
|
|
- [ ] `MANUAL` reachable from `IDLE`.
|
||
|
|
- [ ] Live setpoint adjustment works.
|
||
|
|
- [ ] Geometric gate blocks stale geometry.
|
||
|
|
- [ ] Setpoint changes are timestamped events.
|
||
|
|
- [ ] Manual-session log emitted on exit.
|
||
|
|
- [ ] Safety behavior identical to job mode.
|
||
|
|
|
||
|
|
## Data
|
||
|
|
|
||
|
|
- [ ] `/data/manual/{session_id}/` and `/data/runs/{run_id}/` layouts respected.
|
||
|
|
- [ ] `status.json` maintained.
|
||
|
|
- [ ] Hashes/manifests emitted.
|
||
|
|
- [ ] Raw telemetry preserved during commissioning.
|