/** \ingroup Group_BoardDrivers\r
* @defgroup Group_LEDs LEDs Driver - LUFA/Drivers/Board/LEDs.h\r
*\r
- * Functions, macros, variables, enums and types related to the control of board LEDs.\r
+ * \section Sec_Dependencies Module Source Dependencies\r
+ * The following files must be built with any user project that uses this module:\r
+ * - None\r
+ *\r
+ * \section Module Description\r
+ * Hardware LEDs driver. This provides an easy to use driver for the hardware LEDs present on many boards. It\r
+ * provides an interface to configure, test and change the status of all the board LEDs.\r
+ *\r
+ * If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project\r
+ * directory. Otherwise, it will include the appropriate built in board driver header file.\r
+ *\r
+ * \note To make code as compatible as possible, it is assumed that all boards carry a minimum of four LEDs. If\r
+ * a board contains less than four LEDs, the remaining LED masks are defined to 0 so as to have no effect.\r
+ * If other behaviour is desired, either alias the remaining LED masks to existing LED masks via the -D \r
+ * switch in the project makefile, or alias them to nothing in the makefile to cause compilation errors when\r
+ * a non-existing LED is referenced in application code. Note that this means that it is possible to make\r
+ * compatible code for a board with no LEDs by making a board LED driver (see \ref Page_WritingBoardDrivers)\r
+ * which contains only stub functions and defines no LEDs.\r
*\r
* @{\r
*/\r
#include "Board/LEDs.h"\r
#endif\r
\r
+ #if !defined(LEDS_LED1)\r
+ #define LEDS_LED1 0\r
+ #endif\r
+\r
+ #if !defined(LEDS_LED2)\r
+ #define LEDS_LED2 0\r
+ #endif\r
+\r
+ #if !defined(LEDS_LED3)\r
+ #define LEDS_LED3 0\r
+ #endif\r
+\r
+ #if !defined(LEDS_LED4)\r
+ #define LEDS_LED4 0\r
+ #endif\r
+ \r
/* Pseudo-Functions for Doxygen: */\r
#if defined(__DOXYGEN__)\r
/** Initializes the board LED driver so that the LEDs can be controlled. This sets the appropriate port\r
\r
/** Turns on the LEDs specified in the given LED mask.\r
*\r
- * \param LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
*/\r
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask);\r
\r
/** Turns off the LEDs specified in the given LED mask.\r
*\r
- * \param LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
*/\r
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask);\r
\r
/** Turns off all LEDs not specified in the given LED mask, and turns on all the LEDs in the given LED\r
* mask.\r
*\r
- * \param LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
*/\r
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask);\r
\r
/** Turns off all LEDs in the LED mask that are not set in the active mask, and turns on all the LEDs\r
* specified in both the LED and active masks.\r
*\r
- * \param LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
- * \param ActiveMask Mask of whether the LEDs in the LED mask should be turned on or off\r
+ * \param[in] LEDMask Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file)\r
+ * \param[in] ActiveMask Mask of whether the LEDs in the LED mask should be turned on or off\r
*/\r
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask);\r
\r