1 uint8_t TEMPLATE_FUNC_NAME (void* Buffer
,
4 uint8_t* DataStream
= ((uint8_t*)Buffer
+ TEMPLATE_BUFFER_OFFSET(Length
));
11 if (Endpoint_IsSETUPReceived())
12 return ENDPOINT_RWCSTREAM_HostAborted
;
14 if (USB_DeviceState
== DEVICE_STATE_Unattached
)
15 return ENDPOINT_RWCSTREAM_DeviceDisconnected
;
16 else if (USB_DeviceState
== DEVICE_STATE_Suspended
)
17 return ENDPOINT_RWCSTREAM_BusSuspended
;
19 if (Endpoint_IsOUTReceived())
21 while (Length
&& Endpoint_BytesInEndpoint())
23 TEMPLATE_TRANSFER_BYTE(DataStream
);
31 while (!(Endpoint_IsINReady()))
33 if (USB_DeviceState
== DEVICE_STATE_Unattached
)
34 return ENDPOINT_RWCSTREAM_DeviceDisconnected
;
35 else if (USB_DeviceState
== DEVICE_STATE_Suspended
)
36 return ENDPOINT_RWCSTREAM_BusSuspended
;
39 return ENDPOINT_RWCSTREAM_NoError
;
43 #undef TEMPLATE_BUFFER_OFFSET
44 #undef TEMPLATE_FUNC_NAME
45 #undef TEMPLATE_TRANSFER_BYTE