uint8_t TEMPLATE_FUNC_NAME (void* Buffer, uint16_t Length)\r
{\r
- uint8_t* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));\r
- bool LastPacketFull = false;\r
+ uint8_t* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));\r
\r
- if (Length > USB_ControlRequest.wLength)\r
- Length = USB_ControlRequest.wLength;\r
-\r
- while (Length || LastPacketFull)\r
+ while (Length)\r
{\r
if (Endpoint_IsSETUPReceived())\r
return ENDPOINT_RWCSTREAM_HostAborted;\r
\r
if (Endpoint_IsOUTReceived())\r
{\r
- LastPacketFull = (Endpoint_BytesInEndpoint() == USB_ControlEndpointSize);\r
- \r
while (Length && Endpoint_BytesInEndpoint())\r
{\r
TEMPLATE_TRANSFER_BYTE(DataStream);\r
}\r
\r
Endpoint_ClearOUT();\r
- \r
- if (!(LastPacketFull))\r
- Length = 0;\r
} \r
}\r
\r