Validate configuration through its owning schemas and keep board declarations separate from shared F722 resource ownership. Bound USB transitions, isolate transport failures and retain restart-only activation. Migrate navigation and flight consumers with the sensor and schema contracts. Require explicit installation data and synchronous output authority; board motor outputs remain inhibited. Validation: assembled-prefix host tests, strict Clippy, platform/USB tests and both ARM release builds. Final-source coverage and scoped Miri/Kani evidence are retained separately from hardware qualification.
785 B
Based on the crates.io synopsys-usb-otg 0.4.0 package, SHA-256
e948d523b316939545d8b21a48c27aef150ce25321b9f95ff7978647a806a6fe.
Upstream source and MIT license are retained.
The local change serializes USB operations without masking unrelated interrupts while hardware completes. F722 full-speed reset and FIFO waits have a clock deadline and a finite polling limit. Failure permanently aborts the peripheral until restart. The platform supplies the clock, limits and bounded abort operation.
From firmware/, run cargo test -p platform-stm32f7 -p synopsys-usb-otg --lib --locked --offline. These tests exercise the
production bus against register storage; they do not measure hardware. Upstream
generated RAL doctests refer to another crate and are not included in this gate.