Skip to main content

cancli

A command line interface to send and receive CAN bus messages.

This program is based on:

  • prompt_toolkit for the user interface
  • confattr for parsing user input, providing auto completion and config files
  • cantools for decoding and encoding CAN bus messages
  • python-can for receiving and transmitting CAN bus messages

Usage

Connect to a CAN bus with bus can0 500k. Incoming messages are printed. If there are too many messages you can hide some or all of them with hide. You can undo hide with show or display a hidden message once with next or prev.

When you load a database file with db path/to/db.dbc messages are decoded and the signals are displayed in human readable form. If the data base file does not repeat the messages for every possible node you can specify that part of the arbitration id is a node id with node-id FF << 8.

You can send messages with send msg_name sig1=option1 sig2=3.14.

You can give different incoming messages different colors with set color.message=%color.message%,importantmessage:ansired. The syntax to add values to a dict setting is explained here. The available colors are displayed in the auto completion.

Available commands:

  • bitrate: Set the default bitrate and change the bitrate of all active buses.
  • bus: Activate a bus.
  • db: Load a database file (dbc/sym/...).
  • node-id: Specify that part of an arbitration id is a node id.
  • send/s: Send a message on the last activated CAN bus.
  • hide/-: Do not print received messages of the specified type.
  • show/+: Undo the effect of a previous hide command.
  • next//: Print the next received message of the specified type regardless of whether it has been disabled with the hide command.
  • prev/?: Print the last received message of the specified type.
  • grep: Search for signal.
  • set: Change the value of a setting.
  • include: Load another config file.
  • save: Save the settings.
  • echo: Display a message.
  • help: Display help.
  • quit/q: Quit the program.

Installation

pipx install cancli

Links

Running the tests

I am using mypy for static type checking. tox creates a vitual environment and installs all dependencies for you. You can install tox with pipx (pipx install tox).

$ tox

In order to make tox work without an internet connection install devpi:

$ pipx install devpi-server
$ devpi-gen-config
$ su
# cp gen-config/devpi.service /etc/systemd/system/
# systemctl start devpi.service
# systemctl enable devpi.service

and add the following line to your bashrc:

export PIP_INDEX_URL=http://localhost:3141/root/pypi/+simple/

License

This work is free. You can use, copy, modify, and/or distribute it under the terms of the BSD Zero Clause License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cancli-1.0.0.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cancli-1.0.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file cancli-1.0.0.tar.gz.

File metadata

  • Download URL: cancli-1.0.0.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for cancli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f0744bbef21bc271ac4e3a421be1f11502871beb45a4ceedf1a9d28e752481f9
MD5 e8bee27d2e89d6523b2d482d38bad159
BLAKE2b-256 618122ad157a9cc1e06ec9a1549616ac569aca73f30d17c5dd64f6b564e19423

See more details on using hashes here.

File details

Details for the file cancli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cancli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for cancli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2204227823642ffd1f0fba3d96d28bf2d89d98bcc27dc5b0e6ed633c3133214
MD5 4d99d0a6d3913621fc0808e387b78dc1
BLAKE2b-256 e1a2257a4d876b2172cc80d82d98b6b2490b261484b67917eab02c681e659268

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page