2016-11-23 19:02:02 +01:00
|
|
|
/**
|
2017-07-02 18:33:45 +02:00
|
|
|
* @defgroup sys_can CAN (Controller Area Network)
|
|
|
|
* @ingroup net
|
2016-11-23 19:02:02 +01:00
|
|
|
* @brief RIOT CAN stack
|
|
|
|
*
|
|
|
|
* 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.
|
2017-07-02 18:33:45 +02:00
|
|
|
*
|
|
|
|
* @see drivers_can
|
2016-11-23 19:02:02 +01:00
|
|
|
*/
|