satrs_core/lib.rs
1//! # Core components of the sat-rs framework
2//!
3//! You can find more information about the sat-rs framework on the
4//! [homepage](https://egit.irs.uni-stuttgart.de/rust/sat-rs).
5//!
6//! ## Overview
7//!
8//! The core modules of this crate include
9//!
10//! - The [event manager][event_man] module which provides a publish and
11//! and subscribe to route events.
12//! - The [pus] module which provides special support for projects using
13//! the [ECSS PUS C standard](https://ecss.nl/standard/ecss-e-st-70-41c-space-engineering-telemetry-and-telecommand-packet-utilization-15-april-2016/).
14#![no_std]
15#![cfg_attr(doc_cfg, feature(doc_cfg))]
16#[cfg(feature = "alloc")]
17extern crate alloc;
18#[cfg(feature = "alloc")]
19extern crate downcast_rs;
20#[cfg(any(feature = "std", test))]
21extern crate std;
22
23#[cfg(feature = "alloc")]
24#[cfg_attr(doc_cfg, doc(cfg(feature = "alloc")))]
25pub mod cfdp;
26pub mod encoding;
27#[cfg(feature = "alloc")]
28#[cfg_attr(doc_cfg, doc(cfg(feature = "alloc")))]
29pub mod event_man;
30pub mod events;
31#[cfg(feature = "std")]
32#[cfg_attr(doc_cfg, doc(cfg(feature = "std")))]
33pub mod executable;
34pub mod hal;
35pub mod hk;
36pub mod mode;
37pub mod objects;
38pub mod params;
39pub mod pool;
40pub mod power;
41pub mod pus;
42pub mod request;
43pub mod res_code;
44pub mod seq_count;
45pub mod tmtc;
46
47pub use spacepackets;
48
49// Generic channel ID type.
50pub type ChannelId = u32;