Fix up the incomplete Webserver project so that it integrates with the uIP stack...
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / LowLevel.h
index 1ca54ed..dc01d24 100644 (file)
@@ -1,21 +1,21 @@
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
-  Permission to use, copy, modify, and distribute this software\r
-  and its documentation for any purpose and without fee is hereby\r
-  granted, provided that the above copyright notice appear in all\r
-  copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting\r
-  documentation, and that the name of the author not be used in\r
-  advertising or publicity pertaining to distribution of the\r
+  Permission to use, copy, modify, distribute, and sell this \r
+  software and its documentation for any purpose is hereby granted\r
+  without fee, provided that the above copyright notice appear in \r
+  all copies and that both that the copyright notice and this\r
+  permission notice and warranty disclaimer appear in supporting \r
+  documentation, and that the name of the author not be used in \r
+  advertising or publicity pertaining to distribution of the \r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
 \r
        /* Preprocessor Checks and Defines: */\r
                #if !defined(F_CLOCK)\r
-                       #error F_CLOCK is not defined. You must device F_CLOCK to the frequency of the unprescaled input clock in your project makefile.\r
+                       #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile.\r
                #endif\r
        \r
                #if (F_CLOCK == 8000000)\r
-                       #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__))\r
+                       #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
+                            defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \\r
+                                defined(__AVR_ATmega32U2__))\r
                                #define USB_PLL_PSC                0\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_PLL_PSC                0\r
@@ -85,7 +87,9 @@
                                #define USB_PLL_PSC                ((1 << PLLP1) | (1 << PLLP0))\r
                        #endif\r
                #elif (F_CLOCK == 16000000)\r
-                       #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__))\r
+                       #if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
+                            defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \\r
+                                defined(__AVR_ATmega32U2__))\r
                                #define USB_PLL_PSC                (1 << PLLP0)\r
                        #elif (defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__))\r
                                #define USB_PLL_PSC                (1 << PINDIV)\r
                         */\r
                        #define USB_MODE_DEVICE                    1\r
                        \r
-                       #if defined(USB_CAN_BE_HOST) || defined(__DOXYGEN__)\r
-                               /** Mode mask for the \ref USB_CurrentMode global and the \ref USB_Init() function. This indicates that the\r
-                                *  USB interface is or should be initialized in the USB host mode.\r
-                                *\r
-                                *  \note This token is not available on AVR models which do not support host mode.\r
-                                */\r
-                               #define USB_MODE_HOST                  2\r
-                       #endif\r
+                       /** Mode mask for the \ref USB_CurrentMode global and the \ref USB_Init() function. This indicates that the\r
+                        *  USB interface is or should be initialized in the USB host mode.\r
+                        */\r
+                       #define USB_MODE_HOST                      2\r
                        \r
                        #if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)\r
                                /** Mode mask for the the \ref USB_Init() function. This indicates that the USB interface should be\r
                        #endif\r
 \r
                        /** Detaches the device from the USB bus. This has the effect of removing the device from any\r
-                        *  host if, ceasing USB communications. If no host is present, this prevents any host from\r
+                        *  attached host, ceasing USB communications. If no host is present, this prevents any host from\r
                         *  enumerating the device once attached until \ref USB_Attach() is called.\r
                         */\r
                        #define USB_Detach()                    MACROS{ UDCON  |=  (1 << DETACH);  }MACROE\r
 \r
                        #define USB_Controller_Enable()    MACROS{ USBCON  |=  (1 << USBE);                 }MACROE\r
                        #define USB_Controller_Disable()   MACROS{ USBCON  &= ~(1 << USBE);                 }MACROE\r
-                       #define USB_Controller_Reset()     MACROS{ uint8_t Temp = USBCON; USBCON = (Temp & ~(1 << USBE)); \\r
+                       #define USB_Controller_Reset()     MACROS{ const uint8_t Temp = USBCON; USBCON = (Temp & ~(1 << USBE)); \\r
                                                                   USBCON = (Temp | (1 << USBE));           }MACROE\r
        \r
                /* Inline Functions: */\r