7 个版本
0.1.2 | 2021年6月26日 |
---|---|
0.1.0 | 2021年5月17日 |
0.0.7 | 2021年5月17日 |
0.0.6 | 2020年6月10日 |
#1548 在 硬件支持
33 每月下载量
在 cantact 中使用
58KB
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
包来从Rust使用驱动程序。该包的文档可以在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模块可以像其他Python模块一样使用setuptools
构建。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支持。
依赖关系
~2–4.5MB
~80K SLoC