Fixed incorrect comparison in the descriptor callback routine of the TeensyHID bootlo...
[pub/USBasp.git] / LUFA / Drivers / USB / HighLevel / USBMode.h
index afe750f..d894bba 100644 (file)
@@ -1,13 +1,13 @@
 /*\r
              LUFA Library\r
 /*\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
               \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, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
   this software.\r
 */\r
 \r
   this software.\r
 */\r
 \r
+/** \file\r
+ *  \brief USB mode and capability macros.\r
+ *\r
+ *  This file defines macros indicating the type of USB controller the library is being compiled for, and its\r
+ *  capabilities. These macros may then be referenced in the user application to selectively enable or disable\r
+ *  code sections depending on if they are defined or not.\r
+ *\r
+ *  \note This file should not be included directly. It is automatically included as needed by the USB driver\r
+ *        dispatch header located in LUFA/Drivers/USB/USB.h.\r
+ */\r
+\r
 /** \ingroup Group_USB\r
  *  @defgroup Group_USBMode USB Mode Tokens\r
  *\r
 /** \ingroup Group_USB\r
  *  @defgroup Group_USBMode USB Mode Tokens\r
  *\r
 #ifndef __USBMODE_H__\r
 #define __USBMODE_H__\r
 \r
 #ifndef __USBMODE_H__\r
 #define __USBMODE_H__\r
 \r
+       /* Preprocessor Checks: */\r
+               #if !defined(__INCLUDE_FROM_USB_DRIVER)\r
+                       #error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.\r
+               #endif\r
+               \r
        /* Public Interface - May be used in end-application: */\r
        #if defined(__DOXYGEN__)\r
                /** Indicates that the target AVR microcontroller belongs to the Series 2 USB controller\r
        /* Public Interface - May be used in end-application: */\r
        #if defined(__DOXYGEN__)\r
                /** Indicates that the target AVR microcontroller belongs to the Series 2 USB controller\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
                        #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
+                       #elif (defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega16U4__))\r
                                #define USB_SERIES_4_AVR\r
                        #elif (defined(__AVR_ATmega32U6__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))\r
                                #define USB_SERIES_6_AVR\r
                                #define USB_SERIES_4_AVR\r
                        #elif (defined(__AVR_ATmega32U6__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))\r
                                #define USB_SERIES_6_AVR\r