# Enumerations

## AcceptFilterFlag

class canlib.canlib.AcceptFilterFlag(value)

  canFILTER_SET_xxx

  NULL_MASK = 0
  SET_CODE_EXT = 5
  SET_CODE_STD = 3
  SET_MASK_EXT = 6
  SET_MASK_STD = 4

## Bitrate

class canlib.canlib.Bitrate(value)

  canBITRATE_xxx

  Predefined CAN bitrates. See `BitrateFD` for predefined CAN FD bitrates.

  New in version 1.17.

  BITRATE_100K = -5

    Indicate a bitrate of 100 kbit/s.

  BITRATE_10K = -9

    Indicate a bitrate of 10 kbit/s.

  BITRATE_125K = -4

    Indicate a bitrate of 125 kbit/s.

  BITRATE_1M = -1

    Indicate a bitrate of 1 Mbit/s.

  BITRATE_250K = -3

    Indicate a bitrate of 250 kbit/s.

  BITRATE_500K = -2

    Indicate a bitrate of 500 kbit/s.

  BITRATE_50K = -7

    Indicate a bitrate of 50 kbit/s.

  BITRATE_62K = -6

    Indicate a bitrate of 62 kbit/s.

  BITRATE_83K = -8

    Indicate a bitrate of 83 kbit/s.

## BitrateFD

class canlib.canlib.BitrateFD(value)

  canFD_BITRATE_xxx

  Predefined CAN FD bitrates. Used when setting bitrates using the CAN FD protocol, see `Bitrate` for predefined CAN bitrates.

  New in version 1.17.

  BITRATE_1M_80P = -1001

    Indicates a bitrate of 1 Mbit/s and sampling point at 80%.

  BITRATE_2M_60P = -1007

    Indicates a bitrate of 2 Mbit/s and sampling point at 60%.

  BITRATE_2M_80P = -1002

    Indicates a bitrate of 2 Mbit/s and sampling point at 80%.

  BITRATE_4M_80P = -1003

    Indicates a bitrate of 4 Mbit/s and sampling point at 80%.

  BITRATE_500K_80P = -1000

    Indicates a bitrate of 500 kbit/s and sampling point at 80%.

  BITRATE_8M_60P = -1004

    Indicates a bitrate of 8 Mbit/s and sampling point at 60%.

  BITRATE_8M_70P = -1006

    Indicates a bitrate of 8 Mbit/s and sampling point at 70%.

  BITRATE_8M_80P = -1005

    Indicates a bitrate of 8 Mbit/s and sampling point at 80%.

## BusTypeGroup

class canlib.canlib.BusTypeGroup(value)

  kvBUSTYPE_GROUP_xxx

  Bus type group. This is a grouping of the individual kvBUSTYPE_xxx.

  INTERNAL = 4

    kvBUSTYPE_PCI, kvBUSTYPE_PCMCIA, …

  LOCAL = 2

    kvBUSTYPE_USB

  REMOTE = 3

    kvBUSTYPE_WLAN, kvBUSTYPE_LAN

  VIRTUAL = 1

## ChannelCap

class canlib.canlib.ChannelCap(value)

  canCHANNEL_CAP_xxx

  Channel capabilities.

  Changed in version 1.8.

  BUS_STATISTICS = 2

    Can report busload etc.

  CAN_FD = 524288

    CAN-FD ISO compliant channel.

  CAN_FD_NONISO = 1048576

    CAN-FD NON-ISO compliant channel.

  DIAGNOSTICS = 268435456

    Channel has diagnostic capabilities.

  ERROR_COUNTERS = 4

    Can return error counters.

  EXTENDED_CAN = 1

    Can use extended identifiers.

  GENERATE_ERROR = 16

    Can send error frames.

  GENERATE_OVERLOAD = 32

    Can send CAN overload frame.

  IO_API = 134217728

    Channel has diagnostic capabilities.

  LIN_HYBRID = 67108864

    Channel has LIN capabilities.

  LOGGER = 8388608

    Channel has logger capabilities.

  REMOTE_ACCESS = 16777216

    Channel has remote capabilities.

  RESERVED_1 = 262144
  RESERVED_2 = 8

    Obsolete, only used by LAPcan driver

  SCRIPT = 33554432

    Channel has script capabilities.

  SILENT_MODE = 2097152

    Channel supports Silent mode.

  SIMULATED = 131072

    Simulated CAN channel.

  SINGLE_SHOT = 4194304

    Channel supports Single Shot messages.

  TXACKNOWLEDGE = 128

    Can report when a CAN messages has been transmitted.

  TXREQUEST = 64

    Can report when a CAN messsage transmission is initiated.

  VIRTUAL = 65536

    Virtual CAN channel.

