uint8_t TEMPLATE_FUNC_NAME (void* Buffer, uint16_t Length)\r
{\r
- uint8_t* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));\r
+ uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));\r
+ \r
+ if (!(Length))\r
+ Endpoint_ClearOUT();\r
\r
while (Length)\r
{\r
\r
if (USB_DeviceState == DEVICE_STATE_Unattached)\r
return ENDPOINT_RWCSTREAM_DeviceDisconnected;\r
+ else if (USB_DeviceState == DEVICE_STATE_Suspended)\r
+ return ENDPOINT_RWCSTREAM_BusSuspended;\r
\r
if (Endpoint_IsOUTReceived())\r
{\r
{\r
if (USB_DeviceState == DEVICE_STATE_Unattached)\r
return ENDPOINT_RWCSTREAM_DeviceDisconnected;\r
+ else if (USB_DeviceState == DEVICE_STATE_Suspended)\r
+ return ENDPOINT_RWCSTREAM_BusSuspended;\r
}\r
\r
return ENDPOINT_RWCSTREAM_NoError;\r