Fixed incorrect interface values in the VirtualSerialMouse and KeyboardMouse demo...
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 12 Jan 2010 00:42:00 +0000 (00:42 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 12 Jan 2010 00:42:00 +0000 (00:42 +0000)
Added caveat information to the CDC device class driver.

Demos/Device/ClassDriver/KeyboardMouse/KeyboardMouse.c
Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
Demos/Device/ClassDriver/VirtualSerialMouse/Descriptors.c
Demos/Device/ClassDriver/VirtualSerialMouse/VirtualSerialMouse.c
LUFA/Doxygen.conf
LUFA/Drivers/USB/Class/Device/CDC.h
LUFA/ManPages/ChangeLog.txt

index ec17bf6..dcdf886 100644 (file)
@@ -72,13 +72,13 @@ USB_ClassInfo_HID_Device_t Mouse_HID_Interface =
        {\r
                .Config =\r
                        {\r
-                               .InterfaceNumber         = 0,\r
+                               .InterfaceNumber              = 1,\r
 \r
-                               .ReportINEndpointNumber  = MOUSE_IN_EPNUM,\r
-                               .ReportINEndpointSize    = HID_EPSIZE,\r
+                               .ReportINEndpointNumber       = MOUSE_IN_EPNUM,\r
+                               .ReportINEndpointSize         = HID_EPSIZE,\r
 \r
-                               .PrevReportINBuffer      = PrevMouseHIDReportBuffer,\r
-                               .PrevReportINBufferSize  = sizeof(PrevMouseHIDReportBuffer),\r
+                               .PrevReportINBuffer           = PrevMouseHIDReportBuffer,\r
+                               .PrevReportINBufferSize       = sizeof(PrevMouseHIDReportBuffer),\r
                        },              \r
        };\r
 \r
index f6681f4..3bed7f8 100644 (file)
@@ -53,7 +53,7 @@
 \r
                #include <LUFA/Version.h>\r
                #include <LUFA/Drivers/Board/LEDs.h>\r
-               #include <LUFA/Drivers/Board/Joystick.h>\r
+               #include <LUFA/Drivers/Peripheral/SerialStream.h>\r
                #include <LUFA/Drivers/USB/USB.h>\r
                #include <LUFA/Drivers/USB/Class/RNDIS.h>\r
 \r
index b2c8ae2..8bb8a1e 100644 (file)
@@ -246,7 +246,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
                {\r
                        .Header                 = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface},\r
 \r
-                       .InterfaceNumber        = 3,\r
+                       .InterfaceNumber        = 2,\r
                        .AlternateSetting       = 0,\r
                        \r
                        .TotalEndpoints         = 1,\r
index 87b149b..5edda2f 100644 (file)
@@ -71,7 +71,7 @@ USB_ClassInfo_HID_Device_t Mouse_HID_Interface =
        {\r
                .Config =\r
                        {\r
-                               .InterfaceNumber                = 0,\r
+                               .InterfaceNumber                = 2,\r
 \r
                                .ReportINEndpointNumber         = MOUSE_EPNUM,\r
                                .ReportINEndpointSize           = MOUSE_EPSIZE,\r
index 265a27e..c46aba6 100644 (file)
@@ -872,14 +872,14 @@ GENERATE_HTMLHELP      = NO
 # can add a path in front of the file if the result should not be\r
 # written to the html output directory.\r
 \r
-CHM_FILE               =\r
+CHM_FILE               = ../LUFA.chm\r
 \r
 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can\r
 # be used to specify the location (absolute path including file name) of\r
 # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run\r
 # the HTML help compiler on the generated index.hhp.\r
 \r
-HHC_LOCATION           =\r
+HHC_LOCATION           = \r
 \r
 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag\r
 # controls if a separate .chi index file is generated (YES) or that\r
index 617410b..d248868 100644 (file)
  *  \section Module Description\r
  *  Device Mode USB Class driver framework interface, for the CDC USB Class driver.\r
  *\r
+ *  \note There are several major drawbacks to the CDC-ACM standard USB class, however\r
+ *        it is very standardized and thus usually available as a built-in driver on\r
+ *        most platforms, and so is a better choice than a proprietary serial class.\r
+ *        \r
+ *        One major issue with CDC-ACM is that it requires two Interface descriptors,\r
+ *        which will upset most hosts when part of a multi-function "Composite" USB\r
+ *        device, as each interface will be loaded into a separate driver instance. To\r
+ *        conbat this, you should use the "Interface Association Descriptor" addendum to\r
+ *        the USB standard which is available on most OSes when creating Composite devices.\r
+ *\r
+ *        Another major oversight is that there is no mechanism for the host to notify the\r
+ *        device that there is a data sink on the host side ready to accept data. This\r
+ *        means that the device may try to send data while the host isn't listening, causing\r
+ *        lengthy blocking timeouts in the transmission routines. To combat this, it is\r
+ *        recommended that the virtual serial line DTR (Data Terminal Ready) be used where\r
+ *        possible to determine if a host application is ready for data.\r
+ *\r
  *  @{\r
  */\r
  \r
index 351c33f..d004322 100644 (file)
@@ -34,6 +34,7 @@
   *  - Fixed blocking CDC streams not aborting when the host is disconnected\r
   *  - Fixed XPLAIN board Dataflash driver broken due to incorrect preprocessor commands\r
   *  - Fixed inverted XPLAIN LED driver output (LED turned on when it was supposed to be turned off, and vice-versa)\r
+  *  - Fixed Class Driver struct interface numbers in the KeyboardMouse and VirtualSerialMouse demos\r
   *\r
   *  \section Sec_ChangeLog091223 Version 091223\r
   *\r