bool BusSuspended = USB_Host_IsBusSuspended();\r
uint8_t ErrorCode = HOST_WAITERROR_Successful;\r
\r
- USB_INT_Clear(USB_INT_HSOFI);\r
USB_Host_ResumeBus();\r
\r
while (MS)\r
USB_Host_ResetBus();\r
while (!(USB_Host_IsBusResetComplete()));\r
\r
+ USB_Host_ResumeBus();\r
+\r
USB_INT_Clear(USB_INT_HSOFI);\r
- USB_Host_ResumeBus(); \r
- \r
+\r
for (uint8_t MSRem = 10; MSRem != 0; MSRem--)\r
{\r
/* Workaround for powerless-pull-up devices. After a USB bus reset,\r
\r
if (USB_INT_HasOccurred(USB_INT_HSOFI))\r
{\r
+ USB_INT_Clear(USB_INT_HSOFI);\r
USB_INT_Clear(USB_INT_DDISCI);\r
break;\r
}\r
\r
USB_INT_Enable(USB_INT_DDISCI);\r
}\r
+\r
+uint8_t USB_Host_SetDeviceConfiguration(uint8_t ConfigNumber)\r
+{\r
+ USB_ControlRequest = (USB_Request_Header_t)\r
+ {\r
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),\r
+ .bRequest = REQ_SetConfiguration,\r
+ .wValue = ConfigNumber,\r
+ .wIndex = 0,\r
+ .wLength = 0,\r
+ };\r
+\r
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);\r
+ \r
+ return USB_Host_SendControlRequest(NULL);\r
+}\r
+\r
#endif\r