Nous utilisons des cookies sur notre site web afin de vous fournir le meilleur service possible et d'améliorer encore notre site web. En cliquant sur le bouton "Accepter tout", vous acceptez l'utilisation de tous les cookies. Vous pouvez limiter les cookies utilisés en cliquant sur "Accepter la sélection". Vous trouverez de plus amples informations et une option pour révoquer votre sélection dans notre politique de confidentialité.

Nécessaire :

Ces cookies sont nécessaires pour la fonctionnalité de base. Cela vous permet de vous inscrire sur notre site web et notre forum ou de commander des produits avec notre boutique en ligne.

Statistiques :

Avec ces cookies, nous collectons des données d'utilisation anonymisées pour notre site web. Par exemple, nous pouvons voir quel contenu est intéressant pour nos visiteurs et quelles résolutions sont utilisées. Nous utilisons ces informations pour optimiser notre site web et vous offrir la meilleure expérience utilisateur possible.



PCAN-UDS API Version History

2021-10-27 - Version 2.2.0


  • Improved bad parameter handling in UDS_Svc* functions
  • Add PUDS_SVC_PARAM_ROE_RMRDOSC_LEN definition for ResponseOnEvent service
  • Add definitions for ResponseOnEvent service with onTimerInterrupt subfunction (PUDS_SVC_PARAM_ROE_OTI_*)

Bug fixes:

  • Fixed UDS_WriteMemoryByAddress_2013 function to allow non-standard requests with null memory size parameter
  • Fixed enhanced timeout computing in UDS_WaitForService_2013 (take in account user defined timeout response parameter)


  • Default parameter values for following functions were implemented:
    • UDS_SvcInputOutputControlByIdentifier_2013
    • UDS_SvcTransferData_2013
    • UDS_SvcRequestTransferExit_2013
    • UDS_SvcResponseOnEvent_2013
    • UDS_SvcRoutineControl_2013
  • Added missing PUDS_SVC_PARAM_ROE_EWT_* definitions in header files (eventWindowTime parameter)
  • Examples: Handling on allocation errors improved


2021-05-20 - Version 2.1.1


  • Added SecuredDataTransmission 2020 service handling
  • Added UDS_SvcClearDiagnosticInformation_2020 (ClearDiagnosticInformation service with memory selection parameter)
  • Added UDS_SvcAuthentication[...]_2020 functions to handle Authentication service (ISO 14229-1:2020)
  • Added uds_nrc enumeration that represent UDS negative response codes
  • Added uds_svc_authentication_subfunction and uds_svc_authentication_return_parameter enumerations for Authentication service (ISO 14229-1:2020)
  • Added PUDS_ONLY_PREPARE_REQUEST definition that allows to use a UDS_Svc* function to prepare a message without sending it

Bug fixes:

  • Fixed PUDS_STATUS_SERVICE_ALREADY_PENDING error: do not raise this error if the previous call of the service resulted in network error
  • Fixed memory access violations due to empty UUDT messages
  • Fixed padding when sending UUDT messages which use a length that is not equal to a valid DLC
  • Fixed missing PUDS_SVC_PARAM_LC_BAUDRATE_PROGSU definition for LinkControl service
  • Fixed minor errors in examples
  • Fixed missing status handling in UDS_GetErrorText_2013 function
  • Changed debug mode enumeration (replaced by debug levels)
  • Changed auto TesterPresent management: physical auto TesterPresent are managed sequentially, functional auto TesterPresent are managed periodically
  • Fixed service already pending error while sending multiple NRC messages with different service identifier
  • Changed uds_sessioninfo: using a null s3_client timing disable automatic TesterPresent
  • Fixed UDS_SvcDynamicallyDefineDataIdentifierDBMA_2013: addressAndLengthFormatIdentifier parameter was inverted in DynamicallyDefineDataIdentifier service with defineByMemoryAddress subfunction

2021-01-25 Version 2.1.0


  • New UDS_MsgCopy_2013 function added to copy a uds_msg structure
  • New UDS_MsgMove_2013 function added to move a uds_msg structure into another uds_msg structure
  • New attribute added, can_tx_dlc, to the uds_msgconfig structure
  • New enumeration added, uds_errstatus, to store UDS error codes
  • New parameter added, PUDS_PARAMETER_RESET_HARD, to perform a hard reset (and keep settings and mappings)
  • New status value added, PUDS_STATUS_HANDLE_INVALID, to handle invalid cantp_handle error
  • New Examples 08/09/10 for C#/VB/C++_CLR/Delphi added
  • Examples reviewed:
    • Add missing uds_msg initialisations (fill structure with zero)
    • Example 05_server_simulator: remove useless uds_msg structure zero filling after UDS_MsgFree_2013
    • Examples 06_client_all_request: replace invalid RequestUpload sizes parameters
    • Examples 7 and 8 reviewed: remove useless mapping 'uid' initialization
    • Documentation of samples reviewed
  • Check potential PUDS_STATUS_SERVICE_ALREADY_PENDING error on pending postive responses and extended timing negative responses
  • Documentation updated

