Added new stream creation function to the CDC Class drivers, to easily make standard...
[pub/lufa.git] / LUFA / Drivers / USB / USB.h
index d0837a8..b9b506f 100644 (file)
@@ -51,7 +51,9 @@
  *    - LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c\r
  *\r
  *  \section Module Description\r
- *  Functions, macros, variables, enums and types related to the management of USB communications.\r
+ *  Driver and framework for the USB controller hardware on the USB series of AVR microcontrollers. This module\r
+ *  consists of many submodules, and is designed to provide an easy way to configure and control USB host, device\r
+ *  or OTG mode USB applications.\r
  */\r
 \r
 /** \ingroup Group_USB\r
  *  the standard library APIs.\r
  *\r
  *  Multiple device mode class drivers can be used within a project, including multiple instances of the\r
- *  same class driver.\r
- */\r
\r
-/** \ingroup Group_USBClassDrivers\r
- *  @defgroup Group_USBDeviceClassDrivers Device Class Drivers\r
+ *  same class driver. In this way, USB Hosts and Devices can be made quickly using the internal class drivers\r
+ *  so that more time and effort can be put into the end application instead of the USB protocol.\r
  *\r
- *  Device mode drivers for the standard USB classes. These drivers all implement one of the standard USB\r
- *  classes, allowing for the class to be easily implemented in a user project.\r
- */\r
\r
-/** \ingroup Group_USBClassDrivers\r
- *  @defgroup Group_USBHostClassDrivers Host Class Drivers\r
+ *  The available class drivers and their modes are listed below.\r
  *\r
- *  Host mode drivers for the standard USB classes. These drivers all implement one of the standard USB\r
- *  classes, allowing for the class to be easily implemented in a user project.\r
+ *  <table>\r
+ *  <tr>\r
+ *   <th width="100px">USB Class</th> \r
+ *   <th width="80px">Device</th> \r
+ *   <th width="80px">Host</th> \r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>Audio</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *   <td bgcolor="#EE0000">No</td>\r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>CDC</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>HID</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>MIDI</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>Mass Storage</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>Printer</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+*    <td bgcolor="#00EE00">Yes</td>\r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>RNDIS</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *   <td bgcolor="#EE0000">No</td>\r
+ *  </tr>\r
+ *  <tr>\r
+ *   <td>Still Image</td>\r
+ *   <td bgcolor="#EE0000">No</td>\r
+ *   <td bgcolor="#00EE00">Yes</td>\r
+ *  </tr>\r
+ *  </table>\r
  */\r
  \r
 #ifndef __USB_H__\r
 #define __USB_H__\r
 \r
-       /* Preprocessor Checks: */\r
-               #if (!(defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__)) && defined(USB_HOST_ONLY))\r
-                       #error USB_HOST_ONLY is not available for the currently selected USB AVR model.\r
-               #endif\r
-               \r
+       /* Preprocessor Checks: */              \r
                #if (!(defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) ||  \\r
                       defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) ||  \\r
                           defined(__AVR_AT90USB162__)  || defined(__AVR_AT90USB82__)  ||  \\r
+                          defined(__AVR_ATmega32U2__)  || defined(__AVR_ATmega16U2__) ||  \\r
+                          defined(__AVR_ATmega8U2__)   ||                                 \\r
                           defined(__AVR_ATmega16U4__)  || defined(__AVR_ATmega32U4__) ||  \\r
                           defined(__AVR_ATmega32U6__)))\r
                        #error The currently selected AVR model is not supported under the USB component of the LUFA library.\r