Change over Joystick demo HID report descriptor to use USAGE_MINIMUM and USAGE_MAXIMU...
[pub/USBasp.git] / LUFA / Drivers / Board / LEDs.h
index 67efbea..0e2d484 100644 (file)
@@ -1,21 +1,21 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
-              
+     Copyright (C) Dean Camera, 2011.
+
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
  *  User code should include this file, which will in turn include the correct LED driver header file for the
  *  currently selected board.
  *
- *  If the BOARD value is set to BOARD_USER, this will include the /Board/LEDs.h file in the user project
+ *  If the \c BOARD value is set to \c BOARD_USER, this will include the \c /Board/LEDs.h file in the user project
  *  directory.
  *
- *  For possible BOARD makefile values, see \ref Group_BoardTypes.
+ *  For possible \c BOARD makefile values, see \ref Group_BoardTypes.
  */
 
 /** \ingroup Group_BoardDrivers
  *  The following files must be built with any user project that uses this module:
  *    - None
  *
- *  \section Module Description
+ *  \section Sec_ModDescription Module Description
  *  Hardware LEDs driver. This provides an easy to use driver for the hardware LEDs present on many boards. It
  *  provides an interface to configure, test and change the status of all the board LEDs.
  *
- *  If the BOARD value is set to BOARD_USER, this will include the /Board/Dataflash.h file in the user project
+ *  If the \c BOARD value is set to \c BOARD_USER, this will include the \c /Board/Dataflash.h file in the user project
  *  directory. Otherwise, it will include the appropriate built in board driver header file. If the BOARD value
- *  is set to BOARD_NONE, this driver is silently disabled.
+ *  is set to \c BOARD_NONE, this driver is silently disabled.
  *
- *  For possible BOARD makefile values, see \ref Group_BoardTypes.
+ *  For possible \c BOARD makefile values, see \ref Group_BoardTypes.
  *
  *  \note To make code as compatible as possible, it is assumed that all boards carry a minimum of four LEDs. If
  *        a board contains less than four LEDs, the remaining LED masks are defined to 0 so as to have no effect.
- *        If other behaviour is desired, either alias the remaining LED masks to existing LED masks via the -D 
+ *        If other behaviour is desired, either alias the remaining LED masks to existing LED masks via the -D
  *        switch in the project makefile, or alias them to nothing in the makefile to cause compilation errors when
  *        a non-existing LED is referenced in application code. Note that this means that it is possible to make
  *        compatible code for a board with no LEDs by making a board LED driver (see \ref Page_WritingBoardDrivers)
  *        which contains only stub functions and defines no LEDs.
  *
+ *  \section Sec_ExampleUsage Example Usage
+ *  The following snippet is an example of how this module may be used within a typical
+ *  application.
+ *
+ *  \code
+ *      // Initialise the board LED driver before first use
+ *      LEDs_Init();
+ *
+ *      // Turn on each of the four LEDs in turn
+ *      LEDs_SetAllLEDs(LEDS_LED1); 
+ *      _delay_ms(500);
+ *      LEDs_SetAllLEDs(LEDS_LED1); 
+ *      _delay_ms(500);
+ *      LEDs_SetAllLEDs(LEDS_LED1); 
+ *      _delay_ms(500);
+ *      LEDs_SetAllLEDs(LEDS_LED1); 
+ *      _delay_ms(500);
+ *
+ *      // Turn on all LEDs
+ *      LEDs_SetAllLEDs(LEDS_ALL_LEDS);
+ *      _delay_ms(1000);
+ *
+ *      // Turn on LED 1, turn off LED 2, leaving LEDs 3 and 4 in their current state
+ *      LEDs_ChangeLEDs((LEDS_LED1 | LEDS_LED2), LEDS_LED1);
+ *  \endcode
+ *
  *  @{
  */
 
                #define __INCLUDE_FROM_LEDS_H
                #define INCLUDE_FROM_LEDS_H
        #endif
-       
+
        /* Includes: */
        #include "../../Common/Common.h"
 
                #include "UNO/LEDs.h"
        #elif (BOARD == BOARD_CULV3)
                #include "CULV3/LEDs.h"
+       #elif (BOARD == BOARD_BLACKCAT)
+               #include "BLACKCAT/LEDs.h"
+       #elif (BOARD == BOARD_MAXIMUS)
+               #include "MAXIMUS/LEDs.h"
+       #elif (BOARD == BOARD_MINIMUS)
+               #include "MINIMUS/LEDs.h"
+       #elif (BOARD == BOARD_ADAFRUITU4)
+               #include "ADAFRUITU4/LEDs.h"
+       #elif (BOARD == BOARD_MICROSIN162)
+               #include "MICROSIN162/LEDs.h"
        #elif (BOARD == BOARD_USER)
                #include "Board/LEDs.h"
        #endif
-       
+
        #if !defined(LEDS_LED1)
                #define LEDS_LED1      0
        #endif
        #if !defined(LEDS_LED4)
                #define LEDS_LED4      0
        #endif
-       
+
        /* Pseudo-Functions for Doxygen: */
        #if defined(__DOXYGEN__)
                /** Initialises the board LED driver so that the LEDs can be controlled. This sets the appropriate port
                 */
                static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
                                                   const uint8_t ActiveMask);
-               
+
                /** Toggles all LEDs in the LED mask, leaving all others in their current states.
                 *
                 *  \param[in] LEDMask  Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file).
 #endif
 
 /** @} */
+