Se rendre au contenu
PCAN-UDS API
v2.3.3
2.3.3 10/07/2025
Améliorations
- General code enhancements
Corrections de bugs
- Fixed issue in UDS_WaitForServiceFunctional_2013: function could wait indefinitely in rare cases
2.3.2 21/05/2024
Corrections de bugs
- Fixed backwards compatibility issue when trying to write an 8 bytes CAN frame usingPUDS_PROTOCOL_NONE
- Fixed concurrent access exception when uninitializing UDS channel and checking Rx notification from PCAN-ISO-TP API
Changements
- Adjustments inUDS_SetValue_2013with backwards compatibility parameters
- Adjustments inUDS_SetValue_2013with non-UDS parameter (e.g.PCAN_BITRATE_ADAPTING)
- Fixed possible concurrent access exception when uninitializing UDS channel and sending automated tester present
2.3.1 05/10/2023
Améliorations
- General code enhancements
Corrections de bugs
- Calls to UDS_Write returned PUDS_STATUS_CAUTION_INPUT_MODIFIED even if no actual changes had been made to the send buffer
Changements
- Logging for internal libraries is now disabled by default
2.3.0 24/03/2023
Améliorations
- Added support for ARM64
- Added a header file and examples for Python
Corrections de bugs
- Fixed backward compatibility issue with with mapping PUDS_PROTOCOL_NONE
2.2.1 31/08/2022
Améliorations
- Added new example projects (11,12,13 and 14) for all supported programming languages
- General code improvements in the example projects
Corrections de bugs
- Fix in UDS_WaitForFunctionalResponses_2013 and UDS_WaitForServiceFunctional_2013: no extra wait is used when NRC 0x78 is received and elapsed time during reception is longer than timeout
- Fixed P3 timing check (on write), when user forget to use no response flag message type but message data contains no response flag
- Negative responses with NRC EXTENDED_TIMING were being internally handled instead of returning the Negative response as is
Changements
- Sample projects are now delivered as zip package
- Wait time when UDS_WaitForService_2013 is called with a request containing no response flag was optimized
2.2.0 27/10/2021
Améliorations
- Improved bad parameter handling in UDS_Svc* functions
- Added PUDS_SVC_PARAM_ROE_RMRDOSC_LEN definition for ResponseOnEvent service
- Added definitions for ResponseOnEvent service with onTimerInterrupt subfunction (PUDS_SVC_PARAM_ROE_OTI_*)
Corrections de bugs
- 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)
Changements
- Default parameter values for following functions were implemented:UDS_SvcInputOutputControlByIdentifier_2013UDS_SvcTransferData_2013UDS_SvcRequestTransferExit_2013UDS_SvcResponseOnEvent_2013UDS_SvcRoutineControl_2013
- Added missing PUDS_SVC_PARAM_ROE_EWT_* definitions in header files (eventWindowTime parameter)
- Examples: Handling on allocation errors improved
- UDS_SvcInputOutputControlByIdentifier_2013
- UDS_SvcTransferData_2013
- UDS_SvcRequestTransferExit_2013
- UDS_SvcResponseOnEvent_2013
- UDS_SvcRoutineControl_2013
2.1.1 20/05/2021
Améliorations
- Added SecuredDataTransmission 2020 service handling
- Added definitions (ISO 14229-1:2020): PUDS_SVC_PARAM_RFT_MOOP_RSFILE, PUDS_SVC_PARAM_ROE_RMRDOSC and PUDS_SVC_PARAM_ROE_RDRIODSC
- 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
- Added PUDS_PARAMETER_USE_NO_RESPONSE_AUTOMATIC_TESTER_PRESENT parameter
Corrections de bugs
- 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
2.1.0 25/01/2021
Améliorations
- 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_2013Examples 06_client_all_request: replace invalid RequestUpload sizes parametersExamples 7 and 8 reviewed: remove useless mapping 'uid' initializationDocumentation of samples reviewed
- Check potential PUDS_STATUS_SERVICE_ALREADY_PENDING error on pending postive responses and extended timing negative responses
- Documentation updated
- 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
Corrections de bugs
- 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'
Changements
- 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)
2.0.0 03/12/2020
Améliorations
- 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
1.3.4 22/11/2019
Améliorations
- 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)
Corrections de bugs
- Fixed different issues caused by frames with non-default priorityFixed issue when receiving a 29-bit ISO-TP frame with non-default priorityFixed issue when waiting for a service with a 29-bit UDS message with non-default priorityFixed 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
- 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
1.3.3 27/06/2019
Améliorations
- Certificate checking of the libraries improved. In some special environments the initialization process of a channel could last about 20 seconds
Corrections de bugs
- Fixed problems with Endianness conversions
- The following missing RDTCI definitions have been added which are now supported by the UDS_SvcReadDTCInformationNoParam function:PUDS_SVC_PARAM_RDTCI_RDTCFDCPUDS_SVC_PARAM_RDTCI_RDTCWPS
- PUDS_SVC_PARAM_RDTCI_RDTCFDC
- PUDS_SVC_PARAM_RDTCI_RDTCWPS
1.3.2 24/05/2019
Améliorations
- 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
1.3.1 05/03/2018
Améliorations
- 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
Corrections de bugs
- Wrong signature of the function 'SvcWriteMemoryByAddress' in the Pascal header file PUDS.pas corrected
1.3.0 03/02/2017
Améliorations
- 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
1.2.1 22/04/2016
Améliorations
- Added parameter PUDS_PARAM_PADDING_VALUE to set value for CAN Data Padding
- Updated to support new PCAN channels (PCAN-Basic 4.x)
Corrections de bugs
- Fixed timeout deadlock when calling PUDS_Uninitialize with value PUDS_NONEBUS
1.2.0 01/09/2015
Améliorations
- PCAN-UDS header files edited to support PCAN-Basic 4.x
Corrections de bugs
- C++ header file was edited: default value for parameters in "UDS_Initialize" are now C-compatible
1.1.0 13/08/2015
Améliorations
- General updates due to ISO-TP changes
- General performance improved
1.0.0 14/11/2014
Changements
Neutralisé