Hyperion-Robotics has published an Arduino C++ library on GitHub for the Texas Instruments TCAN4550 and TCAN4551 CAN-FD controllers. CAN-FD is the faster version of the CAN bus used in cars and robots. The library wraps TI’s low-level ANSI-C driver in an Arduino interface, and it uses real hardware interrupt service routines instead of polling loops, so the code isn’t stuck checking the chip over and over.
It works on AVR, SAMD and the Renesas UNO R4 with the default hardware SPI pins. For ESP32, RP2040, RP2350, STM32 and Teensy, the chip select, MISO, MOSI and clock pins can be passed in when the object is created.
The library loads TI’s default settings, 500k and 2M bit rates with standard filters, and those can be overridden before begin() . High priority CAN IDs can be routed to the GPO1 or GPO2 pins. GPO2 is wired inside the chip to MCAN_INT0 and GPIO1 to MCAN_INT1 , so a software toggle steers priority messages down the matching path.…