8 Replies Latest reply on Apr 19, 2018 11:06 PM by vladimirostu_2251656

    Add CDC device to UVC

    vladimirostu_2251656

      Hello.

      I have an example of a video camera (UVC) built on a chip CX3. Tell me, how to fix the descriptors, in order to create in addition to UVC class another device CDC (virtual com-port)?

        • 1. Re: Add CDC device to UVC
          keaj

          Please find the attached CX3 example project having UVC+CDC interface.

          Download this example project onto Denebola RDK. When the kit enumerates, UVC interface automatically binds to UVC driver and will come up as CX3-UVC under 'Imaging devices' section of Device Manager. Whereas, the CDC interface will come up as CX3-UVC under 'Other devices' section of Device Manager.

          You need to force bind this interface to CDC driver as follows:

          1. Download and install CypressDriverInstaller_1.exe from the following link: http://www.cypress.com/documentation/software-and-drivers/usb-serial-software-development-kit

          After default installation, 'Cypress USB-Serial Driver' folder will be created in the following path: C:\Program Files (x86)\Cypress

          2. Right click on CX3-UVC under 'Other devices' section of Device Manager and choose 'Update Driver Software'.

          3. In the pop-up window, choose 'Browse my computer for driver software'.

          4. Choose 'Let me pick from a list of device drivers on my computer'.

          5. Choose 'Show All Devices' and click Next.

          6. Click on 'Have Disk...'

          7. In the pop-up window, choose 'Browse...' and go to the following location:

          C:\Program Files (x86)\Cypress\Cypress USB-Serial Driver\DriverBinary\CDC_Driver\bin\win7\x64

          8. Choose 'CypressSerial.inf' file and click Open.

          9. Choose 'OK' and in the next window, select 'USB to UART Adapter' and click Next.

          10. In the 'Update Driver Warning' pop-up window, choose Yes. Now, one of the CDC interface will come up as USB to UART Adapter in Device Manager.

          11. Now, you will have another device 'Virtual Serial Port' under Other devices section of Device Manager.

          12. Right click on this and choose 'Update Driver Software'.

          13. Follow steps 3 to 8.

          14. This time select 'USB Serial Port' and click Next. After you choose 'Yes' in the

          'Update Driver Warning' pop-up window, you will get a USB Serial Port(COM x) under Ports (COM&LPT) section of Device Manager. ['x' can be any number]

           

          Now, open any of UVC Host Applications (e-CamView) and you can observe the video being streamed. Simultaneously, open a UART Terminal application (TeraTerm) and you can verify the working of CDC interface.

           

          You need to do the above mentioned steps for binding to CDC driver only once. The next time, you connect the device to PC, CDC interface will automatically come up as a USB Serial Port.

          • 2. Re: Add CDC device to UVC
            vladimirostu_2251656

            Dear keaj. Many thanks for the response.

            Yes, I saw an example for a UVC. But there, as I know, the serial port is made on the second cable.

            I wanted the CDC device displayed on the same cable as the video signal.

            Tell me please, can this be done?

            • 3. Re: Add CDC device to UVC
              vladimirostu_2251656

              Dear Keaj.

              And additionally. I not find UVC project in attachment files.

              I got standart UVC project. It is right?

              • 4. Re: Add CDC device to UVC
                keaj

                The project has support for both UVC and CDC interface. Please follow the steps mentioned in the previous response and let us know test results.

                • 5. Re: Add CDC device to UVC
                  vladimirostu_2251656

                  Dear Keaj

                  Many stanks.

                   

                   

                  Yes, thanks. I downloaded drivers, compiled example, and installed it to "Denebola".

                  And "denebola" as a video camera is a device is seen in PC.

                   

                  But In different versions of Windows everything works differently.

                  On Windows10 the driver was defined even without installation of cypress drivers. The serial port is detected.

                  But no any data from Denebola to PC is transmitted. Is it right?

                   

                   

                  On Windows 7 could not find the appropriate driver in the directory you specified.

                   

                  I have a development (Cypress EZ USB Suite) for Windows 7.

                  For development in the Windows10 it is necessary to install a framework 3.5, which is not yet possible.

                   

                  Tell me why I did not decide on Windows 7 (64 bit) ?

                   

                   

                  How to choose a serial port in denebola to send and receive message from denebola to PC and vice versa?

                  How configure this CDC-serial port in denebola?

                  Use CyU3PDebugPrint()?

                  • 6. Re: Add CDC device to UVC
                    vladimirostu_2251656

                    Now I'm looking the source code

                    I see that there is a function

                     

                    void CyCx3AppDebugInit (void)

                    for com-port

                     

                    but I do not see the setting and initialization function for CDC-interface

                     

                    tell me how to do initialize and setup it for 115200 8N1 virtual com-port ?

                     

                     

                    And how to send message from denebola to PC and receive messages from PC to denebola?

                    • 7. Re: Add CDC device to UVC
                      vladimirostu_2251656

                      yes, there is one more interesting thing

                      In the camera view mode, the control  filters are inaccessible (or inactive)

                      • 8. Re: Add CDC device to UVC
                        vladimirostu_2251656

                        Dear Keaj,

                         

                        I'm still not very good at writing USB devices

                        It seems to me that the next steps should be taken.

                         

                        1. Create two endpoints to the input and output for handling CDC requests

                        2. Declare them according to the CDC interface settings

                        3. Configure them (create buffers)

                        4. State that we support a new additional CDC interface

                        5. Make the request handlers from the host for this interface

                         

                         

                        Tell me, is this correct?

                        what other steps should be taken?

                        as I already said

                         

                        Yes, I seen standart example "cyfxusbuart"

                        But it, I thing, not working...