#ccsds #space #packets #packet #aerospace #space-protocols #ecss

no-std spacepackets

Generic implementations for various CCSDS and ECSS packet standards

28 releases (10 breaking)

new 0.11.1 Apr 22, 2024
0.11.0-rc.0 Mar 4, 2024
0.7.0-beta.3 Dec 13, 2023
0.7.0-beta.2 Sep 26, 2023
0.2.0 Sep 13, 2022

#110 in Hardware support

Download history 10/week @ 2024-01-22 57/week @ 2024-01-29 68/week @ 2024-02-05 207/week @ 2024-02-12 74/week @ 2024-02-19 92/week @ 2024-02-26 117/week @ 2024-03-04 38/week @ 2024-03-11 13/week @ 2024-03-18 486/week @ 2024-03-25 181/week @ 2024-04-01 19/week @ 2024-04-08

702 downloads per month
Used in 5 crates (3 directly)

Apache-2.0

590KB
14K SLoC

Crates.io docs.rs ci coverage

ECSS and CCSDS Spacepackets

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:

Features

spacepackets supports various runtime environments and is also suitable for no_std environments.

Default features

  • std: Enables functionality relying on the standard library.
  • alloc: Enables features which operate on containers like alloc::vec::Vec. Enabled by the std feature.

Optional Features

  • serde: Adds serde support for most types by adding Serialize and Deserialize derives
  • chrono: 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.

Examples

You can check the documentation of individual modules for various usage examples.

Coverage

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.

Dependencies

~2–9.5MB
~61K SLoC