About these links: i found it before post my question.
It' was very instructive for me :
- we have an example mouse+cdc uart very similar to my goal (it tested this small project : it works)
- we have IAD config explanation (see below my config)
from my point of view it isn't firmware issue because windows can install driver for custom device or usbuart:
- i can install one only
- the order doesn't matter : custom or usbuart
=> but at the end windows cannot have both in the same time into the device panel.
Do you have link or example of inf file to install combined usb device?
What I can understand is that you have one composite device (HID+USBUART) and one other USBUART.
Its similar to having Multiple COM port, this link may be useful:
Thank you to take time for me.
So my application can works on CY8CKIT-059, i will share my project and try to explain the expected behavior.
The Cypress KitProg (green) is detected like "double" devices : UartCom AND KitProg
But my usb device, i can only see one device at the same time not both like kitProg
In fact i'm expecting that Windows ask me to install 2 devices drivers after plug the USB into the usb connector (orange side)...
But only one is requested!!
The strange things is i can install driver for
- USB UART : the driver (*.inf) is into the folder Generated source
- MY APPLICATION : i cannot share it (but if i install it, the USB UART (COM30) disappears.)
=> Windows can show only one of my USB device. however it is possible that windows shows 2 devices for the same USB connector : it's the case with KitProg.
FreeRTOS_Demo.cyprj.Archive02.zip 1,021.9 K
Thanks for the explaination.
Please check this Forum thread interaction#04 by HIMA, it will be helpful:
For a device that uses the iADs, the device is recognized with the PID-VID-and-MI (multiple interface number) combination of the interface in the inf file. Thus, the appropriate inf files have to be altered to include the MI number of the interface. For our example project, the vendor specific interface has MI_00 and the CDC class has MI_01. Thus, we will alter the inf file USBFS_1_CDC .inf to include the MI of the CDC class interface: From: %DESCRIPTION%=DriverInstall, USB\VID_04B4&PID_8051 To: %DESCRIPTION%=DriverInstall, USB\VID_04B4&PID_8051&MI_01
Similarly, the CyUSB.inf will be altered to include the VID and PID and MI of the vendor specific interface: From: %VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX To: %VID_04b4&PID_8051.DeviceDesc%=CyUsb, USB\VID_04b4&PID_8051&MI_00
The altered inf files can be used to point to the driver for a device. In case if you use the wrong inf file for a device, like using the MI_00 inf file for MI_01 interface. It will throw up the error saying that the inf file does not contain the information for your device
After modification of my inf file, generate new catalog file, and also sign the package(self sign) : it is work correctly.
Now i can use my "2" devices detected.