CAN driver for Geschwister Schneider USB/CAN devices and bytewerk.org candleLight USB CAN interfaces

Windows/Linux/Mac CAN driver based on usbfs or WinUSB WCID for Geschwister Schneider USB/CAN devices and candleLight USB CAN interfaces.

Install: pip install "python-can[gs_usb]"

Usage: pass bus and address to open the device. The parameters can be got by pyusb as shown below:

import usb
import can

dev = usb.core.find(idVendor=0x1D50, idProduct=0x606F)
bus = can.Bus(bustype="gs_usb", channel=dev.product, bus=dev.bus, address=dev.address, bitrate=250000)

Supported devices

Geschwister Schneider USB/CAN devices and bytewerk.org candleLight USB CAN interfaces such as candleLight, canable, cantact, etc.

Supported platform

Windows, Linux and Mac.

Note: Since pyusb with `libusb0` as backend is used, libusb-win32 usb driver is required to be installed in Windows.

Supplementary Info on gs_usb

The firmware implementation for Geschwister Schneider USB/CAN devices and candleLight USB CAN can be found in candle-usb/candleLight_fw. The Linux kernel driver can be found in linux/drivers/net/can/usb/gs_usb.c.

The gs_usb interface in PythonCan relys on upstream gs_usb package, which can be found in https://pypi.org/project/gs-usb/ or https://github.com/jxltom/gs_usb. The gs_usb package is using pyusb as backend, which brings better crossplatform compatibility.

Note: The bitrate 10K, 20K, 50K, 83.333K, 100K, 125K, 250K, 500K, 800K and 1M are supported in this interface, as implemented in the upstream gs_usb package’s set_bitrate method.

Note: Message filtering is not supported in Geschwister Schneider USB/CAN devices and bytewerk.org candleLight USB CAN interfaces.

Bus