5个版本
使用旧的Rust 2015
0.1.3 | 2017年11月20日 |
---|---|
0.1.2 | 2017年11月8日 |
0.1.1 | 2017年11月8日 |
0.1.0 | 2017年11月8日 |
0.0.1 | 2017年10月19日 |
#24 in #uavcan
21 每月下载量
用于 dsdl_compiler
99KB
2K SLoC
DSDL解析器
用于uavcan的DSDL(数据结构描述语言)解析器
DSDL
DSDL定义了uavcan传输的数据类型。有关DSDL的完整描述,请参阅规范
示例
解析DSDL目录
use dsdl_parser::DSDL;
assert!(DSDL::read("tests/dsdl/uavcan").is_ok());
解析单个文件
use dsdl_parser::DSDL;
assert!(DSDL::read("tests/dsdl/uavcan/protocol/341.NodeStatus.uavcan").is_ok());
显示文件
use dsdl_parser::DSDL;
let dsdl = DSDL::read("./tests/dsdl/uavcan/").unwrap();
println!("{}", dsdl.get_file("uavcan.protocol.GetNodeInfo").unwrap());
计算数据类型签名
use dsdl_parser::DSDL;
let dsdl = DSDL::read("./tests/dsdl/uavcan/").unwrap();
assert_eq!(dsdl.data_type_signature("uavcan.protocol.GetNodeInfo").unwrap(), 0xee468a8121c46a9e);
许可证
根据您的选择,许可如下:
-
Apache许可证版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
-
MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交的工作内容,都应作为上述双重许可,而不附加任何额外条款或条件。
依赖关系
~1.5MB
~25K SLoC