mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
5469ba1d49
The CAN stack support only raw CAN at this time. It contains a device interface (drivers/include/can/candev.h) and the data link layer, build around can/device.c can/pkt.c and can/router.c. can/dll.c contains the upper level and lower level interface to send and receive CAN frames. Upper layer interface is located in include/can/raw.h
24 lines
967 B
Plaintext
24 lines
967 B
Plaintext
/**
|
|
* @defgroup can CAN
|
|
* @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.
|
|
*/
|