Crates.io | spacepackets |
lib.rs | spacepackets |
version | 0.13.0 |
source | src |
created_at | 2022-08-16 08:54:14.770619 |
updated_at | 2024-11-08 15:58:43.929656 |
description | Generic implementations for various CCSDS and ECSS packet standards |
homepage | https://egit.irs.uni-stuttgart.de/rust/spacepackets |
repository | https://egit.irs.uni-stuttgart.de/rust/spacepackets |
max_upload_size | |
id | 646517 |
size | 657,149 |
This package contains generic implementations for various CCSDS (Consultative Committee for Space Data Systems) and ECSS (European Cooperation for Space Standardization) packet standards.
Currently, this includes the following components:
spacepackets
supports various runtime environments and is also suitable for no_std
environments.
std
: Enables functionality relying on the standard library.alloc
: Enables features which operate on containers
like alloc::vec::Vec
.
Enabled by the std
feature.serde
: Adds serde
support for most types by adding Serialize
and Deserialize
derive
schrono
: Add basic support for the chrono
time library.timelib
: Add basic support for the time
time library.defmt
: Add support for the defmt
by adding the
defmt::Format
derive on many types.You can check the documentation of individual modules for various usage examples.
Coverage was generated using grcov
. If you have not done so
already, install the llvm-tools-preview
:
rustup component add llvm-tools-preview
cargo install grcov --locked
After that, you can simply run coverage.py
to test the project with coverage. You can optionally
supply the --open
flag to open the coverage report in your webbrowser.
You can run the miri
tool on this library to check for
undefined behaviour (UB). This library does not use use any unsafe
code blocks, but miri
could
still catch UB from used libraries.
cargo +nightly miri nextest run --all-features