## ChannelDataItem

class canlib.canlib.ChannelDataItem(value)

  Low level helper object representing `canCHANNELDATA_xxx`.

  See the properties of `ChannelData` for how to get retrieve this data.

  BUS_PARAM_LIMITS = 45
  BUS_TYPE = 30

    see `ChannelData.bus_type`

  CARD_FIRMWARE_REV = 9

    firmware revision number on the card, see `ChannelData.card_firmware_rev`

  CARD_HARDWARE_REV = 10

    version of the card’s hardware, see `ChannelData.card_hardware_rev`

  CARD_NUMBER = 5

    the card’s number in the computer, see `ChannelData.card_number`

  CARD_SERIAL_NO = 7

    serial number of the card, or 0, see `ChannelData.card_serial_no`

  CARD_TYPE = 4

    hardware type of the card, see `ChannelData.card_type`

  CARD_UPC_NO = 11

    EAN of the card, see `ChannelData.card_upc_no`

  CHANNEL_CAP = 1

    capabilities of the CAN controller, see `ChannelData.channel_cap`

  CHANNEL_CAP_EX = 47

    see `ChannelData.channel_cap_ex`

  CHANNEL_CAP_MASK = 38

    see `ChannelData.channel_cap_mask`

  CHANNEL_FLAGS = 3

    status of the channel as flags, see `ChannelData.channel_flags`

  CHANNEL_NAME = 13

    Deprecated

  CHANNEL_QUALITY = 28

    see `ChannelData.channel_quality`

  CHAN_NO_ON_CARD = 6

    local channel number on the card, see `ChannelData.chan_no_on_card`

  CLOCK_INFO = 46

    see `ChannelData.clock_info`

  CUST_CHANNEL_NAME = 39

    see `ChannelData.cust_channel_name`

  DEVDESCR_ASCII = 26

    product name of the device, see `ChannelData.devdescr_ascii`

  DEVDESCR_UNICODE = 25

    product name of the device, see `ChannelData.devdescr_unicode`

  DEVICE_PHYSICAL_POSITION = 18

    see `ChannelData.device_physical_position`

  DEVNAME_ASCII = 31

    see `ChannelData.devname_ascii`

  DLL_FILETYPE = 16

    see `ChannelData.dll_filetype`

  DLL_FILE_VERSION = 14

    version of the dll file, see `ChannelData.dll_file_version`

  DLL_PRODUCT_VERSION = 15

    version of the CANlib, see `ChannelData.dll_product_version`

  DRIVER_FILE_VERSION = 21

    version of the driver, see `ChannelData.driver_file_version`

  DRIVER_NAME = 27

    device driver name, see `ChannelData.driver_name`

  DRIVER_PRODUCT_VERSION = 22

    version of the CANlib, see `ChannelData.driver_product_version`

  FEATURE_EAN = 44

    see `ChannelData.feature_ean`

  HW_STATUS = 43

    see `ChannelData.hw_status`

  IS_REMOTE = 40

    see `ChannelData.is_remote`

  LOGGER_TYPE = 42

    see `ChannelData.logger_type`

  MAX_BITRATE = 37

    see `ChannelData.max_bitrate`

  MFGNAME_ASCII = 24

    manufacturer’s name, see `ChannelData.mfgname_ascii`

  MFGNAME_UNICODE = 23

    manufacturer’s name, see `ChannelData.mfgname_unicode`

  REMOTE_HOST_NAME = 35

    see `ChannelData.remote_host_name`

  REMOTE_MAC = 36

    see `ChannelData.remote_mac`

  REMOTE_OPERATIONAL_MODE = 33

    see `ChannelData.remote_operational_mode`

  REMOTE_PROFILE_NAME = 34

    see `ChannelData.remote_profile_name`

  REMOTE_TYPE = 41

    see `ChannelData.remote_type`

  ROUNDTRIP_TIME = 29

    see `ChannelData.roundtrip_time`

  TIMESYNC_ENABLED = 20

    see `ChannelData.timesync_enabled`

  TIME_SINCE_LAST_SEEN = 32

    see `ChannelData.time_since_last_seen`

  TRANS_CAP = 2

    capabilities of the CAN transceiver, see `ChannelData.trans_cap`

  TRANS_SERIAL_NO = 8

    serial number of the transceiver, or 0, see `ChannelData.trans_serial_no`

  TRANS_TYPE = 17

    transceiver type, see `ChannelData.trans_type`

  TRANS_UPC_NO = 12

    EAN of the transceiver, see `ChannelData.trans_upc_no`

  UI_NUMBER = 19

    see `ChannelData.ui_number`

