- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
I'm trying to simulate two devices in one firmware application but I've a problem with reenumerating device. I have separate descriptors for each device and I want to switch between them using set_interface and altsetting (and flag glIsHid).
According to USB analyzer after reenabling CyU3PConnectState there is timeout while responding to SET_CONFIGURATION request, unfortunately the situation is the same if I'm not switching the flag and just trying to reenumerate device without changing descriptors. As a base I'm using BulkLoopAutoEnum. Code:
case CY_U3P_USB_SC_SET_INTERFACE:
{ glUsbInterface = wValue;
if(wValue == HID_SWITCH_INTERFACE)
{
CyU3PReturnStatus_t apiRetStatus = CY_U3P_SUCCESS;
glIsHid = CyTrue;
apiRetStatus = CyU3PConnectState(CyFalse, CyTrue);
if(apiRetStatus == CY_U3P_SUCCESS)
CyU3PConnectState(CyTrue, CyTrue);
}
}
With separate img each simulated device enumerates properly.
Regards R.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
> there is timeout while responding to SET_CONFIGURATION request,
You probably missed to call CyU3PUsbAckSetup before USB disconnect.
Regards,
K
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content