- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)?
Solved! Go to Solution.
- Tags:
- cdc
- cx3
- descriptors
- uvc
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Keaj.
And additionally. I not find UVC project in attachment files.
I got standart UVC project. It is right?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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()?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, there is one more interesting thing
In the camera view mode, the control filters are inaccessible (or inactive)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
But I not understand how catch the read/write uart events (for both uarts)
Please, tell me...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Me need handle the my button press events and send message to cdc port.