this software.\r
*/\r
\r
+/** \file\r
+ * \brief USB low level USB controller definitions.\r
+ *\r
+ * This file contains structures, function prototypes and macros related to the low level configutation of the\r
+ * USB controller, to start, stop and reset the USB library core.\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_USBManagement USB Interface Management\r
*\r
#endif\r
\r
/* Preprocessor Checks and Defines: */\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
#if !defined(F_CLOCK)\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
#if (F_CLOCK == 8000000)\r
#if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \\r
- defined(__AVR_ATmega32U2))\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
#elif (F_CLOCK == 16000000)\r
#if (defined(__AVR_AT90USB82__) || defined(__AVR_AT90USB162__) || \\r
defined(__AVR_ATmega8U2__) || defined(__AVR_ATmega16U2__) || \\r
- defined(__AVR_ATmega32U2))\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
* mode speed.\r
*\r
* \note To reduce the FLASH requirements of the library if only device or host mode is required, \r
- * this can be statically set via defining the token USB_DEVICE_ONLY for device mode or \r
- * USB_HOST_ONLY for host mode in the use project makefile, passing the token to the compiler \r
+ * the mode can be statically set in the project makefile by defining the token USB_DEVICE_ONLY\r
+ * (for device mode) or USB_HOST_ONLY (for host mode), passing the token to the compiler \r
* via the -D switch. If the mode is statically set, this parameter does not exist in the\r
* function prototype.\r
+ * \n\n\r
*\r
* \note To reduce the FLASH requirements of the library if only fixed settings are are required,\r
* the options may be set statically in the same manner as the mode (see the Mode parameter of \r
* this function). To statically set the USB options, pass in the USE_STATIC_OPTIONS token,\r
* defined to the appropriate options masks. When the options are statically set, this\r
* parameter does not exist in the function prototype.\r
+ * \n\n\r
* \r
* \note The mode parameter does not exist on devices where only one mode is possible, such as USB \r
* AVR models which only implement the USB device mode in hardware.\r