Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models.
authorDean Camera <dean@fourwalledcubicle.com>
Thu, 16 Jul 2009 08:57:51 +0000 (08:57 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Thu, 16 Jul 2009 08:57:51 +0000 (08:57 +0000)
LUFA/Drivers/USB/HighLevel/USBMode.h
LUFA/Drivers/USB/USB.h
LUFA/ManPages/ChangeLog.txt
LUFA/ManPages/DeviceSupport.txt

index 471f307..8664c1b 100644 (file)
@@ -41,7 +41,8 @@
                                #define USB_DEVICE_ONLY\r
                        #endif\r
                        \r
                                #define USB_DEVICE_ONLY\r
                        #endif\r
                        \r
-                       #if (defined(__AVR_AT90USB162__)  || defined(__AVR_AT90USB82__))\r
+                       #if (defined(__AVR_AT90USB162__) || defined(__AVR_AT90USB82__) || \\r
+                            defined(__AVR_ATmega32U2__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega8U2__))\r
                                #define USB_SERIES_2_AVR\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_SERIES_4_AVR\r
                                #define USB_SERIES_2_AVR\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_SERIES_4_AVR\r
                                #define USB_CAN_BE_DEVICE\r
                        #elif defined(USB_HOST_ONLY)\r
                                #define USB_CAN_BE_HOST\r
                                #define USB_CAN_BE_DEVICE\r
                        #elif defined(USB_HOST_ONLY)\r
                                #define USB_CAN_BE_HOST\r
+\r
                                #define USB_CurrentMode USB_MODE_HOST\r
                        #elif defined(USB_DEVICE_ONLY)\r
                                #define USB_CAN_BE_DEVICE\r
                                #define USB_CurrentMode USB_MODE_HOST\r
                        #elif defined(USB_DEVICE_ONLY)\r
                                #define USB_CAN_BE_DEVICE\r
+\r
                                #define USB_CurrentMode USB_MODE_DEVICE\r
                        #endif\r
                        \r
                                #define USB_CurrentMode USB_MODE_DEVICE\r
                        #endif\r
                        \r
-                       #if (!(defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__)) && defined(USB_HOST_ONLY))\r
+                       #if (!defined(USB_SERIES_7_AVR) && defined(USB_HOST_ONLY))\r
                                #error USB_HOST_ONLY is not available for the currently selected USB AVR model.\r
                                #error USB_HOST_ONLY is not available for the currently selected USB AVR model.\r
-                       #elif (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY))\r
+                       #endif\r
+                       \r
+                       #if (defined(USB_HOST_ONLY) && defined(USB_DEVICE_ONLY))\r
                                #error USB_HOST_ONLY and USB_DEVICE_ONLY are mutually exclusive.\r
                        #endif\r
 \r
                                #error USB_HOST_ONLY and USB_DEVICE_ONLY are mutually exclusive.\r
                        #endif\r
 \r
index d38000d..9d2e848 100644 (file)
@@ -76,6 +76,8 @@
                #if (!(defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) ||  \\r
                       defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB646__) ||  \\r
                           defined(__AVR_AT90USB162__)  || defined(__AVR_AT90USB82__)  ||  \\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
                           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
index 5282642..cbe4c59 100644 (file)
@@ -27,6 +27,7 @@
   *  - Added stdio stream demo code to the low-level CDC demo, to show how to create standard streams out of the virtual serial ports\r
   *  - Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions\r
   *  - Added new USE_FLASH_DESCRIPTORS and TOTAL_NUM_CONFIGURATIONS compile time options\r
   *  - Added stdio stream demo code to the low-level CDC demo, to show how to create standard streams out of the virtual serial ports\r
   *  - Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions\r
   *  - Added new USE_FLASH_DESCRIPTORS and TOTAL_NUM_CONFIGURATIONS compile time options\r
+  *  - Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models\r
   *  \r
   *  <b>Changed:</b>\r
   *  - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)\r
   *  \r
   *  <b>Changed:</b>\r
   *  - Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)\r
index 1d06d52..140055d 100644 (file)
@@ -8,15 +8,18 @@
  *  \page Page_DeviceSupport Device and Hardware Support\r
  *\r
  *  Currently supported AVR models:\r
  *  \page Page_DeviceSupport Device and Hardware Support\r
  *\r
  *  Currently supported AVR models:\r
- *   - AT90USB1286 (USB Device Only)\r
- *   - AT90USB1287 (USB Host and Device)\r
- *   - AT90USB646 (USB Device Only)\r
- *   - AT90USB647 (USB Host and Device)\r
  *   - AT90USB82 (USB Device Only)\r
  *   - AT90USB82 (USB Device Only)\r
+ *   - ATMEGA8U2 (USB Device Only)\r
  *   - AT90USB162 (USB Device Only)\r
  *   - AT90USB162 (USB Device Only)\r
+ *   - ATMEGA16U2 (USB Device Only)\r
  *   - ATMEGA16U4 (USB Device Only)\r
  *   - ATMEGA16U4 (USB Device Only)\r
+ *   - ATMEGA32U2 (USB Device Only)\r
  *   - ATMEGA32U4 (USB Device Only)\r
  *   - ATMEGA32U6 (USB Device Only)\r
  *   - ATMEGA32U4 (USB Device Only)\r
  *   - ATMEGA32U6 (USB Device Only)\r
+ *   - AT90USB646 (USB Device Only)\r
+ *   - AT90USB647 (USB Host and Device)\r
+ *   - AT90USB1286 (USB Device Only)\r
+ *   - AT90USB1287 (USB Host and Device)\r
  *\r
  *  Currently supported Atmel boards:\r
  *   - AT90USBKEY\r
  *\r
  *  Currently supported Atmel boards:\r
  *   - AT90USBKEY\r