FX3 supports SS/HS/FS issues

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

cross mob
Anonymous
Not applicable

   I read several posts about FX3 programmatically switch to different speed modes,  let's say we have a FX3 dev board that plugs into a xHCI port (support super speed).

   

   Here, what we want is to have FX3 dev board switched to three different speed modes ( plug into xHCI port), from one of the post I know that it can be switch between HS and SS,  but not FS,  can Cypress fix this?

   

 

   

Thanks,

   

Henry

0 Likes
1 Solution
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

Edited:

The SDK has an API function to prevent FX3 from connecting as a High-Speed device as follows.

GS003297.png

NOTE: Call this API before ConnectState API.

Example Code:

/* Make USB Full Speed Connection. */

        apiRetStatus = CyU3PUsbForceFullSpeed(CyTrue);

        if (apiRetStatus != CY_U3P_SUCCESS)

        {

            CyU3PDebugPrint (4, "Full Speed Conn Failed, Error code = %d\n", apiRetStatus);

            CyFxAppErrorHandler(apiRetStatus);

        }

    /* Connect the USB Pins with super speed operation DISABLED. */

    apiRetStatus = CyU3PConnectState(CyTrue, CyFalse);

    if (apiRetStatus != CY_U3P_SUCCESS)

    {

        CyU3PDebugPrint (4, "USB Connect failed, Error code = %d\n", apiRetStatus);

        CyFxAppErrorHandler(apiRetStatus);

    }

Regards,

Noriaki

View solution in original post

0 Likes
2 Replies
Anonymous
Not applicable

Please let me know the use case of your requirement.

   

Regards,

   

sai krishna.

0 Likes
NoriTan
Employee
Employee
25 sign-ins 5 questions asked 10 sign-ins

Edited:

The SDK has an API function to prevent FX3 from connecting as a High-Speed device as follows.

GS003297.png

NOTE: Call this API before ConnectState API.

Example Code:

/* Make USB Full Speed Connection. */

        apiRetStatus = CyU3PUsbForceFullSpeed(CyTrue);

        if (apiRetStatus != CY_U3P_SUCCESS)

        {

            CyU3PDebugPrint (4, "Full Speed Conn Failed, Error code = %d\n", apiRetStatus);

            CyFxAppErrorHandler(apiRetStatus);

        }

    /* Connect the USB Pins with super speed operation DISABLED. */

    apiRetStatus = CyU3PConnectState(CyTrue, CyFalse);

    if (apiRetStatus != CY_U3P_SUCCESS)

    {

        CyU3PDebugPrint (4, "USB Connect failed, Error code = %d\n", apiRetStatus);

        CyFxAppErrorHandler(apiRetStatus);

    }

Regards,

Noriaki

0 Likes