Se rendre au contenu

PCAN-ISO-TP API

v3.6.1
VersionDate
3.6.130/03/2026Détails
3.6.011/07/2025Détails
3.5.005/10/2023Détails
3.4.023/03/2023Détails
3.3.031/08/2022Détails
3.2.027/10/2021Détails
3.1.221/05/2021Détails
3.1.122/01/2021Détails
3.1.003/12/2020Détails
3.0.116/07/2020Détails
3.0.027/05/2020Détails
2.2.221/11/2019Détails
2.2.109/07/2019Détails
2.2.023/05/2019Détails
2.1.005/02/2019Détails
2.0.317/12/2018Détails
2.0.205/03/2018Détails
2.0.107/09/2017Détails
2.0.016/01/2017Détails
1.4.302/11/2016Détails
1.4.221/04/2016Détails
1.4.109/09/2015Détails
1.3.013/08/2015Détails
1.2.004/08/2015Détails
1.1.021/05/2015Détails
1.0.014/11/2014Détails

3.6.1 30/03/2026

Améliorations
  • General code enhancements
Corrections de bugs
  • Fixed an ILLPARAM_TYPE issue with PCAN-Basic v5 when initializing CAN CC (related to PCAN_BUSSPEED_DATA)
Changements
  • Non-PnP channel definitions are now deprecated

3.6.0 11/07/2025

Améliorations
  • Added parameter PCANTP_PARAMETER_SEPARATION_TIME_FC_TX (minimum time between a First Frame and a Flow Control)
  • API revised to align with ISO-15765-2:2024
Corrections de bugs
  • Fixed CanApi fallback issues related to flags: 29-bit, RTR, FD, BRS, and InitializeFD
  • Fixed an issue when using CanApi with channel handles 0x401 to 0x408 and 0x501 to 0x508
  • Fixed issues in CANTP_AddFiltering_2016 when using ranged CAN IDs and/or filtering via can_msgtype
Changements
  • Minor text changes in debug logs
  • CANTP_RemoveMappings_2016 now supports the value PCANTP_CAN_ID_DEFINED_BY_NAI: removes all mappings

3.5.0 05/10/2023

Améliorations
  • Added support for carrying out communication with available CAN-API 4 connections
  • General code enhancements
Corrections de bugs
  • Fixed initialization functions to handle an OK status with irregularities (like PCAN-Basic error 'PCAN_ERROR_CAUTION')
  • Fixed issue with performance improvements of STMin values 0xF1 to 0xF3
Changements
  • Updated ISO values for PCANTP_TIMEOUT_AR_ISO_15765_4, PCANTP_TIMEOUT_AS_ISO_15765_4, PCANTP_TIMEOUT_CS_ISO_15765_4 as specified in the ISO-15765-4 standard, revision 2021-07
  • The API will now retry the transmission of CAN or CAN FD frames indefinitely if the lower layer API reports a transmit queue error
  • The API will now assume that messages have been transmitted when the lower layer API reports a queue overrun error while waiting for a send confirmation. In this case, these messages are marked with the PCANTP_MSGFLAG_QOVERRUN_OCCURED flag
  • The API now defers processing transmit messages when the lower layer API reports a transmit queue full error (the order of the write calls is preserved)

3.4.0 23/03/2023

Améliorations
  • New ARM64 API library
  • Added a new cantp_infostatus PCANTP_INFOSTATUS_CAUTION_RX_QUEUE_OVERRUN and its corresponding status value PCANTP_STATUS_CAUTION_RX_QUEUE_OVERRUN
  • Added a header file and examples for Python
Changements
  • CANTP_Read_2016 can now return a status with the information flag PCANTP_STATUS_CAUTION_RX_QUEUE_OVERRUN

3.3.0 31/08/2022

