High level CCSDS File Delivery Protocol (CFDP) components
Go to file
Robin Mueller 23774c95b1
All checks were successful
Rust/cfdp/pipeline/head This commit looks good
init commit
2024-08-29 12:12:17 +02:00
.github/workflows init commit 2024-08-29 12:12:17 +02:00
automation init commit 2024-08-29 12:12:17 +02:00
examples/python-interop init commit 2024-08-29 12:12:17 +02:00
src init commit 2024-08-29 12:12:17 +02:00
tests init commit 2024-08-29 12:12:17 +02:00
.gitignore init commit 2024-08-29 12:12:17 +02:00
Cargo.toml init commit 2024-08-29 12:12:17 +02:00
CHANGELOG.md init commit 2024-08-29 12:12:17 +02:00
coverage.py init commit 2024-08-29 12:12:17 +02:00
LICENSE-APACHE init commit 2024-08-29 12:12:17 +02:00
NOTICE init commit 2024-08-29 12:12:17 +02:00
README.md init commit 2024-08-29 12:12:17 +02:00
release-checklist.md init commit 2024-08-29 12:12:17 +02:00

Crates.io docs.rs ci coverage

cfdp-rs - High level Rust crate for CFDP components

The cfdp-rs Rust crate offers some high-level CCSDS File Delivery Protocol (CFDP) components to perform file transfers according to the CCSDS Blue Book 727.0-B-5. The underlying base packet library used to generate the packets to be sent is the spacepackets library.

Features

cfdp-rs supports various runtime environments and is also suitable for no_std environments. It is recommended to activate the alloc feature at the very least to allow using the primary components provided by this crate. These components will only allocate memory at initialization time and thus are still viable for systems where run-time allocation is prohibited.

Default features

  • std: Enables functionality relying on the standard library.
  • alloc: Enables features which require allocation support. Enabled by the std feature.

Optional Features

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