## ChannelFlags

class canlib.canlib.ChannelFlags(value)

  canCHANNEL_IS_xxx

  These channel flags are used in conjunction with `ChannelDataItem.channel_flags`.

  IS_CANFD = 4

    Channel has been opened as CAN FD.

  IS_EXCLUSIVE = 1

    Channel is opened exclusively.

  IS_LIN = 16

    Channel has been opened as LIN.

  IS_LIN_MASTER = 32

    Channel has been opened as a LIN master.

  IS_LIN_SLAVE = 64

    Channel has been opened as a LIN slave.

  IS_OPEN = 2

    Channel is active, either opened in LIN mode or on-bus in CAN mode.

## DeviceMode

class canlib.canlib.DeviceMode(value)

  kvDEVICE_MODE_xxx

  INTERFACE = 0

    Device is running or should be running in interface mode.

  LOGGER = 1

    Device is running or should be running in logger mode.

## Driver

class canlib.canlib.Driver(value)

  An enumeration.

  NORMAL = 4

    The “normal” driver type (push-pull). This is the default.

  OFF = 0

    The driver is turned off. Not implemented in all types of hardware.

  SELFRECEPTION = 8

    Self-reception. Not implemented.

  SILENT = 1

    Sets the CAN controller in Silent Mode.

## DriverCap

class canlib.canlib.DriverCap(value)

  canDRIVER_CAP_xxx

  Driver (transceiver) capabilities.

  HIGHSPEED = 1

## EnvVarType

class canlib.canlib.EnvVarType(value)

  kvENVVAR_TYPE_xxx

  FLOAT = 2

    The type of the envvar is C `float`.

  INT = 1

    The type of the envvar is C `int`.

  STRING = 3

    The type of the envvar is C `string`.

## Error

class canlib.canlib.Error(value)

  canERR_xxx

  BUFFER_TOO_SMALL = -43

    Buffer provided was not large enough.

  CONFIG = -37

    Configuration Error.

  CRC = -36

    CRC error.

  DEVICE_FILE = -33

    Device File error.

  DISK = -35

    Disk error.

  DRIVER = -12

    Driver type not supported

  DRIVERFAILED = -24

    DeviceIOControl failed, use Win32 GetLastError() to learn more

  DRIVERLOAD = -23

    Can’t find or load kernel driver

  DYNAINIT = -18

    Error when initializing a DLL

  DYNALIB = -17

    A DLL seems to have wrong version

  DYNALOAD = -16

    A driver DLL can’t be found or loaded

  HARDWARE = -15

    A hardware error has occurred

  HOST_FILE = -34

    Host File error.

  INIFILE = -11

    Error in the ini-file (16-bit only)

  INTERNAL = -30

    Internal error in the driver.

  INTERRUPTED = -6

    Interrupted by signals.

  INVALID_PASSWORD = -128
  INVALID_SESSION = -131
  INVHANDLE = -10

    Handle is invalid

  IO_CONFIG_CHANGED = -46

    The I/O pin configuration has changed after last confirmation.

  IO_NOT_CONFIRMED = -45

    The I/O pin configuration is not confirmed.

  IO_NO_VALID_CONFIG = -48

    There is no valid I/O pin configuration.

  IO_PENDING = -47

    The previous I/O pin value has not yet changed the output.

  IO_WRONG_PIN_TYPE = -44

    I/O pin doesn’t exist or the I/O pin type doesn’t match.

  LICENSE = -29

    The license is not valid.

  MEMO_FAIL = -38

    Memo Error.

  NOCARD = -26

    The card was removed or not inserted

  NOCHANNELS = -5

    No channels available.

  NOCONFIGMGR = -25

    Can’t find req’d config s/w (e.g. CS/SS)

  NOHANDLES = -9

    Out of handles

  NOMEM = -4

    Out of memory.

  NOMSG = -2

    There were no messages to read.

  NOTFOUND = -3

    Specified device or channel not found.

  NOTINITIALIZED = -8

    The library is not initialized.

  NOT_AUTHORIZED = -130
  NOT_IMPLEMENTED = -32

    Not implemented.

  NOT_SUPPORTED = -19

    Operation not supported by hardware or firmware

  NO_ACCESS = -31

    Access denied.

  NO_SUCH_FUNCTION = -129
  PARAM = -1

    Error in one or more parameters.

  REGISTRY = -28

    Error (missing data) in the Registry

  RESERVED_2 = -22

    Reserved

  RESERVED_5 = -20

    Reserved

  RESERVED_6 = -21

    Reserved

  RESERVED_7 = -27

    Reserved

  SCRIPT_FAIL = -39

    Script Fail.

  SCRIPT_WRONG_VERSION = -40

    Unsupported t program version.

  TIMEOUT = -7

    Timeout occurred.

  TXBUFOFL = -13

    Transmit buffer overflow

  TXE_CONTAINER_FORMAT = -42

    Parsing t program failed.

  TXE_CONTAINER_VERSION = -41

    Unsuppoted txe version.

