You are here

Trying to expand bulkloopautoloopback with multi-configuration | Cypress Semiconductor

Trying to expand bulkloopautoloopback with multi-configuration

Summary: 2 Replies, Latest post by yuval.berger_1799926 on 16 Aug 2016 03:23 AM PDT
Verified Answers: 0
Last post
Log in to post new comments.
yuval.berger_1799926's picture
2 posts


I am trying to expand the bulk loop example so that the firmware to contain additional configurations.

I duplicated the CyFxUSBSSConfigDscr array in cyfxbulklpdscr.c to and changed the configuration number and number of configurations on the device descriptor.

The firmware compiles and on the sniffer (Lecroy) I can see both configurations, however a "stall" is returned when the host tries to configure the device (set-configuration).

I noticed that for CyU3PUsbSetDesc (which uses to set the descriptor to the device driver in the cypress), there is a comment in cyu3usb.h

    This function is used to register a USB descriptor with the USB driver.
    The driver is capable of remembering one descriptor each of the various
    supported types as well as upto 16 different string descriptors.

Will appreciate your insight on this... Is it possible to configure the fx3 firmware to support muti-configuration?



mady's picture
Cypress Employee
964 posts


Did you make sure that you entered the values such as configuration number and lengths correctly. The host is seen to issue a stall when there is a mismatch in any of these fields.



yuval.berger_1799926's picture
2 posts

Thanks for replying,

Regarding the lengths, Since I took the CyFxUSBSSConfigDscr[] and practically duplicated it, I haven't changed any of the length related fields.

I did changed the number of configurations in CyFxUSB30DeviceDscr, increasing it by 1.

In addition, the added configuration (cloned array - similar to CyFxUSBSSConfigDscr), gotten a configuration value 2

Are you familiar with the CyU3PUsbSetDesc comment (see cyu3usb.h line 678) about that the driver can "remember" one descriptor of the various supported types, but up to 16 string descriptor devices?

I use CyU3PUsbSetDesc in order to set the additional config (cloned CyFxUSBSSConfigDscr).

Would like to start from a relatively simple firmware and expand its functionality (so I thought I would take the bulkloopback for example and try to create a second (identical at first) configuration that will be set/chosen from the host and still be able to use the test that uses the bulkloopback after the host has configured configuration #2.


Is it possible to create multi configuration firmware with the FX3? (started to look into multi-interface solution instead)

Log in to post new comments.