How do read DTO pakct?

A free API for the communication with control units based on the Universal Measurement and Calibration Protocol (XCP) by ASAM for Windows®
Post Reply
bukkun
Posts: 5
Joined: Fri 8. Feb 2019, 16:10

How do read DTO pakct?

Post by bukkun » Fri 8. Feb 2019, 16:36

I'm developing a monitoring XCP-DAQ application-spftware use PEAK-CAN-USB and PCAN-XCP APIs on Windows.
Call SetDAQListPointer() to StartStopSynchronizedDAQList().
The slave node start to output DTO frames.
After, How do read DTO pakct?

When use CAN_Read() API, any part of DTO frames were thined outs.
When use XCP_DequeuePacket() API, error return XCP_ERR_QUEUE_EMPTY.

Please let me konw rightly method of to read DTO pakct.

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

Re: How do read DTO pakct?

Post by K.Wagner » Fri 8. Feb 2019, 16:53

Hello,

first of all makes sure that you are using the last version, Version 2.2.1 from 2018-12-13, since older version had a problem receiving DTOs.

Note that you have to use the XCP_TransportLayerCommand so that dedicated DTOs can be included in the receiving filter. After this, dedicated DTOs can be read over the function XCP_DequeuePacket.

Here an extract of the help (TransportLayerCommand)
TransportLayerCommand.PNG
TransportLayerCommand.PNG (19.28 KiB) Viewed 850 times
Best regards,
Keneth

bukkun
Posts: 5
Joined: Fri 8. Feb 2019, 16:10

Re: How do read DTO pakct?

Post by bukkun » Mon 11. Feb 2019, 08:01

Hi.
Tahnk you for your advice.

I add a statement of calling XCP_TransportLayerCommand() to after SET_DAQ_LIST_MODE.
(subcommand:SET_DAQ_ID, slave Response:0xFF, Block(with wait) mode).
I download newist DLLs form your web-site.
I tried to use PXCP.dll ver. 2.2.1.33. (with PCANBasic.dll 4.3.2.161 and the driver 4.1.4.262)

However XCP_DequeuePack() is returend XCP_ERR_QUEU_EMPTY yet.
What do you think other cause?

bukkun
Posts: 5
Joined: Fri 8. Feb 2019, 16:10

Re: How do read DTO pakct?

Post by bukkun » Mon 11. Feb 2019, 08:27

I found that when packetBufferLength of XCP_DequeuPacket() is smaller then 8, return error.
The packetBufferLength is equal 8, I can read DTOs from XCP_DequeuPacket().

Thank you for your good support.

Post Reply