## HardwareType

class canlib.canlib.HardwareType(value)

  canHWTYPE_xxx

  The following constants can be returned from `ChannelData`, using the `card_type` property. They identify the hardware type for the current channel.

  Note

  The members indicate a hardware type, but not necessarily a specific product. For example, `canHWTYPE_LAPCAN` is returned both for LAPcan and LAPcan II. (Use the `card_upc_no` property of `ChannelData` to obtain the UPC/EAN code for the device. This number uniquely identifies the product.)

  ACQUISITOR = 46

    Kvaser Acquisitor (obsolete).

  BAGEL = 64

    Obsolete name, use `BLACKBIRD_V2` instead.

  BLACKBIRD = 58

    Kvaser BlackBird.

  BLACKBIRD_V2 = 64

    Kvaser BlackBird v2.

  CANLINHYBRID = 84

    Kvaser Hybrid CAN/LIN.

  CANPARI = 3

    CANpari (obsolete).

  DINRAIL = 86

    Kvaser DIN Rail SE400S and variants

  EAGLE = 62

    Kvaser Eagle family.

  ETHERCAN = 70

    Kvaser Ethercan.

  IRIS = 58

    Obsolete name, use `BLACKBIRD` instead.

  LAPCAN = 2

    LAPcan Family.

  LEAF = 48

    Kvaser Leaf Family.

  LEAF2 = 80

    Kvaser Leaf Pro HS v2 and variants.

  MEMORATOR_II = 54

    Kvaser Memorator Professional family.

  MEMORATOR_LIGHT = 60

    Kvaser Memorator Light.

  MEMORATOR_PRO = 54

    Kvaser Memorator Professional family.

  MEMORATOR_PRO2 = 78

    Kvaser Memorator Pro 5xHS and variants.

  MEMORATOR_V2 = 82

    Kvaser Memorator (2nd generation)

  MINIHYDRA = 62

    Obsolete name, use `EAGLE` instead.

  MINIPCIE = 66

    Kvaser Mini PCI Express.

  NONE = 0

    Unknown or undefined.

  PC104_PLUS = 50

    Kvaser PC104+.

  PCCAN = 8

    PCcan Family.

  PCICAN = 9

    PCIcan Family.

  PCICANX_II = 52

    Kvaser PCIcanx II.

  PCICAN_II = 40

    PCIcan II family.

  PCIE_V2 = 76

    Kvaser PCIEcan 4xHS and variants.

  SIMULATED = 44

    Simulated CAN bus for Kvaser Creator (obsolete).

  U100 = 88

    Kvaser U100 and variants

  USBCAN = 11

    USBcan (obsolete).

  USBCAN_II = 42

    USBcan II, USBcan Rugged, Kvaser Memorator.

  USBCAN_KLINE = 68

    USBcan Pro HS/K-Line.

  USBCAN_LIGHT = 72

    Kvaser USBcan Light.

  USBCAN_PRO = 56

    Kvaser USBcan Professional.

  USBCAN_PRO2 = 74

    Kvaser USBcan Pro 5xHS and variants.

  VIRTUAL = 1

    The virtual CAN bus.

