- Notifications
You must be signed in to change notification settings - Fork5
marcelbuesing/tokio-socketcan-bcm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Broadcast Manager protocol provides a command based configurationinterface to filter and send (e.g. cyclic) CAN messages in kernel space.Filtering messages in kernel space may significantly reduce the load in an application.
A BCM socket is not intended for sending individual CAN frames.To send invidiual frames use thetokio-socketcan crate.
This crate would not have been possible without thesocketcan crate.
use std::time;use futures_util::stream::StreamExt;use tokio_socketcan_bcm::{BCMSocket,Id,StandardId};#[tokio::main]asyncfnmain(){let socket =BCMSocket::open_nb("vcan0").unwrap();let ival = time::Duration::from_millis(0);// create a stream of messages that filters by the can frame id 0x123let id =Id::Standard(StandardId::new(0x123).unwrap());letmut can_frame_stream = socket.filter(id, ival, ival).unwrap();whileletSome(frame) = can_frame_stream.next().await{println!("Frame {:?}", frame);()}}
About
Asynchronous Linux SocketCAN - Broadcast Manager support (BCM) with tokio
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.