I am able to get UVC USB packets out from FX3. Actually I had not done anything except power cycle FX3 explorer kit.
But DirectCap still show a blank screen with 0 fps.
Using USB monitor, I can see streams of 16380 byte sized bulk packets (12byte header + 4092 * 4). The UVC header is present. So it seems video has been transmitted out of FX3.
I notice that for each 32bit YUV2 color data in the bulk stream, 16 bits are always zero. This is not what I am sending. So I stop FX3 execution and found the same 16bits zero in DMA buffer. So I think the problem occur during GPIF sampling.
Any advice how to get all 32bits capture correctly?
Can you please print the number of bytes transferred in each frame and check whether it matches with the expected value?
To do this, you need to have a variable say, uint32 framecount. You need to increment this variable with the number of bytes in each buffer as soon as a buffer is committed. (After CyU3PDmaMultiChannelCommitBuffer) and print it by the end of the frame.