zephyr/samples/subsys/canbus/isotp
..
src
CMakeLists.txt
Kconfig
README.rst
prj.conf
sample.yaml

README.rst

.. zephyr:code-sample:: isotp
   :name: ISO-TP library
   :relevant-api: can_isotp

   Use ISO-TP library to exchange messages between two boards.

Overview
********
This sample demonstrates how to use the :ref:`ISO-TP library <can_isotp>`.

Messages are exchanged between two boards. A long message, that is sent with
a block-size (BS) of eight frames, and a short one that has a minimal
separation-time (STmin) of five milliseconds.

The send function call for the short message is non-blocking, and the send
function call for the long message is blocking.

Building and Running
********************
Use these instructions with integrated CAN controller like in the NXP TWR-KE18F
or Nucleo-F746ZG board.

For the NXP TWR-KE18F board:

.. zephyr-app-commands::
   :zephyr-app: samples/subsys/canbus/isotp
   :board: twr_ke18f
   :goals: build flash

Requirements
************

* Two boards with CAN bus support, connected together

Sample output
=============
.. code-block:: console

    Start sending data
    [00:00:00.000,000] <inf> can_driver: Init of CAN_1 done
    ========================================
    |   ____  ___  ____       ____  ____   |
    |  |_  _|/ __||    | ___ |_  _||  _ \  |
    |   _||_ \__ \| || | ___   ||  | ___/  |
    |  |____||___/|____|       ||  |_|     |
    ========================================
    Got 248 bytes in total
    This is the sample test for the short payload
    TX complete cb [0]

.. note:: The values shown above might differ.