[package]
edition = "2024"
rust-version = "1.85"
name = "spacepackets"
version = "0.18.0"
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Generic implementations for various CCSDS and ECSS packet standards"
homepage = "https://egit.irs.uni-stuttgart.de/rust/spacepackets"
readme = "README.md"
keywords = [
"no-std",
"space",
"packets",
"ccsds",
"ecss",
]
categories = [
"aerospace",
"aerospace::space-protocols",
"no-std",
"hardware-support",
"embedded",
]
license = "Apache-2.0"
repository = "https://egit.irs.uni-stuttgart.de/rust/spacepackets"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[features]
alloc = [
"chrono?/alloc",
"defmt?/alloc",
"serde?/alloc",
]
default = ["std"]
defmt = [
"dep:defmt",
"arbitrary-int/defmt",
]
portable-atomic = [
"dep:portable-atomic",
"portable-atomic/require-cas",
]
serde = [
"dep:serde",
"chrono?/serde",
"arbitrary-int/serde",
]
std = [
"alloc",
"chrono/std",
"chrono/clock",
"thiserror/std",
]
timelib = ["dep:time"]
[lib]
name = "spacepackets"
path = "src/lib.rs"
[dependencies.arbitrary-int]
version = "2"
[dependencies.bitbybit]
version = "2"
[dependencies.chrono]
version = "0.4"
optional = true
default-features = false
[dependencies.crc]
version = "3"
[dependencies.defmt]
version = "1"
optional = true
default-features = false
[dependencies.delegate]
version = "0.13"
[dependencies.num-traits]
version = "0.2"
default-features = false
[dependencies.num_enum]
version = "0.7"
default-features = false
[dependencies.paste]
version = "1"
[dependencies.portable-atomic]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.time]
version = "0.3"
optional = true
default-features = false
[dependencies.zerocopy]
version = "0.8"
features = ["derive"]
[dev-dependencies.chrono]
version = "0.4"
[dev-dependencies.postcard]
version = "1"
features = ["alloc"]
[dev-dependencies.tempfile]
version = "3"