diff --git a/Cargo.toml b/Cargo.toml index 22eabe0..0004f8d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,9 +35,9 @@ default-features = false version = "1.0" [features] -default = ["std", "dep:serde"] +default = ["std"] std = ["chrono/std", "chrono/clock", "alloc"] -serde = ["chrono/serde"] +serde = ["dep:serde", "chrono/serde"] alloc = ["postcard/alloc", "chrono/alloc"] [package.metadata.docs.rs] diff --git a/README.md b/README.md index ed4e7e4..1545bf0 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,15 @@ It also offers optional support for [`serde`](https://serde.rs/). This allows se deserializing them with an appropriate `serde` provider like [`postcard`](https://github.com/jamesmunns/postcard). -Default features: +## Default features - [`std`](https://doc.rust-lang.org/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` feature. + +## Optional Features + - [`serde`](https://serde.rs/): Adds `serde` support for most types by adding `Serialize` and `Deserialize` `derive`s # Examples diff --git a/src/ecss.rs b/src/ecss.rs index 93009ce..f2ccf72 100644 --- a/src/ecss.rs +++ b/src/ecss.rs @@ -15,6 +15,16 @@ pub type CrcType = u16; pub const CRC_CCITT_FALSE: Crc = Crc::::new(&CRC_16_IBM_3740); pub const CCSDS_HEADER_LEN: usize = size_of::(); +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub enum PusServiceId { + Verification = 1, + Housekeeping = 3, + Event = 5, + Action = 8, + Test = 17, +} + /// All PUS versions. Only PUS C is supported by this library. #[derive(PartialEq, Eq, Copy, Clone, Debug)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] diff --git a/src/lib.rs b/src/lib.rs index 6faec44..e26d481 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -22,12 +22,15 @@ //! deserializing them with an appropriate `serde` provider like //! [`postcard`](https://github.com/jamesmunns/postcard). //! -//! Default features: +//! ### Default features //! //! - [`std`](https://doc.rust-lang.org/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` feature. +//! +//! ### Optional features +//! //! - [`serde`](https://serde.rs/): Adds `serde` support for most types by adding `Serialize` and //! `Deserialize` `derive`s //!