Bug fixes:

  • Fixed UDS_RemoveMapping_2013 return code, if the mapping is not a valid mapping, the function retrurns PUDS_STATUS_MAPPING_INVALID
  • Fixed WaitForServiceFunctional_2013 prototype in Pascal header (do not pass max_msg_count as a reference)
  • Fixed UDS_SvcDynamicallyDefineDataIdentifierDBMA_2013, UDS_SvcWriteMemoryByAddress_2013, UDS_SvcRequestDownload_2013 and UDS_SvcRequestUpload_2013: Check that addressAndLengthFormatIdentifier parameters are valid
  • File description of the 64-bit version of the library corrected. It was showing '32-bit' instead of '64-bit'


  • Changed backward compatibility UDS_Write function: the no response flag is now automaticaly corrected in message data if needed
  • Automaticaly remove no response flag in UDS_Svc*_2013 if the service does not have a subfunction
  • Changed UDS_WaitForService_2013 and UDS_WaitForServiceFunctional_2013: confirmation message buffer is now mandatory
  • Changed UDS_WaitForServiceFunctional_2013/WaitForServiceFunctional_2013 arguments order
  • Changed UDS_WaitForServiceFunctional_2013: functional UUDT request are allowed
  • Changed message structure checks: prevent user to reuse an already allocated buffer (PUDS_STATUS_MESSAGE_BUFFER_ALREADY_USED error)

2020-12-03 - Version 2.0.0


  • New interface ISO 14229 with CAN-FD support, revision 2013
  • Fully binary compatible with applications using PCAN-UDS.dll, version 1.x
  • Backward compatibility support for projects based on ISO 14229, revision 2006 (PCAN-UDS.dll, version 1.x)
  • General code enhancements

2019-11-22 - Version 1.3.4


  • New sample project in C#
  • Automatic correction of server address: When setting the server address, the value is now automatically corrected to fit into a byte (except if address is specified as enhanced)

Bug fixes:

  • Fixed different issues caused by frames with non-default priority
    • Fixed issue when receiving a 29-bit ISO-TP frame with non-default priority
    • Fixed issue when waiting for a service with a 29-bit UDS message with non-default priority
    • Fixed issue with an internal check for CAN-TP confirmation with non-default priority 29-bit message
  • Structure alignment information was missing within the header files

2019-06-27 - Version 1.3.3


  • Certificate checking of the libraries improved. In some special environments the initialization process of a channel could last about 20 seconds

Bug fixes:

  • Fixed problems with Endianness conversions
  • The following missing RDTCI definitions have been added which are now supported by the UDS_SvcReadDTCInformationNoParam function:

2019-05-24 - Version 1.3.2


  • New function 'CheckResponse' in TPUDSMsg (C#, VB.NET, and C++/CLR) for checking UDS service responses for validity, supersedes 'IsPositiveResponse'
  • The function 'IsPositiveResponse' of TPUDSMsg has been marked as obsolete/deprecated
  • New enumeration TPUDSServiceResult (C#, VB.NET, and C++/CLR), representing result values of UDS services
  • Added support for UUDT message writing with new protocol: PUDS_PROTOCOL_NONE
  • General code enhancements
  • The documentation was updated

2018-03-05 - Version 1.3.1


  • Added parameters PUDS_PARAM_MAPPING_ADD and PUDS_PARAM_MAPPING_REMOVE to configure non-standard UDS messages
  • Added support for UUDT response with new PUDS message type: PUDS_MESSAGE_TYPE_CONFIRM_UUDT

Bug fixes:

  • Wrong signature of the function 'SvcWriteMemoryByAddress' in the Pascal header file PUDS.pas corrected

2017-02-03 - Version 1.3.0


  • Added support for new ISO-TP message type PCANTP_MESSAGE_INDICATION_TX
  • Added PUDS_MESSAGE_INDICATION_TX to TPUDSMessageType to distinguish incoming and outgoing start of message

2016-04-22 - Version 1.2.1


  • Added parameter PUDS_PARAM_PADDING_VALUE to set value for CAN Data Padding
  • Updated to support new PCAN channels (PCAN-Basic 4.x)

Bug fix:

  • Fixed timeout deadlock when calling PUDS_Uninitialize with value PUDS_NONEBUS

2015-09-01 - Version 1.2.0

  • Improvement: PCAN-UDS Header files edited to support PCAN-Basic 4.x
  • Bug fix: C++ header file was edited: default value for parameters in "UDS_Initialize" are now C-compatible

2015-08-13 - Version 1.1.0


  • General updates due to ISO-TP changes
  • General performance improved

2014-11-14 - Version 1.0.0

  • First Release