Renamed Projects/Unfinished to Projects/Incomplete for consistancy.
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Pipe.c
index 3fb30a2..9c6a53e 100644 (file)
@@ -70,6 +70,22 @@ void Pipe_ClearPipes(void)
        }\r
 }\r
 \r
+bool Pipe_IsEndpointBound(uint8_t EndpointAddress)\r
+{\r
+       uint8_t PrevPipeNumber = Pipe_GetCurrentPipe();\r
+\r
+       for (uint8_t PNum = 0; PNum < PIPE_TOTAL_PIPES; PNum++)\r
+       {\r
+               Pipe_SelectPipe(PNum);\r
+               \r
+               if (Pipe_IsConfigured() && (Pipe_BoundEndpointNumber() == EndpointAddress))\r
+                 return true;\r
+       }\r
+       \r
+       Pipe_SelectPipe(PrevPipeNumber);\r
+       return false;\r
+}\r
+\r
 uint8_t Pipe_WaitUntilReady(void)\r
 {\r
        #if (USB_STREAM_TIMEOUT_MS < 0xFF)\r
@@ -93,7 +109,7 @@ uint8_t Pipe_WaitUntilReady(void)
 \r
                if (Pipe_IsStalled())\r
                  return PIPE_READYWAIT_PipeStalled;\r
-               else if (!(USB_IsConnected))\r
+               else if (USB_HostState == HOST_STATE_Unattached)\r
                  return PIPE_READYWAIT_DeviceDisconnected;\r
                          \r
                if (USB_INT_HasOccurred(USB_INT_HSOFI))\r