Hello,
well, for me, it seems as the ECU has a bug, i.e. it is not sending the whole data. As far as I can understand, the ECU is saying, that 7 bytes will be sent using multi-frame: first frame, length of 7 bytes, i.e. 6 data bytes as "
59 02CF 07 11 1E". The 7th bytes is never received (no consecutive frame).

- One Byte is Missing
- OneByteMissing.PNG (18.81 KiB) Viewed 5717 times
Though, the whole 7 bytes should actually be sent in a single frame, as stated in the ISO 15765-2 specifications. Only longer messages should use multi-frame for sending. The data being sent from your ECU should be "
07 59 02 CF 07 11 1E
XX", where
7 is the data length, and
XX is the failing byte.
You also are looking at the data before checking if the result of calling WaitForService is OK.

- CHecking data before checking result
- CheckResult.PNG (12.68 KiB) Viewed 5717 times
Note that the function is possibly returning
PUDS_ERROR_NO_MESSAGE, since the message was never received completely.