How can I modify and build the source of SDK 1.3.4 as per my requirement

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

cross mob
ViKu_2048416
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

Hi,

I am facing an issue in 1.3.4 SDK at High speed, that the issue is if I build my code at 1.3.4 SDK there is a frame drop while opening the UVC control window. In 1.3.1 SDK version I am not facing this issue. As per my knowledge it is due the integration of bulk or ISO endpoint suspend logic in latest SDK version, so I need to disable that logic in SDK. So please guide me to achieve this.

Thanks and Regards,

Vignesh Kumar R.

 

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

You can also  refer to this thread USB endpoint EP0 low performance in SDK version 1_... - Cypress Developer Community with similar query.

The thread pointed mentions :

Instead of  using CyU3PDmaChannelSendData() please test using CyU3PUsbSendEP0Data() itself - but along with this the following API needs to be used - CyU3PUsbSetEpSuspDisableMask() API (refer 5.36.7.52 of FX3 API guide) - which skips suspend of USB IN endpoints (as per the mask chosen).

But please note that by using CyU3PUsbSetEpSuspDisableMask(), there may be chances of data corruption when Bulk and EP0-IN transfers happen concurrently. Even when you used CyU3PDmaChannelSendData(), this possibility existed - which was communicated in the thread  Solved: CYUSB3013 low control read performance with FX3 SD... - Cypress Developer Community.

Regards,
Rashi

View solution in original post

0 Likes
3 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

As mentioned in part IV of section 2.3 of FX3 trouble shooting guide, for concurrent BULK IN and EP0 IN transfers  it is possible that the data sent on the control endpoint gets corrupted.

If the BULK IN transfers are not suspended, there is a possibility of control IN transfers getting corrupted.

To improve the performance of control IN transfers the workaround mentioned in following thread Solved: CYUSB3013 low control read performance with FX3 SD... - Cypress Developer Community  can be followed.

Please let me know if this helps.

Regards,
Rashi
0 Likes
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

You can also  refer to this thread USB endpoint EP0 low performance in SDK version 1_... - Cypress Developer Community with similar query.

The thread pointed mentions :

Instead of  using CyU3PDmaChannelSendData() please test using CyU3PUsbSendEP0Data() itself - but along with this the following API needs to be used - CyU3PUsbSetEpSuspDisableMask() API (refer 5.36.7.52 of FX3 API guide) - which skips suspend of USB IN endpoints (as per the mask chosen).

But please note that by using CyU3PUsbSetEpSuspDisableMask(), there may be chances of data corruption when Bulk and EP0-IN transfers happen concurrently. Even when you used CyU3PDmaChannelSendData(), this possibility existed - which was communicated in the thread  Solved: CYUSB3013 low control read performance with FX3 SD... - Cypress Developer Community.

Regards,
Rashi
0 Likes
ViKu_2048416
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

Hi Rashi,

Thanks for your response, it worked.

0 Likes