1 2 3 4 Previous Next 45 Replies Latest reply on Feb 17, 2020 1:16 AM by JayakrishnaT_76 Go to original post
      • 30. Re: CyCx3UvcAppUSBEventCB never executed
        MaSt_4567191

        some more facts and background:

        the MIPI stream is generated by and Lattice FPGA which merges 2 x 1280x768 MIPI striam into a 2560x760 MIPI stream. Actually it has been reprogrammed as a MIPI repeater (input: MIPI stram 1280x720, output MIPI 1280x720) to debug the USB and not to add complexity

         

        The video appears immdiately IF

        - the CX3 is running

        - reprogam the FPGA

         

        If Iet the FPGA up and powered BUT I exit and reneter VLC it does not work any longer

         

        I do not know how exactly the MIPI stream trigger the MIPI peripheral embedded in the CX3 MCU and also how the Lattice repeater IP acts during startup.

        Maybe the CX3 is synchronizing to some MIPI packets which are not there if I start and stop playback on VLC ...?

        For sure I will talk about this with Lattice

        • 31. Re: CyCx3UvcAppUSBEventCB never executed
          JayakrishnaT_76

          Hello,

           

          Please do the following:

          1. I think you have connected more than one USB devices to your PC. Please connect only CX3 to the PC and share the wireshark log when the device fails to stream 1280*720p resolution.

          2. The API CyU3PMipicsiSetPhyTimeDelay(1,0x 07); should be called after CyU3PMipicsiSetIntfParams() API is called. Please call it immediately after CyU3PMipicsiSetIntfParams() is called.

          3. In reply 24, I saw that from the teraterm logs, the video is streaming properly. Please let me know what additional modification did you do in between reply 24 and reply 26.

           

          From reply 30, my understanding is that CX3 streams the video data without any delay properly if you program CX3 first followed by FPGA and then opening VLC player. Please let me know if I'm wrong. This sequence is correct. Please share the USB logs when you try to close and reopen the VLC keeping FPGA powered up. Make sure that you have only CX3 connected to PC.

           

          Best Regards,

          Jayakrishna

          • 32. Re: CyCx3UvcAppUSBEventCB never executed
            MaSt_4567191

            1. I think you have connected more than one USB devices to your PC. Please connect only CX3 to the PC and share the wireshark log when the device fails to stream 1280*720p resolution.

             

            here you go. I stopped VLC playback and the play again

             

            2. The API CyU3PMipicsiSetPhyTimeDelay(1,0x 07); should be called after CyU3PMipicsiSetIntfParams() API is called. Please call it immediately after CyU3PMipicsiSetIntfParams() is called.

             

            Did it

             

            3. In reply 24, I saw that from the teraterm logs, the video is streaming properly. Please let me know what additional modification did you do in between reply 24 and reply 26

             

            Indeed I think these logs refers to proper streaming. You should ignore them. I'll chek better though

             

            From reply 30, my understanding is that CX3 streams the video data without any delay properly if you program CX3 first followed by FPGA and then opening VLC player. Please let me know if I'm wrong. This sequence is correct.

            Yes: this is the working sequence

             

            Please share the USB logs when you try to close and reopen the VLC keeping FPGA powered up. Make sure that you have only CX3 connected to PC.

            here you go (foo1). FYI, I disconned all the USB devise except mouse and keybord (namely I disconnected the FTDI we have on board to program the FPGA and the FTDI to communcate with the UART)

             

            Best Regards,

            Jayakrishna

             

            regards to you abnd thanks for the VERY helpful attitude

            • 33. Re: CyCx3UvcAppUSBEventCB never executed
              JayakrishnaT_76

              Hello,

               

              These logs actually shows no data transfer to the host.

               

              Are you seeing any delay in streaming the video now?

              If yes, please share the wireshark trace for the case when you get the video streamed after the delay.

               

              If the problem of delay is solved but the video is not streaming after you restart the VLC player, then share the debug prints while this is happening. This can be used to understand whether the problem is related to CX3 or FPGA.

               

              Best Regards,

              Jayakrishna

              • 34. Re: CyCx3UvcAppUSBEventCB never executed
                MaSt_4567191

                Actually I cannot see any video since long time. I restarted the CX3, which has reconfigured the sensors correctly as far as I can see.

                Still no video since 10 minutes ... this is cannot be easily replicated now

                 

                BTW I will move to setup the FPGA (the goal is using the 2:1 lattice IP merging a pair 640x720p into a single 1280x720 stream

                 

                A a side Question: can UVC support 2560x720p or should I design a new video class for this?

                 

                thanks

                • 35. Re: CyCx3UvcAppUSBEventCB never executed
                  JayakrishnaT_76

                  Hello Marco,

                   

                  Did you program CX3 first followed by FPGA and then open VLC in your last test?

                  Regarding your question on 2560 * 720p. Yes this can be supported as the bandwidth is less than maximum supported USB 3.0 Bandwidth. But you will have to change the descriptors and probe control structure for this.

                   

                  Best Regards,

                  Jayakrishna

                  • 36. Re: CyCx3UvcAppUSBEventCB never executed
                    MaSt_4567191

                    Yes but I was asking about which resolutions are supported by uvc on the windows side. For example raw video is not supported by uvc vide class. I was asked by my customer to investigate on this.

                    • 37. Re: CyCx3UvcAppUSBEventCB never executed
                      JayakrishnaT_76

                      Hello,

                       

                      UVC does not support RAW formats. But it supports YUY2 format. According to my understanding, you were trying to stream 1280*720p in YUY2 format. So I thought you would be using the same for 2560*720p also.

                       

                      Best Regards,

                      Jayakrishna

                      • 38. Re: CyCx3UvcAppUSBEventCB never executed
                        MaSt_4567191

                        yes: this mean that UVC will work with 2560x720p resolution, right?

                         

                        On Thu, Feb 6, 2020 at 3:03 PM JayakrishnaT_76 <

                        • 39. Re: CyCx3UvcAppUSBEventCB never executed
                          JayakrishnaT_76

                          Hello,

                           

                          Yes UVC will support streaming of 2560x720p resolution in YUY2 Format.

                           

                          Best Regards,

                          Jayakrishna

                          • 40. Re: CyCx3UvcAppUSBEventCB never executed
                            MaSt_4567191

                            Thank you very much for your reply

                            As a further question, for the time being I am happy with the behaviour except for some limitation i.e. if I stop VLC and play again the streaming does not recover. Am I supposed to implement something in the example design for this? Next step is to turn the application in a professional piece of software (reliable, controllable etc.)

                             

                            Regards

                            • 41. Re: CyCx3UvcAppUSBEventCB never executed
                              JayakrishnaT_76

                              Hello,

                               

                              According to my understanding, you are able to stream the video properly using VLC media player at the beginning. But when you close and reopen VLC, you are not able to do the same properly. Please correct me if I'm wrong. Also, please share the following so that I can understand the problem and find a solution quicker.

                              1. The debug logs taken from a particular point of time when the video is streaming properly to the point where it stops streaming when you close and reopen the application. This can be used to understand what exactly is happening when you close and reopen the application.

                              2. Please let me know if the FPGA and CX3 are programmed when you close and reopen the VLC.

                               

                              Best Regards,

                              Jayakrishna

                              • 42. Re: CyCx3UvcAppUSBEventCB never executed
                                MaSt_4567191

                                Hello Jayakrhisna

                                I am back. We struggled and succeeded to get a 1280x720 MIPI flow out of the Lattice Crossilink which merges two 640x720 MIPI input from a pair of aptinas.

                                 

                                What worked with the MIPI repeater (1 sensor@1280x720) of course does not work any longer, according to the murphys' law

                                In principle the MIPI stream at the input of the CX3 is the same resolution, encoding, fps etc.)

                                 

                                The UVC is correctly enumerated but as soon as I select the capture device on the VLC combo box I got a message

                                 

                                "the device is disconnected because its type is not supported "

                                 

                                After sensor configurations and VLC device selection I got these messages

                                 

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA

                                bRType = 0xA1, bRequest = 0x81, wValue = 0x200, wIndex = 0x0, wLength= 0x1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA

                                bRType = 0xA1, bRequest = 0x81, wValue = 0x200, wIndex = 0x0, wLength= 0x1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA

                                bRType = 0xA1, bRequest = 0x81, wValue = 0x200, wIndex = 0x0, wLength= 0x1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA

                                bRType = 0xA1, bRequest = 0x81, wValue = 0x200, wIndex = 0x0, wLength= 0x1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x81, bRequest = 0x0, wValue = 0x0, wIndex = 0x0, wLength= 0x2

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA

                                bRType = 0xA1, bRequest = 0x81, wValue = 0x200, wIndex = 0x0, wLength= 0x1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x0, wLength= 0x0

                                StpCB:In SET_FTR 0::1

                                bRType = 0xA1, bRequest = 0x87, wValue = 0x1400, wIndex = 0x100, wLength= 0xA

                                bRType = 0xA1, bRequest = 0x81, wValue = 0x200, wIndex = 0x0, wLength= 0x1

                                bRType = 0x1, bRequest = 0x3, wValue = 0x0, wIndex = 0x100, wLength= 0x0

                                • 43. Re: CyCx3UvcAppUSBEventCB never executed
                                  JayakrishnaT_76

                                  Hello,

                                   

                                  Please let me know if you are facing any error when you use another host application like AMCap or MPC-HC?

                                   

                                  Best Regards,

                                  Jayakrishna

                                  • 44. Re: CyCx3UvcAppUSBEventCB never executed
                                    MaSt_4567191

                                    Hello Jayakrishna

                                    after a weekend of hard work I succeeded to stream video to VLC: what blocked was an implementation issue in the Lattice FPGA.

                                    Thanks much for your support: so far I am OK