## IOControlItem

class canlib.canlib.IOControlItem(value)

  An enumeration used in `Channel.iocontrol`.

  CLEAR_ERROR_COUNTERS = 5

    Clear the CAN error counters.

  CONNECT_TO_VIRTUAL_BUS = 22

    Windows only

  DISCONNECT_FROM_VIRTUAL_BUS = 23

    Windows only

  FLUSH_RX_BUFFER = 10

    Discard contents of the RX queue.

  FLUSH_TX_BUFFER = 11

    Discard contents of the TX queue.

  GET_BUS_TYPE = 36

    Windows only.

  GET_CHANNEL_QUALITY = 34

    Read remote channel quality.

  GET_DEVNAME_ASCII = 37

    Retreive device name.

  GET_DRIVERHANDLE = 17

    Windows only.

  GET_EVENTHANDLE = 14

    Windows only.

  GET_REPORT_ACCESS_ERRORS = 21

    Current setting of access error reporting

  GET_ROUNDTRIP_TIME = 35

    Round trip time in ms, for remote channel.

  GET_RX_BUFFER_LEVEL = 8

    Current receive queue, RX, level.

  GET_THROTTLE_SCALED = 42

    Windows only

  GET_TIMER_SCALE = 12

    Current time-stamp clock resolution in microseconds.

  GET_TIME_SINCE_LAST_SEEN = 38

    For WLAN devices, this is the time since the last keep-alive message.

  GET_TREF_LIST = 39

    Unsupported

  GET_TXACK = 31

    Status of Transmit Acknowledge.

  GET_TX_BUFFER_LEVEL = 9

    Current transmitt queue, TX, level.

  GET_USB_THROTTLE = 29

    For internal use only.

  GET_USER_IOPORT = 25

    Read IO port value.

  GET_WAKEUP = 19

    For internal use only.

  LIN_MODE = 45

    For internal use only.

  MAP_RXQUEUE = 18

    For internal use only.

  PREFER_EXT = 1

    Tells CANlib to “prefer” extended identifiers.

  PREFER_STD = 2

    Tells CANlib to “prefer” standard identifiers.

  RESET_OVERRUN_COUNT = 44

    Reset overrun count and flags.

  SET_BRLIMIT = 43

    Max bitrate limit can be overridden with this IOCTL.

  SET_BUFFER_WRAPAROUND_MODE = 26

    For internal use only.

  SET_BUSON_TIME_AUTO_RESET = 30

    Enable/disable time reset at bus on.

  SET_BYPASS_MODE = 15

    Not implemented.

  SET_ERROR_FRAMES_REPORTING = 33

    Windows only

  SET_LOCAL_TXACK = 46

    Enable reception of canMSG_LOCAL_TXACK.

  SET_LOCAL_TXECHO = 32

    Turn on/off local transmit echo.

  SET_REPORT_ACCESS_ERRORS = 20

    Turn access error reporting on/off.

  SET_RX_QUEUE_SIZE = 27

    Windows only.

  SET_THROTTLE_SCALED = 41

    Windows only

  SET_TIMER_SCALE = 6

    Set time-stamp clock resolution in microseconds, default 1000.

  SET_TXACK = 7

    Enable/disable Transmit Acknowledge.

  SET_TXRQ = 13

    Turn transmit requests on or off.

  SET_USB_THROTTLE = 28

    For internal use only.

  SET_USER_IOPORT = 24

    Set IO port to value.

  SET_WAKEUP = 16

    For internal use only.

  TX_INTERVAL = 40

    Minimum CAN message transmit interval

## LEDAction

