cansocket 0.1.1

Linux SocketCAN driver
Documentation
// To run this example, create a vcan device:
// sudo ip link add dev vcan0 type vcan
// sudo ip link set up vcan0

fn main() -> Result<(), cansocket::Error> {
    smol::block_on(async {
        let socket = cansocket::Socket::new("vcan0")?;
        socket.recv_own_msgs(true)?;

        println!("Sending a frame.");
        let id = embedded_can::StandardId::new(0x123).unwrap();
        let frame = cansocket::Frame::new(id, &[4, 5, 6, 7]).unwrap();
        socket.send(&frame).await?;

        println!("Receiving a frame.");
        let frame = socket.recv().await?;
        println!("Received: {:?}", frame);

        Ok(())
    })
}