CAN (Controller Area Network)

RIOT CAN stack. More...

Detailed Description

This module is a full CAN stack integrated to RIOT. It includes a low-level interface, a data link layer, an ISO-TP layer and a user interface.

The low-level interface, candev, must be implemented by controler drivers. The optional transceiver support can also be activated. Transceiver drivers must then implement the trx_can interface.

The data link layer is built around a device thread (one thread per CAN device), and a common part. The common part is composed of the dll interface, for low-level calls (from the device) and the raw interface for upper-level calls. Internally it also uses the pkt module to allocate frames and the router module to manage CAN filters.

The ISO-TP layer uses the data link layer to send and receive CAN frames.

Finally, the connection layer is the user interface to send and receive raw CAN frames or ISO-TP datagrams.

See also
CAN Drivers

Modules

 Common definitions
 CAN stack common definitions.
 
 Connection
 conn interface for CAN stack
 
 Data Link Layer
 CAN Data Link Layer.
 
 ISO transport protocol over CAN
 ISO transport protocol over CAN (ISO15765)