class canlib.canlib.LEDAction(value)

  kvLED_ACTION_xxx

  The following can be used together with `canlib.canlib.Channel.flashLeds`.

  Changed in version 1.18: Added LEDs 4 through 11 (needs CANlib v5.19+)

  ALL_LEDS_OFF = 1

    Turn all LEDs off.

  ALL_LEDS_ON = 0

    Turn all LEDs on.

  LED_0_OFF = 3

    Turn LED 0 off.

  LED_0_ON = 2

    Turn LED 0 on.

  LED_10_OFF = 23

    Turn LED 10 off.

  LED_10_ON = 22

    Turn LED 10 on.

  LED_11_OFF = 25

    Turn LED 11 off.

  LED_11_ON = 24

    Turn LED 11 on.

  LED_1_OFF = 5

    Turn LED 1 off.

  LED_1_ON = 4

    Turn LED 1 on.

  LED_2_OFF = 7

    Turn LED 2 off.

  LED_2_ON = 6

    Turn LED 2 on.

  LED_3_OFF = 9

    Turn LED 3 off.

  LED_3_ON = 8

    Turn LED 3 on.

  LED_4_OFF = 11

    Turn LED 4 off.

  LED_4_ON = 10

    Turn LED 4 on.

  LED_5_OFF = 13

    Turn LED 5 off.

  LED_5_ON = 12

    Turn LED 5 on.

  LED_6_OFF = 15

    Turn LED 6 off.

  LED_6_ON = 14

    Turn LED 6 on.

  LED_7_OFF = 17

    Turn LED 7 off.

  LED_7_ON = 16

    Turn LED 7 on.

  LED_8_OFF = 19

    Turn LED 8 off.

  LED_8_ON = 18

    Turn LED 8 on.

  LED_9_OFF = 21

    Turn LED 9 off.

  LED_9_ON = 20

    Turn LED 9 on.

## LoggerType

class canlib.canlib.LoggerType(value)

  kvLOGGER_TYPE_xxx

  Logger type, returned when using `ChannelData.logger_type`.

  NOT_A_LOGGER = 0
  V1 = 1
  V2 = 2

## MessageFlag

class canlib.canlib.MessageFlag(value)

  Message information flags

  The following flags can be returned from `Channel.read` et al, or passed to `Channel.write`.

  This enum is a combination of flags for messages, CAN FD messages, and message errors. Normal messages flags are the flags covered by `MSG_MASK`, CAN FD message flags are those covered by `FDMSG_MASK`, and message errors are those covered by `MSGERR_MASK`.

  Note

  `FDF`, `BRS`, and `ESI` require CAN FD.

  `RTR` cannot be set for CAN FD messages.

  Not all hardware platforms can detect the difference between hardware overruns and software overruns, so your application should test for both conditions.

  ABL = 67108864

    Single shot message was not sent because arbitration was lost.

  BIT = 49152

    All bit error.

  BIT0 = 16384

    Sent dominant bit, read recessive bit

  BIT1 = 32768

    Sent recessive bit, read dominmant bit

  BRS = 131072

    Message is sent/received with bit rate switch (CAN FD)

  BUSERR = 63488

    All RX error.

  CRC = 8192

    CRC error.

  EDL = 65536

    obsolete

  ERROR_FRAME = 32

    Message represents an error frame.

  ESI = 262144

    Sender of the message is in error passive mode (CAN FD)

  EXT = 4

    Message has an extended (29-bit) identifier.

  FDF = 65536

    Message is a CAN FD message.

  FDMSG_MASK = 16711680

    obsolete

  FORM = 4096

    Form error.

  HW_OVERRUN = 512

    Hardware buffer overrun.

  LOCAL_TXACK = 268435456

    Message is a LOCAL TX ACK (was transmitted from another handle on the same channel)

  MSGERR_MASK = 65280

    Used to mask the non-error bits

  MSG_MASK = 255

    Used to mask the non-info bits.

  NERR = 16

    NERR was active during the message (TJA1054 hardware)

  OVERRUN = 1536

    Both SW and HW overrun conditions

  RTR = 1

    Message is a remote request.

  SINGLE_SHOT = 16777216

    Message is Single Shot, try to send once, no retransmission.

  STD = 2

    Message has a standard (11-bit) identifier.

  STUFF = 2048

    Stuff error.

  SW_OVERRUN = 1024

    Software buffer overrun.

  TXACK = 64

    Message is a TX ACK (msg has really been sent)

  TXNACK = 33554432

    Message is a failed Single Shot, message was not sent.

  TXRQ = 128

    Message is a TX REQUEST (msg was transfered to the chip)

  WAKEUP = 8

    Message is a WAKEUP message, Single Wire CAN.

## Notify

