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
#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
#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