can_decode 0.2.0

Decode / parse CAN frames into messages/signals in a fast and easy way.
Documentation

can_decode

Decode / parse CAN frames into messages/signals in a fast and easy way.

Crates.io Docs.rs

Example

fn main() {
    env_logger::init();

    let parser = match can_decode::Parser::from_dbc_file(Path::new("./CAN.dbc")) {
        Ok(p) => p,
        Err(e) => {
            eprintln!("Error parsing DBC file: {}", e);
            std::process::exit(1);
        }
    };

	let arb_id = 0x123;
	let data = [0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08];
	let decoded = parser.decode_msg(arb_id, &data);
	match decoded {
		Some(msg) => {
			println!("Decoded message: {:?}", msg);
		}
		None => {
			println!("No message found for arb_id: {:#X}", arb_id);
		}
	}
}