######################################################################### Release Notes for CANLIB V5.44 ######################################################################### These release notes apply to both CANlib SDK and the Windows drivers. More release notes included in the CANlib SDK: - Python wrapper release notes can be found in the python directory. - .NET Standard wrapper release notes can be found in the dotnet directory. Supported operating systems ======================================================================== The following Operating Systems are supported by current version of CANLIB: - Windows 11, 64-bit, x64 architecture - Windows 10, 32-bit and 64-bit, x64 architecture - Windows 8.1, 32-bit and 64-bit, x64 architecture - Windows 7, 32-bit and 64-bit, x64 architecture Note: for Windows 7 and 8.1, the computer need to be in "test signing mode" in order to load the drivers. The last version where this is not required is v5.40. Use previous versions of CANlib for: - Legacy CLSNET wrapper, use CANlib v5.30. - Kvaser Eagle, use CANlib v5.30. - Windows Vista and Windows Server 2008, use CANlib v5.28. - Windows XP, use CANlib v5.22. Device support table ======================================================================== Required Device Driver Firmware ------------------------------------------------------------ Kvaser BlackBird (all types) kcanl/kcanlr.sys 1.9 or later Kvaser BlackBird Pro HS v2 kcany/kcanyr.sys 3.9 or later Kvaser BlackBird v2 (all types) kcany/kcanyr.sys 3.9 or later Kvaser DIN Rail kcanyr.sys 3.17 or later Kvaser Ethercan HS kcanyr.sys 3.9 or later Kvaser Ethercan Light HS kcanyr.sys 2.1 or later Kvaser Hybrid 2xCAN/LIN kcany.sys 3.7 or later Kvaser Hybrid CAN/LIN kcany.sys 3.25 or later Kvaser Hybrid Pro 2xCAN/LIN kcany.sys 3.7 or later Kvaser Hybrid Pro CAN/LIN kcany.sys 3.25 or later Kvaser LAPcan kcanx.sys 1.40 or later Kvaser LAPcan II kcanx.sys 4.20 or later Kvaser Leaf (all types) kcanl.sys 2.6 or later Kvaser Leaf Pro HS v2 kcany.sys 2.6 or later Kvaser Leaf v2 (all types) kcanl.sys 3.0 or later Kvaser Leaf v3 kcany.sys 3.29 or later Kvaser Memorator kcane.sys 3.0 or later Kvaser Memorator 2xHS v2 kcany.sys 3.0 or later Kvaser Memorator Light kcanl.sys 2.0 or later Kvaser Memorator Light HS v2 kcany.sys 3.14 or later Kvaser Memorator Pro 2xHS v2 kcany.sys 3.0 or later Kvaser Memorator Pro 5xHS kcany.sys 3.0 or later Kvaser Memorator Professional kcanl.sys 3.0 or later Kvaser Memorator R SemiPro kcanl.sys 2.6 or later Kvaser Mini PCI Express 1xCAN v3 kcanf.sys 1.0 or later Kvaser Mini PCI Express 2xCAN v3 kcanf.sys 1.0 or later Kvaser Mini PCI Express 2xHS kcanl.sys 3.0 or later Kvaser Mini PCI Express 2xHS v2 kcanf.sys 2.2.6 or later Kvaser Mini PCI Express HS kcanl.sys 3.0 or later Kvaser Mini PCI Express HS v2 kcanf.sys 2.2.5 or later Kvaser Mini PCIe 1xCAN kcany.sys 3.32 or later Kvaser PC104+ kcans.sys 3.0 or later Kvaser PCI104 kcans.sys 3.0 or later Kvaser PCIEcan kcanh.sys N/A Kvaser PCIEcan 1xCAN v3 kcanf.sys 1.0 or later Kvaser PCIEcan 2xCAN v3 kcanf.sys 1.0 or later Kvaser PCIEcan 2xHS v2 kcanf.sys 2.0.15 or later Kvaser PCIEcan 4xCAN v2 kcanf.sys 1.0 or later Kvaser PCIEcan 4xHS kcanf.sys 2.0.1 or later Kvaser PCIe 8xCAN kcanf.sys 1.0 or later Kvaser PCIEcan HS v2 kcanf.sys 2.0.19 or later Kvaser M.2 PCIe 4xCAN kcanf.sys 1.0 or later Kvaser PCIcan kcanh.sys N/A Kvaser PCIcan II kcans.sys 2.4 or later Kvaser PCIcanx kcanh.sys N/A Kvaser PCIcanx II kcans.sys 3.0 or later Kvaser U100 kcany.sys 3.22 or later Kvaser U100P kcany.sys 3.22 or later Kvaser U100S kcany.sys 3.25 or later Kvaser U200 kcany.sys 3.26 or later Kvaser U200P kcany.sys 3.26 or later Kvaser U200S kcany.sys 3.26 or later Kvaser USBcan II kcane.sys 2.4 or later Kvaser USBcan Light 2xHS kcanl.sys 3.0 or later Kvaser USBcan Light 4xHS kcany.sys 2.6 or later Kvaser USBcan Pro 2xHS v2 kcany.sys 3.0 or later Kvaser USBcan Pro 4xCAN Silent kcany.sys 3.28 or later Kvaser USBcan Pro 4xHS kcany.sys 3.24 or later Kvaser USBcan Pro 5xHS kcany.sys 3.0 or later Kvaser USBcan Pro 5xCAN kcany.sys 3.32 or later Kvaser USBcan Professional kcanl.sys 1.8 or later Kvaser USBcan Rugged kcane.sys 2.4 or later Kvaser Virtual CAN bus kcanv.sys N/A It is always recommended to use latest released firmware, available from www.kvaser.com. SDK Installation ======================================================================== Note that the CANLIB SDK should not be installed on top of an already installed, older edition of CANLIB SDK. You should install into a new directory, or uninstall the old version. In contrast, the driver package may be installed over an old installation of the drivers. Known Problems and Limitations ======================================================================== * Downgrading CANlib drivers from v5.21 and above, to v5.20 or lower must be done by first un-installing the current version, and then installing the wanted version. New Features and Fixed Problems in V5.44 (18-FEB-2024) =========================================================================== * SDK (canlib) - Fixed bug where at most half of the output buffer passed to items canCHANNELDATA_DEVDESCR_ASCII and canCHANNELDATA_MFGNAME_ASCII in canGetChannelData() was used. - The delphi wrapper "canlib.pas" was updated. * SDK (kvadblib) - Fixed parsing of integral signal values of large magnitude. - Added error handling for negative/very large values in unsigned fields. * SDK (kvlclib) - Updated zlib to version 1.2.13. * SDK (Documentation): - Moved "Support" and "Licence and Copyright" closer to the top of the tree view of the web help. * Drivers - Support for new devices: - Kvaser PCIe 8xCAN (01512-8) - Kvaser USBcan Pro 5xCAN (01524-1) - Kvaser Mini PCIe 1xCAN (01368-1) * J2534 - ISO15765 flow control messages are now padded only if ISO15765_FRAME_PAD is set instead of always being padded. - Added support for protocol IDs ISO15765_PS and FD_ISO15765_PS. Only standard J1962_PINS setting, value 0x060E, is allowed. - Support for ISO15765_PAD_VALUE has been added to all supported ISO15765 protocol IDs. - Added support for BIT_SAMPLE_POINT and SYNC_JUMP_WIDTH to protocol IDs CAN and ISO15765. - Fixed issue with starting and stopping a message filter repeatedly. - Fixed issue with loopback messages setting RxStatus ISO15765_PADDING_ERROR when ISO15765_FRAME_PAD setting is off. - Fixed issue with sending many consecutive frames sometimes being aborted. New Features and Fixed Problems in V5.43 (13-SEP-2023) =========================================================================== * SDK (canlib) - Improved download performance when downloading t programs to remotely connected interfaces. * SDK (kvadblib) - Fixed bug where negative signal values would sometimes be set to zero on some architectures. - Added a page about using multiple threads to the documentation. * SDK (kvmlib) - Fixed issue with kvmLogFileDeleteAll when using an SD card reader. - Fixed issue where kvmKmeReadEvent returned memoLogMsgEx with dlc code instead of data length for CAN FD messages. The memoLogMsgEx struct will now always contain the data length in bytes. * J2534 - ISO 15765 flow control messages are now padded instead of always being 3 bytes. * Driver (kcanf only) - Added support for new device, Kvaser M.2 PCIe 4xCAN New Features and Fixed Problems in V5.42 (23-MAY-2023) =========================================================================== * This version was skipped to keep the win/linux versions in sync. New Features and Fixed Problems in V5.41 (05-MAY-2023) =========================================================================== * Driver - Removed support for legacy IOCTLs KCAN_IOCTL_SET_NOTIFICATION_KEVENT and KCAN_IOCTL_SET_EXT_NOTIFICATION_KEVENT. - Fixed potential BSOD that could happen when the driver handle is closed and extended notifications are active. - (kcanf only) Improved the logic when flushing the transmit queue. New Features and Fixed Problems in V5.41 (30-MAR-2023) =========================================================================== * Driver - Starting with this release, the Windows drivers are signed using sha256-based certificates only. We can no longer sign with sha1 certificates because such certificates are obsolete and no longer available. This can cause installation problems in Windows 7 and 8. - Starting January 16th 2023, Microsoft is no longer accepting driver submissions for WHQL certification on Windows 7. You must enable test signing mode on the target computer in order to use the drivers with Windows 7. To do this, run the command "Bcdedit.exe -set TESTSIGNING ON" and reboot. See our web site for more information. * Driver (kcanf only) - Added support for new device, Kvaser PCIEcan 4xCAN v2 - Added support for new device, Kvaser Mini PCI Express 2xCAN v3 - Added support for new device, Kvaser Mini PCI Express 1xCAN v3 - Added support for new device, Kvaser PCIEcan 2xCAN v3 - Added support for new device, Kvaser PCIEcan 1xCAN v3 * SDK (kvlclib) - MDF 4.1 signal based file format (KVLC_FILE_FORMAT_MDF_4X_SIGNAL) data groups are now filtered on channel and ID (previously only ID). - MDF 4.1 signal based file format (KVLC_FILE_FORMAT_MDF_4X_SIGNAL) data groups are now filtered on source address in j1939 mode (KVLC_PROPERTY_HLP_J1939). - CSV signal based file format (KVLC_FILE_FORMAT_CSV_SIGNAL) now properly handles multiple databases using the same message ID on different channels. - CSV signal based file format (KVLC_FILE_FORMAT_CSV_SIGNAL) now includes channel ID in the last column of each row. This information was previously discarded. * SDK (kvadblib) - Fixed issue with unsigned signal min/max values * SDK (kvmlib) - Max file count updated to match actual limit for KMF files when requesting disk usage. New Features and Fixed Problems in V5.40 (08-SEP-2022) =========================================================================== * SDK (kvlclib) - MDF 4.1 signal based file format (KVLC_FILE_FORMAT_MDF_4X_SIGNAL) was updated with regards to signal units. Specifically, md_unit of CCBLOCK was changed from MDBLOCK to TXBLOCK. It is now also referenced by cc_md_unit of CNBLOCK. * SDK (kvadblib) - Fixed a crash when failing to parse a database file (with invalid attributes). * Driver - Added support for new device, Kvaser Leaf v3 - Added support for new device, Kvaser USBcan Pro 4xCAN Silent - (Again) fixed potential security problem where the path to the network enumerator service executable wasn't quoted. New Features and Fixed Problems in V5.39 (29-MAY-2022) =========================================================================== * SDK (canlib) - Added possibility to enable local TxAcks on non sending handles. See canIoCtl(). - Added new bitrate constant canFD_BITRATE_2M_60P. - Visual Basic samples updated to use .NET standard 2.0 dlls. * Driver - Added support for local TxAcks - Fixed potential security problem where the path to the network enumerator service executable wasn't quoted. * SDK (kvadblib) - Added function kvaDbGetCanMsgFlags that returns relevant message attributes as CAN message flags. - Documenation fix for kvaDbGetMsgFlags. * Remote Device Configuration - Added possibility to change TX Latency for remote devices. Requires firmware > 3.20. * SDK (t) - Added new bitrate constant canFD_BITRATE_2M_60P. - The included t compiler now has version 3.13 * SDK (kvlclib) - Updated MDF 4.1 format (KVLC_FILE_FORMAT_MDF_4X) so that CAN_DataFrame.IDE channel is set for extended ID:s. Now both ID MSb and IDE are set for extended ID:s. New Features and Fixed Problems in V5.38 (15-FEB-2022) =========================================================================== * Driver - Added registry keys "ShortTimeout" and "LongTimeout" to set driver timeouts in milliseconds for kcany and kcanyr. * SDK (canlib) - Clarified in doc that the representation of 'time' in canRead() and canReadWait() can be set by canIOCTL_SET_TIMER_SCALE. - Removed old Android REST sample code that used v1.x of Log4j. Note that v1.x was not impacted by the Log4j Security Vulnerability. * SDK (kvadblib) - Fixed bug where motorola CAN FD signals were handled incorrectly. - Error handling added for invalid bound format on int signals in dbc files. * SDK (kvlclib) - Fixed bug where using multiple databases with Matlab output format generated illegal variable names. - Bugfix in vector ASCII input format. - Updated experimental KME 6.0 format handler. * SDK (kvmlib) - Updated experimental KME 6.0 format handler New Features and Fixed Problems in V5.37 (13-SEP-2021) =========================================================================== * SDK (canlib) - Moved some C# samples to separate dotnet folder. * SDK (kvlclib) - Added DIAdem DAT output format. - Added MTS RPC III output format. - Fixed a bug in CVS signal where values were wrong if signals had the same name. - Fixed a bug in CVS signal where values were wrong if signals used bits not available with the received DLC. - Removed creation of debug logfiles while reading KVLC_FILE_FORMAT_MDF_4X logfiles. - KME 2.4 reader now correctly reporting file suffix as '.kme'. - Added experimental KME 6.0 input/output format. * SDK (kvadblib) - Bugfix: Detect use of invalid object handles which previously could lead to crashes or errors. - Added support for flag KVADB_MESSAGE_J1939 to kvaDbSetMsgFlags() * SDK (kvmlib) - Added experimental KME 6.0 format to kvmKme API * Kvaser Device Guide: - Added File Handler to the menu item "Tools" New Features and Fixed Problems in V5.36 (25-MAY-2021) =========================================================================== * SDK (kvadblib) - Reverted the deprecation status of kvaDbGetMsgByPGN - Updated kvaDbGetMsgByPGN/kvaDbGetMsgByPGNEx to account for data page (dp), / extended data page (edp) and to work with old j1939 databases. * SDK (kvlclib) - Improved filtering of j1939 PGN when using KVLC_FILE_FORMAT_CSV_SIGNAL, KVLC_FILE_FORMAT_MDF_SIGNAL and KVLC_FILE_FORMAT_MDF_4X_SIGNAL. * SDK (kvaMemoLibXML) - Fixed a bug where j1939 triggers failed to trigger. * SDK (canlib) - Documentation updated for the kvDiagXxx functions, which now fall under the CANtegrity API. - canCHANNEL_CAP_DIAGNOSTICS is now obsolete, use canCHANNEL_CAP_CANTEGRITY instead. - Fixed a bug where kvDiagReadSample() stopped working. - Fixed a bug where CanGetBusParamsTq() failed after call to busOn(). - Modified canFD_BITRATE_xxx constant for improved stability. - Added bitrate constant canFD_BITRATE_8M_70P. * SDK (linlib.inc) - Fixed a bug where linSetupLIN() timed out and returned LIN_RETURN_CODE_INTERNAL_FAILURE. * Added support for new devices: - Kvaser Hybrid CAN/LIN (01284-4) - Kvaser Hybrid Pro CAN/LIN (01288-2) * RP1210 - Added support for Kvaser DIN Rail, Kvaser U100 and Kvaser Hybrid devices. New Features and Fixed Problems in V5.35 (16-FEB-2021) =========================================================================== * J2534 - Fixed a bug which prevented protocols FD_ISO15765_CH2 through FD_ISO15765_CH128 from working correctly. - Allowed for the individual frames of ISO 15765 to be seen as loopback messages if both LOOPBACK and CAN "mixed format" are on. As per the standard: - "If the configuration setting LOOPBACK is set to ON, then transmitted messages (including flow control) shall be processed in the same manner as received messages." - Fix: Timestamps returned from the API are now correctly using microseconds as the unit. - New devices will now be available to connect to after a call to PassThruOpen(), rather than having to use the KV_REINIT_CANLIB ioctl. - If PassThruRead() is called with timeout=0, ERR_TIMEOUT is no longer returned. - Support for virtual CANlib channels extended - Virtual channels now supported on CAN, CAN FD, ISO-TP, and ISO-TP FD channels rather than just CAN and ISO-TP. (Virtual channels must still be enabled with the J2534 Options Tool before they can be used.) - When calling PassThruConnect() on a virtual channel without having enabled use of virtual channels, the DLL now returns ERR_DEVICE_NOT_CONNECTED. * CANlib - Bus parameter checks in CANlib has been reduced in order to support more hardware. CANlib will issue a canERR_NOT_SUPPORTED (-19) status code if the parameters are not valid for the current device. - Added support for U100 devices in Kvaser Customer Data Utility. - Fixed a bug concerning a change of size of VCAN_IOCTL_GET_CHANNEL_INFO. - Updated the documentation of the file handling API (kvFile). - Updated the kvDiag API and its documentation. * SDK (t) - Added support for missing bitrate constants canFD_BITRATE_500K_80P and canFD_BITRATE_8M_80P. - Added support for J1939 databases. * SDK (kvlclib) - Added support for a newer version of the BLF format (4.9.4.0), which contains CAN FD support. The new converter format KVLC_FILE_FORMAT_VECTOR_BLF_FD has both read and write capabilities. - Added property KVLC_PROPERTY_COMPRESSION_LEVEL to formats KVLC_FILE_FORMAT_MDF_4X and KVLC_FILE_FORMAT_MDF_4X_SIGNAL. The property represents zlib compression levels. - A call to kvlcSetProperty() with a property that is not supported by the converter now returns kvlcERR_NOT_IMPLEMENTED. - Added check if any file named filename-partxx.xxx exists when splitting files. If any such files exists in the output folder, no files will be created, and kvlcERR_FILE_EXISTS is returned. - When converting from MDF4 to another format, kvlclib now makes sure the file originated from kvlclib. If it is from another tool, kvlcERR_UNSUPPORTED_VERSION is returned. * SDK (kvadblib) - Corrected bug where functions to retrieve signal values (kvaDbRetrieveSignalXxx) would not always retreive values even though the signal was available in the provided data. - Increased stability when using kvaDbGetNextMsg() and kvaDbGetNextNode(). * SDK (canlib) - Added functions kvBitrateToBusParamsTq() and kvBitrateToBusParamsFdTq(), that translates bitrate constants to new bus parameters kvBusParamsTq. - Updated canlib to mitigate a crash occurring when calling canEnumHardwareEx on a system where all virtual channels have been uninstalled, and no physical interfaces are attached. - Updated the documentation of the file handling API (kvFile). - Added bitrate constant canFD_BITRATE_8M_80P. - Enhanced support of TRDC, allowing data rate prescaler greater than 2. - When canOPEN_NO_INIT_ACCESS is passed to canOpenChannel(), no additional argument flags, canOPEN_xxx, are needed in order to get a valid handle. * TRX - Fixed problem with file association causing .t .tprj and .txe files not to open correctly if there are spaces in the file path. - Added support for assigning logical names to a dbc file. * WiFi Pairing Tool - Removed Microsoft Visual C++ 2017 runtime dependency introduced in v5.28. * Added support for new device: - Kvaser USBcan Pro 4xHS (01261-5) New Features and Fixed Problems in V5.34 (09-SEP-2020) =========================================================================== * SDK (canlib) - New bus parameter API using time quanta, see e.g. canSetBusParamsTq(). - kvScriptEnvvarOpen()'s 'envvarName' parameter and kvScriptEnvvarSetData()'s 'buf' parameter have been changed to const. * SDK (kvmlib) - KME24 RTC events retrieved via kvmKmeReadEvent will no longer have cached timeStamp values. * SDK (kvadblib) - Added functions kvaDbGetMsgByPGNEx and kvaDbGetMsgByIdEx which differ from their predecessors in that KVADB_MESSAGE_EXT is no longer set on the id parameter. For kvaDbGetMsgByIdEx it is instead set on a flags parameter. - Fixed a bug on kvaDbGetMsgById which allowed ext messages to be found when searching for std messages. - kvaDbGetMsgByPGN was deprecated in favour of kvaDbGetMsgByPGNEx. - kvaDbGetMsgByPGNEx (and kvaDbGetMsgByPGN) will not return the message 'VECTOR_INDEPENDENT_SIG_MSG'. - Fixed a bug where parsing DBC files containing numbers with a leading '+' caused a parse error. * J2534 - Fixed a bug introduce in v5.33 that prevented ISO 15765 single-frame messages to be sent without matching a flow-control filter. - TxFlags are no longer set on messages returned by the DLL. - ExtraDataSize is now equal to DataSize for tx-done messages returned by the DLL. - Full support for CAN FD. - Preliminary support for ISO 15765 on CAN FD, see the J2534-readme. - On ISO 15765 and FD ISO 15765 channels, periodic messages can be padded. * Remote devices - PnP enumeration has been updated for remote devices. - Added support for setting tx latency. * Kvaser Device Guide: - Added J2534 Options to the menu item "Tools" - Tree is expanded by default and selected tree node is kept when refreshing(F5) - Fixed a bug when resizing panels inside Kvaser Device Guide New Features and Fixed Problems in V5.33 (27-MAY-2020) =========================================================================== * SDK (canlib) - Fixed bug introduced in V5.31 which made programs including the canlib32.dll fail if run on a computer with older CANlib drivers installed. - Added support for canEnumHardwareEx() * SDK (kvadblib) - Updated the documentation for functions that pass/get/set message id:s to explicitly state whether the id should/will contain the extended id flag KVADB_MESSAGE_EXT. * SDK (Documentation) - Added KvaMemoLibXML to .Net standard 2.0 dependency table. * WiFi Pairing Tool - Fixed bug introduced in V5.31 which made WiFi Pairing Tool to fail at step 2. * J2534 - New implementation of the ISO-15765 protocol for increased speed. - Fixed not being able to stop filters on with CAN FD protocol - Fixed the dll not notifying the user when a used device becomes unavailable. For the protocols CAN, CAN FD, and ISO-15765 ERR_DEVICE_NOT_CONNECTED will be returned by PassThruReadMsgs() if no messages where in the receive queue and communication with the associated physical device has failed. * Added support for new devices: - Kvaser U100S (01181-6) New Features and Fixed Problems in V5.32 (02-APR-2020) =========================================================================== * SDK (canlib) - Added prelimianry kvDiag API intended for use with Kvaser Signal Integrity. * SDK (kvlclib) - Fixed writer for KVLC_FILE_FORMAT_MDF_4X_SIGNAL where multiplexed signals where not getting populated with data, also fixed bug where signal headers weren't written correctly for databases containing messages without signals. * Driver installation package - Suppressed several error message boxes when the installer is running in silent mode. (BLA-1674) * Corrected mapped memory handling in driver and fixed a bug that could cause BSOD if a hardware response arrived after time-out. New Features and Fixed Problems in V5.31 (24-FEB-2020) =========================================================================== * Interchanged calls to canSetBusOutputControl() and canGetBusOutputControl() using CANlib and t is now consistent. * Calls to canSetBusOutputControl() and canGetBusOutputControl() is now persistent across all channels in the device until power is cycled in latest generation of devices (kcany, kcanf, kcanl). Older devices have not changed their behaviour. * Increased max number of cards to 16 for kcanf driver (INBOX-15560). * SDK (canlib) - Added support for external trigger input and output to I/O pin API when using e.g. Memorator 2xHS v2 and Kvaser Memorator Pro 5xHS. Note that using the External trigger input requires that CAN channel 1 is bus on and using the External trigger output requires that CAN channel 2 is bus on. - Added support for reading and setting multiple input and output pins in on call in the I/O pin API. Two new functions for this purpose have been added: kvIoGetModulePins and kvIoSetModulePins. - Capability SILENT_MODE is now reported for PCIcanx and PCIcanx II devices. - Fixed a bug where canGetChannelData returned canERR_NOTFOUND instead of canERR_PARAM for a subset of erroneous input arguments. * SDK (kvmlib) - Fixed compilation Warning appearing in gcc v8.3.0. * SDK (Documentation) - Moved chapter about silent install to the Windows installation page. - Updated the tutorial for .Net Standard 2.0. * SDK (t): The included t compiler now has version 3.11. - Added support for external trigger input and output to I/O pin API with kvIO_MODULE_TYPE_INTERNAL. - Two new functions for reading multiple pins in the I/O pin API have been introduced: kvIoGetModulePins and kvIoSetModulePins. - New predefined types introduced: kvIoModuleDigital, kvIoModuleAnalog kvIoModuleRelay, kvIoModuleInternal. These are to be used in the new I/O pin API functions: kvIoGetModulePins and kvIoSetModulePins. * J2534 - Added registry key "share canlib channels", which ignores permission errors regarding bitrate settings (for dll backwards compatibility). Must only be used when identical bus settings are used across all shared CANlib channels. - DEVICE_NOT_CONNECTED is now returned by PassThruRead() for CAN protocols if the read queue is empty, and the latest call to canRead() failed. * Added support for new devices: - Kvaser U100 (01173-1) - Kvaser U100P (01174-8) New Features and Fixed Problems in V5.30 (08-OCT-2019) =========================================================================== * Code is now signed with updated sha-2 and sha-1 certificates. New Features and Fixed Problems in V5.29 (Internal release) =========================================================================== * Code is now signed with an updated sha-2 certificate. (The older sha-1 certificate has been dropped.) * Added support for new device: - Kvaser DIN Rail SE410S-X10 (01118-2) * SDK (canlib) - The message data buffer is untouched when reading a remote request frame as identified by the canMSG_RTR flag. - Minor updates to the documentation. * J2534 - Fixed problem with ISO 15765 extended addressing were different send/receive addresses was not working correctly. - Flushing of transmits now include pending transmits in ISO 15765. - Preliminary support for CAN FD -- see J2534 readme for more info. * SDK (kvlclib) - Fixed a bug that, when a frame didn't have any signals in the dbc-file, signal-names from other frames wheren't printed out. - Added API function kvlcEventCountEx, handling the situation where the number of events exceeds the size of an int. * SDK (kvadblib) - Added API function GetLastParseError. Call GetLastParseError to get more information if kvadblib encounters format issues when loading a database from file. - Fixed a bug where non J1939 frames was faulty determined as J1939 frames. - Improved the behaviour when reading certain .dbc files with syntax errors so as not to cause crashes. - Flag KVADB_MESSAGE_J1939 is now set for J1939 frames in call to kvaDbGetMsgFlags. * SDK (t) - The included t compiler now has a -o flag (output path) - It is possible to set the output path when compiling a t-script in TRX * SDK (kvmlib) - Added API functions kvmLogFileGetType. - Added API functions kvmLogFileMountEx and kvmKmeCountEventsEx, handling the situation where the number of events exceeds the size of an int. New Features and Fixed Problems in V5.28 (12-MAY-2019) =========================================================================== * J2534 - Fixed a bug where TX_MSG_TYPE bit and time stamp was not set in RxStatus of loopback message. * SDK (kvlclib) - Fixed a bug that, when converting to .mat format, made the file contain too many signals. * SDK (kvadblib) - Fixed a bug in function kvaDbGetMsgMux. The function erroneously returned kvaDbErr_NoSignal in some cases. New Features and Fixed Problems in V5.27 (03-MAR-2019) =========================================================================== * Driver Installer - Uninstallation from Apps & Features in Windows 10 is now working as intended. * SDK (kvlclib) - Added API function kvlcIsDlcMismatch, kvlcResetDlcMismatch & kvlcGetDlcMismatchList. Call kvlcIsDlcMismatch to find if there are any mismatches between CAN data and db. * J2534 - New version of J2534 Driver. The new single DLL j2534.dll replaces the previous three (kvj2534.dll, kvj2534c.dll, kvj2534i.dll), supporting more of the J2534 options. Read the j2534api-readme.txt for more information. * .NET (kvadblib) - Added functions SetSignalMode, GetSignalMode and GetMsgMux. * SDK (kvadblib) - Added descriptions for error codes -12 and -13 in kvaDbGetErrorText() * Updated support for I/O pin API. * Added support for new device: - Kvaser Memorator Light HS v2 (01058-1) New Features and Fixed Problems in V5.26 (26-NOV-2018) =========================================================================== * Minor changes. * SDK (kvadblib) - Fixed a bug where kvaDbGetFlags() didn't return the KVADB_DATABASE_J1939-flag. - Added function kvaDbGetMsgByPGN(). - Clarified null-terminated strings in documentation. * Fixed a bug with corrupt serial numbers in kcanh.sys. * Tentative support for I/O pin API. * Remote Device Configuration - Fixed a bug when connecting to a free device caused an error to pop-up and a mouse pointer in busy mode. * SDK (kvlclib) - Fixed bug when converting to .mat format set an incorrect creation date * SDK (linlib) - Clarified LIN diagnostic frames in documentation. - linWriteWakeup() parameter check updated. New Features and Fixed Problems in V5.25 (16-SEP-2018) =========================================================================== * kcanl driver now returns canERR_PARAM instead of canERR_HARDWARE when trying to set invalid bus parameters. * Added option to force WiFi pairing tool to use 'HostedNetAp.exe' on Windows 10. * SDK (kvlclib) - Added Vector MDF .log input format. - Added API to access information about reader formats. - Added option KVLC_PROPERTY_FULLY_QUALIFIED_NAMES to enable use of fully qualified signal names when converting log files to output format "selected signals in CSV format". - Added number of data decimals property for csv-format. Default value is 4. * SDK (kvmlib) - Fixed a bug where kvmLogFileReadEvent() returned kvmERR_FILE_ERROR and not kvmEOF after the last event. * SDK (kvadblib) - Added GetDatabaseName to kvadblibCLSNET. - Added function to delete attribute definitions, kvaDbDeleteAttributeDefinition. * SDK (kvrlib) - XML version is now 4.4, added support for new ethercan members. * SDK (canlib) - Fixed bug in kvFileCopyToDevice for 64-bit architectures which resulted in hardware error. * .NET - Added support for canCHANNELDATA_CUST_CHANNEL_NAME * Removed support for WDN and NT4 in drivers. New Features and Fixed Problems in V5.24 (03-JUL-2018) =========================================================================== * SDK (canlib) - Rolled back canOPEN_NO_INIT_ACCESS changes. New Features and Fixed Problems in V5.23 (13-MAY-2018) =========================================================================== * Fixed bug where LIN variants of canCHANNEL_IS_XXX lingered even after the channel later was opened as CAN * SDK (kvmlib) - Fixed a bug in FIFO mode where partially overwritten logfiles containing a pretrigger sometimes got the wrong start date and could not be extracted. * SDK (kvrlib) - A call to kvrConfigVerifyXml will now return kvrERR_XML_VALIDATION if the xml buffer don't complies with both the DTD and internal restrictions. Earlier it returned kvERR_GENERIC. - if a call to kvrConfigVerifyXml results in an error, kvrERR_BUFFER_TOO_SMALL will be returned if the error message is too big for the given buffer. The buffer will contain the truncated error message. Earlier it returned kvERR_GENERIC. * SDK (canlib) - A handle opened with flag canOPEN_NO_INIT_ACCESS will NOT go onbus until another handle on the same channel is onbus. - Cardinal's has been replaced with LongInt's in 'canlib.pas' to match DLL. This update affects functions: canReadSyncSpecific(). - Integer has been replaced with Cardinal's in 'canlib.pas' to match DLL. This update affects functions: kvScriptStatus(). - Cardinal's has been replaced with size_t's in 'canlib.pas' to match DLL. This update affects functions: canGetChannelData(), canGetBusStatistics(), kvAnnounceIdentity(), kvAnnounceIdentityEx(), canGetHandleData(), kvTimeDomainGetData(), kvReadDeviceCustomerData(), kvGetSupportedInterfaceInfo(), kvScriptGetText(). - Added compiled script file (.txe) information retrieval function kvScriptTxeGetData. - canReadTimer is now obsolete. Use kvReadTimer or kvReadTimer64 instead. * SDK (kvadblib) - Added new functions for handling enum-attributes: kvaDbAddAttribute kvaDbDeleteAttribute kvaDbGetAttributeByName kvaDbGetFirstAttribute kvaDbDeleteAttributeDefinitionEnum kvaDbGetAttributeDefinitionEnumFirst kvaDbGetAttributeDefinitionEnumNext kvaDbGetFirstEnumValuePair kvaDbGetNextEnumValuePair - Fixed bugs in kvadblibCLSNET-functions AddSignalAttribute and GetMsgAttributeByName. - 2 nodes can't have the same name. Function kvaDbSetNodeName will return -11 (kvaDbErr_OnlyOneAllowed). - Functions kvaDbGetNextSignal and kvaDbGetFirstSignal now returns kvaDbErr_NoSignal if no signal is present. Earlier they returned kvaDbErr_NoMsg. * SDK (t): The included t compiler now has version 3.8. - Fixed a bug which is triggered by assigning to a symbol defined by a CAN database. * TRX - Improved error handling of not found files. - All open .t-files are now closed when a new project is loaded. - The "Compile, Go Online, Download and Run" sequence are now halted upon error. - Updated device and default channel selector with serial number and custom channel name. - Scanning for new devices by reinitializing Canlib is now controlled by the user via the rescan button. * RP1210 - Fixed bugs in the library which prevented some devices from working. New Features and Fixed Problems in V5.22 (12-FEB-2018) =========================================================================== * SDK (canlib) - Bugfix. Earlier canGetHandleData(canCHANNELDATA_MAX_BITRATE) always returned default max-bitrate. Now it returns current max-bitrate. * SDK (kvlclib) - Added Vector ASCII input format. - Improved Plain ASCII input format. - Added kvlclib.lib to directory Canlib\Lib\Borland. * Added support for new devices: - Kvaser Mini PCI Express 2xHS v2 (01029-1) - Kvaser Mini PCI Express HS v2 (01038-3) - Kvaser Hybrid Pro 2xCAN/LIN (01042-0) - Kvaser Ethercan HS (00976-9) - Kvaser BlackBird Pro HS v2 (00983-7) * SDK (kvadblib): - Added kvaDbRetrieveSignalValuePhys and kvaDbRetrieveSignalValueRaw calls to kvadblib. Their predecessors kvaDbGetSignalValueFloat and kvaDbGetSignalValueInteger are deprecated. - Added kvaDbGetMsgIdEx, kvaDbSetMsgIdEx, kvaDbGetMsgFlags and kvaDbSetMsgFlags calls. Their predecessors kvaDbGetMsgId and kvaDbSetMsgId are deprecated. Message identifiers are separated in these new functions from extended flag, which is currently the only supported message flag. - Added kvaDbGetDatabaseName, kvaDbGetVersion, kvaDbGetErrorText, kvaDbGetNodeComment, kvaDbGetAttributeDefinitionEnumValueByName, kvaDbGetAttributeDefinitionEnumNameByValue, and kvaDbGetSignalMessage calls to kvaDbLib. - kvaDbLib will try to enforce period as decimal separator in file IO. Note that another thread should not try to change application's locale during these operations. - Only one message and only one attribute definition with same name are allowed now in kvaDbLib. - Fixed bug where changing message id in kvadblib would make it impossible to find by that id. - maxMessageDlc for CAN and CANFD protocols now contain correct values (0xF) in kvadblib. - kvaDbLib will now return a new error kvaDbErr_WrongOwner when an attempt is made to add an attribute which conflicts with an attribute definition of the wrong type. - Improved support for storing and retrieving raw values in kvadblib. Now with support for both 32- and 64-bits values. See, the following functions: kvaDbStoreSignalValueRaw kvaDbRetrieveSignalValueRaw kvaDbStoreSignalValueRaw64 kvaDbRetrieveSignalValueRaw64 - Fixed bug in kvadblibCLSNET, where kvaDbGetSignalValueInteger would always return error on signals from messages with dlc > 8. * SDK: - Fixed a bug in kvlclib (introduced in v5.21) that placed values in wrong column by omitting a newline character in .csv file for: + CSV Signal, Selected signals in CSV format, and + CSV CCP/XCP, CCP/XCP calibration in CSV forma - kvrlibCLSNET.dll, modified the DeviceInfo class to fix a bug which could occur in kvrDiscoverySetPassword and kvrDiscoverySetEncryptionKey. * SDK (t): The included t compiler now has version 3.7. - New #include <> syntax which searches a system directory. * Kvaser Remote Device Configuration: - Fixed issues with string conversions in the security tab. - The GUI is now locked during apply. - The apply button is now visible when launching from Kvaser Device Guide. - A check for devices that cannot be configured remotely is performed when launching from Kvaser Device Guide. - Fixed bug when blank passwords for network access won't save properly. User is advised against using blank password as it is equivalent to not using any password at all. * Kvaser Device Guide: - Channel bus parameters will now display LIN mode and master/slave status when appropriate. The device driver needs to be updated for this to work properly. * Customer Data Utility: - Fixed bug where sometimes devices (most often remote devices, e.g Ethercan) would not appear in device list if these devices arrived after program start. - Improved error message with more detailed explanation, when programming of device with new data fails. - Added an option to erase Customer Data with filo_setparam_userdata.exe and hydra_setparam_userdata.exe. * TRX: - TRX is now using Kvaser Database Editor 3 (with CAN FD support) as default. - The registry is now cleaned upon uninstall. * J2534: Fixed a bug where list of devices would not be updated throughout process lifetime. * Virtual driver now allows to use up to 16 virtual buses. * Kvaser Wi-Fi Pairing Tool - A new tool intended to connect (pair) a PC with a wireless Kvaser device without the use of an external wireless access point in a quick and simple manner. Accessible via right-clicking in the device tree in Kvaser Device Guide. New Features and Fixed Problems in V5.21 (13-SEP-2017) =========================================================================== * Added support for Kvaser Hybrid 2xCAN/LIN (00965-3). * Fixed a bug, where a crash could occur when multiple versions of canlib library were loaded by same process. * Kvaser Device Guide: - Added possibility to set a device Cust. Channel Name from the context menu. Note that CANlib SDK needs to be installed. - Fixed a bug, where a crash could occur when cut-n-pasting. - Only one running instance allowed. * Fixed a bug when reopening envvars. * SDK: - Fixed date in header of Vector ASCII generated by kvlclib. - Added timezone property for kvlclib (affects headers and calendar timestamps). - Added extended bit to CAN identifiers in MDF4.1 generated by kvlclib. - Added start date in Vector BLF format generated by kvlclib. - Logger configurations can now contain more than one external trigger, i.e. trigger on both rising and falling edge. Will only work with firmware 3.7 or better. * SDK (t): The included t compiler now has version 3.6. Note: Requires firmware v3.7 or higher. - Added function loggerSetPretrigger. - Added flag canFDMSG_SINGLE_SHOT. New Features and Fixed Problems in V5.20 (05-MAY-2017) =========================================================================== * Tentative support for Kvaser Hybrid 2xCAN/LIN (00965-3). * Added canCHANNELDATA_HW_STATUS and canCHANNELDATA_FEATURE_EAN for internal use. * kvFileCopyFromDevice() no longer creates empty file on computer when filename is missing on the device. * Fixed bug where reboot would be required after older driver package uninstall. * Fixed bug where devnode would not be updated with new information after driver reinstall. * Fixed bug where remote devices would be unable to reconnect if TCP connection is closed because of failed retransmissions. * Corrected resource rebalancing in kcanf driver. * Kvaser Device Guide: Added Licenses in detailed listview. * SDK: - Added .NET sample for kvlclib - Improved error message when trying to open a nonexisting file via kvmlib. - Replaced char, long and BOOL types with their fixed width counterparts in kvmlib, where possible, for portability. - Updated generation of help files (Doxygen). - Fixed a bug in kvlclib which could potentially cause a crash in the Vector ASCII converter. * Kvaser Network Device Selector: Fixed "Connect to web server" link. New Features and Fixed Problems in V5.19 (15-FEB-2017) =========================================================================== * In Linux, the reported frame-id in the callback for canSetNotify is now correct when using extended-id. * In Linux, the reported event in the the callback for canSetNotify is now correct. * Kvaser Device Guide, the successor of Kvaser Hardware, is now included with Kvaser Drivers. Kvaser Device Guide replaces Kvaser Hardware, but the Kvaser Hardware executable is also included in the Kvaser Drivers installation (defaults to C:\Program Files\Kvaser\Drivers\32\kvaserhardware.exe). * TRX: - Fixed a bug when editor would not show an attached device in the combobox. * LinLIB: - Added new API call, linUnloadLibrary() * SDK: - Added new file conversion library, kvlclib.dll. - Increased number of kvLED_ACTION_LED_xxx defines for devices with up to twelve LEDs. - Fixed a bug in kvaMemoLibXML where it was only possible to specify one value in the comma separated list "msg_field". - kvmlib: kvmKmfOpen() and kvmKmfOpenEx() now returns INVALID_HANDLE_VALUE on all failures (instead of a valid handle that needed closing). * SDK(t programming): - Timer queue is abolished. Should two timers expire at the same time, they are handled at the same time too. - Added a sample implementing ISO15765. * .NET - Added a new wrapper, kvlclibCLSNET, for file conversion. - Added support for CAN FD in kvmlibCLSNET. - Fixed bug in kvmlibCLSNET: KmeWriteEvent allways returned error status ERR_NOLOGMESSAGE. New Features and Fixed Problems in V5.18 (Internal release) =========================================================================== * Minor changes. New Features and Fixed Problems in V5.17 (15-SEP-2016) =========================================================================== * Added Magisync synchronization between devices that use different drivers. * Added Single shot functionality. * Added canCHANNELDATA_CUST_CHANNEL_NAME to read customer channel name from device for kcanf, kcanl, kcanlr, kcany and kcanyr. * Fixed problems that could cause "Kvaser Remote Device Configuration" to hang or crash. * Fixed potential kernel integrity and security issues. * Improved handling of invalid parameters. * Moved the canlib python wrapper to a separate module. * SDK: - Added canAccept() and canSetAcceptanceFilter() to Python sample. - Python samples are now bundled into a Python module, install using pip. - Samples and documentation now explicitly use canHandle and canStatus instead of int, as this is the formal way to do it. - LongInt's has been replaced with Cardinal's in 'canlib.pas' to match DLL. This update affects functions; canReadStatus(), canWriteSync(), canRead(), canReadWait(), canReadSpecific(), canReadSync(), canReadSyncSpecific() and canReadSpecificSkip() in Delphi projects. - Added kvmKmeScanFileType() * SDK (t): The included t compiler now has version 3.5. - Array dimension ('.count') is now qualified as constant. - Updated LED constants. * J2534: Fixed a bug where sending large amount of data would lead to episodic delays between transmits. * Added some new items to canGetChannelData() * Added new capabilities to item canCHANNELDATA_CHANNEL_CAP in function canGetChannelData(). * TRX: - Fixed bug when search/find doesn't work in txe inspector. New Features and Fixed Problems in V5.16 (22-MAY-2016) =========================================================================== * Fixed a bug in canRequestBusStatistics(), which caused a crash, when bitrate was set to zero. * Added canCHANNELDATA_CHANNEL_CAP_MASK to read which capabilities are confirmed dynamically by device. * SDK: - kvmlib: Added function kvmGetVersion() - kvmlib: Extended kvmKmfReadConfig() and kvmKmfWriteConfig() to be able to access an SD card in a disk drive - kvaDbLib: Added API functions to add, set and get signal enumeration values. - kvaDbLib: Added 64 bit version of kvaDbLib.lib - Corrected size of struct s_vcan_ioctl_channel_info. In version 5.14 the size had increased with 4 bytes. * Fixed a bug (introduced in V5.14) that prevented Blackbird Semipro's from being able to connect remotely. * Fixed a bug in Kvaser Network Device Selector where the IP address of host connected to device was not shown correctly. * Windows and Linux mixup in the documentation has been fixed. New Features and Fixed Problems in V5.15 (07-MAR-2016) =========================================================================== * Code is now signed with sha-2 certificates, as well as sha-1 certificates to maintain compatibility. New Features and Fixed Problems in V5.14 (01-MAR-2016) =========================================================================== * Added support for new devices: - Kvaser Memorator Pro 2xHS v2 (00819-9) - Kvaser PCIEcan 2xHS v2 (00861-8) - Kvaser PCIEcan HS v2 (00866-3) - Kvaser Leaf Light HS v2 M12 (00881-6) * SDK: - kvmlib: fixed bug in kvmLogFileDeleteAll which prevented deletion of log files on connected SD cards using LIO data format v5. - kvmlib: added kvmKmfOpenEx() function. - Restructured and improved samples. Added tutorials as well as several new samples. Added a Java sample wrapper. - kvaDbLib: Fixed a bug which could cause a crash when adding certain databases. * SDK (t): The included t compiler has version 3.4. - Added database support for CAN FD messages. Note: Requires firmware v3.1 or higher. * .NET - Fixed bug in .NET wrapper fw40\kvmlibCLSNET where calling kvSetNotifyCallback twice sometimes generated an exception. - kvadbCLSNET, added API to work with attributes. * TRX: - Fixed bug where unmodified files were saved before compilation. - Fixed bug where 'Editor' page in Preferences dialog was inaccessible. - Changed name of 'Editor' page in Preferences dialog to 'IDE Settings'. New Features and Fixed Problems in V5.13 (15-DEC-2015) =========================================================================== * Kvaser Memorator Pro 5xHS (00778-9) now has CAN FD support in logger mode. Note: Requires firmware v3.0 or higher. * Fixed a bug where extended (29-bit) id's incorrectly also had the canFDMSG_FDF flag set. * Fixed a bug in canFlushTransmitQueue() for Kvaser PCIEcan 4xHS. * Fixed a bug in canRead() that sometimes returned CAN FD flags for CAN messages. * Updated mhydraformat.exe to support new CAN FD capable binary- and KMF-formats. * Windows 10 (32- and 64-bits) are now supported. * SDK: - kvaDbLib: added API functions to add, set and get attribute definitions. - Updated the default CAN FD bitrates. - canFDMSG_EDL is now obsolete and replaced by canFDMSG_FDF - Added new binary data format KME50 to kvmlib. * SDK (t): The included t compiler has version 3.3. - Initial support for CAN FD messages. Note: To compile t programs with CAN FD functionality, t compiler v3.3 or higher is required. Additionally, to run t programs with CAN FD functionality, firmware v3.0 or higher is required. * TRX: - Updated to support t programs with CAN FD functionality. - Added syntax coloring to t functions where this had been omitted. New Features and Fixed Problems in V5.12 (21-SEP-2015) =========================================================================== * Added support for new devices: - Kvaser USBcan Light 4xHS (00831-1) - Kvaser Leaf Pro HS v2 (00843-4) - Kvaser USBcan Pro 2xHS v2 (00752-9) * CAN FD support (interface mode) for: - Kvaser Memorator Pro 5xHS (00778-9) - Kvaser USBcan Pro 5xHS (00779-6) - Kvaser Leaf Pro HS v2 (00843-4) - Kvaser USBcan Pro 2xHS v2 (00752-9) * Kvaser PCIEcan 4xHS requires firmware 2.0.1 or higher. * kvrlib.dll: - Added function kvrDiscoveryStartEx() to allow skipping of stored devices. - XML now supports roaming settings. * RemoteConfig: Added a possibility of providing roaming settings in configuration tab. * Sampling points of default CAN bitrates are now 75% instead of 62.5% if not stated otherwise. * Added more default canFD bitrates. * Fixed a bug regarding enumeration of devices in the Kvaser Network Device Selector. * Kvaser USBcan Light 2xHS now accepts Customer Data. * Fault confinement for canFD products now indicates bus off correctly. * SDK: - kvaDbLib, added API to check if a signal contains a specific receiving node. - kvaDbLib, added API to get and set sending node for messages. - kvaDBLib, added API to get and set bus protocol. - kvaDbLib, added API to translate dlc to and from number of bytes. - kvmlib, added kvmLogFileGetEndTime() function. - Added .NET wrapper fw40\kvmlibCLSNET, for use with kvmlib found in canlibSDK. - Kvaser TRX, added help file, moved subscription to debug messages to preferences. - Python wrapper sample now includes environment variables and improved documentation. - Python wrapper updated to Python3 syntax. - Added Specification of Kvaser Memorator Device configuration XML format document. - kvaMemoLibXML, added documentation. - canlib32NET.dll is discontinued. New Features and Fixed Problems in V5.11 (21-MAY-2015) =========================================================================== * Implemented canOPEN_CAN_FD_NONISO flag to open a channel in non-ISO canFD mode. Added canCHANNEL_CAP_CAN_FD_NONISO capability for devices that can be opened in non-ISO canFD mode. * SDK: - kvaDbLib, added API to read node names. * Fixed bug where executions over long periods of time would make reading of clock fail. New Features and Fixed Problems in V5.10 (Internal release) =========================================================================== * Support for Kvaser PCIEcan 4xHS. * Implemented canCHANNELDATA_CHANNEL_FLAGS item in canGetChannelData() function. * Implemented canGetHandleData() function. * Implemented canCHANNELDATA_MAX_BITRATE to read device's default bitrate limit. Uses canIOCTL_SET_BRLIMIT to override device's limit on bitrate with user chosen value. * Fixed bug where device could disappear from Kvaser Hardware List after system hibernation. * Tentative support for CAN-FD. * TRX: Fixed bug, where relative paths would be wrongly interpreted if project files were located on a different drive letter. New Features and Fixed Problems in V5.9 (17-MAR-2015) =========================================================================== * SDK: - Added kvmlib for use with Kvaser Memorator (2nd generation) devices. - Updated python sample wrapper. * Reduced a long delay that occurred between accepting two commands in Network Enumeration Service under Windows XP * Fixed round-off error for too large unsigned signal values in kvaDbLib. New Features and Fixed Problems in V5.8 (02-FEB-2015) =========================================================================== * Support for Kvaser Memorator Pro 5xHS (00778-9). * Tentative support for Kvaser USBcan Pro 5xHS (00779-6). * Renamed canIOCTL_GET/SET_USB_THROTTLE_SCALED to canIOCTL_GET/SET_THROTTLE_SCALED. Added support for canIOCTL_GET/SET_THROTTLE_SCALED to kcany and kcanyr drivers (for devices that accept the commands). * SDK: - Added support for more CANlib functions in python sample wrapper. - Added support to load/unload/start/stop scripts using Canlib wrapper sample. - kvaDbLib, added APIs to read and set attributes for messages, signals and nodes. - Added kvmlib that supports Kvaser Memorator (2nd generation). - Added kvaMemoLibXml that supports Kvaser Memorator (2nd generation). New Features and Fixed Problems in V5.7 (28-SEP-2014) =========================================================================== * Excluded driver for COTI (CANopen Testing Interface). * Added support for canIOCTL_TX_INTERVAL in kcany driver. * Minimized timeout when the device responds that command is not supported in kcany driver. New Features and Fixed Problems in V5.6 (25-JUN-2014) =========================================================================== * Fixed a problem where firmware update utility would refuse to run for very old firmware versions of Kvaser Eagle and Blackbird v2. * Fixed bug in .NET wrapper fw40\canlibCLSNET, member function kvSetNotifyCallback updated. New Features and Fixed Problems in V5.5 (18-JUN-2014) =========================================================================== * "Kvaser Remote Device Configuration" is built using a newer version of Delphi. * Fixed a problem where firmware update could randomly fail for Kvaser Eagle, Ethercan Light and Blackbird v2. New Features and Fixed Problems in V5.4 (07-APR-2014) =========================================================================== * Fixed problem in the flash updating program for Kvaser Leaf, Memorator Pro, Eagle, and others. Reprogramming is now much faster. * Fixed problem that caused Kvaser TRX to hang. New Features and Fixed Problems in V5.3 (20-MAR-2014) =========================================================================== * Support for Kvaser USBcan Light 2xHS (00714-7) * Support for Kvaser Mini PCI Express 2xHS (00743-7) * Support for Kvaser Ethercan Light HS (00713-0) * Support for Kvaser Leaf Light HS v2 OEM (00735-2) * Added "Ethercan" as a new product family in the Kvaser Remote Device Configuration XML Format. * Added samples for the REST API (Android and javascript). * SDK (t): The included t compiler has version 3.2. - Enhanced error messages are generated in certain cases, - Declaration of several environmental variables of same type in one line is allowed, - Redeclaration of functions after their definition is now allowed. * SDK (.NET): Improved Intellisense help for .NET wrapper - Fixed keeping reference to the notify callback delegate in .NET canlib wrapper. * TRX: Project uses relative paths to source files. - GUI improvements. - Updated autocomplete logic. - Added more settings to preferences. - Check for unsaved files. * Python samples: Added new samples in Samples\Python - RESTAPI sample (REST\rest.py) - Canlib wrapper sample (canlib.py) * The following 64-bit dll:s are now installed in the driver installation folder. (Uses 32-bit registry view for remote devices.) - irisdll.dll, irisflash.dll, kvrlib.dll and libxml2.dll. * kvrlib.dll: Corrected kvrConfigOpen when cardnumber is above 10. * Blackbird and Ethercan configuration: Renamed IrisNetworkSetup.exe to remoteselect.exe and RadioSetParam.exe to remoteconfig.exe. Also updated GUI. * Blackbird configuration: Fixed a bug where setting Pairwise Encryption different from Group Encryption would fail in Kvaser Remote Device Configuration. This would happen in some "WPA mixed mode" configurations. * Blackbird and Ethercan: Allow firmware update and configuration of remote devices (earlier software only allowed for this if the device was connected via USB) * Improved firmware download speed for devices using driver kcany or kcanyr (needs updated firmware). * Remote devices will reconnect properly after being configured or power cycled. * Stability improvements in Network Enumeration Service. * Kvaser Hardware: "Minimize to Tray" is removed as it caused confusion sometimes. * Reboot is no longer required when installing drivers after a complete uninstall. New Features and Fixed Problems in V5.2 (24-SEP-2013) =========================================================================== * Kvaser TRX, a lightweight IDE for developing t programs for Kvaser Eagle, is now included in the SDK. * The key used to sign the drivers has been updated. * Finalized support for USBcan Pro HS/K-Line, Mini PCI Express and BlackBird v2 * Added new setting in registry, HKLM\SYSTEM\CurrentControlSet\Services\KvEnumSrv\ Parameters\DriveThreadConnectionTimeout. This, together with already existing registry keys, makes it possible to increase the timeout before a remote device is removed from Kvaser Hardware. For example, to set the delay to 3 min, set the following values: DriverThreadConnectionTimeout: 180000 HeartbeatTimeout: 180000 ConnectionDownTimeout: 150000 ConnectionRestartRetries: 8 (Retries will be made with 20s intervals) * SDK (t): The included t compiler has version 3.1. - Fixed problem with user generated encryption keys which caused improper decryption of txe code in Eagle. - Corrected sending of extended messages when using database in t programs. - Fixed compiler crash when include depth was too high. - Fixed a bug with debug printouts from t programs when restarting a device with an open handle. - Added sample saveCan.t which saves CAN messages to SD-card using the built-in serialization. * RadioSetParam: Corrected display of hostname for BlackBird. Also corrected update handling of hostname in BlackBird. * RadioSetParam: Corrected display of Signal Strength greater than -20. New Features and Fixed Problems in V5.1 (Release 21-MAY-2013) ====================================================================== * Device driver for Eagle can now query script status using the new API kvScriptStatus(). * The driver uninstaller will now remove J2534 registry keys. * Minor updates to documentation. New Features and Fixed Problems in V5.0 (Release 04-MAR-2013) ====================================================================== * t: The included t compiler has version 3.0, see "The Kvaser t Programming Language" for details. * Errorcode canERR_SCRIPT_WRONG_VERSION is now returned when a script compiled with wrong version of compiler is loaded. * Added tentative support for USBcan Pro HS/K-Line, MiniPCIe and Blackbird v2 * Minor updates in Kvaser BlackBird Help files * Fixed GUI representation of active key in WEP. * canHWTYPE_BAGEL is now deprecated, use canHWTYPE_EAGLE instead. * Device drivers kcana.sys, kcanc.sys, kcand.sys and kcanp.sys are no longer included because the corresponding hardware is obsolete. This affects PCcan (ISA bus) and USBcan (the first version from ca. year 2002, P/N 00135-0 and 00134-3). Use CANLIB 4.9 for these devices. * Installer (kvaser_drivers_setup.exe) can now exit with code 100, this means that "The virtual CAN driver, and/or the network enumerator driver, failed to start. You should restart the computer and run the installation again." The usage for this is in silent mode where you e.g. do the following in a script: [c:\] type run_installer.bat @echo off kvaser_drivers_setup.exe /S echo 'kvaser_drivers_setup.exe /S' returned %ERRORLEVEL% * Changes and corrections to J2534: * J2534 "raw CAN" traffic now runs more than three times as fast as earlier releases. * Fixed issue where the J2534 was not properly registered during installation under 64-bit Windows. * Fixed an issue where running two instances of J2534 could result in an unhandled exception. * J2534 will now accept opening virtual channels (under ISO11898 and ISO15765) when the registry key HKLM\PassThruSupport.04.04\Kvaser CAN\canOPEN_ACCEPT_VIRTUAL is set to non-zero. * J2534_ERR_DEVICE_NOT_CONNECTED will now be returned if the device is removed during use under ISO11898 or ISO15765. * J2534 fixed bug related to periodic messages, dll could crash when stopping periodic message. (Expanded the critical section inorder to protect data and pointer) * Updated .NET CLS with missing defines for canIOCTL_xxx and canCHANNELDATA_xxx. * Updated .NET CLS v1.1 to match functionality of .NET CLS v4.0. * Added vs2005 NET samples. New Features and Fixed Problems in V4.10 (Release 22-JAN-2013) ====================================================================== * Version 4.10 was released only to an OEM customer. * kvrLib: * Fixed bug in kvrWlanGetSecurityText, when passing security_string_size greater than 256. * Default hostname no longer includes '_'. * Old devices needs to be reconfigured with new hostname. * XML version stamp corrected to 4.3 * SDK: * canlibCLSNET.dll for Framework 4.0 - Updated with more functions * Added .NET CLS compliant wrappers for kvrlib and kvaDbLib and kvmlib. * Added .NET samples Cs_kvrConnect, Cs_kvrConfig and DBdump. * Added information on DLL dependencies in Kvaser CANLIB documentation. * t: * The included t compiler has version 2.1, see "The Kvaser t Programming Language" for details. * Local static variables are now correctly initialized. * Added histogram sample that record data into histogram. * Improved syntax check and error handling in compiler. * Tutil now reports all script errors in listen mode. * Added support to read Customer Data and included a sample. * Support added for Customer Data in Eagle. * Improved printout in Kvaser Customer Data Utility * Added canIOCTL_TX_INTERVAL (for supported interfaces) to force delays between successive transmits on the CAN bus. * Implemented canIOCTL_GET_TXACK * Added canIOCTL_SET_USB_THROTTLE_SCALED and canIOCTL_GET_USB_THROTTLE_SCALED * Added sanity check to kcans to prevent BSOD on failing hardware in production * Added canCHANNELDATA_REMOTE_MAC and canCHANNELDATA_REMOTE_HOST_NAME to read MAC address and host name of remote capable devices. New Features and Fixed Problems in V4.9 (Release 07-SEP-2012) ====================================================================== * kvrlib: Fixed read-out problem when access password length was 28-31 characters. * canCHANNELDATA_DEVNAME_ASCII will now return a value for all USB connected devices that supports it. * Fixed Object Buffer(Auto Transmit) function for Kvaser Eagle, needs Kvaser Eagle firmware v1.4. * Added CAN traffic encryption configuration to Kvaser Network Device Selector * kvrlib: Fixed reporting of mac in kvrWlanGetScanResults for ssid longer than 18 characters * Improved restart device procedure after writing parameters from Kvaser Wireless Configuration on slow machines. * Several bug fixes in the RP1210 driver. * kvReadDeviceCustomerData() can now handle USBcan Professional too. * Various documentation corrections. * kvrlib: Added functions kvrHostName() and kvrNetworkGetHostName() * Added support for HostName to Kvaser Network Device Selector and Kvaser Wireless Configuration New Features and Fixed Problems in V4.8 (Release 25-MAY-2012) ====================================================================== * Improved the uninstall behaviour of the Kvaser Network Enumerator Service. * Memory leak for remote devices plugged. * CANlib now supports 64 channels. * Changes and corrections to kvrlib: * The device configuration uses XML format version 4.2, see "Specification of the Kvaser BlackBird XML Format" for details. * MTU setting via XML configuration file enabled. * Corrected rx/tx rate reporting in kvrNetworkGetConnectionStatus(). * Added _ERR_ENCRYPTION_PWD as remote device status code. * Added support for configuration profiles in future products. * Added APIs kvrDiscoveryClearDevicesAtExit, kvrConfigInfoGet. * Kvaser Wireless Configuration and Kvaser Network Device Selector now uses kvrlib internally. * canGetChannelData/REMOTE_OPERATIONAL_MODE returns _NONE for non-remote devices. * Added Kvaser Customer Data Utility. * Improved arithmetic precision when reading FP values from .dbc files. * Various improvements and bug fixes in the RP1210 and J2534 libraries. * Various documentation improvements. New Features and Fixed Problems in V4.7 (Release 26-JAN-2012) ====================================================================== * Added possibility to read operational mode (infrastructure/adhoc) for remote capable devices. * The driver now requires firmware version 1.2 or later for Kvaser Eagle. Older firmware will not work except for upgrading the firmware. * Fixed that the service could under a certain circumstance leave an inactive remote driver loaded. * Several changes and corrections to kvrlib: * The device configuration uses XML format version 4.1, see "Specification of the Kvaser BlackBird XML Format" for details. * Hostname is no longer printed as an XML comment. * Device access password is only saved in protected and private mode. * Device access password can contain xml entities. * Maximum SSID length increased from 31 to 32 characters. * Added kvrServiceState_INSTALLING that informs that a driver is being installed. * The driver installer now includes the J2534-1 DLLs that were previously distributed with the SDK only. There is also an option of registering the J2534 driver at installation time. * The driver installer now groups the software in four sections, one of which (the one containing the driver files) is mandatory and the other are optional. We recommend that you use the default choices when installing the drivers. * The driver installer supports a command-line switch /DISABLE=section[,section] which can be used to turn off installation of optional sections. Currently the following sections are defined: GUI, STARTMENU, J2534. You can also specify ALL to disable installation of all optional sections. * kvaDbLib: added APIs kvaDbAddNode, kvaDbDeleteNode, kvaDbSetNodeName, kvaDbSetNodeComment, kvaDbAddReceiveNodeToSignal, kvaDbRemoveReceiveNodeFromSignal New Features and Fixed Problems in V4.6a (Release 20-OCT-2011) ====================================================================== * kvaDbLib: fixed bug introduced in 4.6 where all extended identifiers in the database were unreadable. * Several changes and corrections to kvrlib: * The device configuration uses XML format version 3.0, see "Specification of the Kvaser BlackBird XML Format" for details. * Corrected active WEP key numbering from 0-3 to 1-4 in XML. * The device access password is no longer encrypted in the XML file. * All WEP keys are now accessible from the API. * Use entitys like < to encode and decode XML file. * Improved textual description of kvrERR_PASSWORD. * Duplicated devices not allowed in the list of configured devices. * Fixed multiple kvrGetErrorText() bugs. * Removed canUninitializeLibrary() from kvrConfigOpen(). * setparam_oem.exe: Added firmware version check. Fixed a bug where version number was checked on wrong device. * Kvaser Wireless Configuration: Set the correct key length for WEP64 and WEP128. New Features and Fixed Problems in V4.6 (Release 16-SEP-2011) ====================================================================== * Support for Kvaser Eagle (00567-9) * Support for Kvaser BlackBird SemiPro HS with OBDII connector (00629-4). * kvScriptRequestText() and kvScriptGetText() replaced kvDeviceMessagesSubscription() and kvDeviceMessagesRead(). * Max number of connected devices in service is now 32. * Added kvScriptUnload(). * SDK: The included t compiler has version 2.0, see "The Kvaser t Programming Language" for details. * J2534 driver: Implemented "Mixed mode" as per J2534-2. * J2534 driver: Fixed problem where messages with extended identifiers were not correctly reported. * J2534 driver: Sometimes, when stopping a periodic CAN transmission, a corrupt message would be written to a buffer causing further transmission to stop. * J2534 driver: Fixed bug where segmented messages could only be sent if they matched the first flow control filter. * J2534 driver: Fixed bug where transmission of both standard and extended ids were possible although only one of them were selected. * J2534 driver: It's no longer possible to send segmented periodic messages, which the standard prohibits. * J2534 driver: Fixed crash when too long periodic messages were sent. * J2534 driver: Fixed bug where the reception of an iso15765 message with fewer data bytes than 8 caused the ISO15765_PADDDING_ERROR to be reported in a separate message. Now it's set in the received message instead. * kvrlib: Changed size of kvrDeviceInfo struct in kvrlib.h. * kvrlib: Added CAN traffic encryption if requested by remote device (Kvaser BlackBird). This is configured in the device via XML settings and the password is also set in kvrlib via kvrDiscoverySetEncryptionKey(). * kvrlib: The device configuration uses XML format version 2.0, see "Specification of the Kvaser BlackBird XML Format" for details. * kvrlib: Renamed kvrAddressType_[ALL|BROADCAST|STORED] to kvrAddressTypeFlag_XXX. * kvrlib: Added functions for handling the service; kvrServiceQuery(), kvrServiceStart(), kvrServiceStop(). New Features and Fixed Problems in V4.5a (Release 05-JUL-2011) ====================================================================== * Fixed problem with installer that caused the kvenumsrv service install to fail randomly. * New APIs kvScriptUnload, kvFileGetName and kvFileGetCount. * kvrlib: Improved documentation of APIs kvrDiscoveryStart and kvrDeviceInfo. * kvrlib: Fixed various problems when doing consecutive device discoverys. * kvrlib: Fixed bug where the kvenumsrv hang in state "STARTING". * kvrlib: Fixed problem where kvrDiscoveryClose returned kvrERR_NOT_IMPLEMENTED. * kvrlib: Fixed problem where kvrDiscoverySetAddresses crashed if called twice. * kvrlib: kvrUnloadLibrary now cleans up better. New Features and Fixed Problems in V4.5 (Release 02-MAY-2011) ====================================================================== * Added new ioctls for diagnostics of remote devices; canIOCTL_GET_BUS_TYPE, canIOCTL_GET_CHANNEL_QUALITY, canIOCTL_GET_ROUNDTRIP_TIME and canIOCTL_GET_TIME_SINCE_LAST_SEEN. These are also availible in canGetChanneldata(); canCHANNELDATA_BUS_TYPE, canCHANNELDATA_CHANNEL_QUALITY, canCHANNELDATA_ROUNDTRIP_TIME and canCHANNELDATA_TIME_SINCE_LAST_SEEN * Added ioctl and canGetChannelData() to read device name from a remote device; canIOCTL_GET_DEVNAME_ASCII and canCHANNELDATA_DEVNAME_ASCII. * Added functions for active ping; kvPingRequest() and kvPingGetLatest(). * Added support for remote BlackBird in 64 bit executables. * Added support for extended BlackBird connection status (i.e. wrong password) in Kvaser Hardware. * Fixed problem where installed DLLs and other system files got an overly restrictive ACL, thus preventing unprivileged users to use the CAN drivers. This happened when running the installation package on a machine where the drivers were already installed, without uninstalling them first. * Added WM__CANLIB style notification on buson/off change, when the physical channel is taken on/off bus. * SDK: Documentation facelift. * Support libraries for Microsoft .NET framework didn't make it into this release but we expect to make them available on the web site later in May 2011. New Features and Fixed Problems in V4.4 (Release 20-JAN-2011) ====================================================================== * Added support for 00581-5 Kvaser Memorator Professional CB * Added two new ioctls, canIOCTL_SET_ERROR_FRAMES_REPORTING and canIOCTL_SET_LOCAL_TXECHO. * "Resource filtering" for lapcan is no longer the default. This facilitates installation on e.g. Dell E6410 laptops where the driver wouldn't find free I/O space or other resources. * Improvements in the driver for COTI (CANopen Testing Interface). Fixed Problems in V4.3a (Release 2-MAR-2011) ====================================================================== * Fixed problem where installed DLLs and other system files got an overly restrictive ACL, thus preventing unprivileged users to use the CAN drivers. This happened when running the installation package on a machine where the drivers were already installed, without uninstalling them first. New Features and Fixed Problems in V4.3 (Release 25-NOV-2010) ====================================================================== * Tentative support for Kvaser Eagle. Details may still change. * Support for Kvaser Memorator R SemiPro and Kvaser USBcan R. * A library for reading CANdb files is included. See the sample code in Samples\candb. API documentation is in the CANLIB help file. * A driver for COTI (CANopen Testing Interface) is included. See http://www.can-cia.de/index.php?id=conformance for more information. * 64-bit versions of linlib.dll and j1587lib.dll are included. * Users of Dell Latitude 6410 laptops together with LAPcan might need to run PcmciaIrqRouteToPciController.reg and lapcan_resource_filter.js. * Fixed a bug where canReadSpecific would leave a "ghost message" in the queue. Further calls to canRead would return canERR_NOMSG but when reading the queue level, 1 would be returned. * canlibCLSNET.dll: when using canIoCtl to get the EAN number, the DLL now returns an unsigned 64-bit integer that contains the EAN, BCD-coded in a hex string. Earlier version always returned an error code. * filo_setparam_userdata.exe: Fixed hex number parsing bug for the -data argument. * kcanl.sys: Fixed missing "break" that would cause the autotransmit buffers to misbehave if the user parameters were read. New Features and Fixed Problems in V4.2 (Release 15-OCT-2009) ====================================================================== * This driver version is needed to use Kvaser Memorator Light. * linlib.dll now exports the linGetCanHandle, linSetupIllegalMessage and linSetupLIN APIs properly (without "name mangling") New Features and Fixed Problems in V4.1a (Release 1-JUN-2009) ====================================================================== * IMPORTANT for Kvaser Blackbird setup program: In this release changes were made that will require at least firmware 1.9.950. Older Blackbird firmware will not work. Also note that old configurations can not be read into the setup program. You must recreate the configurations. * Kvaser Blackbird setup program: New channel selection user interface. The "automatic" choice is now replaced by "Search all channels". * Kvaser Blackbird setup program: Added China as a regulatory domain. * Kvaser BlackBird: communication protocol slightly changed to improve both latency and throughput. * (General) Fixed bug where the value returned by canIOCTL_GET_TIMER_SCALE was wrong unless it was first set by a call to canIOCTL_SET_TIMER_SCALE. (#1693) * (General) Fixed problem where the length of the outstanding transmit queue was incorrectly calculated, causing an overflow after sending more than 10240 messages without calling any other API than canWrite. (#1380) * Support for OEM products 00527-3, 00536-5 and 00541-9. New Features and Fixed Problems in V4.1 (Release 5-MAR-2009) ====================================================================== * Support for Kvaser Memorator Light and several new Kvaser Leaf types. * Kvaser Blackbird: The setup tool now allows for using WPA2 when connecting to access points configured for both WPA and WPA2. New Features and Fixed Problems in V4.0e (Release 14-NOV-2008) ====================================================================== * All PCI boards: Fixed a problem that prevented computer shutdown at certain occasion. The computer would just ignore shutdown, hang, or even crash during a regular system shutdown. New Features and Fixed Problems in V4.0d (Release 4-SEP-2008) ====================================================================== * Fixed a problem where the channel assignments (for Vector CANalyzer) were not writable from Kvaser Hardware. * Fixed problem with registry protection on certain keys in 64-bit Vista. This caused problems with the proxy driver that Kvaser BlackBird uses. New Features and Fixed Problems in V4.0c (Release 8-JUL-2008) ====================================================================== * Compared to 4.0b, this release contains no changes visible to the end users - only changes to certain manufacturing software are made. New Features and Fixed Problems in V4.0b (Release 27-MAY-2008) ====================================================================== * Kvaser BlackBird support: Fixed a problem with Kvaser Network Setup and the enumeration service (used for Kvaser BlackBird) where a registry key sometimes got a too restrictive protection. This caused the Network Setup to fail updating the list of BlackBirds on the network and that would prohibit connections from the service to the BlackBird. * Kvaser BlackBird support: Kvaser Network Setup will now issue an error message if the registry keys we just mentioned cannot be written. * canlib32.dll: Added a missing DeleteCriticalSection when the DLL unloads to balance the InitCriticalSection which is called when the DLL initializes. * RP1210 support: Added GetLastErrorMsg and ReadDetailedVersion calls. Added BlackBird support. * canlib32NET.dll, canlibCLSNET.dll: Added a strong name to the assembly. * Kvaser BlackBird support: the parameter setter program now allows access to the built-in web server to be configured. New Features and Fixed Problems in V4.0a (Release 20-APR-2008) ====================================================================== * Added support for Kvaser BlackBird. * Fixed bug in canWaitForEvent that happened in 64-bit Windows only, although it was probably present also in Win32 * J2534 library: 1. Implemented timestamps for TxDone-indications. 2. Implemented ExtraDataIndex for all messages and indications. 3. Return correct value of read messages when reading fails. * SDK: Added J1699/3 test application from Sourceforge; see samples/J1699 Added a fix in VerifyBatteryVoltage so it can handle the case when READ_VBATT isn't supported. * Restored support for PCIcan/PCIcanx with Kone transceivers. New Features and Fixed Problems in V4.0 (Release 2-FEB-2008) ====================================================================== * Kvaser Leaf, OEM versions: Fixed a BSOD in the driver when a certain third party software (for whiteboards) was installed on the same machine. * SDK: Several small documentation improvements * RP1210: Support for changing the baud rate on the ClientConnect call. * RP1210: Added the ability to remove the "Serial=" in the DeviceParams line of a Device Block. If a serial number is not provided in this line, the first channel that matches the hardware type and the required "Chan=" value is assigned to the device id. * RP1210: Added the ability to define a baud rate on the DeviceParams line of the Device Block. This allows legacy rp1210A code to use a baud rate other than 250. * RP1210: Updated the INI file to have comments and match the latest RP1210B specification. * For RP1210B please note: ReadDetailedVersion(), GetLastErrorMsg(), Set Broadcast List command are yet not supported * J1587: The library functions j1587WriteMessageWait() and j1587ReadMessageWait() are rewritten to avoid losing incomming messages on a channel used for both reading and writing. * The J1587 library has a new implementation that is more robust and should eliminate the certain timeout errors seen in the previous release. * Corrected typo in INF files that could cause the PCI104 to get wrong driver when installed.