PCAN-Basic API for Windows Version History

2017-09-08 - Version 4.2.0

Improvements:

  • 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

Improvements:

  • 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

Improvements:

  • 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

Improvements:

  • 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

Improvements:

  • 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
  • Added seven new parameters: PCAN_CHANNEL_FEATURES, PCAN_BITRATE_ADAPTING, PCAN_BITRATE_INFO, PCAN_BITRATE_INFO_FD, PCAN_BUSSPEED_NOMINAL, PCAN_BUSSPEED_DATA, PCAN_IP_ADDRESS. More information about them can be found in the help file
  • 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

Enhancements:

  • 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

Enhancements:

  • 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

Improvements:

  • 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

Enhancements:

  • 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.31

  • Improvement: Some compatibility issues were solved


2011-11-16 - Version 1.2.0

Improvements:

  • 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 1.0.5

  • 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 1.0.1

  • 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 1.0.0

  • 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 1.0.0

  • 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 1.0.0

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


2009-12-16 - Version 1.0.0

  • 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