Ce site utilise des cookies à des fins d'analyse, de gestion de la connexion au site marchand, au forum et de traitement d’une commande. En continuant à naviguer sur ce site, vous acceptez cette utilisation. Vous trouverez des informations détaillées sur l'utilisation des cookies dans notre politique de confidentialité.

OK Confidentialité

PCAN-Basic API for Windows Version History

2021-02-10 - Version 4.5.3

Bug fixes:

  • Starting with PCAN-Basic API v4.5.1, channel initialization failed if a PCAN driver with a version older than v4.2.1 was used


2021-01-27 - Version 4.5.2

Bug fixes:

  • PCAN-Basic API v4.5.1 returned the error PCAN_ERROR_ILLMODE when trying initializing CAN-FD devices with regular CAN bit rates

2021-01-21 - Version 4.5.1


  • Adjustments regarding the new PCAN-Gateway FD devices
  • PCANBasic.py header file now includes code to try to load the API from the third-party PCAN-USB driver for Mac, PCBUSB (MacCAN)
  • Documentation updated

Bug fixes:

  • The LookUpChannel function of the Python file PCANBasic.py returned a wrong data type

2020-12-03 - Version 4.5.0


  • New function added, CAN_LookUpChannel, for finding PCAN-Basic channels through some attributes

Bug fixes:

  • The function CAN_SetValue returned PCAN_ERROR_OK for the parameters PCAN_LOG_STATUS, PCAN_LOG_LOCATION, and PCAN_LOG_TEXT, even if the log file could not be created (e.g. due to permission issues)

2020-07-16 - Version 4.4.1


  • General code enhancements
  • Documentation was updated

Bug fixes:

  • When using the tracing functionality, echoed messages (hardware self-received frames) were being included in the trace file as "Tx" messages

2019-11-21 - Version 4.4.0


  • New structure TPCANChannelInformation to store information about a PCAN-Basic channel
  • New constant values added:
  • New parameters added:
    • PCAN_FIRMWARE_VERSION: reads firmware version of devices
    • PCAN_ATTACHED_CHANNELS_COUNT: returns the number of PCAN-Basic channels attached to the PC
    • PCAN_ATTACHED_CHANNELS: returns a list of TPCANChannelInformation items with information on channels found
  • New example with UI for Python 3.x
  • New error code PCAN_ERROR_ILLMODE added
  • General code enhancements

Bug fixes:

  • CAN_GetValue(PCAN_CHANNEL_FEATURES) couldn't recognize if a channel was I/O capable
  • PCAN-Basic channel enumeration was wrong, if the device driver was configured to enumerate devices in a new way
  • When a read event was configured and the reception of messages was deactivated by a call to CAN_SetValue(PCAN_RECEIVE_STATUS), the event was still being triggered, even if no messages were placed in the reception queue


  • The parameter PCAN_DEVICE_NUMBER:
    • was marked as deprecated
    • was renamed to PCAN_DEVICE_ID
    • is applicable not only for USB devices, but also for PCI devices (beginning with PCAN device drivers v4.2.0)
  • The following parameters can now be requested without having a channel initialized:

2019-07-09 - Version 4.3.4


  • General code enhancements
  • Documentation: List of PEAK devices updated

Bug fixes:

  • Calls of the function CAN_Read were ending with the error 0x1C20 (PCAN_ERROR_ILLCLIENT + PCAN_ERROR_QRCVEMPTY)
  • The CHANNEL_IDENTIFYING parameter was behaving wrong on PCAN-USB devices with Firmware version v8.4 or later
  • Internal calculation for bit rates were causing a division by zero in some specific scenarios

2019-05-22 - Version 4.3.3

Bug fixes:

  • The generated PCAN-Trace file contained negative timestamps in some scenarios
  • The chronological inclusion of sent messages (Tx) in the generated PCAN-Trace file was not accurate enough

2019-02-04 - Version 4.3.2


  • The PCAN-Trace files generated with PCAN-Basic now contain information about the API version used to generate them

Bug fixes:

  • Compatibility issues fixed

2018-12-14 - Version 4.3.1

Bug fixes:

  • PCAN-USB X6 and PCAN-Chip USB modules were treated as standard PCAN-USB adaptors when identifying their channels. This caused the LEDs to remain on (orange color) until the devices were plugged out

