You need to add a Vendor Interface along with UVC and CDC interface: You need to modify the descriptors. Parse the setupup commands of vendor interface in the firmware. Use CyU3PDeviceReset API to reset the device.
You can test it using the Control Center application.
Please refer the USB Bulk Source sink application to handle the Vendor requests.
I've referred to the Bulk src sink application and see how vendor commands are processed. Also i understand that i need to add an Consumer and producer endpoint for processing vendor commands.
I followed the below instructions and integrated those changes into my Cx3UvcOV5640_UVC_CDC project Vendor Interface in UVC - KBA218335
Now i get one more interface inside the "Other devices" category in Device manager but it has a warning sign beside it.
I tried to update it's driver but couldn't find the correct driver.
Could you suggest what driver should be used to bind this interface ?
I understand that if driver is successful, the control center would show this in the device list tree and from there i can send data to the bulk endpoint.
Is my approach correct ?
In your case, you have UVC + CDC + Vendor interface (2+2+1), you should have total 5 interfaces. Please cross check.
The Vendor interface supposed to bind to CyUSB3.sys driver which is provided in the SDK: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\driver
What is the warning message that is showed in the device manager?
Yes, There are five interfaces.
When binding drivers, you have to explicitly select the device. What is to be selected ? eg: bootloader device, bulkloop , etc ..
The interface is shown under other devices and the error reported is failed to start.
As a workaround, i implemented extension unit in this project. So via that i can now send commands into CX3.
>>When binding drivers, you have to explicitly select the device. What is to be selected ? eg: bootloader device, bulkloop , etc
Bind it to BulkLoop. If the device correctly binds, it can be seen in Control Center application.
Yes, you can use UVC extension unit as well.
Ok, Thanks for the Help.