Introduction¶
CANnectivity is an open source firmware for Universal Serial Bus (USB) to Controller Area Network (CAN) adapters.
The firmware implements the Geschwister Schneider USB/CAN device protocol (often referred to as “gs_usb”). This protocol is supported by the Linux kernel SocketCAN gs_usb driver, by python-can, and by many other software packages.
The firmware, which is based on the Zephyr RTOS, allows turning your favorite microcontroller development board into a full-fledged USB to CAN adapter.
CANnectivity is licenced under the Apache-2.0 license. The CANnectivity documentation is licensed under the CC BY 4.0 license.
Firmware Features¶
The CANnectivity firmware supports the following features, some of which depend on hardware support:
CAN classic
CAN FD (flexible data rate)
Fast-speed and Hi-speed USB
Multiple, independent CAN channels
GPIO-controlled LEDs:
CAN channel state LEDs
CAN channel activity LEDs
Visual CAN channel identification
GPIO-controlled CAN bus termination resistors
Hardware timestamping of received and transmitted CAN frames
CAN bus state reporting
CAN bus error reporting
Automatic gs_usb driver loading under Linux using custom udev rules
Automatic WinUSB driver installation under Microsoft Windows 8.1 and newer
USB Device Firmware Upgrade (DFU) mode