2017-11-23 - Version 4.3.0


  • New parameters added:
    • PCAN_IO_DIGITAL_CONFIGURATION: Configures the digital pins of a device as digital outputs
    • PCAN_IO_DIGITAL_VALUE: Sets the values of all digital pins of a device
    • PCAN_PARAM_IO_DIGITAL_SET: Sets selected digital pins of a device to 'high'
    • PCAN_PARAM_IO_DIGITAL_CLEAR: Sets selected digital pins of a device to 'low'
    • PCAN_PARAM_IO_ANALOG_VALUE: Reads the value of the analog pin of a device
  • Parameters enhanced:
    • PCAN_CHANNEL_FEATURES can now determine if a channel supports using I/Os
    • PCAN_FEATURE_IO_CAPABLE: Device with I/O capabilities

Bug fix:

  • Calling CAN_GetValue with the parameter PCAN_CHANNEL_FEATURES returned an error when the channel had no support for INTERFRAME_DELAY

2017-09-08 - Version 4.2.0


  • Error Frames are now supported
  • New parameters added:
    • PCAN_ALLOW_STATUS_FRAMES: Enables/disables the reception of Status Frames
    • PCAN_ALLOW_RTR_FRAMES: Enables/disables the reception of RTR Frames
    • PCAN_ALLOW_ERROR_FRAMES: Enables/disables the reception of Error Frames
    • PCAN_INTERFRAME_DELAY: Pause between frames within the sending process
    • PCAN_ACCEPTANCE_FILTER_11BIT: Acceptance code and mask for 11-bit CAN-IDs
    • PCAN_ACCEPTANCE_FILTER_29BIT: Acceptance code and mask for 29-bit CAN-IDs, as 64-bit value
  • Parameter behavior changed: PCAN_HARDWARE_NAME and PCAN_CONTROLLER_NUMBER can now be read without the channel being connected
  • Parameter enhanced: PCAN_CHANNEL_FEATURES can be used to determine whether a channel supports the INTERFRAME_DELAY parameter
  • Unused dependencies removed
  • Library size optimized
  • General update of sample projects
  • Microsoft sample projects (.NET, MFC) were upgraded to Visual Studio 2010
  • Documentation was updated

Bug fixes:

  • Inconsistences between return code of CAN_Initialize and CAN_InitializeFD corrected
  • The function CAN_GetStatus didn't take into account if a channel was initialized as FD or not
  • MFC example edited: BRS checkbox was active at program start
  • Header file for Python was adjusted: literal strings were not being interpreted as "byte string"
  • Header file for Delphi was adjusted: The type TPCANBitrateFD was defined as "string", instead of "PAnsiChar"
  • Some compatibly issues were solved

2016-06-20 - Version 4.1.0


  • New Get-Parameter used to check the running status of the PCAN-LAN service
  • Samples were updated to use the new parameter
  • Python header file was updated to allow using it within Python 3.0
  • Documentation was updated

Bug fix:

  • Fixed incompatibility issues that were causing malfunctions of the library when using it within a Windows service

2016-04-22 - Version 4.0.4


  • Change regarding PCAN-Trace handling: The relative start time in a trace is no more the file creation time but the timestamp of the first message written in the trace. Therefore, the first entry will now always have the time offset 0
  • General code enhancements

2015-11-06 - Version 4.0.3


  • The PCANBasic.py header file and the Python example were enhanced to support multiple platforms
  • There is now a single file as Python example, which also includes Windows event support
  • General code optimization

Bug fixes:

  • Compatibility issue fixed: The ReadFD function was adjusted to return the status code represented by a received status message, as done in earlier driver versions
  • Compatibility issue fixed: It was possible to connect a PCAN-Light application and a PCAN-Basic application to the same channel simultaneously
  • Trace Format 2.0 adjustment: The word "RTR" was removed from Remote Frames records

2015-07-01 - Version 4.0.2

  • Improvement: The parallel port CAN interface (PCAN-Dongle) is now supported as a Plug & Play device. Please note that this feature is in BETA state

2015-06-24 - Version 4.0.1

  • Enhancement: Extra information was added to the properties of the PCANBasic.dll file, to show the platform for which the file was compiled (32-Bit or 64-Bit)

Bug fixes:

  • A problem regarding the creation of PCAN-Trace files was avoiding the storing of messages in the file
  • The Delphi sample had a text formatting problem. An error message appeared while the list of available channels has been filled out

2015-05-21 - Version 4.0.0


  • Added support for CAN with Flexible Data rate (FD) through 3 new functions: CAN_InitializeFD, CAN_ReadFD, CAN_WriteFD.
  • Added support for the new Trace Format 2.0 (FD Trace)
  • New device type support included: PCAN-LAN (Virtual PCAN-Gateway channels)
  • The maximum amount of channels that can be connected simultaneously was increased from 8 to 16 for devices of the types PCAN-USB, PCAN-PCI, and PCAN-LAN
  • New version is backward compatible, i.e. applications compiled for PCAN-Basic version 1.x still work with the new version

