CyU3PDmaMultiChannelSetXfer ERROR

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

cross mob
user_2585021
Level 1
Level 1
10 sign-ins 5 sign-ins First reply posted

I'm using @an75779 UVC sample code.

At first, UVC is captured from the application and then the capture is forcibly stopped.

Next, I start the capture again, the following error may occur:

"CyU3PDmaMultiChannelSetXfer = 0x43"

At the reception timing of CY_FX_UVC_STREAM_EVENT timing.

If an error occurs, the firmware must be reset (powered off).

1. What is the cause of this phenomenon?

2. What are the factors when the return value of CyU3PDmaMultiChannelSetXfer is 0x43?

best regards.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.

Hello,

A1. Yes. After the default streaming mode is decided, the UVC driver issues a COMMIT request.

Please refer to "2.3.2 UVC-Specific Requests" in AN75779 for more information.

A2. Yes. The camera may be disconnected from the Host, the USB Host program may close, or the USB Host may issue a reset or suspend request to FX3.

These actions trigger the CY_FX_UVC_STREAM_ABORT_EVENT event.

It is described in "5.8 Terminating the Video Streaming" in AN75779.

A3. I guess there are issues on your added code.

When UVC application stops, CY_FX_UVC_STREAM_ABORT_EVENT is called as per my above answer.

Then, CyFxUvcApplnStop() function is called and in this function, some of the APIs are described for stopping its Application. Obviously, CyU3PDmaMultiChannelReset() is included in this function.

I checked your main Thread code.

Kindly do place the EP in NAK mode before invoking cleaning up APIs (CyU3PUsbFlushEp, CyU3PDmaMultiChannelReset, etc.)

Kindly do not use CyU3PGpifSMStart() if the GPIF state is not in the idle state.

Hopefully, you will more refer to our AN75779 and consider to use our example code further.

For your reference, I will attach my document which described basic flow on AN75779 in Japanese.

Best regards,

Hirotaka Takayama

View solution in original post

3 Replies