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.
28 lines
1.0 KiB
Markdown
28 lines
1.0 KiB
Markdown
# Firmware
|
|
|
|
Kaptan flight-controller firmware workspace.
|
|
|
|
```text
|
|
firmware/
|
|
├── boards/ board hardware declarations and entry points
|
|
├── libs/ reusable no_std firmware crates
|
|
├── platforms/ hardware composition, configuration and linker layouts
|
|
├── tools/ local configuration and telemetry tools
|
|
└── scripts/ packaging, analysis, and coverage helpers
|
|
```
|
|
|
|
This workspace owns its Makefile. From this directory, list its commands with:
|
|
|
|
```sh
|
|
make help
|
|
```
|
|
|
|
From the repository root, the firmware path is a direct Cargo proxy. For
|
|
example, `make firmware -- test --workspace --locked --offline` runs the host
|
|
test suite. Build and package every supported board with
|
|
`make firmware/boards`, or select one board by its directory path.
|
|
Run `make firmware clippy` for Rust lints and `make firmware docs` for API
|
|
documentation with warnings denied.
|
|
The board images do not yet run the flight runtime or implement motor drivers.
|
|
Motor pins are inhibited at startup. Physical flight has not been qualified.
|