Fixed inability to enumerate any devices while in host mode (broken in a previous...
[pub/USBasp.git] / Demos / Device / DualCDC / DualCDC.c
index 56eebb3..4185a76 100644 (file)
@@ -39,9 +39,9 @@
 /* Scheduler Task List */\r
 TASK_LIST\r
 {\r
-       { Task: USB_USBTask          , TaskStatus: TASK_STOP },\r
-       { Task: CDC1_Task            , TaskStatus: TASK_STOP },\r
-       { Task: CDC2_Task            , TaskStatus: TASK_STOP },\r
+       { .Task = USB_USBTask          , .TaskStatus = TASK_STOP },\r
+       { .Task = CDC1_Task            , .TaskStatus = TASK_STOP },\r
+       { .Task = CDC2_Task            , .TaskStatus = TASK_STOP },\r
 };\r
 \r
 /* Globals: */\r
@@ -53,10 +53,10 @@ TASK_LIST
  *  It is possible to completely ignore these value or use other settings as the host is completely unaware of the physical\r
  *  serial link characteristics and instead sends and receives data in endpoint streams.\r
  */\r
-CDC_Line_Coding_t LineCoding1 = { BaudRateBPS: 9600,\r
-                                  CharFormat:  OneStopBit,\r
-                                  ParityType:  Parity_None,\r
-                                  DataBits:    8            };\r
+CDC_Line_Coding_t LineCoding1 = { .BaudRateBPS = 9600,\r
+                                  .CharFormat  = OneStopBit,\r
+                                  .ParityType  = Parity_None,\r
+                                  .DataBits    = 8            };\r
 \r
 /** Contains the current baud rate and other settings of the second virtual serial port. While this demo does not use\r
  *  the physical USART and thus does not use these settings, they must still be retained and returned to the host\r
@@ -66,10 +66,10 @@ CDC_Line_Coding_t LineCoding1 = { BaudRateBPS: 9600,
  *  It is possible to completely ignore these value or use other settings as the host is completely unaware of the physical\r
  *  serial link characteristics and instead sends and receives data in endpoint streams.\r
  */\r
-CDC_Line_Coding_t LineCoding2 = { BaudRateBPS: 9600,\r
-                                  CharFormat:  OneStopBit,\r
-                                  ParityType:  Parity_None,\r
-                                  DataBits:    8            };\r
+CDC_Line_Coding_t LineCoding2 = { .BaudRateBPS = 9600,\r
+                                  .CharFormat  = OneStopBit,\r
+                                  .ParityType  = Parity_None,\r
+                                  .DataBits    = 8            };\r
                                                                  \r
 /** String to print through the first virtual serial port when the joystick is pressed upwards. */\r
 char JoystickUpString[]      = "Joystick Up\r\n";\r
@@ -198,45 +198,45 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
        LineCodingData = (wIndex == 0) ? (uint8_t*)&LineCoding1 : (uint8_t*)&LineCoding2;\r
 \r
        /* Process CDC specific control requests */\r
-       switch (bRequest)\r
+       switch (USB_ControlRequest.bRequest)\r
        {\r
                case REQ_GetLineEncoding:\r
-                       if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))\r
+                       if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))\r
                        {       \r
                                /* Acknowledge the SETUP packet, ready for data transfer */\r
-                               Endpoint_ClearControlSETUP();\r
+                               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));\r
                                \r
                                /* Finalize the stream transfer to send the last packet or clear the host abort */\r
-                               Endpoint_ClearControlOUT();\r
+                               Endpoint_ClearOUT();\r
                        }\r
                        \r
                        break;\r
                case REQ_SetLineEncoding:\r
-                       if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))\r
+                       if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))\r
                        {\r
                                /* Acknowledge the SETUP packet, ready for data transfer */\r
-                               Endpoint_ClearControlSETUP();\r
+                               Endpoint_ClearSETUP();\r
 \r
                                /* Read the line coding data in from the host into the global struct */\r
                                Endpoint_Read_Control_Stream_LE(LineCodingData, sizeof(CDC_Line_Coding_t));\r
 \r
                                /* Finalize the stream transfer to clear the last packet from the host */\r
-                               Endpoint_ClearControlIN();\r
+                               Endpoint_ClearIN();\r
                        }\r
        \r
                        break;\r
                case REQ_SetControlLineState:\r
-                       if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))\r
+                       if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))\r
                        {\r
                                /* Acknowledge the SETUP packet, ready for data transfer */\r
-                               Endpoint_ClearControlSETUP();\r
+                               Endpoint_ClearSETUP();\r
                                \r
                                /* Acknowledge status stage */\r
                                while (!(Endpoint_IsINReady()));\r
-                               Endpoint_ClearControlIN();\r
+                               Endpoint_ClearIN();\r
                        }\r
        \r
                        break;\r