#communicate #ai #comma #panda #obd #safety #github

pandacan

Library to send/receive CAN data using a panda OBD dongle. See https://github.com/commaai/panda for more information.

2 releases

0.1.1 Mar 28, 2021
0.1.0 Mar 28, 2021

#621 in Machine learning

MIT license

13KB
268 lines

panda-rs

Crates.io

Rust library to communicate with a comma.ai panda.

let context = libusb::Context::new().unwrap();
let panda = Panda::new(&context, Duration::from_millis(100));
panda.set_safety_model(SafetyModel::AllOutput, 0).expect("Error setting safety mode");

loop {
    if let Ok(h) = panda.health() {
        println!("{:?}", h);
    }
    if let Ok(c) = panda.can_receive() {
        for msg in c {
            println!("{:?}", msg);
        }
    }
    thread::sleep(Duration::from_millis(500));
}

Can printer

The examples folder contains a small helper binary to print all traffic on a certain bus:

cargo run --example can_printer -- --bus=0

Dependencies

~480KB
~10K SLoC