22个版本 (14个重大更改)
使用旧的Rust 2015
0.15.0 | 2020年4月6日 |
---|---|
0.13.0 | 2020年4月6日 |
0.12.0 | 2019年7月28日 |
0.10.2 | 2019年2月17日 |
0.2.0 | 2018年9月5日 |
#758 in 科学
每月46次下载
35KB
417 行
ccsds_primary_header
此crate包含对CCSDS标准的实现,称为空间数据包协议,它定义了一个名为CCSDS主头的包头。
CCSDS是许多空间系统(如国际空间站和许多卫星和立方星)中使用的包定义。它非常简单,并期望用户在大多数应用中通过附加信息来扩展它。
此crate提供了一个简单的主头实现。它旨在用作更大定义或数据包处理工具的构建块。它还提供了一种从字节流中解析CCSDS数据包的机制,允许为特定项目的预期配置各种检查。
此crate提供的PrimaryHeader结构具有内存表示与CCSDS标准相匹配的优点。它可以从字节数组转换而来,通过线发送,或用于序列化或反序列化CCSDS数据包。
使用方法
主头
要使用此crate,请将以下内容添加到您的Cargo.toml中
[dependancies]
ccsds_primary_header="0.15.0"
然后添加以下内容到您的crate中
extern crate ccsds_primary_header;
use ccsds_primary_header::primary_header::*;
主头解析器
此crate还包含解析CCSDS数据包的机制。这在解析器模块中公开,该模块提供了CcsdsParser结构。此结构可以提供数据字节,如数据包流中的数据,并将找到流中的有效CCSDS数据包。
使用以下'使用'语句包含解析器
extern crate ccsds_primary_header;
use ccsds_primary_header::parser::*;
解析器可以配置为仅允许某些APID,期望次级头标志,为数据包使用最大长度,以及在解析期间使用可能针对特定项目定制的自定义验证函数。还有选项用于任何数量的前导字节同步,以及可选的任何长度的头和/或尾。头、尾和同步还可以保留在数据包中,或在从解析器检索数据包时删除。
注释
该项目包含一套全面的单元测试,我在开发CCSDS 路由工具时,使用 CCSDS 数据包进行了测试。然而,我尚未在生产环境中使用它。
许可证
此项目采用 MIT 或 APACHE2 许可证,您可以选择您喜欢的。
依赖项
~385KB