class canlib.canlib.Notify(value)

  canNOTIFY_xxx

  These notify flags are used in `Channel.set_callback` to indicate different kind of events.

  BUSONOFF = 32

    Notify on bus on/off status changed

  ENVVAR = 16

    An environment variable was changed by a script. Note that you will not be notified when an environment variable is updated from the Canlib API.

  ERROR = 4

    CAN bus error notification

  NONE = 0

    Turn notifications off.

  REMOVED = 64

    Notify on device removed

  RX = 1

    CAN message reception notification

  STATUS = 8

    CAN chip status change

  TX = 2

    CAN message transmission notification

## Open

class canlib.canlib.Open(value)

  Flags used in the flags argument to `canlib.openChannel()`.

  ACCEPT_LARGE_DLC = 512

    DLC can be greater than 8.

    The channel will accept CAN messages with DLC (Data Length Code) greater than 8. If this flag is not used, a message with DLC > 8 will always be reported or transmitted as a message with DLC = 8. When the `ACCEPT_LARGE_DLC` flag is used, the message will be sent and/or received with the true DLC, which can be at most 15. The length of the message is always at most 8.

  ACCEPT_VIRTUAL = 32

    Allow opening of virtual channels as well as physical channels.

  CAN_FD = 1024

    The channel will use the CAN FD protocol, ISO compliant.

    This also means that messages with `MessageFlag.FDF`, `MessageFlag.BRS` and `MessageFlag.ESI` can now be used.

  CAN_FD_NONISO = 2048

    The channel will use the CAN FD NON-ISO protocol.

    Use this if you want to configure the can controller to be able to communicate with a can controller designed prior to the release of the CAN FD ISO specification.

    Non ISO mode implies:

    > 1. The stuff bit counter will not be included in the frame format.

    > 2. Initial value for CRC17 and CRC21 will be zero.

    This also means that messages with `MessageFlag.FDF`, `MessageFlag.BRS` and `MessageFlag.ESI` can now be used.

  EXCLUSIVE = 8

    Don’t allow sharing between multiple `Channel` objects.

    Two or more threads or applications can share the same CAN channel by opening the same CANlib channel multiple times. If this is not desired you can open a CANlib channel exclusively once by passing the `EXCLUSIVE` flag. If the CANlib channel is aleady open, the call to `canlib.openChannel()` will fail.

  NOFLAG = 0
  NO_INIT_ACCESS = 256

    Don’t open the handle with init access.

    Note: A handle opened without init access will still set default bitrate when going on bus, if no other handle has opened the channel with init access at the time of the buson.

  OVERRIDE_EXCLUSIVE = 64

    Open the channel even if it is opened for exclusive access already.

  REQUIRE_EXTENDED = 16

    This flag causes two things to happen:

    1. The call will fail if the specified circuit doesn’t allow extended CAN (CAN 2.0B).

    2. If no frame-type flag is specified in a call to `Channel.write()`, it is assumed that extended CAN should be used.

  REQUIRE_INIT_ACCESS = 128

    Fail the call if the channel cannot be opened with init access.

    Init access means that the CAN handle can set bit rate and CAN driver mode. At most one CAN handle may have init access to any given channel. If you try to set the bit rate or CAN driver mode for a handle to which you don’t have init access, the call will silently fail (i.e. `canOK` is returned although the call had no effect), unless you enable “access error reporting” by using `Channel.IOControlItem.SET_REPORT_ACCESS_ERRORS`. Access error reporting is by default off. Init access is the default.

## OperationalMode

class canlib.canlib.OperationalMode(value)

  canCHANNEL_OPMODE_xxx

  Current WLAN operational mode.

  ADH = 4

    Adhoc mode

  INFRASTRUCTURE = 2

    Infrastructure mode

  NONE = 1

    Not applicable, or unknown mode.

  RESERVED = 3

    Reserved

## RemoteType

class canlib.canlib.RemoteType(value)

  kvREMOTE_TYPExxx

  Remote type, returned when using canCHANNELDATA_REMOTE_TYPE

  LAN = 2
  NOT_REMOTE = 0
  WLAN = 1

## ScriptRequest

class canlib.canlib.ScriptRequest(value)

  kvSCRIPT_REQUEST_TEXT_xxx

  These defines are used in kvScriptRequestText() for printf message subscribe/unsubscribe.

  ALL_SLOTS = 255
  SUBSCRIBE = 2
  UNSUBSCRIBE = 1

