cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

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
NoriakiT_91
Employee

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
NoriakiT_91
Employee

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