Fix bugs in the new VirtualSerialMassStorage demo (thanks to Martin Degelsegger).
authorDean Camera <dean@fourwalledcubicle.com>
Wed, 16 Mar 2011 22:54:31 +0000 (22:54 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Wed, 16 Mar 2011 22:54:31 +0000 (22:54 +0000)
Demos/Device/ClassDriver/VirtualSerialMassStorage/Descriptors.h
Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.c
Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.txt
LUFA/Drivers/USB/Core/HostStandardReq.c

index a2fff65..f5970a4 100644 (file)
 \r
        /* Macros: */\r
                /** Endpoint number of the CDC device-to-host notification IN endpoint. */\r
-               #define CDC_NOTIFICATION_EPNUM         2\r
+               #define CDC_NOTIFICATION_EPNUM         1\r
 \r
                /** Endpoint number of the CDC device-to-host data IN endpoint. */\r
-               #define CDC_TX_EPNUM                   3\r
+               #define CDC_TX_EPNUM                   2\r
 \r
                /** Endpoint number of the CDC host-to-device data OUT endpoint. */\r
-               #define CDC_RX_EPNUM                   4\r
+               #define CDC_RX_EPNUM                   3\r
 \r
                /** Size in bytes of the CDC device-to-host notification IN endpoint. */\r
                #define CDC_NOTIFICATION_EPSIZE        8\r
                #define CDC_TXRX_EPSIZE                16\r
 \r
                /** Endpoint number of the Mass Storage device-to-host data IN endpoint. */\r
-               #define MASS_STORAGE_IN_EPNUM          3\r
+               #define MASS_STORAGE_IN_EPNUM          4\r
 \r
                /** Endpoint number of the Mass Storage host-to-device data OUT endpoint. */\r
-               #define MASS_STORAGE_OUT_EPNUM         4\r
+               #define MASS_STORAGE_OUT_EPNUM         5\r
 \r
                /** Size in bytes of the Mass Storage data endpoints. */\r
                #define MASS_STORAGE_IO_EPSIZE         64\r
index c536c3c..810cfb8 100644 (file)
@@ -68,17 +68,17 @@ USB_ClassInfo_MS_Device_t Disk_MS_Interface =
        {\r
                .Config =\r
                        {\r
-                               .InterfaceNumber           = 0,\r
+                               .InterfaceNumber                = 2,\r
 \r
-                               .DataINEndpointNumber      = MASS_STORAGE_IN_EPNUM,\r
-                               .DataINEndpointSize        = MASS_STORAGE_IO_EPSIZE,\r
-                               .DataINEndpointDoubleBank  = false,\r
+                               .DataINEndpointNumber           = MASS_STORAGE_IN_EPNUM,\r
+                               .DataINEndpointSize             = MASS_STORAGE_IO_EPSIZE,\r
+                               .DataINEndpointDoubleBank       = false,\r
 \r
-                               .DataOUTEndpointNumber     = MASS_STORAGE_OUT_EPNUM,\r
-                               .DataOUTEndpointSize       = MASS_STORAGE_IO_EPSIZE,\r
-                               .DataOUTEndpointDoubleBank = false,\r
+                               .DataOUTEndpointNumber          = MASS_STORAGE_OUT_EPNUM,\r
+                               .DataOUTEndpointSize            = MASS_STORAGE_IO_EPSIZE,\r
+                               .DataOUTEndpointDoubleBank      = false,\r
 \r
-                               .TotalLUNs                 = TOTAL_LUNS,\r
+                               .TotalLUNs                      = TOTAL_LUNS,\r
                        },\r
        };\r
 \r
index aa9a74f..af13cdd 100644 (file)
@@ -13,7 +13,6 @@
  *  - Series 7 USB AVRs (AT90USBxxx7)\r
  *  - Series 6 USB AVRs (AT90USBxxx6)\r
  *  - Series 4 USB AVRs (ATMEGAxxU4)\r
- *  - Series 2 USB AVRs (AT90USBxx2, ATMEGAxxU2)\r
  *\r
  *  \section Sec_Info USB Information:\r
  *\r
index f74490f..d2523fd 100644 (file)
@@ -54,8 +54,11 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr)
 
        Pipe_Unfreeze();
 
-       for (uint8_t HeaderByte = 0; HeaderByte < sizeof(USB_Request_Header_t); HeaderByte++)
-         Pipe_Write_Byte(*(HeaderStream++));
+       Pipe_Write_Byte(USB_ControlRequest.bmRequestType);
+       Pipe_Write_Byte(USB_ControlRequest.bRequest);
+       Pipe_Write_Word_LE(USB_ControlRequest.wValue);
+       Pipe_Write_Word_LE(USB_ControlRequest.wIndex);
+       Pipe_Write_Word_LE(USB_ControlRequest.wLength);
 
        Pipe_ClearSETUP();