zephyr/samples/drivers/CAN
Alexander Wachter b3b43b8921 drivers: can: Extend can_send with void *arg and pass it to the isr cb
This commit extends the CAN api can_send function by an argument
that is passed to the isr callback.
With this extension it is possible to distinguish between sent masseges
when they use the same callback.

Signed-off-by: Alexander Wachter <alexander.wachter@student.tugraz.at>
2019-05-12 16:54:49 -04:00
..
src drivers: can: Extend can_send with void *arg and pass it to the isr cb 2019-05-12 16:54:49 -04:00
CMakeLists.txt license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
Kconfig
mcp2515-dts.overlay drivers: can: mcp2515: Fixes for DT SPI cs 2019-04-17 16:12:30 -04:00
prj.conf drivers: can: stm32: Cleanup Kconfig enablement 2019-02-25 10:05:21 -06:00
prj.conf.mcp2515 drivers: can: mcp2515: Fixes for DT SPI cs 2019-04-17 16:12:30 -04:00
README.rst
sample.yaml

.. _can-sample:

Controller Area Network
#######################

Overview
********

This sample demonstrates how to use the Controller Area Network (CAN) API.
Messages with standard and extended identifiers are sent over the bus, triggered
by a button event.
Messages are received using message queues and ISRs.
Reception is indicated by blink LEDs and output to the console.

Building and Running
********************

In loopback mode, the board receives its own messages. This could be used for
standalone testing.

The sample can be built and executed on boards supporting CAN.
The output ports and pins of the LEDs can be configured by Kconfig.

Sample output
=============

.. code-block:: console

   Finished init. waiting for Interrupts
   TX thread is running.
   filter id: 1
   Button pressed! Send message 1
   Button pressed 1 times
   Button pressed! Send message 0
   Button pressed 2 times
   String sent over CAN
   Button pressed! Send message 1
   Button pressed 3 times
   Button pressed! Send message 0
   Button pressed 4 times
   String sent over CAN

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