\r
UPCFG1X = 0;\r
\r
- UPCFG0X = ((Type << EPTYPE0) | Token | (EndpointNumber << PEPNUM0));\r
+ UPCFG0X = ((Type << EPTYPE0) | Token | ((EndpointNumber & PIPE_EPNUM_MASK) << PEPNUM0));\r
UPCFG1X = ((1 << ALLOC) | Banks | Pipe_BytesToEPSizeMask(Size));\r
\r
return Pipe_IsConfigured();\r
\r
uint8_t Pipe_WaitUntilReady(void)\r
{\r
+ #if (USB_STREAM_TIMEOUT_MS < 0xFF)\r
+ uint8_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS; \r
+ #else\r
uint16_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;\r
-\r
- USB_INT_Clear(USB_INT_HSOFI);\r
+ #endif\r
\r
for (;;)\r
{\r
\r
uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length\r
#if !defined(NO_STREAM_CALLBACKS)\r
- , uint8_t (* const Callback)(void)\r
+ , StreamCallbackPtr_t Callback\r
#endif\r
)\r
{\r
\r
#if !defined(NO_STREAM_CALLBACKS)\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))\r
- return PIPE_RWSTREAM_ERROR_CallbackAborted;\r
+ return PIPE_RWSTREAM_CallbackAborted;\r
#endif\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))\r
}\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length\r
#if !defined(NO_STREAM_CALLBACKS)\r
- , uint8_t (* const Callback)(void)\r
+ , StreamCallbackPtr_t Callback\r
#endif\r
)\r
{\r
\r
#if !defined(NO_STREAM_CALLBACKS)\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))\r
- return PIPE_RWSTREAM_ERROR_CallbackAborted;\r
+ return PIPE_RWSTREAM_CallbackAborted;\r
#endif\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))\r
}\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
uint8_t Pipe_Discard_Stream(uint16_t Length\r
#if !defined(NO_STREAM_CALLBACKS)\r
- , uint8_t (* const Callback)(void)\r
+ , StreamCallbackPtr_t Callback\r
#endif\r
)\r
{\r
\r
#if !defined(NO_STREAM_CALLBACKS)\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))\r
- return PIPE_RWSTREAM_ERROR_CallbackAborted;\r
+ return PIPE_RWSTREAM_CallbackAborted;\r
#endif\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))\r
}\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length\r
#if !defined(NO_STREAM_CALLBACKS)\r
- , uint8_t (* const Callback)(void)\r
+ , StreamCallbackPtr_t Callback\r
#endif\r
)\r
{\r
\r
#if !defined(NO_STREAM_CALLBACKS)\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))\r
- return PIPE_RWSTREAM_ERROR_CallbackAborted;\r
+ return PIPE_RWSTREAM_CallbackAborted;\r
#endif\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))\r
}\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length\r
#if !defined(NO_STREAM_CALLBACKS)\r
- , uint8_t (* const Callback)(void)\r
+ , StreamCallbackPtr_t Callback\r
#endif\r
)\r
{\r
\r
#if !defined(NO_STREAM_CALLBACKS)\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))\r
- return PIPE_RWSTREAM_ERROR_CallbackAborted;\r
+ return PIPE_RWSTREAM_CallbackAborted;\r
#endif\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))\r
}\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
#endif\r