\r
Endpoint_ClearSETUP();\r
\r
- Endpoint_ClearIN();\r
+ Endpoint_ClearStatusStage();\r
\r
while (!(Endpoint_IsINReady()))\r
{\r
\r
USB_ConfigurationNumber = (uint8_t)USB_ControlRequest.wValue;\r
\r
- Endpoint_ClearIN();\r
+ Endpoint_ClearStatusStage();\r
\r
if (USB_ConfigurationNumber)\r
USB_DeviceState = DEVICE_STATE_Configured;\r
Endpoint_ClearSETUP();\r
\r
Endpoint_Write_Byte(USB_ConfigurationNumber);\r
- \r
Endpoint_ClearIN();\r
\r
- while (!(Endpoint_IsOUTReceived()))\r
- {\r
- if (USB_DeviceState == DEVICE_STATE_Unattached)\r
- return; \r
- }\r
-\r
- Endpoint_ClearOUT();\r
+ Endpoint_ClearStatusStage();\r
}\r
\r
#if !defined(NO_INTERNAL_SERIAL) && (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR))\r
SignatureDescriptor.Header.Size = sizeof(SignatureDescriptor);\r
SignatureDescriptor.Header.Type = DTYPE_String;\r
\r
- uint8_t SigReadAddress = 0x0E;\r
+ uint8_t SigReadAddress = 0x0E;\r
\r
for (uint8_t SerialCharNum = 0; SerialCharNum < 20; SerialCharNum++)\r
{\r
}\r
\r
Endpoint_ClearSETUP();\r
+\r
Endpoint_Write_Control_Stream_LE(&SignatureDescriptor, sizeof(SignatureDescriptor));\r
+\r
Endpoint_ClearOUT();\r
}\r
#endif\r
break;\r
#if !defined(CONTROL_ONLY_DEVICE)\r
case (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_ENDPOINT):\r
- Endpoint_SelectEndpoint((uint8_t)USB_ControlRequest.wIndex);\r
+ Endpoint_SelectEndpoint(USB_ControlRequest.wIndex & 0xFF);\r
\r
CurrentStatus = Endpoint_IsStalled();\r
\r
Endpoint_ClearSETUP();\r
\r
Endpoint_Write_Word_LE(CurrentStatus);\r
-\r
Endpoint_ClearIN();\r
\r
- while (!(Endpoint_IsOUTReceived()))\r
- {\r
- if (USB_DeviceState == DEVICE_STATE_Unattached)\r
- return; \r
- }\r
- \r
- Endpoint_ClearOUT();\r
+ Endpoint_ClearStatusStage();\r
}\r
\r
static void USB_Device_ClearSetFeature(void)\r
\r
Endpoint_ClearSETUP();\r
\r
- Endpoint_ClearIN();\r
+ Endpoint_ClearStatusStage();\r
}\r
\r
#endif\r