7个版本
0.1.2 | 2021年6月26日 |
---|---|
0.1.1 | 2021年5月29日 |
0.0.6 | 2020年6月10日 |
#1458 在 硬件支持
62 每月下载量
76KB
1.5K SLoC
CANtact
为CANtact设备提供软件支持。包括驱动程序(见 driver/
)、API和跨平台命令行界面。
获取设备
CANtact Pro目前正在CrowdSupply的预发布项目中。您可以在产品页面上订阅,以获取有关硬件发布的更新。
此工具应与其他CANtact/gs_usb兼容设备(如CANable)正常工作。
安装
CLI和驱动程序使用cargo
构建,可以使用rustup安装。
安装cargo
后,使用它构建和安装can
二进制文件
git clone https://github.com/linklayer/cantact
cd cantact
cargo install --path .
设置udev规则(仅限Linux)
在Linux上,默认情况下只有root可以访问设备。当以普通用户身份尝试访问设备时,会导致DeviceNotFound
错误。为了允许所有用户访问,在/etc/udev/rules.d/99-cantact.rules
创建一个文件,该文件包含
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="606f", MODE="0666"
然后重新加载udev规则
sudo udevadm control --reload-rules
sudo udevadm trigger
命令行界面
使用can
二进制文件调用CLI
can help
can 0.1.0
Eric Evenchick <eric@evenchick.com>
Command line utilities for CANtact devices
USAGE:
can [FLAGS] [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-v, --verbose Print verbose debugging information
-V, --version Prints version information
SUBCOMMANDS:
cfg Set device configurations
dump Receive and display CAN frames
help Prints this message or the help of the given subcommand(s)
send Send a single CAN frame
使用can cfg
命令设置比特率和其他设备设置。设置后,其他命令将使用这些选项。
例如,将通道0和1设置为500000 kbps,然后转储所有通道上的所有帧
can cfg --channel 0 --bitrate 500000
can cfg --channel 1 --bitrate 500000
can dump
使用can help [子命令]
获取更多文档。
Rust支持
可以通过安装cantact-driver
crate从Rust使用驱动程序。该crate的文档可以在docs.rs上找到。
Python支持
CANtact支持Windows、macOS和Linux上的Python 3.5+。Python模块托管在PyPI上。安装需要pip 19.0+
(用于许多linux2010轮)。
Python最终用户不应直接使用此存储库。相反,使用pip
安装Python支持。
python3 -m pip -U pip
python3 -m pip install cantact
这将尝试为您系统安装二进制分发版本。如果不存在,它将尝试从源码构建。这需要夜间Rust,可以在安装之前通过运行 rustup default nightly
来启用。
请参阅 examples/
文件夹以获取Python示例。 python-can 支持 CANtact,并且建议使用 cantact
模块直接。要安装 CANtact,请安装 python-can
并运行测试
python3 -m pip install cantact git+https://github.com/ericevenchick/python-can@cantact
can_logger.py -i cantact -c 0 -b 500000
构建Python支持
只有在您想修改 cantact
Python模块,或者您使用的是一个没有包装支持的平台的情 况下,才需要构建Python支持。
Python支持使用 PyO3 实现,并由 python
功能控制。感谢 rust-setuptools,cantact
Python模块可以使用 setuptools
像任何其他Python模块一样进行构建。PyO3 需要夜间Rust,可以使用 rustup override
进行配置。
cd driver
rustup override set nightly
python setup.py build
Windows、macOS 和许多 Linux 的 Python 构建 已通过 Github Actions 自动化。标记版本会自动推送到 PyPI。
C / C++ 支持
C / C++ 支持由驱动程序提供。这目前用于在 Windows 上实现 BUSMASTER 支持。
依赖项
~5–14MB
~168K SLoC