Améliorations
  • Added cantp_msgtype PCANTP_MSGTYPE_CANINFO to classify non CAN data frames (status, error frames)
  • Added parameter PCANTP_PARAMETER_ALLOW_MSGTYPE_CANINFO to allow CAN status and error frames from lower CAN API
  • Added PCANTP_PARAMETER_RECEIVE_EVENT_CALLBACK parameter to register reception event user callback
  • Added PCANTP_PARAMETER_RECEIVE_EVENT_CALLBACK_USER_CONTEXT parameter to pass arguments to reception event user callback
Corrections de bugs
  • PCANTP_MSG_CANINFO with status frame BUS_OK were not being filtered
  • Fixed check of single frame escape sequence consistency when all message data have the same value
Changements
  • Validation of ISOTP data padding (constant data padding value) is disabled by default (invalidate ISOTP frames were tagged as CAN frames)
  • CANTP_AddMapping always returns PCANTP_STATUS_MAPPING_INVALID when using formats: PCANTP_ISOTP_FORMAT_ENHANCED and PCANTP_ISOTP_FORMAT_FIXED_NORMAL
  • Hardened detection of CANFD ISOTP Single Frames: when DLC>8, escape sequence is required
  • Added check of FD single frame length by default
  • Changed some debug logs to output hex value instead of decimal
  • Sample projects are now delivered as zip package

3.2.0 27/10/2021

