CyU3PSetEpConfig failed, Error code = 77

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

cross mob
lock attach
Attachments are accessible only for community members.
yxx0803
Level 3
Level 3
50 sign-ins 25 replies posted 25 sign-ins

Hello,

There is a question that shows in UART debug.CyU3PSetEpConfig failed, Error code = 77.

I modify the routine named USBIsochloopAuto.My destination is using the iso transfer to transfer data from FPGA to the host.

when i download the FW by control center, there is an error happened.

there is an accessory about my FW and my GPIF design and a picture about the error.

thanks a lot!errorcode.png

Best Regards,
Jack chen
0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello,

The error 77 of CyU3PSetEpConfig is due to CY_U3P_ERROR_INVALID_CONFIGURATION

Please note that only USB endpoint 3 and endpoint 7 can be used as isochronous endpoints when the isoPkts field in the endpoint configuration is configured with a value more than 1.

In the firmware you shared, I observed that isopkts is 3 (  #define CY_FX_ISO_PKTS (3) ) and the endpoint used is 1 (#define CY_FX_EP_CONSUMER 0x81).

Please use consumer endpoint as either 0x83 or 0x87 when isopkts is more than 1. Also change the Consumer socket (CY_FX_CONSUMER_USB_SOCKET) for the DMA channel to map to the correct endpoint.

i.e.  if  #define CY_FX_EP_CONSUMER 0x83  then

#define CY_FX_CONSUMER_USB_SOCKET CY_U3P_UIB_SOCKET_CONS_3

Regards,

Rashi

Regards,
Rashi

View solution in original post

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

Hello,

The error 77 of CyU3PSetEpConfig is due to CY_U3P_ERROR_INVALID_CONFIGURATION

Please note that only USB endpoint 3 and endpoint 7 can be used as isochronous endpoints when the isoPkts field in the endpoint configuration is configured with a value more than 1.

In the firmware you shared, I observed that isopkts is 3 (  #define CY_FX_ISO_PKTS (3) ) and the endpoint used is 1 (#define CY_FX_EP_CONSUMER 0x81).

Please use consumer endpoint as either 0x83 or 0x87 when isopkts is more than 1. Also change the Consumer socket (CY_FX_CONSUMER_USB_SOCKET) for the DMA channel to map to the correct endpoint.

i.e.  if  #define CY_FX_EP_CONSUMER 0x83  then

#define CY_FX_CONSUMER_USB_SOCKET CY_U3P_UIB_SOCKET_CONS_3

Regards,

Rashi

Regards,
Rashi
0 Likes
yxx0803
Level 3
Level 3
50 sign-ins 25 replies posted 25 sign-ins

hello,

Thanks a lot! got it!

Best Regards,
Jack chen
0 Likes