#automotive #can #ecu

canutils

纯 Rust 实现的 can-utils

5 个版本 (1 个稳定版本)

1.0.0 2020 年 10 月 1 日
0.2.0 2019 年 5 月 20 日
0.1.2 2019 年 5 月 14 日
0.1.1 2019 年 5 月 14 日
0.1.0 2019 年 5 月 13 日

#4#ecu

每月 22 次下载

MIT 许可证

130KB
89 代码行

VERSION Build Status docs

二进制安装

cargo install --examples canutils

Candumprb

彩色 candump 版本。

screenshot

接口

$ candumprb --help
candumprb 1.0.0
Candump Rainbow. A colorful can dump tool with dbc support.

USAGE:
    candumprb [OPTIONS] <can-interface>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -i, --input <input>    DBC file path, if not passed frame signals are not decoded

ARGS:
    <can-interface>    socketcan CAN interface e.g. vcan0

Cangenrb

一个彩色 CAN 帧生成器,它将 DBC 文件作为输入以生成 CAN 帧。默认情况下,CAN 信号的随机值在 DBC 文件中指定的范围内生成。要创建完全随机的帧有效载荷,请传递 --random-frame-data 标志。

screenshot

接口

$ cangenrb --help
cangenrb 1.0.0
Cangen Rainbow. A colorful that generates CAN messages based on a supplied DBC file.

USAGE:
    cangenrb [FLAGS] [OPTIONS] <CAN_INTERFACE> --input <input>

FLAGS:
        --err                  Send random error frames
    -h, --help                 Prints help information
    -r, --random-frame-data    Completely random frame data, unrelated to any signal
        --rtr                  Send random remote transmission frames
    -V, --version              Prints version information

OPTIONS:
    -f, --frequency <frequency>        Frequency of sending in microseconds [default: 100000]
    -i, --input <input>                DBC file path
        --transmitter <transmitter>    Only generate messages of the given transmitter (sending node)

ARGS:
    <CAN_INTERFACE>    Only generate messages for the given receiver (receiving node)

Canstatsrb

一个收集接收到的帧和按消息 ID 的消息统计的工具。

接口

canstatsrb 1.0.0
SocketCAN message statistics

USAGE:
    canstatsrb <can-interface>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

ARGS:
    <can-interface>    socketcan CAN interface e.g. vcan0

输出示例

RX Total: 6410
EFF Total: 3697	ERR: 0	RTR: 0
SFF Total: 2713	ERR: 0	RTR: 0
Messages by CAN ID
    32#  107
   113#  93
   152#  95
   161#  99
   163#  95
   290#  115
   341#  85
   367#  83
   383#  104
   489#  92
   504#  94
   548#  107
   549#  111
   626#  88

依赖项

~0.8–1.1MB
~22K SLoC