Kvaser’s CANLIB

Kvaser‘s CANLib SDK for Windows (also available on Linux).


class can.interfaces.kvaser.canlib.KvaserBus(channel, can_filters=None, **config)

The CAN Bus implemented for the Kvaser interface.


The Kvaser Bus object with a physical CAN Bus can be operated in two modes; single_handle mode with one shared bus handle used for both reading and writing to the CAN bus, or with two separate bus handles. Two separate handles are needed if receiving and sending messages are done in different threads (see Kvaser documentation).


Any objects inheriting from Bus should not directly use the interface handle(/s).

Message filtering

The Kvaser driver and hardware only supports setting one filter per handle. If one filter is requested, this is will be handled by the Kvaser driver. If more than one filter is needed, these will be handled in Python code in the recv method. If a message does not match any of the filters, recv() will return None.