BulkInEndPoint::XferData() fail occasionally when another device plug in the same USB root

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
SuJi_4691191
Level 1
Level 1

Information of my project:

1,  Chip is CY7C68013A and bulk frame length is 64.

2,  Library in Cypress Suite USB Release 3.4.7 is used.

3,  Bulk data length is  16*1024 when call BulkInEndPoint::XferData().

BulkInEndPoint::XferData()  is failed occasionally with data length less than 16*1024 when i plugged into a USB flash disk.

When  will BulkInEndPoint::XferData()   return fail or without enough data ???

0 Likes
1 Solution

Hello,

Yes, you can use it for XP.

Please use the UsbdStatus function under CCyUSBEndPoint (refer to the API document) to retrieve the error code returned from the last call to XferData. 

Once you get the Error code, you can use the code to check the error details from the Microsoft page: https://docs.microsoft.com/en-us/previous-versions/windows/hardware/drivers/ff539136(v=vs.85)?redire...

Regards,

Yatheesh

View solution in original post

0 Likes
3 Replies
YatheeshD_36
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

Can you please let me know if you are using the CyAPI.lib or the CyUSB.dll in your host application?

Please use the cpp or C_sharp libraries available in the FX3 SDK 1.3.4.

You can try checking the value returned by the API.

If sufficient data is not available to be read from the device by the application, the API will return a Timeout error.

Regards,

Yatheesh

0 Likes

Yes, 

CyAPI.lib is used in my application.

The default Timeout value is 1s, and XferData() is return before it.

I read the API documentation carefully found no answer.   (CyAPI.chm)

FX3 SDK 1.3.4.

Is it suitable for Windows XP and CY7C68013A ?

Thx a lot for answer.

0 Likes

Hello,

Yes, you can use it for XP.

Please use the UsbdStatus function under CCyUSBEndPoint (refer to the API document) to retrieve the error code returned from the last call to XferData. 

Once you get the Error code, you can use the code to check the error details from the Microsoft page: https://docs.microsoft.com/en-us/previous-versions/windows/hardware/drivers/ff539136(v=vs.85)?redire...

Regards,

Yatheesh

0 Likes