Use immediate variable expansion in the second-deepest level makefile scripts to...
[pub/USBasp.git] / LUFA / Drivers / Board / AVR8 / TEENSY / LEDs.h
index c016753..7149923 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
  */
 
 /** \ingroup Group_LEDs
  */
 
 /** \ingroup Group_LEDs
+ *  \defgroup Group_LEDs_TEENSY2 TEENSY2
+ *  \brief Board specific LED driver header for the PJRC Teensy 2 boards.
+ *
+ *  See \ref Group_LEDs_TEENSY for more details.
+ */
+
+/** \ingroup Group_LEDs
  *  \defgroup Group_LEDs_TEENSY TEENSY
  *  \brief Board specific LED driver header for the PJRC Teensy 1.x/2.x boards.
  *
  *  \defgroup Group_LEDs_TEENSY TEENSY
  *  \brief Board specific LED driver header for the PJRC Teensy 1.x/2.x boards.
  *
  *
  *  Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
  *
  *
  *  Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
  *
+ *  <b>TEENSY</b>:
+ *  <table>
+ *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
+ *    <tr><td>LEDS_LED1</td><td>Green</td><td>General Indicator</td><td>High</td><td>PORTD.6</td></tr>
+ *  </table>
+ *
+ *  <b>TEENSY2</b>:
+ *  <table>
+ *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
+ *    <tr><td>LEDS_LED1</td><td>Green</td><td>General Indicator</td><td>Low</td><td>PORTD.6</td></tr>
+ *  </table>
+ *
  *  @{
  */
 
  *  @{
  */
 
                                DDRD  |= LEDS_ALL_LEDS;
 
                                #if (BOARD == BOARD_TEENSY2)
                                DDRD  |= LEDS_ALL_LEDS;
 
                                #if (BOARD == BOARD_TEENSY2)
-                               PORTD &= ~LEDS_ALL_LEDS;                                
+                               PORTD &= ~LEDS_ALL_LEDS;
                                #else
                                PORTD |=  LEDS_ALL_LEDS;
                                #endif
                        }
 
                                #else
                                PORTD |=  LEDS_ALL_LEDS;
                                #endif
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                #if (BOARD == BOARD_TEENSY2)
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                #if (BOARD == BOARD_TEENSY2)
-                               PORTD |=  LEDMask;                              
+                               PORTD |=  LEDMask;
                                #else
                                PORTD &= ~LEDMask;
                                #endif
                                #else
                                PORTD &= ~LEDMask;
                                #endif
                        static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
                        {
                                #if (BOARD == BOARD_TEENSY2)
                        static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
                        {
                                #if (BOARD == BOARD_TEENSY2)
-                               PORTD &= ~LEDMask;                              
+                               PORTD &= ~LEDMask;
                                #else
                                PORTD |=  LEDMask;
                                #endif
                                #else
                                PORTD |=  LEDMask;
                                #endif
                                                           const uint8_t ActiveMask)
                        {
                                #if (BOARD == BOARD_TEENSY2)
                                                           const uint8_t ActiveMask)
                        {
                                #if (BOARD == BOARD_TEENSY2)
-                               PORTD = ((PORTD & ~LEDMask) | ActiveMask);                              
+                               PORTD = ((PORTD & ~LEDMask) | ActiveMask);
                                #else
                                PORTD = ((PORTD | LEDMask) & ~ActiveMask);
                                #endif
                                #else
                                PORTD = ((PORTD | LEDMask) & ~ActiveMask);
                                #endif
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t LEDs_GetLEDs(void)
                        {
                                #if (BOARD == BOARD_TEENSY2)
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t LEDs_GetLEDs(void)
                        {
                                #if (BOARD == BOARD_TEENSY2)
-                               return (PORTD & LEDS_ALL_LEDS);                         
+                               return (PORTD & LEDS_ALL_LEDS);
                                #else
                                return (~PORTD & LEDS_ALL_LEDS);
                                #endif
                                #else
                                return (~PORTD & LEDS_ALL_LEDS);
                                #endif