diff --git a/README.md b/README.md index bc9c920..8ee6291 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Currently, this includes the following components: [CCSDS Blue Book 133.0-B-2](https://public.ccsds.org/Pubs/133x0b2e1.pdf) - PUS Telecommand and PUS Telemetry implementation according to the [ECSS-E-ST-70-41C standard](https://ecss.nl/standard/ecss-e-st-70-41c-space-engineering-telemetry-and-telecommand-packet-utilization-15-april-2016/). -- CDS Short Time Code implementations according to +- CDS Short Time Code implementation according to [CCSDS CCSDS 301.0-B-4](https://public.ccsds.org/Pubs/301x0b4e1.pdf) # Features @@ -27,7 +27,7 @@ deserializing them with an appropriate `serde` provider like Default features: - - [`std`] : Enables functionality relying on the standard library. - - [`alloc`] : (https://doc.rust-lang.org/alloc/): Enables features which operate on containers + - `std`: Enables functionality relying on the standard library. + - `alloc`: (https://doc.rust-lang.org/alloc/): Enables features which operate on containers like [`alloc::vec::Vec`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html). Enabled by the `std` features. diff --git a/src/lib.rs b/src/lib.rs index 36f1472..0d88244 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5,18 +5,38 @@ //! ECSS (European Cooperation for Space Standardization) packet standards. //! Currently, this includes the following components: //! -//! - [Space Packet][crate::SpHeader] implementation according to -//! [CCSDS Blue Book 133.0-B-2](https://public.ccsds.org/Pubs/133x0b2e1.pdf) -//! - [PUS Telecommand][crate::tc] and [PUS Telemetry][crate::tm] implementation according to the -//! [ECSS-E-ST-70-41C standard](https://ecss.nl/standard/ecss-e-st-70-41c-space-engineering-telemetry-and-telecommand-packet-utilization-15-april-2016/). +//! - Space Packet implementation according to +//! [CCSDS Blue Book 133.0-B-2](https://public.ccsds.org/Pubs/133x0b2e1.pdf) +//! - PUS Telecommand and PUS Telemetry implementation according to the +//! [ECSS-E-ST-70-41C standard](https://ecss.nl/standard/ecss-e-st-70-41c-space-engineering-telemetry-and-telecommand-packet-utilization-15-april-2016/). +//! - CDS Short Time Code implementation according to +//! [CCSDS CCSDS 301.0-B-4](https://public.ccsds.org/Pubs/301x0b4e1.pdf) //! -//! # Module +//! ## Features +//! +//! `spacepackets` supports various runtime environments and is also suitable +//! for suitable for `no_std` environments. It has several features which may be enabled +//! for disabled. +//! +//! It also offers support for [`serde`](https://serde.rs/). The Space Paccket, PUS TM and TC +//! implementations derive the `serde` `Serialize` and `Deserialize` trait. This allows serializing and +//! deserializing them with an appropriate `serde` provider like +//! [`postcard`](https://github.com/jamesmunns/postcard). +//! +//! Default features: +//! +//! - `std`: Enables functionality relying on the standard library. +//! - [`alloc`](https://doc.rust-lang.org/alloc/): Enables features which operate on containers +//! like [`alloc::vec::Vec`](https://doc.rust-lang.org/beta/alloc/vec/struct.Vec.html). +//! Enabled by the `std` features. +//! +//! ## Module //! //! This module contains helpers and data structures to generate Space Packets according to the //! [CCSDS 133.0-B-2](https://public.ccsds.org/Pubs/133x0b2e1.pdf). This includes the //! [SpHeader] class to generate the Space Packet Header component common to all space packets //! -//! # Example +//! ## Example //! //! ```rust //! use spacepackets::SpHeader;