API Reference
Welcome to the HORUS API reference documentation. This section provides detailed documentation for all public types, traits, and functions in the HORUS framework.
Crates
| Crate | Description |
|---|---|
horus | Umbrella crate - the one your project depends on; re-exports the crates below through horus::prelude |
| horus_core | Core runtime - nodes, communication, scheduling, zero-copy memory types |
| horus_types | Universal IPC message types - math, diagnostics, time, generic |
| horus_robotics | Standard robotics messages - sensor, control, navigation, vision (re-exported through horus::prelude; no separate dependency needed) |
| horus_macros | Procedural macros (node!, derive(LogSummary)) |
Quick Reference
Core Types
| Type | Description | Module |
|---|---|---|
Node | Base trait for all computation units | horus_core |
Topic<T> | Unified pub/sub channel with auto-detected backends | horus_core |
Scheduler | Node execution orchestrator | horus_core |
Error Handling
Message Types
| Type | Description | Module |
|---|---|---|
Image | Camera image data | horus_core::memory |
LaserScan | LiDAR scan data | horus_robotics |
Imu | IMU sensor data | horus_robotics |
Twist | Velocity commands | horus_types |
Pose2D | 2D position and orientation | horus_types |
Import Patterns
Minimal Import
use horus::prelude::*;
Explicit Import (Alternative)
The prelude re-exports all commonly needed types. If you prefer explicit imports:
use horus::prelude::{
// Core traits and types
Node, NodeState, HealthStatus, LogSummary,
// Communication
Topic,
// Scheduling
Scheduler,
// Errors
Error, Result,
// Messages (geometry, sensor, control, etc.)
Pose2D, LaserScan, Imu, CmdVel, MotorCommand,
};
Version Compatibility
| HORUS Version | Rust Edition | MSRV |
|---|---|---|
| 0.4.x | 2021 | 1.90 |
See Also
- Core Concepts - Understanding HORUS architecture
- Examples - Working code examples
- Message Types - Standard message reference