use embedded_can::{Frame, StandardId};
use futures_timer::Delay;
use socketcan::{async_std::CanSocket, CanFrame, Result};
use std::{env, time::Duration};
#[async_std::main]
async fn main() -> Result<()> {
let iface = env::args().nth(1).unwrap_or_else(|| "vcan0".into());
let sock = CanSocket::open(&iface)?;
loop {
let id = StandardId::new(0x100).unwrap();
let frame = CanFrame::new(id, &[0]).unwrap();
println!("Writing on {}", iface);
sock.write_frame(&frame).await?;
println!("Waiting 3 seconds");
Delay::new(Duration::from_secs(3)).await?;
}
}