Ensure that USB_DEVICE_ONLY or USB_HOST_ONLY is properly set for devices that physica...
[pub/USBasp.git] / LUFA / Drivers / Board / AVR8 / USB2AX / LEDs.h
index 97a24ba..12fa73c 100644 (file)
@@ -1,13 +1,13 @@
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2011.\r
+     Copyright (C) Dean Camera, 2012.\r
 \r
   dean [at] fourwalledcubicle [dot] com\r
            www.lufa-lib.org\r
 */\r
 \r
 /*\r
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
   Permission to use, copy, modify, distribute, and sell this\r
   software and its documentation for any purpose is hereby granted\r
  *\r
  *  Board specific LED driver header for the Paranoid Studio USB2AX (http://paranoidstudio.assembla.com/wiki/show/paranoidstudio/USB2AX).\r
  *\r
+ *  <b>USB2AX</b>:\r
+ *  <table>\r
+ *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>\r
+ *    <tr><td>LEDS_LED1</td><td>Green</td><td>General Indicator</td><td>High</td><td>PORTC.6</td></tr>\r
+ *  </table>\r
+ *\r
+ *  <b>USB2AX_V3</b>:\r
+ *  <table>\r
+ *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>\r
+ *    <tr><td>LEDS_LED1</td><td>Green</td><td>General Indicator</td><td>High</td><td>PORTD.1</td></tr>\r
+ *  </table>\r
+ *\r
  *  @{\r
  */\r
 \r
                        static inline void LEDs_Init(void)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               DDRC  |= LEDS_ALL_LEDS;\r
-                               PORTC |= LEDS_ALL_LEDS;                         \r
+                               DDRC  |=  LEDS_ALL_LEDS;\r
+                               PORTC &= ~LEDS_ALL_LEDS;                                \r
+                               #else\r
+                               DDRD  |=  LEDS_ALL_LEDS;\r
+                               PORTD &= ~LEDS_ALL_LEDS;                                \r
+                               #endif                          \r
+                       }\r
+\r
+                       static inline void LEDs_Disable(void)\r
+                       {\r
+                               #if (BOARD == BOARD_USB2AX)\r
+                               DDRC  &= ~LEDS_ALL_LEDS;\r
+                               PORTC &= ~LEDS_ALL_LEDS;                                \r
                                #else\r
-                               DDRD  |= LEDS_ALL_LEDS;\r
-                               PORTD |= LEDS_ALL_LEDS;                         \r
+                               DDRD  &= ~LEDS_ALL_LEDS;\r
+                               PORTD &= ~LEDS_ALL_LEDS;                                \r
                                #endif                          \r
                        }\r
 \r
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               PORTC &= ~LEDMask;                              \r
+                               PORTC |= LEDMask;                               \r
                                #else\r
-                               PORTD &= ~LEDMask;\r
+                               PORTD |= LEDMask;\r
                                #endif\r
                        }\r
 \r
                        static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               PORTC |= LEDMask;\r
+                               PORTC &= ~LEDMask;\r
                                #else\r
-                               PORTD |= LEDMask;\r
+                               PORTD &= ~LEDMask;\r
                                #endif\r
                        }\r
 \r
                        static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               PORTC = ((PORTC | LEDS_ALL_LEDS) & ~LEDMask);                           \r
+                               PORTC = ((PORTC & ~LEDS_ALL_LEDS) | LEDMask);                           \r
                                #else\r
-                               PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);\r
+                               PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);\r
                                #endif\r
                        }\r
 \r
                                                           const uint8_t ActiveMask)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               PORTC = ((PORTC | LEDMask) & ~ActiveMask);                              \r
+                               PORTC = ((PORTC & ~LEDMask) | ActiveMask);                              \r
                                #else\r
-                               PORTD = ((PORTD | LEDMask) & ~ActiveMask);\r
+                               PORTD = ((PORTD & ~LEDMask) | ActiveMask);\r
                                #endif\r
                        }\r
 \r
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               PORTC ^= LEDMask;                               \r
+                               PINC  = LEDMask;                                \r
                                #else\r
-                               PORTD ^= LEDMask;\r
+                               PIND  = LEDMask;\r
                                #endif\r
                        }\r
 \r
                        static inline uint8_t LEDs_GetLEDs(void)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               return (~PORTC & LEDS_ALL_LEDS);                                \r
+                               return (PORTC & LEDS_ALL_LEDS);                         \r
                                #else\r
-                               return (~PORTD & LEDS_ALL_LEDS);\r
+                               return (PORTD & LEDS_ALL_LEDS);\r
                                #endif\r
                        }\r
                #endif\r
 \r
 /** @} */\r
 \r
+