I'm using Fx3 to stream UVC data successfully. I'm basing my program on Cx3UvcOV5640 sample.
In parallel I'm sending (very small and rare) control packets to the device on the EP0.
Sending these control packets sometimes sporadically cause the image to become vertically unsynchronized.
Sending a few more of the control packets sometimes sporadically restores the image to the normal state.
Digging a little deeper, I see that the function
71 (CY_U3P_ERROR_INVALID_SEQUENCE) around the time where the issues begin.
Do you have an idea as to what might have gone wrong with the DMA, and how I should handle it ?
This error is caused when DMA Channel is trying to commit a buffer when there are no free buffers available. The PC must comsume the buffers more quicker or the processing speed should be increased. The data coming from the senor might be too fast for FX3 to handle. Please create a Tech Support case so that our engineers would look into this issue and recommend enhancement to your code.
We're having the same issue. We're using CX3 to send camera image to the host over the usb. The image size is 16 bit VGA(600k) and the fps is 30. The DMA channel buffer size is 24 k and there are 8 buffers(4 in multi channel for 2 sockets). We use some uvc controls to adjust the camera. Once we send one byte to the host for usb GET request for the control over EP0 while streaming, the DMA calls to get or commit for video streaming DMA buffers fail. What may be the reason for such a failure?