Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
Our firmware allows the host to configure the FX3 in a couple different ways. In the default configuration, the host writes data to the GPIF-II over EPs 2/4 and reads back over EPs 6/8. The firmware can also configure the FX3 to loopback what's written on EPs 2 and 4 to EPs 6 and 8. In most circumstances, this works fine. The firmware can switch back and forth between these two configurations without any issue, unless things happen in the following order:
-Switch to the loopback mode.
-Write/read from one of the endpoints.
-Switch back to the default mode.
-Switch back to the loopback mode.
-Attempt to write/read from one of the endpoint.
At this point, libusb will through up an error, LIBUSB_ERROR_OTHER[-99]. That error only appears on the first write or the first read. All subsequent writes and reads using the loopback configuration are correct. Does anyone have any idea what could be causing this?