rust_gnc/control/mod.rs
1//! # Control Systems
2//!
3//! This module implements the "Action" phase of the GNC (Guidance, Navigation,
4//! and Control) loop. It consumes the navigation solution and outputs
5//! motor-level actuation commands.
6//!
7//! ### Architecture
8//! - **PID**: The fundamental control algorithm for error correction.
9//! - **Axis**: Encapsulates a single degree of freedom (Perception + Control).
10//! - **Stabilizer**: Orchestrates multiple axes into a coherent flight state.
11//! - **Mixer**: Maps abstract demands (Roll, Pitch, Yaw) to physical motor signals.
12
13pub mod pid;
14pub mod mixer;
15pub mod axis;
16pub mod stabilizer;
17pub mod failsafe;
18
19// Re-exports: Providing a clean, flattened API for external crate users.
20// This allows for ergonomic usage like `use rust_gnc::control::PidController`.
21
22#[doc(inline)]
23pub use pid::{PidController, PidConfig};
24
25#[doc(inline)]
26pub use mixer::{Mixer, QuadMotorSignals, QuadXMixer};
27
28#[doc(inline)]
29pub use axis::AxisProcessor;
30
31#[doc(inline)]
32pub use stabilizer::{Stabilizer, AttitudeController, ArmingState};
33
34#[doc(inline)]
35pub use failsafe::{FailsafeMonitor, FailsafeLevel};