Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Latest commit

 

History

History
History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Outline

CAN driver

jumpstarter-driver-can provides functionality for interacting with CAN bus connections based on the python-can library.

Installation

:substitutions:
$ pip3 install --extra-index-url {{index_url}} jumpstarter-driver-can

jumpstarter_driver_can.Can

A generic CAN bus driver.

Available on any platform, supports many different CAN interfaces through the python-can library.

Configuration

Example configuration:

export:
  can:
    type: jumpstarter_driver_can.Can
    config:
      channel: 1
      interface: "virtual"
Parameter Description Type Required Default
interface Refer to the python-can list of interfaces str yes
channel channel to be used, refer to the interface documentation int or str yes

API Reference

.. autoclass:: jumpstarter_driver_can.client.CanClient()
    :members:

jumpstarter_driver_can.IsoTpPython

A Pure python ISO-TP socket driver

Available on any platform (does not require Linux ISO-TP kernel module), moderate performance and reliability, wide support for non-standard hardware interfaces

Configuration

Example configuration:

export:
  can:
    type: jumpstarter_driver_can.IsoTpPython
    config:
      channel: 0
      interface: "virtual"
      address:
        rxid: 1
        txid: 2
      params:
        max_frame_size: 2048
        blocking_send: false
        can_fd: true
Parameter Description Type Required Default
interface Refer to the python-can list of interfaces str no
channel channel to be used, refer to the interface documentation int or str no
address Refer to the isotp.Address documentation isotp.Address yes
params IsoTp parameters, refer to the IsoTpParams section table IsoTpParams no see table
read_timeout Read timeout for the bus in seconds float no 0.05

API Reference

.. autoclass:: jumpstarter_driver_can.client.IsoTpClient()
    :members:

jumpstarter_driver_can.IsoTpSocket

Pure python ISO-TP socket driver

Available on any platform, moderate performance and reliability, wide support for non-standard hardware interfaces

Configuration

Example configuration:

export:
  can:
    type: jumpstarter_driver_can.IsoTpSocket
    config:
      channel: "vcan0"
      address:
        rxid: 1
        txid: 2
      params:
        max_frame_size: 2048
        blocking_send: false
        can_fd: true
Parameter Description Type Required Default
channel CAN bus to be used i.e. vcan0, vcan1, etc.. str yes
address Refer to the isotp.Address documentation isotp.Address yes
params IsoTp parameters, refer to the IsoTpParams section table IsoTpParams no see table

API Reference

.. autoclass:: jumpstarter_driver_can.client.IsoTpClient()
    :noindex:
    :members:

IsoTpParams

Parameter Description Type Required Default
stmin Minimum Separation Time minimum in milliseconds between consecutive frames. int No 0
blocksize Number of consecutive frames that can be sent before waiting for a flow control frame. int No 8
tx_data_length Default length of data in a transmitted CAN frame (CAN 2.0) or initial frame (CAN FD). int No 8
tx_data_min_length Minimum length of data in a transmitted CAN frame; pads with tx_padding if shorter. int | None No None
override_receiver_stmin Override the STmin value (in seconds) received from the receiver; None means do not override. float | None No None
rx_flowcontrol_timeout Timeout in milliseconds for receiving a flow control frame after sending a first frame or a block. int No 1000
rx_consecutive_frame_timeout Timeout in milliseconds for receiving a consecutive frame in a multi-frame message. int No 1000
tx_padding Byte value used for padding if the data length is less than tx_data_min_length or for CAN FD. int | None No None
wftmax Maximum number of Wait Frame Transmissions (WFTMax) allowed before aborting. 0 means WFTs are not used. int No 0
max_frame_size Maximum size of a single ISO-TP frame that can be processed. int No 4095
can_fd If True, enables CAN FD (Flexible Data-Rate) specific ISO-TP handling. bool No False
bitrate_switch If True and can_fd is True, enables bitrate switching for CAN FD frames. bool No False
default_target_address_type Default target address type: 0 for Physical (1-to-1), 1 for Functional (1-to-n). int No 0
rate_limit_enable If True, enables rate limiting for outgoing frames. bool No False
rate_limit_max_bitrate Maximum bitrate in bits per second for rate limiting if enabled. int No 10000000
rate_limit_window_size Time window in seconds over which the rate limit is calculated. float No 0.2
listen_mode If True, the stack operates in listen-only mode (does not send any frames). bool No False
blocking_send If True, send operations will block until the message is fully transmitted or an error occurs. bool No False
Morty Proxy This is a proxified and sanitized view of the page, visit original site.