zephyr/doc/hardware
Henrik Brix Andersen 3436c93387 drivers: can: remove run-time RTR filtering, add build-time RTR filter
A growing number of CAN controllers do not have support for individual RX
hardware filters based on the Remote Transmission Request (RTR) bit. This
leads to various work-arounds on the driver level mixing hardware and
software filtering.

As the use of RTR frames is discouraged by CAN in Automation (CiA) - and
not even supported by newer standards, e.g. CAN FD - this often leads to
unnecessary overhead, added complexity, and worst-case to non-portable
behavior between various CAN controller drivers.

Instead, move to a simpler approach where the ability to accept/reject RTR
frames is globally configured via Kconfig. By default, all incoming RTR
frames are rejected at the driver level, a setting which can be supported
in hardware by most in-tree CAN controllers drivers.

Legacy applications or protocol implementations, where RTR reception is
required, can now select CONFIG_CAN_ACCEPT_RTR to accept incoming RTR
frames matching added CAN filters. These applications or protocols will
need to distinguish between RTR and data frames in their respective CAN RX
frame handling routines.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-01-21 11:00:31 +01:00
..
arch arch: arm: rename expection header 2023-12-11 18:22:40 -05:00
barriers doc: Add barriers API docs 2023-05-31 06:15:32 -04:00
cache cache: Add documentation 2022-12-13 16:31:42 +00:00
emulator docs boards native_sim: Add mention about the EEPROM simu 2024-01-09 10:04:03 +01:00
peripherals drivers: can: remove run-time RTR filtering, add build-time RTR filter 2024-01-21 11:00:31 +01:00
pinctrl include: pinctrl.h: Make PINCTRL_SKIP_SLEEP available with CONFIG_PM 2024-01-16 15:20:15 +00:00
porting doc: porting/arch: add missing sections to overview list 2023-11-30 21:01:47 -05:00
index.rst docs: emulators: Created new emulators page 2024-01-04 17:08:19 -06:00