#can-bus #socket-can #can #config-file #message-bus #pcan

multican

同时提供多个CAN总线的连接。允许使用不同类型的网络

9个版本 (5个重大更改)

0.6.0-beta.12020年8月21日
0.6.0-beta.02020年6月26日
0.5.0 2020年6月4日
0.4.0 2020年5月7日
0.1.1 2019年10月28日

#660硬件支持

每月22次下载

MIT 许可证

42KB
880

MultiCan

支持不同CANBUS场景的库,特别是需要同时使用多个总线的场景。

典型用法:3个总线,使用混合网络类型

[[can_networks]]
id = 0
kind = "socketcan"

[[can_networks]]
id = 1
kind = "socketcan"

[[can_networks]]
id = 2
kind = "udp"

// read the config file however you'd like
let network_config = read_config("can.toml");
let network = multican::from_config(network_config);

// receive from all busses:
for rx in network.recv() {
    println!("RX: {:?}", rx);
}

// send a message to bus 2
let m = CanMessage { bus: 2, header: 0x12345678, data: vec![1, 2, 3, 4] };
network.send(m);

依赖关系

~3–5MB
~97K SLoC