1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-24 14:03:55 +01:00

25 Commits

Author SHA1 Message Date
Marian Buschsieweke
1ff982a664
tree wide: various doc fixes
This fixes a batch of incorrect Doxygen comments that building with
LLVM/clang and `-Wdocumentation` uncovered.
2025-04-04 11:44:53 +02:00
Gilles DOFFE
f05fc0c70f can: introduce loop_delay
During the data phase of a FDCAN transmission only one node is
transmitting, all others are receivers. The length of the bus line has
no impact.
When transmitting via pin FDCAN_TX the protocol controller receives the
transmitted data from its local CAN transceiver via pin FDCAN_RX. The
received data is delayed by the CAN transceiver loop delay.
If this delay is greater than TSEG1 (time segment before sample point),
a bit error is detected. Without transceiver delay compensation, the bit
rate in the data phase of a FDCAN frame is limited by the transceiver's
loop delay.

Since this parameter is related to the transceiver used, there cannot be
a default value, and it must be explicitly defined with the
configuration variable CONFIG_FDCAN_DEVICE_TRANSCEIVER_LOOP_DELAY.

Signed-off-by: Gilles DOFFE <gilles.doffe@rtone.fr>
2025-01-29 20:51:23 +01:00
Gilles DOFFE
3c026569f6 can: add CAN FD configuration
Add CAN FD specifities to CAN system library in RIOT:
* 64 bytes payload
* Bit rate switching
* Error State Indicator

Signed-off-by: Gilles DOFFE <gilles.doffe@rtone.fr>
2025-01-29 20:51:23 +01:00
Gilles DOFFE
f6f6f6973c can: introduce typedef can_frame_t
Whole CAN code in RIOT is using 'struct can_frame' to represent a CAN
frame.
However incoming CAN FD support will bring 'struct canfd_frame' to
represent CAN FD frames.
Even if the 'struct canfd_frame' has additional flags and a bigger
payload, it is aligned on 'struct can_frame' and thus they can be
referenced by the same pointers in the code.

As it is impossible to predict which one will be used in RIOT, just
define a new type 'can_frame_t' which will map to the right struct
according to the MCU CAN supported format.

Signed-off-by: Gilles DOFFE <gilles.doffe@rtone.fr>
2025-01-29 20:51:22 +01:00
Firas Hamdi
a40735a0e1 sys/include/can: include mailbox feature 2024-03-26 15:17:48 +01:00
Firas Hamdi
bc0d3f9de3 drivers/mcp2515: apply the filter to a target mailbox
sys/include/can: add the mailbox target as a member to the filter structure

drivers/mcp2515: cleanup defines
2022-06-30 10:07:24 +02:00
Joshua DeWeese
7f8bf30b70 sys/can: fix typo in documentation
The documentation mentions the can module's interaction with the can
tranciver driver (can_trx), but incorrectly calls it trx_can. This patch
fixes the documentation.
2022-04-13 11:48:43 -04:00
Alexandre Abadie
ce373902ee
sys/can: migrate to ztimer 2022-01-10 12:21:40 +01:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
madokapeng
905723be59 sys/include/can: Add loopback operation mode
tests/candev: Add loopback mode for testing purpose
2021-03-08 12:13:15 -05:00
1d5e2e9cd9 all: remove traces of kernel_types.h
Automatically removed using:

    $ git grep -l kernel_types | xargs sed -i '/^#include .kernel_types/d'
2020-11-25 17:52:34 +01:00
0b801c4de0 all: adapt to moved sched defines 2020-11-23 16:56:34 +01:00
Gunar Schorcht
10cdaa1bd6 sys/can: fix broken links 2020-03-24 10:39:49 +01:00
61db4d9724 sys/include: fix typos 2019-11-23 22:39:37 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
benpicco
66ce29d94c
Merge pull request #12051 from OTAkeys/fix/isotp
can/isotp: fix closing connection and improve flow control handling
2019-09-12 23:01:58 +02:00
Vincent Dupont
9207e6b446 can: use memarray for pkt and router allocation 2019-09-10 13:01:28 +02:00
Vincent Dupont
af66fe101d can/isotp: allow changing FC options at runtime 2019-08-21 11:16:56 +02:00
kYc0o
00b9022bd1 sys/include/can/device.h: make CAN_DLL_NUMOF int 2017-10-25 16:18:51 +02:00
Vincent Dupont
e8e20882ce conn_can_raw: improve doc 2017-10-11 09:52:44 +02:00
Alexandre Abadie
268c6b647e drivers/can: fix doxygen documentation + typo 2017-07-03 20:43:51 +02:00
Vincent Dupont
029a127eb3 can: add transceiver support in CAN stack 2017-06-19 15:36:20 +02:00
Vincent Dupont
ab5f8548f2 can: add conn_can top layer interface
This module provide support for raw can and isotp
socket-like user interface.
2017-06-19 15:36:20 +02:00
Vincent Dupont
63ca443b05 can: add ISO-TP support
ISO-TP is ISO15765 transport protocol over CAN.
Upper interface is located in sys/include/can/isotp.h.
2017-06-19 15:36:20 +02:00
Vincent Dupont
5469ba1d49 can: add CAN stack
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
2017-06-19 15:35:26 +02:00