Thanks for the reply.
Actually i was asked about the same class device handling at Host application . As i am using FREERTOS at host application and i want to connect multiple CDC class USB devices to the Host via USB HUB on one USB host port.
I was looking the sample code "evkmimxrt1170_host_hid_mouse_keyboard_freertos_cm7" here, 2 different USB class devices are being used and 2 tasks are created to handle Mouse and Keyboard.
/**Snippet***/
int main(void)
{
USB_HostApplicationInit();
if (xTaskCreate(USB_HostTask, "usb host task", 2000L / sizeof(portSTACK_TYPE), g_HostHandle, 4, NULL) != pdPASS)
{
usb_echo("create host task error\r\n");
}
if (xTaskCreate(USB_HostApplicationMouseTask, "mouse task", 2000L / sizeof(portSTACK_TYPE), &g_HostHidMouse, 3,
NULL) != pdPASS)
{
usb_echo("create mouse task error\r\n");
}
if (xTaskCreate(USB_HostApplicationKeyboardTask, "keyboard task", 2000L / sizeof(portSTACK_TYPE),
&g_HostHidKeyboard, 3, NULL) != pdPASS)
{
usb_echo("create mouse task error\r\n");
}
vTaskStartScheduler();
while (1)
{
;
}
}
*********************
My question is if i want to connect multiple HID_Mouse USB device to Host, how that can be handled in the single thread. And how the differentiation will be done with other same class of USB device( like HIB_Mouse).