Rename some of the library documentation files.
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Pipe.c
index 4bd89ec..1376de4 100644 (file)
@@ -45,9 +45,11 @@ bool Pipe_ConfigurePipe(const uint8_t Number, const uint8_t Type, const uint8_t
 \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
+       Pipe_SetInfiniteINRequests();\r
+\r
        return Pipe_IsConfigured();\r
 }\r
 \r
@@ -70,9 +72,11 @@ void Pipe_ClearPipes(void)
 \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
@@ -104,13 +108,15 @@ uint8_t Pipe_WaitUntilReady(void)
 \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
        uint8_t* DataStream = (uint8_t*)Data;\r
        uint8_t  ErrorCode;\r
        \r
+       Pipe_SetToken(PIPE_TOKEN_OUT);\r
+\r
        if ((ErrorCode = Pipe_WaitUntilReady()))\r
          return ErrorCode;\r
 \r
@@ -122,7 +128,7 @@ uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length
                                \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
@@ -135,18 +141,20 @@ uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length
                }\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
        uint8_t* DataStream = (uint8_t*)(Data + Length - 1);\r
        uint8_t  ErrorCode;\r
        \r
+       Pipe_SetToken(PIPE_TOKEN_OUT);\r
+\r
        if ((ErrorCode = Pipe_WaitUntilReady()))\r
          return ErrorCode;\r
 \r
@@ -158,7 +166,7 @@ uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length
                                \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
@@ -171,17 +179,19 @@ uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length
                }\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
        uint8_t  ErrorCode;\r
        \r
+       Pipe_SetToken(PIPE_TOKEN_IN);\r
+\r
        if ((ErrorCode = Pipe_WaitUntilReady()))\r
          return ErrorCode;\r
 \r
@@ -193,7 +203,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
                                \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
@@ -206,18 +216,20 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
                }\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
        uint8_t* DataStream = (uint8_t*)Buffer;\r
        uint8_t  ErrorCode;\r
        \r
+       Pipe_SetToken(PIPE_TOKEN_IN);\r
+\r
        if ((ErrorCode = Pipe_WaitUntilReady()))\r
          return ErrorCode;\r
 \r
@@ -229,7 +241,7 @@ uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length
                                \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
@@ -242,18 +254,20 @@ uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length
                }\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
        uint8_t* DataStream = (uint8_t*)(Buffer + Length - 1);\r
        uint8_t  ErrorCode;\r
        \r
+       Pipe_SetToken(PIPE_TOKEN_IN);\r
+\r
        if ((ErrorCode = Pipe_WaitUntilReady()))\r
          return ErrorCode;\r
 \r
@@ -265,7 +279,7 @@ uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length
                                \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
@@ -278,7 +292,7 @@ uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length
                }\r
        }\r
        \r
-       return PIPE_RWSTREAM_ERROR_NoError;\r
+       return PIPE_RWSTREAM_NoError;\r
 }\r
 \r
 #endif\r