Please note: Version 2.x and 3.x were internal releases that added the CAN FD and PCAN-LAN support.

2013-12-13 - Version 1.3.3

Bug fixes:

  • Preconfiguring the Listen-Only mode was not being done fast enough, which could cause bus errors when the bit rate was not correct
  • The delay used in CAN_Uninitialize in order to transmit messages not yet sent was too short. This could cause that messages were truncated and generate bus errors in this way

2013-09-25 - Version 1.3.2


  • PCAN-Basic can now be used in multi-session environments (from different Windows-Sessions at the same time), for example, from a Windows-Service and a normal User-Application
  • Some compatibly issues were solved

2013-09-06 - Version 1.3.1


  • The CAN Trace records status errors (BUSLIGHT, BUSHEAVY, BUSOFF) too
  • Some compatibly issues were solved

Bug fixes:

  • An incompatibility issue with the Fixed Hardware-Handle Procedure was corrected. This was causing some channels to be marked as available when they were not
  • Problem in header file for Python corrected. The functions GetValue and SetValue were failing and returning the error PCAN_ERROR_ILLPARAMVAL, when the Parameters PCAN_TRACE_LOCATION and/or PCAN_HARDWARE_NAME were used
  • Sent messages were not included in the Trace file, if the status of the CAN bus was BUSHEAVY, BUSLIGHT, or BUSOFF

2013-03-27 - Version 1.3.0


  • With PCAN-Basic is now possible to record transmitted CAN data (CAN_Read and CAN_Write data) using PCAN-Trace files. The configuration of the Traces as well as the activation of it is achieved using new parameters within the functions CAN_SetValue and CAN_GetValue
  • It is now possible to physically identify an USB channels, by blinking its associated LED. The use of this feature is achieved using the functions CAN_SetValue and CAN_GetValue
  • Some compatibility issues were solved


  • The logging file shows now the API version being used, including platform version (32- or 64-bits)
  • Internal code-optimizations

Bug fix:

  • Problem in header file for C/C++, when compiling as  C Code. Default-Parameters within the function CAN_Initialize will only used when C++ is declared (Compiled as C++ Code)

2012-10-26 - Version 1.2.3 - Update

Update of the PCAN-Basic JNI interface DLL (Java Native Interface) to version 1.8

  • Bug fix: Memory leak in CAN-Send function removed
  • Some smaller performance problems solved

Update of the JAVA PCAN-Basic sample source code

  • Enhanced the PCAN-Basic Java sample with a send timer

2012-09-20 - Version 1.2.3

  • Improvement: A channel will be automatically reset at initialise, when the status of the CAN bus is other than PCAN_ERROR_OK
  • Enhancement: Better BTRs values for the standard baud rates 33,333 kBit/s and 83,333 kBit/s

2012-03-13 - Version 1.2.2

  • Improvement: Some compatibility issues were solved

2012-01-25 - Version 1.2.1

  • Improvement: Some compatibility issues were solved

2011-11-16 - Version 1.2.0


  • A new read-only parameter, PCAN_CONTROLLER_NUMBER, makes possible to ask the index of the physical channel(s) in a PCAN device
  • The examples were changed to support the new parameter
  • A new error code, PCAN_ERROR_ILLDATA, was added

Bug fixes:

  • Minor issues fixed within the function CAN_SetValue
  • A access-problem using the Log functionality from different threads was fixed
  • The example for C++ / MFC was edited. The read-thread was blocking the application in some scenarios

2011-08-17 - Version 1.1.0

  • Bug fix: A small bug when closing the filter within the example C++ MFC Project was fixed
  • Bug fix: An internal cast of a handle was wrong. This could cause problems on 64-bit platforms
  • Enhancement: New pre-initialization capable parameter, PCAN_RECEIVE_STATUS, makes possible to allow/disallow reading of messages regardless of the filter configuration
  • Improvement: A full open filter needs no more to be first closed, before calling the function “CAN_FilterMessages” in order to restrict the reception of messages
  • Enhancement: A new define, LOG_FUNCTION_ALL, makes it possible to configure all the available Log functionality with only one value
  • Improvement: The format of the Log file was updated in order to make the information more readable
  • Change: The examples were updated to support the new Parameter. Added to this, they have now a new configuration for x64 platforms
  • Improvement: The log file can now be read/opened while it is being written

