![]() |
Kvaser Linux CANLIB: Welcome to Kvaser CANLIB!
|
Macros | |
#define | canTRANSCEIVER_RESNET_NA 0 |
#define | canTRANSCEIVER_RESNET_MASTER 1 |
#define | canTRANSCEIVER_RESNET_MASTER_STBY 2 |
#define | canTRANSCEIVER_RESNET_SLAVE 3 |
Convenience | |
#define | CANSTATUS_SUCCESS(X) ((X) == canOK) |
#define | CANSTATUS_FAILURE(X) ((X) != canOK) |
canEVENT_xxx WM__CANLIB notification codes | |
#define | canEVENT_RX 32000 |
#define | canEVENT_TX 32001 |
#define | canEVENT_ERROR 32002 |
#define | canEVENT_STATUS 32003 |
#define | canEVENT_ENVVAR 32004 |
canNOTIFY_xxx | |
These are notification codes used in calls to canSetNotify() and kvSetNotifyCallback(). This can be canNOTIFY_NONE (zero), meaning that no event notification is to occur, or a combination of any of the following constants | |
#define | canNOTIFY_NONE 0 |
#define | canNOTIFY_RX 0x0001 |
#define | canNOTIFY_TX 0x0002 |
#define | canNOTIFY_ERROR 0x0004 |
#define | canNOTIFY_STATUS 0x0008 |
#define | canNOTIFY_ENVVAR 0x0010 |
canSTAT_xxx | |
The following circuit status flags are returned by canReadStatus(). Note that more than one flag might be set at any one time.
| |
#define | canSTAT_ERROR_PASSIVE 0x00000001 |
#define | canSTAT_BUS_OFF 0x00000002 |
#define | canSTAT_ERROR_WARNING 0x00000004 |
#define | canSTAT_ERROR_ACTIVE 0x00000008 |
#define | canSTAT_TX_PENDING 0x00000010 |
#define | canSTAT_RX_PENDING 0x00000020 |
#define | canSTAT_RESERVED_1 0x00000040 |
#define | canSTAT_TXERR 0x00000080 |
#define | canSTAT_RXERR 0x00000100 |
#define | canSTAT_HW_OVERRUN 0x00000200 |
#define | canSTAT_SW_OVERRUN 0x00000400 |
#define | canSTAT_OVERRUN (canSTAT_HW_OVERRUN | canSTAT_SW_OVERRUN) |
Message information flags, < 0x100 | |
The following flags can be returned from canRead() et al, or passed to canWrite(). All flags and/or combinations of them are meaningful for received messages. canMSG_RTR, canMSG_STD, canMSG_EXT, canMSG_WAKEUP and canMSG_ERROR_FRAME are meaningful also for transmitted messages. canMSG_SINGLE_SHOT is only for transmission. Note that canMSG_RTR cannot be set for CAN FD messages. | |
#define | canMSG_MASK 0x00ff |
#define | canMSG_RTR 0x0001 |
#define | canMSG_STD 0x0002 |
#define | canMSG_EXT 0x0004 |
#define | canMSG_WAKEUP 0x0008 |
#define | canMSG_NERR 0x0010 |
#define | canMSG_ERROR_FRAME 0x0020 |
#define | canMSG_TXACK 0x0040 |
#define | canMSG_TXRQ 0x0080 |
#define | canMSG_DELAY_MSG 0x0100 |
#define | canMSG_SINGLE_SHOT 0x1000000 |
#define | canMSG_TXNACK 0x2000000 |
#define | canMSG_ABL 0x4000000 |
canFDMSG_xxx | |
Flags used in the CAN FD protocol. Set canOPEN_CAN_FD in canOpenChannel() to enable the CAN FD protocol. | |
#define | canFDMSG_MASK 0xff0000 |
#define | canFDMSG_EDL 0x010000 |
#define | canFDMSG_FDF 0x010000 |
#define | canFDMSG_BRS 0x020000 |
#define | canFDMSG_ESI 0x040000 |
Message error flags | |
| |
#define | canMSGERR_MASK 0xff00 |
#define | canMSGERR_HW_OVERRUN 0x0200 |
#define | canMSGERR_SW_OVERRUN 0x0400 |
#define | canMSGERR_STUFF 0x0800 |
#define | canMSGERR_FORM 0x1000 |
#define | canMSGERR_CRC 0x2000 |
#define | canMSGERR_BIT0 0x4000 |
#define | canMSGERR_BIT1 0x8000 |
#define | canMSGERR_OVERRUN 0x0600 |
#define | canMSGERR_BIT 0xC000 |
#define | canMSGERR_BUSERR 0xF800 |
canTRANSCEIVER_LINEMODE_xxx | |
#define | canTRANSCEIVER_LINEMODE_NA 0 |
#define | canTRANSCEIVER_LINEMODE_SWC_SLEEP 4 |
#define | canTRANSCEIVER_LINEMODE_SWC_NORMAL 5 |
#define | canTRANSCEIVER_LINEMODE_SWC_FAST 6 |
#define | canTRANSCEIVER_LINEMODE_SWC_WAKEUP 7 |
#define | canTRANSCEIVER_LINEMODE_SLEEP 8 |
#define | canTRANSCEIVER_LINEMODE_NORMAL 9 |
#define | canTRANSCEIVER_LINEMODE_STDBY 10 |
#define | canTRANSCEIVER_LINEMODE_TT_CAN_H 11 |
#define | canTRANSCEIVER_LINEMODE_TT_CAN_L 12 |
#define | canTRANSCEIVER_LINEMODE_OEM1 13 |
#define | canTRANSCEIVER_LINEMODE_OEM2 14 |
#define | canTRANSCEIVER_LINEMODE_OEM3 15 |
#define | canTRANSCEIVER_LINEMODE_OEM4 16 |
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.
| |
#define | canTRANSCEIVER_TYPE_UNKNOWN 0 |
#define | canTRANSCEIVER_TYPE_251 1 |
#define | canTRANSCEIVER_TYPE_252 2 |
#define | canTRANSCEIVER_TYPE_DNOPTO 3 |
#define | canTRANSCEIVER_TYPE_W210 4 |
#define | canTRANSCEIVER_TYPE_SWC_PROTO 5 |
#define | canTRANSCEIVER_TYPE_SWC 6 |
#define | canTRANSCEIVER_TYPE_EVA 7 |
#define | canTRANSCEIVER_TYPE_FIBER 8 |
#define | canTRANSCEIVER_TYPE_K251 9 |
#define | canTRANSCEIVER_TYPE_K 10 |
#define | canTRANSCEIVER_TYPE_1054_OPTO 11 |
#define | canTRANSCEIVER_TYPE_SWC_OPTO 12 |
#define | canTRANSCEIVER_TYPE_TT 13 |
#define | canTRANSCEIVER_TYPE_1050 14 |
#define | canTRANSCEIVER_TYPE_1050_OPTO 15 |
#define | canTRANSCEIVER_TYPE_1041 16 |
#define | canTRANSCEIVER_TYPE_1041_OPTO 17 |
#define | canTRANSCEIVER_TYPE_RS485 18 |
#define | canTRANSCEIVER_TYPE_LIN 19 |
#define | canTRANSCEIVER_TYPE_KONE 20 |
#define | canTRANSCEIVER_TYPE_CANFD 22 |
#define | canTRANSCEIVER_TYPE_CANFD_LIN 24 |
#define | canTRANSCEIVER_TYPE_LINX_LIN 64 |
#define | canTRANSCEIVER_TYPE_LINX_J1708 66 |
#define | canTRANSCEIVER_TYPE_LINX_K 68 |
#define | canTRANSCEIVER_TYPE_LINX_SWC 70 |
#define | canTRANSCEIVER_TYPE_LINX_LS 72 |
Enumerations | |
canERR_xxx | |
Generally, a return code greater than or equal to zero means success. A value less than zero means failure. You should avoid testing for a specific error code unless it is explicitly stated in the documentation for the API in question that this specific error code is returned. Instead, check if the error code is less than zero. Use canGetErrorText() to obtain an error message suitable for a message to the user, or for a line in an error log file. | |
enum | canStatus { canOK = 0, canERR_PARAM = -1, canERR_NOMSG = -2, canERR_NOTFOUND = -3, canERR_NOMEM = -4, canERR_NOCHANNELS = -5, canERR_INTERRUPTED = -6, canERR_TIMEOUT = -7, canERR_NOTINITIALIZED = -8, canERR_NOHANDLES = -9, canERR_INVHANDLE = -10, canERR_INIFILE = -11, canERR_DRIVER = -12, canERR_TXBUFOFL = -13, canERR_RESERVED_1 = -14, canERR_HARDWARE = -15, canERR_DYNALOAD = -16, canERR_DYNALIB = -17, canERR_DYNAINIT = -18, canERR_NOT_SUPPORTED = -19, canERR_RESERVED_5 = -20, canERR_RESERVED_6 = -21, canERR_RESERVED_2 = -22, canERR_DRIVERLOAD = -23, canERR_DRIVERFAILED = -24, canERR_NOCONFIGMGR = -25, canERR_NOCARD = -26, canERR_RESERVED_7 = -27, canERR_REGISTRY = -28, canERR_LICENSE = -29, canERR_INTERNAL = -30, canERR_NO_ACCESS = -31, canERR_NOT_IMPLEMENTED = -32, canERR_DEVICE_FILE = -33, canERR_HOST_FILE = -34, canERR_DISK = -35, canERR_CRC = -36, canERR_CONFIG = -37, canERR_MEMO_FAIL = -38, canERR_SCRIPT_FAIL = -39, canERR_SCRIPT_WRONG_VERSION = -40, canERR__RESERVED = -41 } |
This software is dual licensed under the following two licenses: BSD-new and GPLv2. You may use either one. See the included COPYING file for details.
License: BSD-new ============================================================================ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License: GPLv2 ============================================================================ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
---------------------------------------------------------------------------
Definitions for the CANLIB API.
#define CANSTATUS_SUCCESS | ( | X | ) | ((X) == canOK) |
#define CANSTATUS_FAILURE | ( | X | ) | ((X) != canOK) |
#define canEVENT_RX 32000 |
when the queue of received CAN messages goes from empty to non-empty
#define canEVENT_TX 32001 |
when a CAN message has been transmitted
#define canEVENT_ERROR 32002 |
when a CAN bus error is reported by the CAN controller
#define canEVENT_STATUS 32003 |
when the CAN controller changes state
#define canEVENT_ENVVAR 32004 |
An envvar changed.
#define canNOTIFY_NONE 0 |
Turn notifications off.
#define canNOTIFY_RX 0x0001 |
CAN message reception notification.
#define canNOTIFY_TX 0x0002 |
CAN message transmission notification.
#define canNOTIFY_ERROR 0x0004 |
CAN bus error notification.
#define canNOTIFY_STATUS 0x0008 |
CAN chip status change.
#define canNOTIFY_ENVVAR 0x0010 |
An environment variable was changed by a script.
#define canSTAT_ERROR_PASSIVE 0x00000001 |
The circuit is error passive.
#define canSTAT_BUS_OFF 0x00000002 |
The circuit is Off Bus.
#define canSTAT_ERROR_WARNING 0x00000004 |
At least one error counter > 96.
#define canSTAT_ERROR_ACTIVE 0x00000008 |
The circuit is error active.
#define canSTAT_TX_PENDING 0x00000010 |
There are messages pending transmission.
#define canSTAT_RX_PENDING 0x00000020 |
There are messages in the receive buffer.
#define canSTAT_RESERVED_1 0x00000040 |
The circuit is error passive.
#define canSTAT_TXERR 0x00000080 |
There has been at least one TX error.
#define canSTAT_RXERR 0x00000100 |
There has been at least one RX error of some sort.
#define canSTAT_HW_OVERRUN 0x00000200 |
The has been at least one HW buffer overflow.
#define canSTAT_SW_OVERRUN 0x00000400 |
The has been at least one SW buffer overflow.
#define canSTAT_OVERRUN (canSTAT_HW_OVERRUN | canSTAT_SW_OVERRUN) |
For convenience.
#define canMSG_MASK 0x00ff |
Used to mask the non-info bits.
#define canMSG_RTR 0x0001 |
Message is a remote request.
#define canMSG_STD 0x0002 |
Message has a standard ID.
#define canMSG_EXT 0x0004 |
Message has an extended ID.
#define canMSG_WAKEUP 0x0008 |
Message to be sent / was received in wakeup mode.
#define canMSG_NERR 0x0010 |
NERR was active during the message
The NERR flag is set by the CAN transceiver when certain CAN bus wire faults occur, namely:
See the TJA1054 data sheet (available from Philips) for more detailed information.
#define canMSG_ERROR_FRAME 0x0020 |
Message is an error frame.
#define canMSG_TXACK 0x0040 |
Message is a TX ACK (msg is really sent)
#define canMSG_TXRQ 0x0080 |
Message is a TX REQUEST (msg is transfered to the chip)
#define canMSG_DELAY_MSG 0x0100 |
Message is NOT sent on the bus. The transmission of messages are delayed. The dlc specifies the delay in milliseconds (1..1000).
#define canMSG_SINGLE_SHOT 0x1000000 |
Message is Single Shot, try to send once, no retransmission. This flag can only be used with transmitted messages.
#define canMSG_TXNACK 0x2000000 |
Message is a failed Single Shot, message was not sent. This flag is only used with received messages.
#define canMSG_ABL 0x4000000 |
Only together with canMSG_TXNACK, Single shot message was not sent because arbitration was lost. This flag is only used with received messages.
#define canFDMSG_MASK 0xff0000 |
Obsolete, use canFDMSG_FDF instead.
#define canFDMSG_EDL 0x010000 |
Obsolete, use canFDMSG_FDF instead.
#define canFDMSG_FDF 0x010000 |
Message is an FD message (CAN FD)
#define canFDMSG_BRS 0x020000 |
Message is sent/received with bit rate switch (CAN FD)
#define canFDMSG_ESI 0x040000 |
Sender of the message is in error passive mode (CAN FD)
#define canMSGERR_MASK 0xff00 |
Used to mask the non-error bits.
#define canMSGERR_HW_OVERRUN 0x0200 |
HW buffer overrun.
#define canMSGERR_SW_OVERRUN 0x0400 |
SW buffer overrun.
#define canMSGERR_STUFF 0x0800 |
Stuff error.
#define canMSGERR_FORM 0x1000 |
Form error.
#define canMSGERR_CRC 0x2000 |
CRC error.
#define canMSGERR_BIT0 0x4000 |
Sent dom, read rec.
#define canMSGERR_BIT1 0x8000 |
Sent rec, read dom.
#define canMSGERR_OVERRUN 0x0600 |
Any overrun condition.
#define canMSGERR_BIT 0xC000 |
Any bit error.
#define canMSGERR_BUSERR 0xF800 |
Any RX error.
#define canTRANSCEIVER_LINEMODE_NA 0 |
Not Affected/Not available.
#define canTRANSCEIVER_LINEMODE_SWC_SLEEP 4 |
SWC Sleep Mode.
#define canTRANSCEIVER_LINEMODE_SWC_NORMAL 5 |
SWC Normal Mode.
#define canTRANSCEIVER_LINEMODE_SWC_FAST 6 |
SWC High-Speed Mode.
#define canTRANSCEIVER_LINEMODE_SWC_WAKEUP 7 |
SWC Wakeup Mode.
#define canTRANSCEIVER_LINEMODE_SLEEP 8 |
Sleep mode for those supporting it.
#define canTRANSCEIVER_LINEMODE_NORMAL 9 |
Normal mode (the inverse of sleep mode) for those supporting it.
#define canTRANSCEIVER_LINEMODE_STDBY 10 |
Standby for those who support it.
#define canTRANSCEIVER_LINEMODE_TT_CAN_H 11 |
Truck & Trailer: operating mode single wire using CAN high.
#define canTRANSCEIVER_LINEMODE_TT_CAN_L 12 |
Truck & Trailer: operating mode single wire using CAN low.
#define canTRANSCEIVER_LINEMODE_OEM1 13 |
Reserved for OEM apps.
#define canTRANSCEIVER_LINEMODE_OEM2 14 |
Reserved for OEM apps.
#define canTRANSCEIVER_LINEMODE_OEM3 15 |
Reserved for OEM apps.
#define canTRANSCEIVER_LINEMODE_OEM4 16 |
Reserved for OEM apps.
#define canTRANSCEIVER_RESNET_MASTER 1 |
#define canTRANSCEIVER_RESNET_MASTER_STBY 2 |
#define canTRANSCEIVER_RESNET_SLAVE 3 |
#define canTRANSCEIVER_TYPE_UNKNOWN 0 |
Unknown or undefined.
#define canTRANSCEIVER_TYPE_251 1 |
82c251
#define canTRANSCEIVER_TYPE_252 2 |
82c252, TJA1053, TJA1054
#define canTRANSCEIVER_TYPE_DNOPTO 3 |
Optoisolated 82C251.
#define canTRANSCEIVER_TYPE_W210 4 |
Unknown or undefined.
#define canTRANSCEIVER_TYPE_SWC_PROTO 5 |
AU5790 prototype.
#define canTRANSCEIVER_TYPE_SWC 6 |
AU5790.
#define canTRANSCEIVER_TYPE_EVA 7 |
Unknown or undefined.
#define canTRANSCEIVER_TYPE_FIBER 8 |
82c251 with fibre extension
#define canTRANSCEIVER_TYPE_K251 9 |
K-line + 82c251.
#define canTRANSCEIVER_TYPE_K 10 |
K-line, without CAN.
#define canTRANSCEIVER_TYPE_1054_OPTO 11 |
TJA1054 with optical isolation.
#define canTRANSCEIVER_TYPE_SWC_OPTO 12 |
AU5790 with optical isolation.
#define canTRANSCEIVER_TYPE_TT 13 |
B10011S Truck-And-Trailer.
#define canTRANSCEIVER_TYPE_1050 14 |
TJA1050.
#define canTRANSCEIVER_TYPE_1050_OPTO 15 |
TJA1050 with optical isolation.
#define canTRANSCEIVER_TYPE_1041 16 |
TJA1041.
#define canTRANSCEIVER_TYPE_1041_OPTO 17 |
TJA1041 with optical isolation.
#define canTRANSCEIVER_TYPE_RS485 18 |
RS485 (i.e. J1708)
#define canTRANSCEIVER_TYPE_LIN 19 |
LIN.
#define canTRANSCEIVER_TYPE_KONE 20 |
KONE.
#define canTRANSCEIVER_TYPE_CANFD 22 |
CAN-FD.
#define canTRANSCEIVER_TYPE_CANFD_LIN 24 |
HYBRID CAN-FD/LIN.
#define canTRANSCEIVER_TYPE_LINX_LIN 64 |
Unknown or undefined.
#define canTRANSCEIVER_TYPE_LINX_J1708 66 |
Unknown or undefined.
#define canTRANSCEIVER_TYPE_LINX_K 68 |
Unknown or undefined.
#define canTRANSCEIVER_TYPE_LINX_SWC 70 |
Unknown or undefined.
#define canTRANSCEIVER_TYPE_LINX_LS 72 |
Unknown or undefined.
enum canStatus |
Enumerator | |
---|---|
canOK | Normal successful completion; The driver is just fine, and really believes it carried out your command to everyone's satisfaction. |
canERR_PARAM | Error in one or more parameters; a parameter canERR_xxx specified in the call was invalid, out of range, or so. This status code will also be returned when the call is not implemented. |
canERR_NOMSG | There were no messages to read; A function tried to read a message, but there was no message to read. |
canERR_NOTFOUND | Specified device or channel not found. There is no hardware available that matches the given search criteria. For example, you may have specified canOPEN_REQUIRE_EXTENDED but there's no controller capable of extended CAN. You may have specified a channel number that is out of the range for the hardware in question. You may have requested exclusive access to a channel, but the channel is already occupied. |
canERR_NOMEM | Out of memory; A memory allocation failed. |
canERR_NOCHANNELS | No channels available; There is indeed hardware matching the criteria you specified, but there are no channels available, or the channel you specified is already occupied. |
canERR_INTERRUPTED | Interrupted by signals. |
canERR_TIMEOUT | Timeout occurred; A function waited for something to happen (for example, the arrival of a message), but that something didn't happen. |
canERR_NOTINITIALIZED | The library is not initialized; The driver is not initialized. canInitializeLibrary() was probably not called? |
canERR_NOHANDLES | Out of handles; No handles are available inside canlib32. The application has too many handles open (i.e. has called canOpenChannel() too many times, or there's a memory leak somewhere.)
|
canERR_INVHANDLE | Handle is invalid; The CANLIB handle you specified (if the API call includes a handle) is not valid. Ensure you are passing the handle and not, for example, a channel number. |
canERR_INIFILE | Error in the ini-file (16-bit only) |
canERR_DRIVER | Driver type not supported; CAN driver mode is not supported by the present hardware. |
canERR_TXBUFOFL | Transmit buffer overflow; The transmit queue was full, so the message was dropped. |
canERR_RESERVED_1 | Reserved. |
canERR_HARDWARE | A hardware error has occurred; Something probably related to the hardware happened. This could mean that the device does not respond (IRQ or address conflict?), or that the response was invalid or unexpected (faulty card?). |
canERR_DYNALOAD | A driver DLL can't be found or loaded; (One of) the DLL(s) specified in the registry failed to load. This could be a driver installation problem. |
canERR_DYNALIB | A DLL seems to have wrong version; DLL version mismatch. (One of) the DLL(s) specified in the registry is - probably - too old, or - less likely - too new. |
canERR_DYNAINIT | Error when initializing a DLL; Something failed when a device driver was being initialized. In other words, we can open the driver but it makes a lot of fuss about something we don't understand. |
canERR_NOT_SUPPORTED | Operation not supported by hardware or firmware. |
canERR_RESERVED_5 | Reserved. |
canERR_RESERVED_6 | Reserved. |
canERR_RESERVED_2 | Reserved. |
canERR_DRIVERLOAD | Can't find or load kernel driver; A device driver (kernel mode driver for NT, VxD for W95/98) failed to load; or the DLL could not open the device. Privileges? Driver file missing? |
canERR_DRIVERFAILED | DeviceIOControl failed; Use Win32 GetLastError() to learn what really happened. |
canERR_NOCONFIGMGR | Can't find req'd config s/w (e.g. CS/SS) |
canERR_NOCARD | The card was removed or not inserted. |
canERR_RESERVED_7 | Reserved. |
canERR_REGISTRY | Error (missing data) in the Registry; A registry key is missing, invalid, malformed, has gone for lunch or what not. can_verify.exe might provide some insight. |
canERR_LICENSE | The license is not valid. |
canERR_INTERNAL | Internal error in the driver; Indicates an error condition in the driver or DLL, which couldn't be properly handled. Please contact the friendly support at suppo. rt@k vaser .com |
canERR_NO_ACCESS | Access denied; This means that you tried to set the bit rate on a handle to which you haven't got init access or you tried to open a channel that already is open with init access. See canOpenChannel() for more information about init access. |
canERR_NOT_IMPLEMENTED | Not implemented; The requested feature or function is not implemented in the device you are trying to use it on. |
canERR_DEVICE_FILE | Device File error; An error has occured when trying to access a file on the device. |
canERR_HOST_FILE | Host File error; An error has occured when trying to access a file on the host. |
canERR_DISK | Disk error; A disk error has occurred. Verify that the disk is initialized. |
canERR_CRC | CRC error; The CRC calculation did not match the expected result. |
canERR_CONFIG | Configuration Error; The configuration is corrupt. |
canERR_MEMO_FAIL | Memo Error; Other configuration error. |
canERR_SCRIPT_FAIL | Script Fail; A script has failed.
|
canERR_SCRIPT_WRONG_VERSION | The t script version dosen't match the version(s) that the device firmware supports.; |
canERR__RESERVED | Reserved. |