Crates.io | rs_dbc |
lib.rs | rs_dbc |
version | 0.10.1 |
created_at | 2025-08-17 17:21:21.83537+00 |
updated_at | 2025-08-20 08:27:00.299464+00 |
description | A library for CAN DBC parsing and handling |
homepage | https://gitlab.com/JP-Makers/rs-dbc |
repository | https://github.com/JP-Makers/rs-dbc |
max_upload_size | |
id | 1799586 |
size | 56,595 |
rs-dbc
is a library written in Rust for parsing and handling CAN DBC files.
use std::fs::File;
use std::io::{self, Read};
use rs_dbc::Dbc;
fn main() -> io::Result<()> {
let mut f = File::open("./examples/simple.dbc")?;
let mut buffer = Vec::new();
f.read_to_end(&mut buffer)?;
let dbc = Dbc::from_slice(&buffer).expect("Failed to parse DBC file");
for msg in dbc.messages {
println!("Message Name: {}", msg.message_name);
println!("Message ID: 0x{:X}", msg.message_id.raw());
println!("ID-Format: {}", msg.message_id.kind());
for sig in msg.signals {
println!("Signal Name: {}", sig.name);
println!("Byte Order: {}", sig.byte_order);
println!("Value Type: {}", sig.value_type);
println!("");
}
println!("");
}
Ok(())
}
Made with ❤️ and Rust