Package: cantact
CANtactSoftware support for CANtact devices. Includes a driver (seedriver/), APIs, and a cross-platform command line interface.Getting a DeviceCANtact Pro is currently a pre-launch project on CrowdSupply. You can subscribe on theproduct pageto get updates about the hardware release.This tool should work fine with other CANtact/gs_usb compatible devices such as CANable.InstallingThe CLI and driver are built usingcargo, which can be installed usingrustup.Oncecargois installed, use it to build and install thecanbinary:git clone https://github.com/linklayer/cantact
cd cantact
cargo install --path .Setting udev Rules (Linux only)On Linux, only root can access the device by default. This results in aDeviceNotFounderror when trying to access the device as a normal user.
To allow access for all users, create a file at/etc/udev/rules.d/99-cantact.ruleswhich contains:SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="606f", MODE="0666"Then reload the udev rules:sudo udevadm control --reload-rules
sudo udevadm triggerCommand Line InterfaceThe CLI is invoked using thecanbinary: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 frameThecan cfgcommand is used to set the bitrate and other device settings. Once set, other commands will use these options.For example, to set channels 0 and 1 to 500000 kbps, then dump all frames on all channels:can cfg --channel 0 --bitrate 500000
can cfg --channel 1 --bitrate 500000
can dumpUsecan help [subcommand]for additional documentation.Rust SupportThe driver can be used from Rust by installing thecantact-drivercrate.
Documentation for the crate can be found ondocs.rs.Python SupportCANtact supports Python 3.5+ on Windows, macOS, and Linux. The Python modules are hosted onPyPI.
Installation requirespip 19.0+(for manylinux2010 wheels).Python end-users should not use this repository directly. Instead, install Python support usingpip:python3 -m pip -U pip
python3 -m pip install cantactThis will attempt to install a binary distribution for your system. If none exists, it will attempt to build
from source. This requires nightly rust, which can be enabled by runningrustup default nightlybefore
installing.See theexamples/folder for Python examples.python-cansupports
CANtact, and is recommended over using thecantactmodule directly. To install CANtact,python-can,
and run a test:python3 -m pip install cantact git+https://github.com/ericevenchick/python-can@cantact
can_logger.py -i cantact -c 0 -b 500000Building Python SupportBuilding Python support is only required if you want to make modifications to thecantactPython module, or if
you are using a platform that does not have packaged support.Python support is implemented usingPyO3, and is gated by thepythonfeature.
Thanks torust-setuptools, thecantactPython module can be built
like any other Python module usingsetuptools. PyO3 requires nightly Rust, which can be configured usingrustup override.cd driver
rustup override set nightly
python setup.py buildPython builds for Windows, macOS, and manylinux are automated usingGithub Actions.
Tagged releases are automatically pushed to PyPI.C / C++ SupportC / C++ support is provided by the driver. This is currently used to implementBUSMASTERsupport on Windows.