Skip to main content

No project description provided

Project description

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

Project details


Download files

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

Source Distribution

jumpstarter_driver_can-0.7.4.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

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

jumpstarter_driver_can-0.7.4-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file jumpstarter_driver_can-0.7.4.tar.gz.

File metadata

File hashes

Hashes for jumpstarter_driver_can-0.7.4.tar.gz
Algorithm Hash digest
SHA256 c1df2ec35916d9824fd8ed0f4397ef34a97534c7e7c9793cb818722da2299d00
MD5 2c988edf9f10bf76bd0a1bca379b16a5
BLAKE2b-256 28a3e4314522f0cfc2bd4660f3f97501dd777dd617c104fd03ecd170a0838baa

See more details on using hashes here.

File details

Details for the file jumpstarter_driver_can-0.7.4-py3-none-any.whl.

File metadata

File hashes

Hashes for jumpstarter_driver_can-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf66d743c5044de404eae069668ef6a4f3156cc946eeb1a7f72a2e0367fcff7
MD5 ad58bd66e5d18717041bfa977a998956
BLAKE2b-256 abc9a4ec9e0855951aa31d462686cd638360214de394c5b46314cd8cb2017533

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