Root cause PUDS_ERROR_CAN_ERROR

A free API for the communication with control devices according to UDS (ISO 14229-1)
Locked
MaxenceD
Posts: 8
Joined: Fri 14. Feb 2020, 11:21

Root cause PUDS_ERROR_CAN_ERROR

Post by MaxenceD » Tue 24. Mar 2020, 10:15

Hello,
During UDS communication I sometime get an error TPUDSStatus PUDS_ERROR_CAN_ERROR (0x80000000) (return value of WaitForService).
According to the documentation the CAN Basic error code should be ORed with the TPUDSStatus, but all I get is 0x80000000 (no other flags set).

Is the root cause for the PUDS_ERROR_CAN_ERROR available somewhere ?

F.Vergnaud
Software Development
Software Development
Posts: 179
Joined: Mon 9. Sep 2013, 12:21

Re: Root cause PUDS_ERROR_CAN_ERROR

Post by F.Vergnaud » Tue 24. Mar 2020, 10:28

Hello,

UDS_WaitForServiceFunctional and UDS_WaitForService functions return PUDS_ERROR_CAN_ERROR when a network error occured.
Originally the functions returned Ok, but users tend to forget to check the value of the member RESULT of their retrieved UDS message.
As a result, when this error occur please check MessageRspBuffer->RESULT or MessageReqBuffer->RESULT: you should see an ISO-TP network error (timeout may have occured during the communication).
Best regards,
Fabrice

MaxenceD
Posts: 8
Joined: Fri 14. Feb 2020, 11:21

Re: Root cause PUDS_ERROR_CAN_ERROR

Post by MaxenceD » Tue 24. Mar 2020, 14:40

Hello Fabrice,
indeed, I was checking for the return value as well as UDS response, but not for the RESULT field.

K.Wagner
Software Development
Software Development
Posts: 768
Joined: Wed 22. Sep 2010, 13:36

Re: Root cause PUDS_ERROR_CAN_ERROR

Post by K.Wagner » Tue 24. Mar 2020, 15:41

Closed
Best regards,
Keneth

Locked