Skip to content
This repository was archived by the owner on Sep 12, 2021. It is now read-only.

OpenCyphal-Garage/dsdl_parser.rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSDL parser Crates.io

OBSOLETE, REPLACED BY NUNAVUT.


A Rust parser for the DSDL (Data structure description language) used in uavcan

DSDL

DSDL defines the data types transfered with uavcan. For full description of DSDL, have a look at the specification

Examples

Parse DSDL directory

use dsdl_parser::DSDL;

assert!(DSDL::read("tests/dsdl/uavcan").is_ok());

Parse single file

use dsdl_parser::DSDL;

assert!(DSDL::read("tests/dsdl/uavcan/protocol/341.NodeStatus.uavcan").is_ok());

Display a file

use dsdl_parser::DSDL;

let dsdl = DSDL::read("./tests/dsdl/uavcan/").unwrap();

println!("{}", dsdl.get_file("uavcan.protocol.GetNodeInfo").unwrap());

Calculate data type signature

use dsdl_parser::DSDL;

let dsdl = DSDL::read("./tests/dsdl/uavcan/").unwrap();

assert_eq!(dsdl.data_type_signature("uavcan.protocol.GetNodeInfo").unwrap(), 0xee468a8121c46a9e);

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

DSDL parser in Rust

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages