43 lines
1.5 KiB
Rust
43 lines
1.5 KiB
Rust
//! Runtime-configuration primitives shared by vehicle-specific schemas.
|
|
//!
|
|
//! This crate has no knowledge of MAVLink, filesystems, board routing, motors,
|
|
//! or a particular airframe. It owns the committed-versus-active lifecycle and
|
|
//! parameter metadata; vehicle crates provide the typed schema and complete
|
|
//! validation. It also owns the canonical public KCFG artifact and the compact
|
|
//! private scalar snapshot. Transport and storage framing remain separate
|
|
//! adapters.
|
|
|
|
#![no_std]
|
|
|
|
extern crate self as kaptan_config;
|
|
|
|
mod artifact;
|
|
mod checksum;
|
|
pub mod error;
|
|
pub mod field;
|
|
pub mod journal;
|
|
pub mod lifecycle;
|
|
pub mod snapshot;
|
|
pub mod storage;
|
|
pub mod validation;
|
|
|
|
pub use artifact::{
|
|
KcfgArtifact, KcfgDecodeError, KcfgEncodeError, KcfgEnumOption, KcfgEnumOptions,
|
|
KcfgExportPlan, KcfgExporter, KcfgField, KcfgFields, KcfgImporter, KcfgResultDetail,
|
|
decode_kcfg, encode_edited_kcfg, kcfg_length,
|
|
};
|
|
pub use error::{ConfigViolation, ValidationRule};
|
|
pub use field::{
|
|
ConfigModel, ConfigScalar, ConfigValue, FieldDescriptor, FieldId, FieldWriteError,
|
|
ScalarValueError, ValueKind,
|
|
};
|
|
pub use journal::{DualSlotJournal, DualSlotNor, JournalError};
|
|
pub use kaptan_config_derive::{Config, ConfigEnum};
|
|
pub use lifecycle::{ConfigManager, ReplaceError, ReplaceOutcome, StartupError};
|
|
pub use snapshot::{
|
|
ScalarSnapshotDecodeError, ScalarSnapshotEncodeError, SnapshotModelError,
|
|
decode_scalar_snapshot, encode_scalar_snapshot, scalar_snapshot_length,
|
|
};
|
|
pub use storage::ConfigStore;
|
|
pub use validation::Config;
|