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.2.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.2-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_can-0.7.2.tar.gz
Algorithm Hash digest
SHA256 f1d79c8c179bd6f73f260d23d2e319dfb368110029c663c60f077e234fb7093d
MD5 fafe949638e23d2f37a908bd95f67dee
BLAKE2b-256 813d2b211b92eef25fc0c0266362f6eaf41f1d31c93e19c5406f94ce19cb7ab3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_can-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d045e9dd7229c7ae22a0fc015e448587c9806bd8d94ceb395a60f640068d7cfe
MD5 f545625d4eed67c3974466ba3b3b479f
BLAKE2b-256 cc4f0e692a80981f36272a504bbe06924194f6468cce22d0d73c0b9df9f22916

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