#define __BUTTONS_USER_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
// TODO: Add any required includes here
/* Enable C linkage for C++ Compilers: */
#define __JOYSTICK_USER_H__
/* Includes: */
- #include <avr/io.h>
-
// TODO: Add any required includes here
/* Enable C linkage for C++ Compilers: */
#define __LEDS_USER_H__
/* Includes: */
- #include <avr/io.h>
-
// TODO: Add any required includes here
/* Enable C linkage for C++ Compilers: */
/** \file\r
* \brief Supported architecture defines.\r
*\r
- * This file contains constants which can be passed to the compiler (via setting the macro ARCH) in the\r
- * user project makefile using the -D option to configure the library drivers.\r
+ * \copydetails Group_Architectures\r
*\r
* \note Do not include this file directly, rather include the Common.h header file instead to gain this file's\r
* functionality.\r
\r
/** \ingroup Group_Common\r
* \defgroup Group_Architectures Hardware Architectures\r
+ * \brief Supported architecture defines.\r
*\r
* Macros for indicating the chosen hardware architecture to the library. These macros should be used when\r
* defining the ARCH token to the chosen hardware via the -D switch in the project makefile.\r
/** \file
* \brief AVR-GCC special function/variable attribute macros.
*
- * This file contains macros for applying GCC specific attributes to functions and variables to control various
- * optimiser and code generation features of the compiler. Attributes may be placed in the function prototype
- * or variable declaration in any order, and multiple attributes can be specified for a single item via a space
- * separated list.
- *
- * On incompatible versions of GCC or on other compilers, these macros evaluate to nothing unless they are
- * critical to the code's function and thus must throw a compiler error when used.
+ * \copydetails Group_GCCAttributes
*
* \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
* functionality.
*/
/** \ingroup Group_Common
- * \defgroup Group_GCCAttr Function/Variable Attributes
+ * \defgroup Group_GCCAttributes Function/Variable Attributes
+ * \brief AVR-GCC special function/variable attribute macros.
*
- * Macros for easy access GCC function and variable attributes, which can be applied to function prototypes or
- * variable attributes.
+ * This file contains macros for applying GCC specific attributes to functions and variables to control various
+ * optimiser and code generation features of the compiler. Attributes may be placed in the function prototype
+ * or variable declaration in any order, and multiple attributes can be specified for a single item via a space
+ * separated list.
+ *
+ * On incompatible versions of GCC or on other compilers, these macros evaluate to nothing unless they are
+ * critical to the code's function and thus must throw a compiler error when used.
*
* @{
*/
/** \file
* \brief Supported board hardware defines.
*
- * This file contains constants which can be passed to the compiler (via setting the macro BOARD) in the
- * user project makefile using the -D option to configure the library board-specific drivers.
+ * \copydetails Group_BoardTypes
*
* \note Do not include this file directly, rather include the Common.h header file instead to gain this file's
* functionality.
/** \ingroup Group_Common
* \defgroup Group_BoardTypes Board Types
+ * \brief Supported board hardware defines.
*
* Macros for indicating the chosen physical board hardware to the library. These macros should be used when
* defining the BOARD token to the chosen hardware via the -D switch in the project makefile.
/** \file
* \brief Common library convenience macros and functions.
*
- * This file contains macros which are common to all library elements, and which may be useful in user code. It
- * also includes other common code headers.
+ * \copydetails Group_Common
*/
/** \defgroup Group_Common Common Utility Headers - LUFA/Drivers/Common/Common.h
+ * \brief Common library convenience macros and functions.
*
* Common utility headers containing macros, functions, enums and types which are common to all
* aspects of the library.
/* Includes: */
#include <stdint.h>
#include <stdbool.h>
-
+ #include <string.h>
+
#include "Architectures.h"
#include "Attributes.h"
#include "BoardTypes.h"
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <avr/eeprom.h>
+ #include <avr/boot.h>
#include <util/atomic.h>
#include <util/delay.h>
#endif
#define MIN(x, y) ((x < y) ? x : y)
#endif
- #if (ARCH == ARCH_AVR8)
+ #if (ARCH == ARCH_AVR8) || defined(__DOXYGEN__)
/** Defines a volatile \c NOP statement which cannot be optimized out by the compiler, and thus can always
* be set as a breakpoint in the resulting code. Useful for debugging purposes, where the optimiser
* removes/reorders code to the point where break points cannot reliably be set.
\r
/** \file\r
* \brief Board specific LED driver header for the Adafruit U4 Breakout board.\r
- *\r
- * Board specific LED driver header for the Adafruit U4 Breakout board (http://ladyada.net/products/atmega32u4breakout).\r
+ * \copydetails Group_LEDs_ADAFRUITU4\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
* dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
\r
/** \ingroup Group_LEDs\r
* \defgroup Group_LEDs_ADAFRUITU4 ADAFRUITU4\r
+ * \brief Board specific LED driver header for the Adafruit U4 Breakout board.\r
*\r
* Board specific LED driver header for the Adafruit U4 Breakout board (http://ladyada.net/products/atmega32u4breakout).\r
*\r
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
- *\r
* @{\r
*/\r
\r
#define __LEDS_ADAFRUITU4_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
/** \file
* \brief Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
- *
- * Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
+ * \copydetails Group_Buttons_ATAVRUSBRF01
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_ATAVRUSBRF01 ATAVRUSBRF01
+ * \brief Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
*
* Board specific Buttons driver header for the Atmel ATAVRUSBRF01.
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_ATAVRUSBRF01_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Atmel ATAVRUSBRF01.
- *
- * Board specific LED driver header for the Atmel ATAVRUSBRF01.
+ * \copydetails Group_LEDs_ATAVRUSBRF01
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_ATAVRUSBRF01 ATAVRUSBRF01
+ * \brief Board specific LED driver header for the Atmel ATAVRUSBRF01.
*
* Board specific LED driver header for the Atmel ATAVRUSBRF01.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_ATAVRUSBRF01_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Buttons driver header for the Tempusdictum Benito.
- *
- * Board specific Buttons driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
+ * \copydetails Group_Buttons_BENITO
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_BENITO BENITO
+ * \brief Board specific Buttons driver header for the Tempusdictum Benito.
*
* Board specific Buttons driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_BENITO_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Tempusdictum Benito.
- *
- * Board specific LED driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
+ * \copydetails Group_LEDs_BENITO
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_BENITO BENITO
+ * \brief Board specific LED driver header for the Tempusdictum Benito.
*
* Board specific LED driver header for the Tempusdictum Benito (http://dorkbotpdx.org/wiki/benito).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_BENITO_H__
/* Includes: */
- #include <avr/io.h>
+ #include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
\r
/** \file\r
* \brief Board specific LED driver header for the BLACKCAT USB JTAG.\r
- *\r
- * Board specific LED driver header for the TCNISO Blackcat USB JTAG (http://www.embeddedcomputers.net/products/BlackcatUSB/.\r
+ * \copydetails Group_LEDs_BLACKCAT\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
* dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
\r
/** \ingroup Group_LEDs\r
* \defgroup Group_LEDs_BLACKCAT BLACKCAT\r
+ * \brief Board specific LED driver header for the BLACKCAT USB JTAG.\r
*\r
* Board specific LED driver header for the TCNISO Blackcat USB JTAG (http://www.embeddedcomputers.net/products/BlackcatUSB/.\r
*\r
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
- *\r
* @{\r
*/\r
\r
#define __LEDS_BLACKCAT_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
/** \file
* \brief Board specific LED driver header for the Busware BUI.
- *
- * Board specific LED driver header for the Busware BUI (http://www.busware.de/tiki-index.php?page=BUI).
+ * \copydetails Group_LEDs_BUI
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_BUI BUI
+ * \brief Board specific LED driver header for the Busware BUI.
*
* Board specific LED driver header for the Busware BUI (http://www.busware.de/tiki-index.php?page=BUI).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_BUI_H__
/* Includes: */
- #include <avr/io.h>
+ #include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/** \file
* \brief Board specific Buttons driver header for the Fletchtronics BUMBLEB.
- *
- * Board specific Buttons driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b).
- *
- * The BUMBLEB third-party board does not include any on-board peripherals, but does have an officially recommended
- * external peripheral layout for buttons, LEDs and a Joystick.
+ * \copydetails Group_Buttons_BUMBLEB
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_BUMBLEB BUMBLEB
+ * \brief Board specific Buttons driver header for the Fletchtronics BUMBLEB.
*
* Board specific buttons driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
* third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
* layout for buttons, LEDs and a Joystick.
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_BUMBLEB_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific joystick driver header for the Fletchtronics BUMLEB.
- *
- * Board specific joystick driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b).
- *
- * The BUMBLEB third-party board does not include any on-board peripherals, but does have an officially recommended
- * external peripheral layout for buttons, LEDs and a Joystick.
+ * \copydetails Group_Joystick_BUMBLEB
*
* \note This file should not be included directly. It is automatically included as needed by the joystick driver
* dispatch header located in LUFA/Drivers/Board/Joystick.h.
/** \ingroup Group_Joystick
* \defgroup Group_Joystick_BUMBLEB BUMBLEB
+ * \brief Board specific joystick driver header for the Fletchtronics BUMLEB.
*
* Board specific joystick driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
* third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
* layout for buttons, LEDs and a Joystick.
*
- * \note This file should not be included directly. It is automatically included as needed by the joystick driver
- * dispatch header located in LUFA/Drivers/Board/Joystick.h.
- *
* @{
*/
#define __JOYSTICK_BUMBLEB_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Fletchtronics BUMBLEB.
- *
- * Board specific LED driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b).
- *
- * The BUMBLEB third-party board does not include any on-board peripherals, but does have an officially recommended
- * external peripheral layout for buttons, LEDs and a Joystick.
+ * \copydetails Group_LEDs_BUMBLEB
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_BUMBLEB BUMBLEB
+ * \brief Board specific LED driver header for the Fletchtronics BUMBLEB.
*
* Board specific LED driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
* third-party board does not include any on-board peripherals, but does have an officially recommended external
* peripheral layout for buttons, LEDs and a Joystick.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_BUMBLEB_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Busware CULV3.
- *
- * Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
+ * \copydetails Group_LEDs_CULV3
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_CULV3 CULV3
+ * \brief Board specific LED driver header for the Busware CULV3.
*
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __BUTTONS_CULV3_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Busware CUL V3.
- *
- * Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
+ * \copydetails Group_LEDs_CULV3
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_CULV3 CULV3
+ * \brief Board specific LED driver header for the Busware CUL V3.
*
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_CULV3_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Buttons driver header for the Atmel EVK527.
- *
- * Board specific Buttons driver header for the Atmel EVK527.
+ * \copydetails Group_Buttons_EVK527
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_EVK527 EVK527
+ * \brief Board specific Buttons driver header for the Atmel EVK527.
*
* Board specific Buttons driver header for the Atmel EVK527.
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_EVK527_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
- #include "../../../Common/Common.h"
-
- /* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Dataflash driver header for the Atmel EVK527.
- *
- * Board specific Dataflash driver header for the Atmel EVK527.
+ * \copydetails Group_Dataflash_EVK527
*
* \note This file should not be included directly. It is automatically included as needed by the dataflash driver
* dispatch header located in LUFA/Drivers/Board/Dataflash.h.
/** \ingroup Group_Dataflash
* \defgroup Group_Dataflash_EVK527 EVK527
+ * \brief Board specific Dataflash driver header for the Atmel EVK527.
*
* Board specific Dataflash driver header for the Atmel EVK527.
*
- * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
- * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
- *
* @{
*/
/** \file
* \brief Board specific joystick driver header for the Atmel EVK527.
- *
- * Board specific joystick driver header for the Atmel EVK527.
+ * \copydetails Group_Joystick_EVK527
*
* \note This file should not be included directly. It is automatically included as needed by the joystick driver
* dispatch header located in LUFA/Drivers/Board/Joystick.h.
/** \ingroup Group_Joystick
* \defgroup Group_Joystick_EVK527 EVK527
+ * \brief Board specific joystick driver header for the Atmel EVK527.
*
* Board specific joystick driver header for the Atmel EVK527.
*
- * \note This file should not be included directly. It is automatically included as needed by the joystick driver
- * dispatch header located in LUFA/Drivers/Board/Joystick.h.
- *
* @{
*/
#define __JOYSTICK_EVK527_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Atmel EVK527.
- *
- * Board specific LED driver header for the Atmel EVK527.
+ * \copydetails Group_LEDs_EVK527
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_EVK527 EVK527
+ * \brief Board specific LED driver header for the Atmel EVK527.
*
* Board specific LED driver header for the Atmel EVK527.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_EVK527_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Buttons driver header for the Mattairtech JM-DB-U2.
- *
- * Board specific Buttons driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
+ * \copydetails Group_Buttons_JMDBU2
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_JMDBU2 JMDBU2
+ * \brief Board specific Buttons driver header for the Mattairtech JM-DB-U2.
*
* Board specific Buttons driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_JMDBU2_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Mattairtech JM-DB-U2.
- *
- * Board specific LED driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
+ * \copydetails Group_LEDs_JMDBU2
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_JMDBU2 JMDBU2
+ * \brief Board specific LED driver header for the Mattairtech JM-DB-U2.
*
* Board specific LED driver header for the Mattairtech JM-DB-U2 (http://u2.mattair.net/index.html).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_JMDBU2_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
\r
/** \file\r
* \brief Board specific LED driver header for the Maximus.\r
- *\r
- * Board specific LED driver header for the Maximus (http://www.avrusb.com/).\r
+ * \copydetails Group_LEDs_MAXIMUS\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
* dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
\r
/** \ingroup Group_LEDs\r
* \defgroup Group_LEDs_MAXIMUS MAXIMUS\r
+ * \brief Board specific LED driver header for the Maximus.\r
*\r
* Board specific LED driver header for the Maximus (http://www.avrusb.com/).\r
*\r
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
- *\r
* @{\r
*/\r
\r
#define __LEDS_MAXIMUS_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
\r
/** \file\r
* \brief Board specific Buttons driver header for the Microsin AVR-USB162 board.\r
- *\r
- * Board specific Buttons driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).\r
+ * \copydetails Group_Buttons_MICROSIN162\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver\r
* dispatch header located in LUFA/Drivers/Board/Buttons.h.\r
\r
/** \ingroup Group_Buttons\r
* \defgroup Group_Buttons_MICROSIN162 MICROSIN162\r
+ * \brief Board specific Buttons driver header for the Microsin AVR-USB162 board.\r
*\r
* Board specific Buttons driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).\r
*\r
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver\r
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.\r
- *\r
* @{\r
*/\r
\r
#define __BUTTONS_MICROSIN162_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
- #include <stdbool.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
\r
/** \file\r
* \brief Board specific LED driver header for the Microsin AVR-USB162 board.\r
- *\r
- * Board specific LED driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).\r
+ * \copydetails Group_LEDs_MICROSIN162\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
* dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
\r
/** \ingroup Group_LEDs\r
* \defgroup Group_LEDs_MICROSIN162 MICROSIN162\r
+ * \brief Board specific LED driver header for the Microsin AVR-USB162 board.\r
*\r
* Board specific LED driver header for the Microsin AVR-USB162 board (http://microsin.ru/content/view/685/44/).\r
*\r
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
- *\r
* @{\r
*/\r
\r
#define __LEDS_MICROSIN162_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
\r
/** \file\r
* \brief Board specific Buttons driver header for the MINIMUS.\r
- *\r
- * Board specific Buttons driver header for the MINIMUS.\r
+ * \copydetails Group_Buttons_MINIMUS\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver\r
* dispatch header located in LUFA/Drivers/Board/Buttons.h.\r
\r
/** \ingroup Group_Buttons\r
* \defgroup Group_Buttons_MINIMUS MINIMUS\r
+ * \brief Board specific Buttons driver header for the MINIMUS.\r
*\r
* Board specific Buttons driver header for the MINIMUS.\r
*\r
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver\r
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.\r
- *\r
* @{\r
*/\r
\r
#define __BUTTONS_MINIMUS_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
- #include <stdbool.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
\r
/** \file\r
* \brief Board specific LED driver header for the MINIMUS.\r
- *\r
- * Board specific LED driver header for the Minimus USB (http://www.minimususb.com/).\r
+ * \copydetails Group_LEDs_MINIMUS\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
* dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
\r
/** \ingroup Group_LEDs\r
* \defgroup Group_LEDs_MINIMUS MINIMUS\r
+ * \brief Board specific LED driver header for the MINIMUS.\r
*\r
* Board specific LED driver header for the Minimus USB (http://www.minimususb.com/).\r
*\r
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
- *\r
* @{\r
*/\r
\r
#define __LEDS_MINIMUS_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
/** \file
* \brief Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board.
- *
- * Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board (http://www.olimex.com/dev/avr-usb-162.html).
+ * \copydetails Group_Buttons_OLIMEX162
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_OLIMEX162 OLIMEX162
+ * \brief Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board.
*
* Board specific Buttons driver header for the Olimex AVR-USB-162 Development Board (http://www.olimex.com/dev/avr-usb-162.html).
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_OLIMEX162_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Olimex AVR-USB-162.
- *
- * Board specific LED driver header for the Olimex AVR-USB-162 (http://www.olimex.com/dev/avr-usb-162.html).
+ * \copydetails Group_LEDs_OLIMEX162
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_OLIMEX162 OLIMEX162
+ * \brief Board specific LED driver header for the Olimex AVR-USB-162.
*
* Board specific LED driver header for the Olimex AVR-USB-162 (http://www.olimex.com/dev/avr-usb-162.html).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_OLIMEX162_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Atmel RZUSBSTICK.
- *
- * Board specific LED driver header for the Atmel RZUSBSTICK.
+ * \copydetails Group_LEDs_RZUSBSTICK
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_RZUSBSTICK RZUSBSTICK
+ * \brief Board specific LED driver header for the Atmel RZUSBSTICK.
*
* Board specific LED driver header for the Atmel RZUSBSTICK.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_RZUSBSTICK_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
\r
/** \file\r
* \brief Board specific LED driver header for the Sparkfun ATMEGA8U2 breakout board.\r
- *\r
- * Board specific LED driver header for the Sparkfun ATMEGA8U2 breakout board (http://www.sparkfun.com/products/10277).\r
+ * \copydetails Group_LEDs_SPARKFUN8U2\r
*\r
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
* dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
\r
/** \ingroup Group_LEDs\r
* \defgroup Group_LEDs_SPARKFUN8U2 SPARKFUN8U2\r
+ * \brief Board specific LED driver header for the Sparkfun ATMEGA8U2 breakout board.\r
*\r
- * Board specific LED driver header for the Sparkfun ATMEGA8U2 breakout board (http://www.sparkfun.com/products/10277).\r
- *\r
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver\r
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.\r
+ * Board specific LED driver header for the Sparkfun ATMEGA8U2 breakout board (http://www.sparkfun.com/products/10277).\r
*\r
* @{\r
*/\r
#define __LEDS_SPARKFUN8U2_H__\r
\r
/* Includes: */\r
- #include <avr/io.h>\r
-\r
#include "../../../Common/Common.h"\r
\r
/* Enable C linkage for C++ Compilers: */\r
/** \file
* \brief Board specific Buttons driver header for the Atmel STK525.
- *
- * Board specific Buttons driver header for the Atmel STK525.
+ * \copydetails Group_Buttons_STK525
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_STK525 STK525
+ * \brief Board specific Buttons driver header for the Atmel STK525.
*
* Board specific Buttons driver header for the Atmel STK525.
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_STK525_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
- #include "../../../Common/Common.h"
-
- /* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Dataflash driver header for the Atmel STK525.
- *
- * Board specific Dataflash driver header for the Atmel STK525.
+ * \copydetails Group_Dataflash_STK525
*
* \note This file should not be included directly. It is automatically included as needed by the dataflash driver
* dispatch header located in LUFA/Drivers/Board/Dataflash.h.
/** \ingroup Group_Dataflash
* \defgroup Group_Dataflash_STK525 STK525
+ * \brief Board specific Dataflash driver header for the Atmel STK525.
*
* Board specific Dataflash driver header for the Atmel STK525.
*
- * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
- * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
- *
* @{
*/
/** \file
* \brief Board specific joystick driver header for the Atmel STK525.
- *
- * Board specific joystick driver header for the Atmel STK525.
+ * \copydetails Group_Joystick_STK525
*
* \note This file should not be included directly. It is automatically included as needed by the joystick driver
* dispatch header located in LUFA/Drivers/Board/Joystick.h.
/** \ingroup Group_Joystick
* \defgroup Group_Joystick_STK525 STK525
+ * \brief Board specific joystick driver header for the Atmel STK525.
*
* Board specific joystick driver header for the Atmel STK525.
*
- * \note This file should not be included directly. It is automatically included as needed by the joystick driver
- * dispatch header located in LUFA/Drivers/Board/Joystick.h.
- *
* @{
*/
#define __JOYSTICK_STK525_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Atmel STK525.
- *
- * Board specific LED driver header for the Atmel STK525.
+ * \copydetails Group_LEDs_STK525
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_STK525 STK525
+ * \brief Board specific LED driver header for the Atmel STK525.
*
* Board specific LED driver header for the Atmel STK525.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_STK525_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Buttons driver header for the Atmel STK526.
- *
- * Board specific Buttons driver header for the Atmel STK526.
+ * \copydetails Group_Buttons_STK526
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_STK526 STK526
+ * \brief Board specific Buttons driver header for the Atmel STK526.
*
* Board specific Buttons driver header for the Atmel STK526.
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_STK526_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
- #include "../../../Common/Common.h"
-
- /* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Dataflash driver header for the Atmel STK525.
- *
- * Board specific Dataflash driver header for the Atmel STK525.
+ * \copydetails Group_Dataflash_STK526
*
* \note This file should not be included directly. It is automatically included as needed by the dataflash driver
* dispatch header located in LUFA/Drivers/Board/Dataflash.h.
/** \ingroup Group_Dataflash
* \defgroup Group_Dataflash_STK526 STK526
+ * \brief Board specific Dataflash driver header for the Atmel STK525.
*
* Board specific Dataflash driver header for the Atmel STK525.
*
- * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
- * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
- *
* @{
*/
/** \file
* \brief Board specific joystick driver header for the Atmel STK526.
- *
- * Board specific joystick driver header for the Atmel STK526.
+ * \copydetails Group_Joystick_STK526
*
* \note This file should not be included directly. It is automatically included as needed by the joystick driver
* dispatch header located in LUFA/Drivers/Board/Joystick.h.
/** \ingroup Group_Joystick
* \defgroup Group_Joystick_STK526 STK526
+ * \brief Board specific joystick driver header for the Atmel STK526.
*
* Board specific joystick driver header for the Atmel STK526.
*
- * \note This file should not be included directly. It is automatically included as needed by the joystick driver
- * dispatch header located in LUFA/Drivers/Board/Joystick.h.
- *
* @{
*/
#define __JOYSTICK_STK526_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Atmel STK526.
- *
- * Board specific LED driver header for the Atmel STK526.
+ * \copydetails Group_LEDs_STK526
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_STK526 STK526
+ * \brief Board specific LED driver header for the Atmel STK526.
*
* Board specific LED driver header for the Atmel STK526.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_STK526_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the PJRC Teensy boards.
- *
- * Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
+ * \copydetails Group_LEDs_TEENSY
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_TEENSY TEENSY
+ * \brief Board specific LED driver header for the PJRC Teensy boards.
*
* Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_TEENSY_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Buttons driver header for the UDIP.
- *
- * Board specific Buttons driver header for the Linnix UDIP (http://linnix.com/udip/).
+ * \copydetails Group_Buttons_UDIP
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_UDIP UDIP
+ * \brief Board specific Buttons driver header for the UDIP.
*
* Board specific Buttons driver header for the Linnix UDIP (http://linnix.com/udip/).
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_UDIP_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Linnix UDIP.
- *
- * Board specific LED driver header for the Linnix UDIP (http://linnix.com/udip/).
+ * \copydetails Group_LEDs_UDIP
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_UDIP UDIP
+ * \brief Board specific LED driver header for the Linnix UDIP.
*
* Board specific LED driver header for the Linnix UDIP (http://linnix.com/udip/).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_UDIP_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Arduino Uno.
- *
- * Board specific LED driver header for the Arduino Uno (http://arduino.cc/en/Main/ArduinoBoardUno).
+ * \copydetails Group_LEDs_UNO
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_UNO UNO
+ * \brief Board specific LED driver header for the Arduino Uno.
*
* Board specific LED driver header for the Arduino Uno (http://arduino.cc/en/Main/ArduinoBoardUno).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_UNO_H__
/* Includes: */
- #include <avr/io.h>
+ #include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/** \file
* \brief Board specific Buttons driver header for the Kernel Concepts USBFOO.
- *
- * Board specific Buttons driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
+ * \copydetails Group_Buttons_USBFOO
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_USBFOO USBFOO
+ * \brief Board specific Buttons driver header for the Kernel Concepts USBFOO.
*
* Board specific Buttons driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_USBFOO_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Kernel Concepts USBFOO.
- *
- * Board specific LED driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
+ * \copydetails Group_LEDs_USBFOO
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_USBFOO USBFOO
+ * \brief Board specific LED driver header for the Kernel Concepts USBFOO.
*
* Board specific LED driver header for the Kernel Concepts USBFOO (http://shop.kernelconcepts.de/product_info.php?products_id=102).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_USBFOO_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Buttons driver header for the Atmel USBKEY.
- *
- * Board specific Buttons driver header for the Atmel USBKEY.
+ * \copydetails Group_Buttons_USBKEY
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_USBKEY USBKEY
+ * \brief Board specific Buttons driver header for the Atmel USBKEY.
*
* Board specific Buttons driver header for the Atmel USBKEY.
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_USBKEY_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Dataflash driver header for the Atmel USBKEY.
- *
- * Board specific Dataflash driver header for the Atmel USBKEY.
+ * \copydetails Group_Dataflash_USBKEY
*
* \note This file should not be included directly. It is automatically included as needed by the dataflash driver
* dispatch header located in LUFA/Drivers/Board/Dataflash.h.
/** \ingroup Group_Dataflash
* \defgroup Group_Dataflash_USBKEY USBKEY
+ * \brief Board specific Dataflash driver header for the Atmel USBKEY.
*
* Board specific Dataflash driver header for the Atmel USBKEY board.
*
- * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
- * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
- *
* @{
*/
/** \file
* \brief Board specific joystick driver header for the Atmel USBKEY.
- *
- * Board specific joystick driver header for the Atmel USBKEY.
+ * \copydetails Group_Joystick_USBKEY
*
* \note This file should not be included directly. It is automatically included as needed by the joystick driver
* dispatch header located in LUFA/Drivers/Board/Joystick.h.
/** \ingroup Group_Joystick
* \defgroup Group_Joystick_USBKEY USBKEY
+ * \brief Board specific joystick driver header for the Atmel USBKEY.
*
* Board specific joystick driver header for the Atmel USBKEY.
*
- * \note This file should not be included directly. It is automatically included as needed by the joystick driver
- * dispatch header located in LUFA/Drivers/Board/Joystick.h.
- *
* @{
*/
#define __JOYSTICK_USBKEY_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for the Atmel USBKEY.
- *
- * Board specific LED driver header for the Atmel USBKEY.
+ * \copydetails Group_LEDs_USBKEY
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_USBKEY USBKEY
+ * \brief Board specific LED driver header for the Atmel USBKEY.
*
* Board specific LED driver header for the Atmel USBKEY.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_USBKEY_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific Buttons driver header for Tom's USBTINY MKII.
- *
- * Board specific Buttons driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
+ * \copydetails Group_Buttons_USBTINYMKII
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
* dispatch header located in LUFA/Drivers/Board/Buttons.h.
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_USBTINYMKII USBTINYMKII
+ * \brief Board specific Buttons driver header for Tom's USBTINY MKII.
*
* Board specific Buttons driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
*
- * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
- * dispatch header located in LUFA/Drivers/Board/Buttons.h.
- *
* @{
*/
#define __BUTTONS_USBTINYMKII_H__
/* Includes: */
- #include <avr/io.h>
- #include <stdbool.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
/** \file
* \brief Board specific LED driver header for Tom's USBTINY MKII.
- *
- * Board specific LED driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
+ * \copydetails Group_LEDs_USBTINYMKII
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_USBTINYMKII USBTINYMKII
+ * \brief Board specific LED driver header for Tom's USBTINY MKII.
*
* Board specific LED driver header for Tom's USBTINY MKII (http://tom-itx.dyndns.org:81/~webpage/).
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_USBTINYMKII_H__
/* Includes: */
- #include <avr/io.h>
+ #include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/** \file
* \brief Board specific Dataflash driver header for the Atmel XPLAIN.
- *
- * Board specific Dataflash driver header for the Atmel XPLAIN.
+ * \copydetails Group_Dataflash_XPLAIN
*
* \note This file should not be included directly. It is automatically included as needed by the dataflash driver
* dispatch header located in LUFA/Drivers/Board/Dataflash.h.
/** \ingroup Group_Dataflash
* \defgroup Group_Dataflash_XPLAIN XPLAIN
+ * \brief Board specific Dataflash driver header for the Atmel XPLAIN.
*
* Board specific Dataflash driver header for the Atmel XPLAIN.
*
- * \note This file should not be included directly. It is automatically included as needed by the dataflash driver
- * dispatch header located in LUFA/Drivers/Board/Dataflash.h.
- *
* @{
*/
/** \file
* \brief Board specific LED driver header for the Atmel XPLAIN.
- *
- * Board specific LED driver header for the Atmel XPLAIN.
+ * \copydetails Group_LEDs_XPLAIN
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* dispatch header located in LUFA/Drivers/Board/LEDs.h.
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_XPLAIN XPLAIN
+ * \brief Board specific LED driver header for the Atmel XPLAIN.
*
* Board specific LED driver header for the Atmel XPLAIN.
*
- * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
- * dispatch header located in LUFA/Drivers/Board/LEDs.h.
- *
* @{
*/
#define __LEDS_XPLAIN_H__
/* Includes: */
- #include <avr/io.h>
-
#include "../../../Common/Common.h"
/* Enable C linkage for C++ Compilers: */
*/\r
\r
/** \file\r
- * \brief Dataflash command constants for the the Atmel AT45DB321C Dataflash IC\r
- *\r
- * Dataflash command constants for the Atmel AT45DB321C Dataflash IC.\r
+ * \brief Command constants for the Atmel AT45DB321C Dataflash.\r
+ * \copydetails Group_AT45DB321C\r
*/\r
\r
/** \ingroup Group_MiscDrivers\r
- * \defgroup Group_AT45DB321C AT45DB321C Commands\r
+ * \defgroup Group_AT45DB321C Atmel AT45DB321C Dataflash Commands\r
+ * \brief Command constants for the Atmel AT45DB321C Dataflash.\r
*\r
* Dataflash command constants for the Atmel AT45DB321C Dataflash IC.\r
*\r
*/\r
\r
/** \file\r
- * \brief Dataflash command constants for the the Atmel AT45DB642D Dataflash IC\r
- *\r
- * Dataflash command constants for the Atmel AT45DB642D Dataflash IC.\r
+ * \brief Command constants for the Atmel AT45DB642D Dataflash.\r
+ * \copydetails Group_AT45DB642D\r
*/\r
\r
/** \ingroup Group_MiscDrivers\r
- * \defgroup Group_AT45DB642D AT45DB642D Commands\r
+ * \defgroup Group_AT45DB642D Atmel AT45DB642D Dataflash Commands\r
+ * \brief Command constants for the Atmel AT45DB642D Dataflash.\r
*\r
* Dataflash command constants for the Atmel AT45DB642D Dataflash IC.\r
*\r
#define __RING_BUFFER_H__\r
\r
/* Includes: */\r
- #include <util/atomic.h>\r
- #include <stdint.h>\r
- #include <stdbool.h>\r
-\r
#include "../../Common/Common.h"\r
\r
/* Type Defines: */\r
/* Includes: */
#include "../../Core/StdDescriptors.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
/* Includes: */
#include "../../Core/StdDescriptors.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../../Core/StdDescriptors.h"
#include "HIDParser.h"
- #include <string.h>
-
/* Preprocessor Checks: */
#if !defined(__INCLUDE_FROM_HID_DRIVER)
#error Do not include this file directly. Include LUFA/Drivers/USB.h instead.
#include "HIDReportData.h"
#include "../Common/HID.h"
-
- #include <string.h>
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
#include "../../Core/StdDescriptors.h"
#include "Audio.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
/* Includes: */
#include "../../Core/StdDescriptors.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
/* Includes: */
#include "../../Core/StdDescriptors.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../../Core/StdDescriptors.h"
#include "CDC.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
/* Includes: */
#include "../../Core/StdDescriptors.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../../USB.h"
#include "../Common/Audio.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../Common/CDC.h"
#include <stdio.h>
- #include <string.h>
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
#include "../../USB.h"
#include "../Common/HID.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../../USB.h"
#include "../Common/MIDI.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../../USB.h"
#include "../Common/MassStorage.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../../USB.h"
#include "../Common/RNDIS.h"
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
#include "../Common/CDC.h"
#include <stdio.h>
- #include <string.h>
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
#include "../../USB.h"
#include "../Common/RNDIS.h"
- #include <stdio.h>
- #include <string.h>
-
/* Enable C linkage for C++ Compilers: */
#if defined(__cplusplus)
extern "C" {
*/
/** \file
- * \brief USB device mode definitions (AVR8)
- *
- * This file contains structures, function prototypes and macros related to USB device mode.
+ * \brief USB Device definitions for the AVR8 microcontrollers.
+ * \copydetails Group_Device_AVR8
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_Device
* \defgroup Group_Device_AVR8 Device Management (AVR8)
+ * \brief USB Device definitions for the AVR8 microcontrollers.
*
- * USB Device mode related macros and enums. This module contains macros and enums which are used when
- * the USB controller is initialized in device mode.
+ * Architecture specific USB Device definitions for the Atmel 8-bit AVR microcontrollers.
*
* @{
*/
#include "../USBInterrupt.h"
#include "../Endpoint.h"
- #include <avr/boot.h>
-
/* Preprocessor Checks: */
- #if (defined(USE_RAM_DESCRIPTORS) && defined(USE_EEPROM_DESCRIPTORS))
- #error USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS are mutually exclusive.
- #endif
-
#if !defined(__INCLUDE_FROM_USB_DRIVER)
#error Do not include this file directly. Include LUFA/Drivers/USB/USB.h instead.
#endif
+ #if (defined(USE_RAM_DESCRIPTORS) && defined(USE_EEPROM_DESCRIPTORS))
+ #error USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS are mutually exclusive.
+ #endif
+
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name USB Device Mode Option Masks */
* the \ref USB_OPT_MANUAL_PLL option enabled, the user must ensure that the PLL is running
* before attempting to call this function.
*
- * \see \ref Group_Descriptors for more information on the RMWAKEUP feature and device descriptors.
+ * \see \ref Group_StdDescriptors for more information on the RMWAKEUP feature and device descriptors.
*/
void USB_Device_SendRemoteWakeup(void);
}
#endif
- /* Function Prototypes: */
- /** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
- * index and language ID. This function MUST be overridden in the user application (added with full, identical
- * prototype and name so that the library can call it to retrieve descriptor data.
- *
- * \param[in] wValue The type of the descriptor to retrieve in the upper byte, and the index in the
- * lower byte (when more than one descriptor of the given type exists, such as the
- * case of string descriptors). The type may be one of the standard types defined
- * in the DescriptorTypes_t enum, or may be a class-specific descriptor type value.
- * \param[in] wIndex The language ID of the string to return if the \c wValue type indicates
- * \ref DTYPE_String, otherwise zero for standard descriptors, or as defined in a
- * class-specific standards.
- * \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to
- * the address of the descriptor.
- * \param[out] MemoryAddressSpace A value from the \ref USB_DescriptorMemorySpaces_t enum to indicate the memory
- * space in which the descriptor is stored. This parameter does not exist when one
- * of the \c USE_*_DESCRIPTORS compile time options is used.
- *
- * \note By default, the library expects all descriptors to be located in flash memory via the \c PROGMEM attribute.
- * If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to
- * allow the descriptors to be changed dynamically at runtime) either the \c USE_RAM_DESCRIPTORS or the
- * \c USE_EEPROM_DESCRIPTORS tokens may be defined in the project makefile and passed to the compiler by the -D
- * switch.
- *
- * \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise.
- */
- uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
- const uint8_t wIndex,
- const void** const DescriptorAddress
- #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)
- , uint8_t* MemoryAddressSpace
- #endif
- ) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
-
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
/* Inline Functions: */
*/
/** \file
- * \brief USB device endpoint management definitions.
- *
- * This file contains structures, function prototypes and macros related to the management of the device's
- * data endpoints when the library is initialized in USB device mode.
+ * \brief USB Endpoint definitions for the AVR8 microcontrollers.
+ * \copydetails Group_EndpointManagement_AVR8
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_EndpointRW
* \defgroup Group_EndpointRW_AVR8 Endpoint Data Reading and Writing (AVR8)
+ * \brief USB Endpoint definitions for the AVR8 microcontrollers.
*
* Functions, macros, variables, enums and types related to data reading and writing from and to endpoints.
*/
*/
/** \file
- * \brief USB host mode definitions (AVR8)
- *
- * This file contains structures, function prototypes and macros related to USB host mode.
+ * \brief USB Host definitions for the AVR8 microcontrollers.
+ * \copydetails Group_Host_AVR8
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_Host
* \defgroup Group_Host_AVR8 Host Management (AVR8)
+ * \brief USB Host definitions for the AVR8 microcontrollers.
*
- * USB Host mode related macros and enums. This module contains macros and enums which are used when
- * the USB controller is initialized in host mode.
+ * Architecture specific USB Host definitions for the Atmel 8-bit AVR microcontrollers.
*
* @{
*/
*/
/** \file
- * \brief USB OTG mode definitions (AVR8)
- *
- * This file contains structures, function prototypes and macros related to USB OTG mode, where two USB devices
- * may be linked directly together and exchange host/device roles as needed.
+ * \brief USB OTG definitions for the AVR8 microcontrollers.
+ * \copydetails Group_OTG_AVR8
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_OTG
* \defgroup Group_OTG_AVR8 USB On The Go (OTG) Management (AVR8)
+ * \brief USB OTG definitions for the AVR8 microcontrollers.
*
- * This module contains macros for embedded USB hosts with dual role On The Go capabilities, for managing role
- * exchange. OTG is a way for two USB dual role devices to talk to one another directly without fixed device/host
- * roles.
+ * Architecture specific USB OTG definitions for the Atmel 8-bit AVR microcontrollers.
*
* @{
*/
*/
/** \file
- * \brief USB host pipe management definitions.
- *
- * This file contains structures, function prototypes and macros related to the management of the device's
- * data pipes when the library is initialized in USB host mode.
+ * \brief USB Pipe definitions for the AVR8 microcontrollers.
+ * \copydetails Group_PipeManagement_AVR8
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_PipeRW
* \defgroup Group_PipeRW_AVR8 Pipe Data Reading and Writing (AVR8)
+ * \brief USB Pipe definitions for the AVR8 microcontrollers.
*
* Functions, macros, variables, enums and types related to data reading and writing from and to pipes.
*/
*/
/** \file
- * \brief USB low level USB controller definitions (AVR8)
- *
- * This file contains structures, function prototypes and macros related to the low level configuration of the
- * USB controller, to start, stop and reset the USB library core.
+ * \brief USB Controller definitions for the AVR8 microcontrollers.
+ * \copydetails Group_USBManagement_AVR8
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_USBManagement
* \defgroup Group_USBManagement_AVR8 USB Interface Management (AVR8)
+ * \brief USB Controller definitions for the AVR8 microcontrollers.
*
* Functions, macros, variables, enums and types related to the setup and management of the USB interface.
*
#endif
#if !defined(F_CLOCK)
- #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled input clock in your project makefile.
+ #error F_CLOCK is not defined. You must define F_CLOCK to the frequency of the unprescaled USB controller clock in your project makefile.
#endif
#if (F_CLOCK == 8000000)
*/
/** \file
- * \brief USB controller interrupt service routine management (AVR8)
+ * \brief USB Controller Interrupt definitions for the AVR8 microcontrollers.
*
* This file contains definitions required for the correct handling of low level USB service routine interrupts
* from the USB controller.
#define USB_INT_IsEnabled(int) ((USB_INT_GET_EN_REG(int) & USB_INT_GET_EN_MASK(int)) ? true : false)
#define USB_INT_HasOccurred(int) ((USB_INT_GET_INT_REG(int) & USB_INT_GET_INT_MASK(int)) ? true : false)
- #define USB_INT_GET_EN_REG(a, b, c, d) a
- #define USB_INT_GET_EN_MASK(a, b, c, d) b
- #define USB_INT_GET_INT_REG(a, b, c, d) c
- #define USB_INT_GET_INT_MASK(a, b, c, d) d
-
+ #define USB_INT_GET_EN_REG(EnableReg, EnableMask, FlagReg, FlagMask) EnableReg
+ #define USB_INT_GET_EN_MASK(EnableReg, EnableMask, FlagReg, FlagMask) EnableMask
+ #define USB_INT_GET_INT_REG(EnableReg, EnableMask, FlagReg, FlagMask) FlagReg
+ #define USB_INT_GET_INT_MASK(EnableReg, EnableMask, FlagReg, FlagMask) FlagMask
+
#define USB_INT_VBUS USBCON, (1 << VBUSTE) , USBINT, (1 << VBUSTI)
#define USB_INT_IDTI USBCON, (1 << IDTE) , USBINT, (1 << IDTI)
#define USB_INT_WAKEUPI UDIEN , (1 << WAKEUPE), UDINT , (1 << WAKEUPI)
*/
/** \file
- * \brief Configuration descriptor parser API.
- *
- * This section of the library gives a friendly API which can be used in host applications to easily
- * parse an attached device's configuration descriptor so that endpoint, interface and other descriptor
- * data can be extracted and used as needed.
+ * \brief USB Configuration Descriptor definitions.
+ * \copydetails Group_ConfigDescriptorParser
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_Descriptors
* \defgroup Group_ConfigDescriptorParser Configuration Descriptor Parser
+ * \brief USB Configuration Descriptor definitions.
*
- * Functions, macros, variables, enums and types related to the parsing of Configuration Descriptors.
+ * This section of the library gives a friendly API which can be used in host applications to easily
+ * parse an attached device's configuration descriptor so that endpoint, interface and other descriptor
+ * data can be extracted and used as needed.
*
* @{
*/
*/\r
\r
/** \file\r
- * \brief Common USB device mode definitions.\r
- *\r
- * This file contains common structures, function prototypes and macros related to USB device mode for all\r
- * architectures.\r
+ * \brief Common USB Device definitions for all architectures.\r
+ * \copydetails Group_Device\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
/** \ingroup Group_USB\r
* \defgroup Group_Device Device Management\r
+ * \brief Common USB Device definitions for all architectures.\r
*\r
* USB Device mode related definitions common to all architectures. This module contains definitions which\r
* are used when the USB controller is initialized in device mode.\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
+ /* Function Prototypes: */\r
+ /** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,\r
+ * index and language ID. This function MUST be overridden in the user application (added with full, identical\r
+ * prototype and name so that the library can call it to retrieve descriptor data.\r
+ *\r
+ * \param[in] wValue The type of the descriptor to retrieve in the upper byte, and the index in the\r
+ * lower byte (when more than one descriptor of the given type exists, such as the\r
+ * case of string descriptors). The type may be one of the standard types defined\r
+ * in the DescriptorTypes_t enum, or may be a class-specific descriptor type value.\r
+ * \param[in] wIndex The language ID of the string to return if the \c wValue type indicates\r
+ * \ref DTYPE_String, otherwise zero for standard descriptors, or as defined in a\r
+ * class-specific standards.\r
+ * \param[out] DescriptorAddress Pointer to the descriptor in memory. This should be set by the routine to\r
+ * the address of the descriptor.\r
+ * \param[out] MemoryAddressSpace A value from the \ref USB_DescriptorMemorySpaces_t enum to indicate the memory\r
+ * space in which the descriptor is stored. This parameter does not exist when one\r
+ * of the \c USE_*_DESCRIPTORS compile time options is used.\r
+ *\r
+ * \note By default, the library expects all descriptors to be located in flash memory via the \c PROGMEM attribute.\r
+ * If descriptors should be located in RAM or EEPROM instead (to speed up access in the case of RAM, or to\r
+ * allow the descriptors to be changed dynamically at runtime) either the \c USE_RAM_DESCRIPTORS or the\r
+ * \c USE_EEPROM_DESCRIPTORS tokens may be defined in the project makefile and passed to the compiler by the -D\r
+ * switch.\r
+ *\r
+ * \return Size in bytes of the descriptor if it exists, zero or \ref NO_DESCRIPTOR otherwise.\r
+ */\r
+ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,\r
+ const uint8_t wIndex,\r
+ const void** const DescriptorAddress\r
+ #if !defined(USE_FLASH_DESCRIPTORS) && !defined(USE_EEPROM_DESCRIPTORS) && !defined(USE_RAM_DESCRIPTORS)\r
+ , uint8_t* MemoryAddressSpace\r
+ #endif\r
+ ) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);\r
+\r
#endif\r
\r
/** @} */\r
*/\r
\r
/** \file\r
- * \brief USB device endpoint management definitions.\r
- *\r
- * This file contains structures, function prototypes and macros related to the management of the device's\r
- * data endpoints when the library is initialized in USB device mode.\r
+ * \brief Common USB Endpoint definitions for all architectures.\r
+ * \copydetails Group_EndpointManagement\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
/** \ingroup Group_EndpointManagement\r
* \defgroup Group_EndpointRW Endpoint Data Reading and Writing\r
+ * \brief Common USB Endpoint definitions for all architectures.\r
*\r
* Functions, macros, variables, enums and types related to data reading and writing from and to endpoints.\r
*/\r
*/\r
\r
/** \file\r
- * \brief USB device endpoint stream function definitions.\r
- *\r
- * This file contains structures, function prototypes and macros related to the sending and receiving of\r
- * arbitrary data streams through the device's data endpoints when the library is initialized in USB device mode.\r
+ * \brief Endpoint data stream transmission and reception management.\r
+ * \copydetails Group_EndpointStreamRW\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
/** \ingroup Group_EndpointRW \r
* \defgroup Group_EndpointStreamRW Read/Write of Multi-Byte Streams\r
+ * \brief Endpoint data stream transmission and reception management.\r
*\r
* Functions, macros, variables, enums and types related to data reading and writing of data streams from\r
* and to endpoints.\r
*/
/** \file
- * \brief USB controller events manager.
- *
- * This file contains macros and functions relating to the management of library events, which are small
- * pieces of code similar to ISRs which are run when a given condition is met. Each event can be fired from
- * multiple places in the user or library code, which may or may not be inside an ISR, thus each handler
- * should be written to be as small and fast as possible to prevent possible problems.
- *
- * Events can be hooked by the user application by declaring a handler function with the same name and parameters
- * listed here. If an event with no user-associated handler is fired within the library, it by default maps to an
- * internal empty stub function.
- *
- * Each event must only have one associated event handler, but can be raised by multiple sources by calling the
- * event handler function (with any required event parameters).
+ * \brief USB Event management definitions.
+ * \copydetails Group_Events
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_USB
* \defgroup Group_Events USB Events
+ * \brief USB Event management definitions.
*
* This module contains macros and functions relating to the management of library events, which are small
* pieces of code similar to ISRs which are run when a given condition is met. Each event can be fired from
*/\r
\r
/** \file\r
- * \brief USB host mode definitions.\r
- *\r
- * USB Host mode related macros and enums. This module contains macros and enums which are used when\r
- * the USB controller is initialized in host mode.\r
+ * \brief Common USB Host definitions for all architectures.\r
+ * \copydetails Group_Host\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
/** \ingroup Group_USB\r
* \defgroup Group_Host Host Management\r
+ * \brief Common USB Host definitions for all architectures.\r
*\r
* USB Host mode related macros and enums. This module contains macros and enums which are used when\r
* the USB controller is initialized in host mode.\r
*/\r
\r
/** \file\r
- * \brief USB OTG mode definitions.\r
- *\r
- * This file contains structures, function prototypes and macros related to USB OTG mode, where two USB devices\r
- * may be linked directly together and exchange host/device roles as needed.\r
+ * \brief Common USB OTG definitions for all architectures.\r
+ * \copydetails Group_OTG\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
/** \ingroup Group_USB\r
* \defgroup Group_OTG USB On The Go (OTG) Management\r
+ * \brief Common USB OTG definitions for all architectures.\r
*\r
* This module contains macros for embedded USB hosts with dual role On The Go capabilities, for managing role\r
* exchange. OTG is a way for two USB dual role devices to talk to one another directly without fixed device/host\r
*/\r
\r
/** \file\r
- * \brief USB host pipe management definitions.\r
- *\r
- * This file contains structures, function prototypes and macros related to the management of the device's\r
- * data pipes when the library is initialized in USB host mode.\r
+ * \brief Common USB Pipe definitions for all architectures.\r
+ * \copydetails Group_PipeManagement\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
/** \ingroup Group_PipeManagement\r
* \defgroup Group_PipeRW Pipe Data Reading and Writing\r
+ * \brief Common USB Pipe definitions for all architectures.\r
*\r
* Functions, macros, variables, enums and types related to data reading and writing from and to pipes.\r
*/\r
*/\r
\r
/** \file\r
- * \brief USB host pipe stream function definitions.\r
- *\r
- * This file contains structures, function prototypes and macros related to the sending and receiving of\r
- * arbitrary data streams through the device's data pipes when the library is initialized in USB host mode.\r
+ * \brief Pipe data stream transmission and reception management.\r
+ * \copydetails Group_PipeStreamRW\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
/** \ingroup Group_PipeRW \r
* \defgroup Group_PipeStreamRW Read/Write of Multi-Byte Streams\r
+ * \brief Pipe data stream transmission and reception management.\r
*\r
* Functions, macros, variables, enums and types related to data reading and writing of data streams from\r
* and to pipes.\r
*/
/** \file
- * \brief USB standard descriptor definitions.
- *
- * This file contains structures and macros for the easy creation of standard USB descriptors in USB device projects.
+ * \brief Common USB Descriptor definitions for all architectures.
+ * \copydetails Group_StdDescriptors
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
*/
/** \ingroup Group_USB
- * \defgroup Group_Descriptors USB Descriptors
+ * \defgroup Group_StdDescriptors USB Descriptors
+ * \brief Common USB Descriptor definitions for all architectures.
*
* Standard USB device descriptor defines and retrieval routines, for USB devices. This module contains
* structures and macros for the easy creation of standard USB descriptors in USB device projects.
/** \file
* \brief USB control endpoint request definitions.
- *
- * This file contains structures and macros for the easy creation and parsing of standard USB control requests.
+ * \copydetails Group_StdRequest
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_USB
* \defgroup Group_StdRequest Standard USB Requests
+ * \brief USB control endpoint request definitions.
*
* This module contains definitions for the various control request parameters, so that the request
* details (such as data direction, request recipient, etc.) can be extracted via masking.
*/\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 configuration of the\r
- * USB controller, to start, stop and reset the USB library core.\r
+ * \brief Common USB Controller definitions for all architectures.\r
+ * \copydetails Group_USBManagement\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
/** \ingroup Group_USB\r
* \defgroup Group_USBManagement USB Interface Management\r
+ * \brief Common USB Controller definitions for all architectures.\r
*\r
* Functions, macros, variables, enums and types related to the setup and management of the USB interface.\r
*\r
*/
/** \file
- * \brief USB mode and capability macros.
- *
- * This file defines macros indicating the type of USB controller the library is being compiled for, and its
- * capabilities. These macros may then be referenced in the user application to selectively enable or disable
- * code sections depending on if they are defined or not.
+ * \brief USB mode and feature support definitions.
+ * \copydetails Group_USBMode
*
* \note This file should not be included directly. It is automatically included as needed by the USB driver
* dispatch header located in LUFA/Drivers/USB/USB.h.
/** \ingroup Group_USB
* \defgroup Group_USBMode USB Mode Tokens
+ * \brief USB mode and feature support definitions.
+ *
+ * This file defines macros indicating the type of USB controller the library is being compiled for, and its
+ * capabilities. These macros may then be referenced in the user application to selectively enable or disable
+ * code sections depending on if they are defined or not.
*
- * After the inclusion of the master USB driver header, one or more of the following
- * tokens may be defined, to allow the user code to conditionally enable or disable
- * code based on the USB controller family and allowable USB modes. These tokens may
- * be tested against to eliminate code relating to a USB mode which is not enabled for
+ * After the inclusion of the master USB driver header, one or more of the following tokens may be defined, to
+ * allow the user code to conditionally enable or disable code based on the USB controller family and allowable
+ * USB modes. These tokens may be tested against to eliminate code relating to a USB mode which is not enabled for
* the given compilation.
*
* @{
* \section Sec_SummaryUSBDeviceTokens USB Device Mode Driver Related Tokens
* This section describes compile tokens which affect USB driver stack of the LUFA library when used in Device mode.
*
- * <b>USE_RAM_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
+ * <b>USE_RAM_DESCRIPTORS</b> - ( \ref Group_StdDescriptors ) \n
* Define this token to indicate to the USB driver that all device descriptors are stored in RAM, rather than being located in any one
* of the AVR's memory spaces. RAM descriptors may be desirable in applications where the descriptors need to be modified at runtime.
*
- * <b>USE_FLASH_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
+ * <b>USE_FLASH_DESCRIPTORS</b> - ( \ref Group_StdDescriptors ) \n
* Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's FLASH memory rather than RAM.
*
- * <b>USE_EEPROM_DESCRIPTORS</b> - ( \ref Group_Descriptors ) \n
+ * <b>USE_EEPROM_DESCRIPTORS</b> - ( \ref Group_StdDescriptors ) \n
* Similar to USE_RAM_DESCRIPTORS, but all descriptors are stored in the AVR's EEPROM memory rather than RAM.
*
- * <b>NO_INTERNAL_SERIAL</b> - ( \ref Group_Descriptors ) \n
+ * <b>NO_INTERNAL_SERIAL</b> - ( \ref Group_StdDescriptors ) \n
* Some AVR models contain a unique 20-digit serial number which can be used as the device serial number, while in device mode. This
* allows the host to uniquely identify the device regardless of if it is moved between USB ports on the same computer, allowing
* allocated resources (such as drivers, COM Port number allocations) to be preserved. This is not needed in many apps, and so the
* hardware). This might be required because the device does not have any physical user input, or simply
* just to streamline the device upgrade process on the host PC.
*
- * The following C code snippet may be used to enter the bootloader upon request by the user application.
+ * The following C code snippets may be used to enter the bootloader upon request by the user application.
* By using the watchdog to physically reset the controller, it is ensured that all system hardware is
* completely reset to their defaults before the bootloader is run. This is important; since bootloaders
* are written to occupy a very limited space, they usually make assumptions about the register states based
* on the default values after a hard-reset of the chip.
*
+ * \section Sec_SoftareBootAVR8 AVR8 Architecture
+ * The following software bootloader jump code is written for the AVR8 architecture.
+ *
* \code
* #include <avr/wdt.h>
* #include <avr/io.h>