## ScriptStatus

class canlib.canlib.ScriptStatus(value)

  Status of t program

  New in version 1.6.

  Changed in version 1.7: Is now based on `IntFlag` instead of `IntEnum`

  IDLE = 0
  LOADED = 1
  RUNNING = 2

## ScriptStop

class canlib.canlib.ScriptStop(value)

  An enumeration.

  FORCED = -9
  NORMAL = 0

## Stat

class canlib.canlib.Stat(value)

  canSTAT_xxx

  The following circuit status flags are returned by `Channel.readStatus`. Note that more than one flag might be set at any one time.

  Note

  Usually both canSTAT_HW_OVERRUN and canSTAT_SW_OVERRUN are set when overrun has occurred. This is because the kernel driver can’t see the difference between a software overrun and a hardware overrun, but the code should always test for both types of overruns.

  BUS_OFF = 2

    The circuit is Off Bus

  ERROR_ACTIVE = 8

    The circuit is error active.

  ERROR_PASSIVE = 1

    The circuit is error passive

  ERROR_WARNING = 4

    At least one error counter > 96

  HW_OVERRUN = 512

    There has been at least one HW buffer overflow

  OVERRUN = 1536

    Both `HW_OVERRUN` and `SW_OVERRUN` is active

  RESERVED_1 = 64
  RXERR = 256

    There has been at least one RX error of some sort

  RX_PENDING = 32

    There are messages in the receive buffer

  SW_OVERRUN = 1024

    There has been at least one SW buffer overflow

  TXERR = 128

    There has been at least one TX error

  TX_PENDING = 16

    There are messages pending transmission

## TransceiverType

class canlib.canlib.TransceiverType(value)

  Transceiver (logical) types

  The following constants can be returned from canGetChannelData(), using the canCHANNELDATA_TRANS_TYPE item code. They identify the bus transceiver type for the channel specified in the call to canGetChannelData.

  Note

  If the type starts with a number `T_` has been prepended to the name.

  They indicate a hardware type, but not necessarily a specific circuit or product.

  CANFD = 22
  CANFD_LIN = 24

    HYBRID CAN-FD/LIN

  DNOPTO = 3

    Optoisolated 82C251

  EVA = 7
  FIBER = 8

    82c251 with fibre extension

  K = 10

    K-line, without CAN.

  K251 = 9

    K-line + 82c251

  KONE = 20
  LIN = 19
  LINX_J1708 = 66
  LINX_K = 68
  LINX_LIN = 64
  LINX_LS = 72
  LINX_SWC = 70
  RS485(i.e. J1708) = 18

    RS485 (i.e. J1708)

  SWC = 6

    AU5790

  SWC_OPTO = 12

    AU5790 with optical isolation

  SWC_PROTO = 5

    AU5790 prototype

  TT = 13

    B10011S Truck-And-Trailer

  T_1041 = 16

    TJA1041

  T_1041_OPTO = 17

    TJA1041 with optical isolation

  T_1050 = 14

    TJA1050

  T_1050_OPTO = 15

    TJA1050 with optical isolation

  T_1054_OPTO = 11

    TJA1054 with optical isolation

  T_251 = 1

    82c251

  T_252 = 2

    82c252, TJA1053, TJA1054

  UNKNOWN = 0

    Unknown or undefined

  W210 = 4

## TxeDataItem

class canlib.canlib.TxeDataItem(value)

  An enumeration.

  COMPILER_VERSION = 2

    The three part version number of the compiler used to create the compiled script file (.txe).

  DATE = 3

    Compilation date in Coordinated Universal Time (UTC) of the compiled script file (.txe).

    Contents: 0. Year, 1. Month, 2. Day, 3. Hour, 4. Minute, 5. Second.

  DESCRIPTION = 4

    Description of the compiled script file (.txe).

  FILE_VERSION = 1

    The three part version number of the compiled script file (.txe) file format.

  IS_ENCRYPTED = 7

    Non-zero value if the compiled script file (.txe) contents is encrypted.

  SIZE_OF_CODE = 6

    The size of the compiled code in the .txe file.

  SOURCE = 5

    The name followed by the content of each unencrypted source file