feat(firmware): validate configuration and migrate sensor-driven flight APIs
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.
This commit is contained in:
1 parent
fb1b8af2d1
commit
f9a61a086f
211 files changed
+45657
-12740
No files matched your search
@@ -1,8 +1,6 @@
|
||||
//! MAVLink projection for Kaptan logs and reportable firmware errors.
|
||||
//!
|
||||
//! This adapter creates generated payload data only. A platform-owned link is
|
||||
//! solely responsible for MAVLink framing, bounded admission, DMA, and retry
|
||||
//! policy.
|
||||
//! Produces payloads. The caller handles framing and transmission.
|
||||
|
||||
#![no_std]
|
||||
|
||||
@@ -15,7 +13,7 @@ use kaptan_mavlink::generated::kaptan::{ERROR_DATA, LOG_DATA, LogFlags, LogLevel
|
||||
|
||||
const ERROR_RAISED_AT_BYTES: usize = 96;
|
||||
|
||||
/// Encodes one ordinary log record as its sole wire message.
|
||||
/// Encodes one log record.
|
||||
pub fn encode_log(record: &LogRecord) -> LOG_DATA {
|
||||
LOG_DATA {
|
||||
level: wire_level(record.level()),
|
||||
@@ -29,7 +27,7 @@ pub fn encode_log(record: &LogRecord) -> LOG_DATA {
|
||||
}
|
||||
}
|
||||
|
||||
/// Encodes one reportable firmware error as its sole wire message.
|
||||
/// Encodes one reportable firmware error.
|
||||
pub fn encode_error(record: &ErrorRecord) -> ERROR_DATA {
|
||||
let source = record.raised_at().as_bytes();
|
||||
let mut length = source.len().min(ERROR_RAISED_AT_BYTES);
|
||||
|
||||
Reference in new issue
Block a user