|
| 1 | +Other CAN bus tools |
| 2 | +=================== |
| 3 | + |
| 4 | +In order to keep the project maintainable, the scope of the package is limited to providing common |
| 5 | +abstractions to different hardware devices, and a basic suite of utilities for sending and |
| 6 | +receiving messages on a CAN bus. Other tools are available that either extend the functionality |
| 7 | +of python-can, or provide complementary features that python-can users might find useful. |
| 8 | + |
| 9 | +Some of these tools are listed below for convenience. |
| 10 | + |
| 11 | +CAN Message protocols (implemented in Python) |
| 12 | +--------------------------------------------- |
| 13 | + |
| 14 | +#. SAE J1939 Message Protocol |
| 15 | + * The `can-j1939`_ module provides an implementation of the CAN SAE J1939 standard for Python, |
| 16 | + including J1939-22. `can-j1939`_ uses python-can to provide support for multiple hardware |
| 17 | + interfaces. |
| 18 | +#. CIA CANopen |
| 19 | + * The `canopen`_ module provides an implementation of the CIA CANopen protocol, aiming to be |
| 20 | + used for automation and testing purposes |
| 21 | +#. ISO 15765-2 (ISO TP) |
| 22 | + * The `can-isotp`_ module provides an implementation of the ISO TP CAN protocol for sending |
| 23 | + data packets via a CAN transport layer. |
| 24 | + |
| 25 | +#. UDS |
| 26 | + * The `python-uds`_ module is a communication protocol agnostic implementation of the Unified |
| 27 | + Diagnostic Services (UDS) protocol defined in ISO 14229-1, although it does have extensions |
| 28 | + for performing UDS over CAN utilising the ISO TP protocol. This module has not been updated |
| 29 | + for some time. |
| 30 | + * The `uds`_ module is another tool that implements the UDS protocol, although it does have |
| 31 | + extensions for performing UDS over CAN utilising the ISO TP protocol. This module has not |
| 32 | + been updated for some time. |
| 33 | +#. XCP |
| 34 | + * The `pyxcp`_ module implements the Universal Measurement and Calibration Protocol (XCP). |
| 35 | + The purpose of XCP is to adjust parameters and acquire current values of internal |
| 36 | + variables in an ECU. |
| 37 | + |
| 38 | +.. _can-j1939: https://github.com/juergenH87/python-can-j1939 |
| 39 | +.. _canopen: https://canopen.readthedocs.io/en/latest/ |
| 40 | +.. _can-isotp: https://can-isotp.readthedocs.io/en/latest/ |
| 41 | +.. _python-uds: https://python-uds.readthedocs.io/en/latest/index.html |
| 42 | +.. _uds: https://uds.readthedocs.io/en/latest/ |
| 43 | +.. _pyxcp: https://pyxcp.readthedocs.io/en/latest/ |
| 44 | + |
| 45 | +CAN Frame Parsing tools etc. (implemented in Python) |
| 46 | +---------------------------------------------------- |
| 47 | + |
| 48 | +#. CAN Message / Database scripting |
| 49 | + * The `cantools`_ package provides multiple methods for interacting with can message database |
| 50 | + files, and using these files to monitor live busses with a command line monitor tool. |
| 51 | +#. CAN Message / Log Decoding |
| 52 | + * The `canmatrix`_ module provides methods for converting between multiple popular message |
| 53 | + frame definition file formats (e.g. .DBC files, .KCD files, .ARXML files etc.). |
| 54 | + * The `pretty_j1939`_ module can be used to post-process CAN logs of J1939 traffic into human |
| 55 | + readable terminal prints or into a JSON file for consumption elsewhere in your scripts. |
| 56 | + |
| 57 | +.. _cantools: https://cantools.readthedocs.io/en/latest/ |
| 58 | +.. _canmatrix: https://canmatrix.readthedocs.io/en/latest/ |
| 59 | +.. _pretty_j1939: https://github.com/nmfta-repo/pretty_j1939 |
| 60 | + |
| 61 | +Other CAN related tools, programs etc. |
| 62 | +-------------------------------------- |
| 63 | + |
| 64 | +#. Micropython CAN class |
| 65 | + * A `CAN class`_ is available for the original micropython pyboard, with much of the same |
| 66 | + functionality as is available with python-can (but with a different API!). |
| 67 | +#. ASAM MDF Files |
| 68 | + * The `asammdf`_ module provides many methods for processing ASAM (Association for |
| 69 | + Standardization of Automation and Measuring Systems) MDF (Measurement Data Format) files. |
| 70 | + |
| 71 | +.. _`CAN class`: https://docs.micropython.org/en/latest/library/pyb.CAN.html |
| 72 | +.. _`asammdf`: https://asammdf.readthedocs.io/en/master/ |
| 73 | + |
| 74 | +| |
| 75 | +| |
| 76 | +
|
| 77 | +.. note:: |
| 78 | + See also the available plugins for python-can in :ref:`plugin interface`. |
| 79 | + |
0 commit comments