Fixed CDCHost not clearing configured endpoints and resetting configured endpoints...
[pub/USBasp.git] / Demos / Device / DualCDC / DualCDC.c
index 5d2dd5f..9750ea2 100644 (file)
@@ -186,16 +186,8 @@ EVENT_HANDLER(USB_ConfigurationChanged)
  */\r
 EVENT_HANDLER(USB_UnhandledControlPacket)\r
 {\r
-       uint8_t* LineCodingData;\r
-\r
-       /* Discard the unused wValue parameter */\r
-       Endpoint_Discard_Word();\r
-\r
-       /* wIndex indicates the interface being controlled */\r
-       uint16_t wIndex = Endpoint_Read_Word_LE();\r
-\r
        /* Determine which interface's Line Coding data is being set from the wIndex parameter */\r
-       LineCodingData = (wIndex == 0) ? (uint8_t*)&LineCoding1 : (uint8_t*)&LineCoding2;\r
+       uint8_t* LineCodingData = (USB_ControlRequest.wIndex == 0) ? (uint8_t*)&LineCoding1 : (uint8_t*)&LineCoding2;\r
 \r
        /* Process CDC specific control requests */\r
        switch (USB_ControlRequest.bRequest)\r
@@ -207,7 +199,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
                                Endpoint_ClearSETUP();\r
 \r
                                /* Write the line coding data to the control endpoint */\r
-                               Endpoint_Write_Control_Stream_LE(LineCodingData, sizeof(CDC_Line_Coding_t), Endpoint_MemSpaceCallback_RAM);\r
+                               Endpoint_Write_Control_Stream_LE(LineCodingData, sizeof(CDC_Line_Coding_t));\r
                                \r
                                /* Finalize the stream transfer to send the last packet or clear the host abort */\r
                                Endpoint_ClearOUT();\r
@@ -304,7 +296,7 @@ TASK(CDC1_Task)
                Endpoint_SelectEndpoint(CDC1_TX_EPNUM);\r
 \r
                /* Write the String to the Endpoint */\r
-               Endpoint_Write_Stream_LE(ReportString, strlen(ReportString), Endpoint_MemSpaceCallback_RAM);\r
+               Endpoint_Write_Stream_LE(ReportString, strlen(ReportString));\r
                \r
                /* Finalize the stream transfer to send the last packet */\r
                Endpoint_ClearIN();\r
@@ -351,7 +343,7 @@ TASK(CDC2_Task)
                Endpoint_SelectEndpoint(CDC2_TX_EPNUM);\r
                \r
                /* Write the received data to the endpoint */\r
-               Endpoint_Write_Stream_LE(&Buffer, DataLength, Endpoint_MemSpaceCallback_RAM);\r
+               Endpoint_Write_Stream_LE(&Buffer, DataLength);\r
 \r
                /* Finalize the stream transfer to send the last packet */\r
                Endpoint_ClearIN();\r