Améliorations
  • Added parameter PCANTP_PARAMETER_WFT_MAX_TX
  • Improved consistency checks for illegal ISOTP single frames (DLC checked against message's length and padding)
  • Improved error detections during segmented communications for cases where a responding frame is received before the previous Tx frame is physically confirmed on the bus
Corrections de bugs
  • Fixed issue with PCANTP_PARAMETER_RESET_HARD
  • Fixed issue with miss interpretation of ISOTP parameter Wait Frame Transmission
  • Fixed issue in consistency check for illegal ISOTP First frame
  • Fixed half-duplex handling of unexpected arrival of N_PDU with same N_AI as currently being processed
Changements
  • CANTP_Write and CheckMsg feature now automatically fix wrong ISOTP NAI (ex. when extension_address is not useable, it is set to 0)
  • Usage of FF escape sequence limited to >4095 messages
  • BRS flag differences in a single ISOTP communication is now allowed

3.1.2 21/05/2021

Améliorations
  • Added ISO 15765 interleaving support of similar messages with the only difference of 11-bit / 29-bit flag
  • Added .NET and Delphi examples
Corrections de bugs
  • Fixed issue with ISO 15765 interleaving when the messages share the same network address information
  • Fixed issue with sloppy mappings (i.e. when network address information is not set and only CAN IDs are used)
  • Fixed headers and source files to use UTF-8 encoding
  • Fixed compatibility issues with version 2.x:Fixed CAN ID stored in DATA for messages with format PCANTP_FORMAT_NONEFixed default value for the parameter PCANTP_PARAM_CAN_UNSEGMENTED on channels initialized with 2.x functionsFixed bad conversion of cantp_status when encapsulating a PCAN-Basic statusPCANTP_NETSTATUS_TIMEOUT_As and PCANTP_NETSTATUS_TIMEOUT_Ar are converted to PCANTP_NETSTATUS_TIMEOUT_A
  • Fixed hierarchy overriding of DLC in CANTP_Write_2016, when writing a functional ISOTP message (order of overriding is: channel < mapping < message)
  • Fixed CAN ID stored in DATA for messages with format PCANTP_FORMAT_NONE
  • Fixed default value for the parameter PCANTP_PARAM_CAN_UNSEGMENTED on channels initialized with 2.x functions
  • Fixed bad conversion of cantp_status when encapsulating a PCAN-Basic status
  • PCANTP_NETSTATUS_TIMEOUT_As and PCANTP_NETSTATUS_TIMEOUT_Ar are converted to PCANTP_NETSTATUS_TIMEOUT_A
Changements
  • Check added to prevent interpretation of CAN frames with DLC < 8 as ISOTP segmentation frames
  • Improved memory checks to prevent possible crashes when calling API functions using an uninitialized cantp_msg variable
  • .NET/Delphi headers adjusted:Missed constant values were addedFixed error in #define constant name : PCANTP_API_COMPATIBILITY_ISO_2006 -> PCANTP_API_COMPATIBILITY_ISO_2004Delphi: Fixed failure on CInt(Res)
  • The function CANTP_GetErrorText_2016 supports now the error code PCANTP_STATUS_HANDLE_INVALID
  • Typo corrections in resulting French error texts generated by the function CANTP_GetErrorText_2016
  • CANTP_AddMapping now fails if it is tried to add a mapping with 29 bit ENHANCED, FIXED_NORMAL or MIXED addressing format. Corresponding 29-bit support must be disabled first
  • Missed constant values were added
  • Fixed error in #define constant name : PCANTP_API_COMPATIBILITY_ISO_2006 -> PCANTP_API_COMPATIBILITY_ISO_2004
  • Delphi: Fixed failure on CInt(Res)

3.1.1 22/01/2021

Améliorations
  • Added parameter PCANTP_PARAMETER_NETWORK_LAYER_DESIGN
  • Added support for half duplex network layer design
  • Added notes about can_info.dlc and the specialization of PCANTP_PARAMETER_CAN_TX_DL in mappings and messages
  • Miscellaneous internal optimizations
  • Documentation updated
Corrections de bugs
  • Fixed CANTP_Read_2016 return status: status is not OK if a message is read but a network error occurred
  • Fixed PCANTP_STATUS_MASK_PCAN value
  • Fixed PCANTP_NETSTATUS_TIMEOUT_As, PCANTP_NETSTATUS_TIMEOUT_Ar values
  • Fixed PCANTP_NETSTATUS_XMT_FULL, PCANTP_NETSTATUS_BUS_ERROR, PCANTP_NETSTATUS_NO_MEMORY values
  • Fixed log level when debug mode is set to false
Changements
  • CANTP_Write_2016 now corrects invalid values for msgdata.any->flags and msgdata.any->netstatus
  • Changed logs related to protocol-frames to NOTICE instead of INFORMATION
  • CANTP_GetValue_2016 and CANTP_SetValue_2016 return now PCANTP_STATUS_HANDLE_INVALID if parameter is not compatible with channel's handle
  • Changed timestamp handling with USB devices to better handle USB delay performances and prevent STMin violation
  • In CANTP_MsgEqual_2016, if messages are frames, function will resolve non-zero dlc to check length equality
  • Fixed warnings in samples 02 and 04
  • Fixed status issues and improved output messages in sample 06

3.1.0 03/12/2020

Améliorations
  • Added parameter PCANTP_PARAMETER_RESET_HARD to reset CAN controller without losing mappings and settings
  • Added functions CANTP_AddMsgRule_2016 and CANTP_RemoveMsgRule_2016
  • Added support of message's options
  • Added warning/error logs when PCAN-Basic returns a non-OK status in PCTPFrame::read/write functions
  • Added new values PCANTP_DEBUG_xxx to filter log messages
  • Added definitions PCANTP_MAX_CAN_ID_11_BIT, PCANTP_MAX_CAN_ID_29_BIT
  • Logging improved (PCANTP_NONEBUS now logs API function entries and exits, while channels logs Rx/Tx CAN frames)
  • Logging information enhanced with PCANTP_PARAMETER_DEBUG
  • Logging filtering optimized
  • Improved handling of bus errors when transmitting an ISO-TP message
  • Updated examples #02, #04 to allow segmented communications
  • Updated example #05 warning only unsegmented communications are available by design in this sample
  • New examples #09 and #10 representing an ISO-TP client and an ISO-TP server
  • Documentation updated
Corrections de bugs
  • Fixed override hierarchy with CAN_TX_DL parameter (global setting << mapping << message)
  • Fixed memory leaks when PCAN-UDS_2013 is connected
  • Fixed issue in message comparison of self-receive frame when flag ESI is set
  • Fixed log_level of logs when a bus error occurs (warning instead of error used for non bus-off error)
  • Fixed rare memory exception when API hooks are installed (like PCAN-UDS)
  • Fixed possible issue when sending a functional ISO-TP FD message with DLC greater than 8 on a CAN only channel. CANTP_Write now returns PCANTP_STATUS_PARAM_INVALID_VALUE
  • Fixed CANTP_Write function to ensure backward compatibility: function no longer modifies the input parameter pMessageBuffer
Changements
  • Optimized behavior of parameter PCANTP_PARAMETER_CAN_TX_DL: FC and last CF frames will use the lowest padded DLC
  • Lowered thread's priority of loggers
  • Newly initialized channels now use the log_level configured in PCANTP_HANDLE_NONEBUS
  • Changed CANTP_MsgEqual_2016 to ignore ESI flag when comparing self-receive messages
  • PCTPChannel ThreadMain now use CANTP_StatusIsOk in 'strict' mode to warn about bus errors
  • StatusCheck will return an error if BUS_OFF flag is set
  • Logging is now disabled by default
  • CANTP_AddMapping returns PCANTP_STATUS_PARAM_INVALID_VALUE if values for can_id, can_id_flow_ctrl or can_tx_dl are invalid
  • [WARNING] CANTP_StatusIsOk_2016 will return OK on bus error (as expected by documentation)

3.0.1 16/07/2020

Améliorations
  • Added parameter PCANTP_PARAMETER_MSG_CHECK
Corrections de bugs
  • Fixed logging issue when activating PCANTP_PARAMETER_DEBUG
  • Fixed issue with CANTP_RemoveMapping_2016 and CANTP_RemoveMappings_2016: CAN IDs for flow control were not being removed
Changements
  • The parameter PCANTP_PARAMETER_DEVICE_NUMBER:was marked as deprecatedwas renamed to PCANTP_PARAMETER_DEVICE_ID
  • The network error "PCANTP_NETSTATUS_TIMEOUT_As" is now raised if the "First Frame" or "Flow Control Frame" of an ISO-TP message is not confirmed within "TIMEOUT_AS" time
  • was marked as deprecated
  • was renamed to PCANTP_PARAMETER_DEVICE_ID

3.0.0 27/05/2020

Améliorations
  • New interface supporting ISO 15762-2, revision 2016
  • Fully binary compatible with applications using PCAN-ISO-TP.dll, version 2.x
  • Backward compatibility support for projects based on ISO 15762-2, revision 2004 (PCAN-ISO-TP.dll, version 2.x)
  • General code enhancements

2.2.2 21/11/2019

Corrections de bugs
  • Structure alignment information was missing within the header files

2.2.1 09/07/2019

Améliorations
  • The configuration of the underlying certificate checking was changed to avoid delays at initialization time due to certificate revoke-search online

2.2.0 23/05/2019

Améliorations
  • Fixed typo with the parameter PCANTP_PARAM_SEPERATION_TIME, renamed to PCANTP_PARAM_SEPARATION_TIME
  • Fixed typo with the parameter PCANTP_PARAM_SEPERATION_TIME_OPTIMIZATION, renamed to PCANTP_PARAM_SEPARATION_TIME_OPTIMIZATION
  • General review of references due to update of parameter names
Corrections de bugs
  • The function PCANTP_GetValue was returning PCANTP_ERROR_OK if the underlying PCANBasic.dll was not present

2.1.0 05/02/2019

Améliorations
  • New parameter PCANTP_PARAM_SEPERATION_TIME_OPTIMIZATION, used to ensure that STMin is always strictly respected

2.0.3 17/12/2018

Améliorations
  • The log files have now a timestamp with a resolution in microseconds
Corrections de bugs
  • In some scenarios under Windows® 7, an exception was thrown when the library was unloaded
  • An overflow within internal timestamps was taking place when the host PC was running for several weeks

2.0.2 05/03/2018

Améliorations
  • CANTP_AddMapping now prevent the creation of a mapping with PCANTP_FORMAT_FIXED_NORMAL or PCANTP_FORMAT_ENHANCED formats
  • General code improvements on header files
  • Code of sample projects enhanced
Corrections de bugs
  • Fixed typo in the VB.Net header where PCANTP_PARAM_CAN_UNSEGMENTED is defined
  • Fixed an issue when defining a global J1939 priority and mappings
  • Fixed invalid status when using an invalid parameter value
  • PCAN_GetStatus was returning PCAN-Basic status values
  • Fixed flag issue with message's member IDTYPE
  • Fixed issue when calling CAN_Uninitialize instead of CANTP_Uninitialize

2.0.1 07/09/2017

Améliorations
  • PCTPClient and PCTPServer samples were updated:Command-line arguments were improvedHandling of errors on initializationServer uses now an event for messages reading
  • Command-line arguments were improved
  • Handling of errors on initialization
  • Server uses now an event for messages reading
Corrections de bugs
  • User-defined mappings could not be found due to priority problems regarding 29-bit standard mappings

2.0.0 16/01/2017

Améliorations
  • Added CAN FD support through a new function CANTP_InitializeFD
  • Added new PCAN-ISO-TP message type to distinguish incoming or outgoing start frames
  • Transmission timing was enhanced
Corrections de bugs
  • Heap corruption when an ISO-TP message contained an invalid data length

1.4.3 02/11/2016

Améliorations
  • PCAN connection now implements auto-reset on bus-off error
  • Optimized transmission when STmin = 0
  • Added support for J1939 priority with compliant ISO-TP messages
  • Added support to read/write unsegmented CAN frames
  • New .NET Samples (C# and VB.NET)
Corrections de bugs
  • Fixed network communication errors with PCAN-PCI devices

1.4.2 21/04/2016

Améliorations
  • Added parameter PCANTP_PARAM_PADDING_VALUE to change CAN data padding value
  • Added support for additional PCAN-Basic channels (PCAN-Basic 4.x)
  • Updated N_As, N_Ar, N_Cr timeouts computing
  • Improved calculation of separation time between packages to take arbitration delays into account
Corrections de bugs
  • Fixed timeout deadlock when calling PCANTP_Uninitialize with value PCANTP_NONEBUS
  • Fixed timeout computing of Seperation Time Min.

1.4.1 09/09/2015

Améliorations
  • ISO-TP Header files edited to support PCAN-Basic 4.x
  • Adjustments done to support some PassThru configurations (J2534)

1.3.0 13/08/2015

Améliorations
  • Added 'PCANTP_PARAM_RECEIVE_EVENT' parameter for message reception over event notification
  • General performance improved

1.2.0 04/08/2015

Améliorations
  • Added reception support for (non-ISO-TP) CAN frames
  • Added value PCANTP_CAN_UNFORMATTED_ALL_FRAMES which allows to retrieve all ISO-TP fragmented messages as CAN frames
  • Added the new function PCANTP_GetErrorText for Error-Text retrieving
  • Enhancement with Mappings: New possibilty to register mappings with the same CAN ID but different CAN ID responses (used with Extended Addressing)
  • Thread management performance improved (thread synchronization)
  • Message processing performance improved (fetching procedure)
Corrections de bugs
  • There was a problem when transmitting short (unsegmented) and large (segmented) ISO-TP messages at the same time

1.1.0 21/05/2015

Améliorations
  • New structure for managing timestamps
  • CANTP_Read supports a new parameter to return the time when the message was received
  • The parameter PCANTP_PARAM_SEPARATION_TIME now handles microseconds
  • Examples were updated as well as the help file

1.0.0 14/11/2014

Changements
  • First release

Neutralisé