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
和Deserialize
derive
来为大多数类型添加serde
支持chrono
:添加对chrono
时间库的基本支持。timelib
:添加对time
时间库的基本支持。defmt
:通过添加多种类型的defmt::Format
derive来支持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