CyAPI and FX3 API trouble

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

cross mob
DanielS
Level 1
Level 1
10 sign-ins 5 questions asked 5 sign-ins

I use Reset function which is in the CyAPI to reset the endpoints, does the effect is equal to CyU3PDmaChannelReset function which is in the FX3 API? 

For all I know, the FX3 API is used in EZUSB Suite and produce an image file which has to burn to the FX3, so I'm not sure about whether the function in FX3 API can be used individually by Suite just like I use CyAPI in VS.

Thanks a lot.  

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

Hello,

From your response, I understand that you want to reset the device from the USB host.

In that case, you send a vendor command to the device over EP0 and the FX3 firmware needs to handle the request and call CYU3PDeviceReset.

Please refer USBBulkSrcSink example firmware of FX3 SDK to check the implementation of vendor commands and handling them.

Regards,
Rashi

View solution in original post

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

Hello,

CyU3PDmaChannelReset will reset the DMA channel inside FX3. Please refer to CyU3PDeviceReset API in the FX3 API guide for your application.

I understand that you want to know about CCyUSBDevice::Reset(). If yes, This command resets the upstream port of the device it manages. After a successful reset, the bus driver reselects the configuration and any alternative interface settings that the device had before the reset occurred. All pipe handles, configuration handles and interface handles remain valid.

CCyUSBEndPoint::Reset -  This command resets an endpoint of the device, clearing any error or stall conditions on that endpoint. Pending data transfers are not canceled by this command

Regards,
Rashi
0 Likes

Thanks for replying, but I still wondering how to use the CyU3PDeviceReset API.

Since I know how to use APIs in CyAPI such as CCyUSBDevice::Reset() in visual studio, but I'm not sure about which interface I should use to call the FX3 API such as CyU3PDeviceReset.

Is image file that created by the EZ-USB Suite the only way to control FX3?

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

Hello,

From your response, I understand that you want to reset the device from the USB host.

In that case, you send a vendor command to the device over EP0 and the FX3 firmware needs to handle the request and call CYU3PDeviceReset.

Please refer USBBulkSrcSink example firmware of FX3 SDK to check the implementation of vendor commands and handling them.

Regards,
Rashi