2011-06-09 - Version 1.0.10

  • Improvement: The header file for Visual Basic 6 was changed to support optional parameters within the function CAN_Initialize
  • Improvement: Some compatibility issues were solved

2011-05-13 - Version 1.0.9

  • Bug fix:  Incoming messages were not logged even though having configured the logging functionality with the value LOG_FUNCTION_READ

2011-03-08 - Version 1.0.8

  • Improvement: The examples were adjusted to work with a better performance when a lot of CAN data is being received
  • Bug fix: Minor issues within 32/64 bits data types were solved
  • Bug fix: Some problems regarding backward compatibility to PCAN-Light were solved
  • Bug fix: Problems with the Clean-up of orphaned connections has been fixed

2011-01-25 - Version 1.0.7

  • Bug fix: The function CAN_GetErrorText did not work correctly if the given buffer was not empty 
  • Some compatibility issues were solved 
  • Improvement: New baud rate register values were added to the definitions / enumerations used to set the baud rate of a connection

2010-10-15 - Version 1.0.6

  • Bug fix: In some scenarios, the detection of available channels was reporting channels as occupied when they aren’t
  • Improvement: New parameter added "PCAN_HARDWARE_NAME". Now it is possible to differentiate models of a same device, e.g. PCAN-USB and PCAN-USB Pro
  • Improvement: The property PCAN_LISTEN_ONLY was adjusted to be used with an uninitialized channel. Now it is possible to pre-initialize a channel in Listen-Only mode, I order to avoid arbitration problems at the moment of connecting the channel
  • The Help files were updated

2010-09-08 - Version

  • Changes: The German resources where edited
  • Bug fix: The core CAN communication was actualized
  • Improvements: The Header file and the example for Delphi were edited to avoid compile errors when using them within new versions of Delphi

2010-08-17 - Version 1.0.5

  • Improvement: The functionality of the parameter PCAN_BUSOFF_AUTORESET was adjusted due to some compatibility issues between some device drivers

2010-07-06 - Version 1.0.4

  • Bug fix: Checking the availability of channels in a computer with the function CAN_GetValue and the parameter PCAN_CHANNEL_CONDITION was retuning wrong values
  • The header files were edited. The defines related to the parameter PCAN_CHANNEL_CONDITION were changed
  • The samples and the Help files were edited due to the mentioned changes

2010-06-21 - Version 1.0.3

  • Some compatibility issues were solved
  • New example for Python 2.6 available

2010-05-26 - Version 1.0.2

  • Bug fix: The return value of the CAN_Initialize function was still wrong in some scenarios
  • Bug fix: More than one channel could not be connected at the same time under 64-bit systems
  • Extras/Improvements: New PCAN-Basic examples for Delphi and for C++ Builder
  • Extras/Improvements: German documentation added

2010-05-04 - Version

  • Bug fix: The return value of the function CAN_Initialize could be CAN_ERROR_OK even when the initialization was not successful

2010-04-30 - Version 1.0.1

  • Bug fix: All CAN_* functions were updated due to possible wrong return values in multi-threading scenarios
  • Adjustment of the supported operating systems to Windows® 7/Vista/XP
  • Bug fix: The return value of the function CAN_Write could be wrong in multi-threading scenarios
  • Bug fix: A wrong declaration of the overloaded method Read() caused problems in C# and VB.Net. Both headers were edited
  • Improvement: A PCAN-Basic header file for VB-6 was included

2010-01-21 - Version

  • Bug fix: A wrong German text resource for showing CAN-messages was corrected
  • Improvement: The functions CAN_Read and CAN_Write were improved to accept the structures TPCANMsg and TPCANTimestamp without byte-alignment information (using the default alignment)
  • The header files were modified. The byte-alignment information was deleted from all headers

2010-01-20 - Version

  • Inclusion of new error codes: HWINUSE, NETINUSE, ILLHW, ILLNET, ILLCLIENT in all header files
  • Inclusion of description texts for the new error codes in the languages: English, Spanish, French, Italian, and German
  • Modification of the PCAN-Basic function GetErrorText in order to support the new error codes

2010-01-07 - Version

  • Inclusion of the project's configuration for 64-bit platforms

2009-12-16 - Version

  • Inclusion of the new header file PCANBasic.py. This is a python module which represents the PCAN-Basic header file

2009-12-11 - Version 1.0.0

  • Changed the default value of the parameter AUTO_RESET_ON_BUSOFF to false
  • FIRST release version

2009-12-02 - Version 0.0.6

  • First BETA released