29次发布 (10次重大更新)
| 0.11.2 | 2024年5月19日 |
|---|---|
| 0.11.0-rc.0 | 2024年3月4日 |
| 0.7.0-beta.3 | 2023年12月13日 |
| 0.7.0-beta.2 | 2023年9月26日 |
| 0.2.0 | 2022年9月13日 |
#103 in 嵌入式开发
每月496次下载
用于5个crate(3个直接使用)
590KB
14K SLoC
ECSS和CCSDS空间数据包
本包包含对各种CCSDS(空间数据系统咨询委员会)和ECSS(欧洲空间标准化合作)数据包标准的通用实现。
目前包括以下组件
- 根据CCSDS蓝皮书133.0-B-2实现的Space数据包
- 根据CCSDS蓝皮书727.0-B-5实现的CCSDS文件交付协议(CFDP)数据包
- 根据ECSS-E-ST-70-41C标准实现的PUS遥测和PUS遥控
- 根据CCSDS 301.0-B-4 3.2实现的CUC(CCSDS无分段时间码)
- 根据CCSDS 301.0-B-4 3.3实现的CDS(CCSDS日分段时间码)
- 一些辅助类型,以支持根据CCSDS 301.0-B-4 3.5指定的ASCII时间码
功能
spacepackets支持各种运行时环境,也适用于no_std环境。
默认功能
std: 启用依赖于标准库的功能。alloc: 启用在容器(如alloc::vec::Vec)上操作的功能。由std功能启用。
可选功能
serde: 通过添加Serialize和Deserializederive来为大多数类型添加serde支持chrono:添加对chrono时间库的基本支持。timelib:添加对time时间库的基本支持。defmt:通过添加多种类型的defmt::Formatderive来支持defmt。
示例
您可以查看各个模块的文档以获取各种使用示例。
覆盖率
覆盖率使用grcov生成。如果您尚未安装,请安装llvm-tools-preview
rustup component add llvm-tools-preview
cargo install grcov --locked
之后,您可以简单地运行coverage.py来测试项目的覆盖率。您可以可选地提供--open标志以在您的网页浏览器中打开覆盖率报告。
Miri
您可以使用此库运行miri工具来检查未定义行为(UB)。此库不使用任何unsafe代码块,但miri仍然可以捕获使用库中的UB。
cargo +nightly miri nextest run --all-features
依赖关系
~2–8MB
~63K SLoC