CY3689 DK || UVC Implementation || Not able to stream video

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

cross mob
lock attach
Attachments are accessible only for community members.
abhishekps
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

Hi,

I am using CY3689 DK for displaying video / image on VLC or MPC-HC player.

I have taken "https://community.cypress.com/t5/Knowledge-Base-Articles/USB2-0-Camera-Interface-Using-FX2LP-and-Lat..." example as a reference. Changed endpoint buffers in Slave FIFO implementation part of example code. But I am not seeing any display on VLC or MPC-HC player.

I am also trying to analyze Wireshark packet but not able to do so. Please help to suggest what might be wrong here.
I will attach here the Wireshark capture data for your reference.

0 Likes
1 Solution

Hi MallikaK,

I found the issue with my code.

This "/* No. of bytes device can rx in single payload-1932 */" setting is what was causing problem in transfer of data from FX2LP to VLC. I changed it to a multiple of 512 and everything started working.

 

Also what is the significance / difference between EP_INT_VIDEO and EP_BULK_VIDEO? I was not able to get this from code. And is this setting in the above code will provide me maximum speed or can I improve it a bit more?

View solution in original post

0 Likes
7 Replies
abhishekps
Level 3
Level 3
25 replies posted 25 sign-ins 10 replies posted

Hi,

Please check this.

0 Likes

Hi,

Please help.

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

Please attach the complete project, if possible.

Regards,

Mallika

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

Hi MallikaK,

Please find the attached code I am using.
I am using "https://community.cypress.com/t5/Knowledge-Base-Articles/USB2-0-Camera-Interface-Using-FX2LP-and-Lat... example code attached inside it and made changes for buffer setting and such thing.

Changes done to sample code:

1. Currently I am using EP6 for receiving data from FPGA and sending to PC.

2. I am running on External clock frequency from the start.

3. Polarity of flags and external clock is reversed right now.

4. I have used same configuration in the Slave FIFO sample code and have been able to fetch data from FPGA using USB control center.

0 Likes

Hi MallikaK,

Any suggestion from your side?

0 Likes
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

The interrupt transfers from the interrupt endpoint are not occurring.

From the code, it can be understood you are using EP6 for Bulk in transfer. The other endpoint, i.e. the Interrupt Endpoint is used to communicate UVC-specific status information. Although in your descriptor file you are using EP1 for INT transfer, you haven't configured EP1INCFG  in slave.c file.

Kindly set EP_INT_VIDEO to 88H in the descriptor file. In the slave.c file configure EP6 for BULK transfer. Configure the other endpoints (2,4,8) as EPxCFG &= 0x7F.

Kindly check and update the results.

Regards,

Mallika

 

0 Likes

Hi MallikaK,

I found the issue with my code.

This "/* No. of bytes device can rx in single payload-1932 */" setting is what was causing problem in transfer of data from FX2LP to VLC. I changed it to a multiple of 512 and everything started working.

 

Also what is the significance / difference between EP_INT_VIDEO and EP_BULK_VIDEO? I was not able to get this from code. And is this setting in the above code will provide me maximum speed or can I improve it a bit more?

0 Likes