Added caveat information to the CDC device class driver.
{\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
\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
{\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
{\r
.Config =\r
{\r
- .InterfaceNumber = 0,\r
+ .InterfaceNumber = 2,\r
\r
.ReportINEndpointNumber = MOUSE_EPNUM,\r
.ReportINEndpointSize = MOUSE_EPSIZE,\r
# 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
* \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
* - 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