Page 1 of 1

User specific RDI address

Posted: Fri 10. Jun 2016, 14:41
by CarrocciaGiulia
Hi,

I'm trying to send a ReadDataByIdentifier request with RDI 0x1006, can data message as below:
03 22 10 06(hex)

but the CAN output message is :
03 22 90 06(hex)

why the Record Data Identifier ID is 0x9006 instead of 0x1006

My code below:

Code: Select all

 request.NETADDRINFO.SA = (byte)TPUDSAddress.PUDS_ISO_15765_4_ADDR_TEST_EQUIPMENT;
            request.NETADDRINFO.TA = (byte)TPUDSAddress.PUDS_ISO_15765_4_ADDR_ECU_NDP;
            request.NETADDRINFO.TA_TYPE = TPUDSAddressingType.PUDS_ADDRESSING_PHYSICAL;
            request.NETADDRINFO.RA = 0x00;
            request.NETADDRINFO.PROTOCOL = TPUDSProtocol.PUDS_PROTOCOL_ISO_15765_2_29B;

 ushort[] buffer = new ushort[1];
            buffer[0] = (ushort)0x1006;
            result = UDSApi.SvcReadDataByIdentifier(UDSApi.PUDS_USBBUS1, ref request, buffer, (ushort)buffer.Length);

Re: User specific RDI address

Posted: Fri 10. Jun 2016, 15:32
by F.Vergnaud
Hello CarrocciaGiulia,

Well it should not... Are you using the latest version of UDS API (v1.2.1) ?

Here is your tested code:

Code: Select all

TPUDSMsg request = default(TPUDSMsg);
TPUDSStatus result;

request.NETADDRINFO.SA = (byte)TPUDSAddress.PUDS_ISO_15765_4_ADDR_TEST_EQUIPMENT;
request.NETADDRINFO.TA = (byte)TPUDSAddress.PUDS_ISO_15765_4_ADDR_ECU_1;
request.NETADDRINFO.TA_TYPE = TPUDSAddressingType.PUDS_ADDRESSING_PHYSICAL;
request.NETADDRINFO.RA = 0x00;
request.NETADDRINFO.PROTOCOL = TPUDSProtocol.PUDS_PROTOCOL_ISO_15765_2_29B;

ushort[] buffer = new ushort[1];
buffer[0] = (ushort)0x1006;
result = UDSApi.SvcReadDataByIdentifier(UDSApi.PUDS_USBBUS1, ref request, buffer, (ushort)buffer.Length);
[...]
And the trace of received frame (with 0x1006 as data):

Code: Select all

ID (hex)
|     Data Length
|     |   Data Bytes (hex) ...
|     |   |
  ----+---  +  -+ -- -- -- -- -- -- --
18DA01F1  8  03 22 10 06 55 55 55 55