diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index df504763c7..fa7607d8fd 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -49,6 +49,7 @@
* - Fixed compile error if LEDs_Disable() is called and BOARD=NONE is set (thanks to Sam Lin)
* - Fixed inverted LED logic in the OLIMEX162 board LED driver
* - Fixed incorrect reponse to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock)
+ * - Fixed inverted LED logic in the USB2AX board LED driver
* - Library Applications:
* - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter)
* - Fixed AVRISP-MKII programmer project failing to compile for the U4 chips when VTARGET_ADC_CHANNEL is defined to an invalid channel and NO_VTARGET_DETECT is
diff --git a/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h b/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
index cec18c498d..e66698715e 100644
--- a/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
+++ b/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
@@ -54,13 +54,13 @@
* USB2AX:
*
* Name | Color | Info | Active Level | Port Pin |
- * LEDS_LED1 | Green | General Indicator | Low | PORTC.6 |
+ * LEDS_LED1 | Green | General Indicator | High | PORTC.6 |
*
*
* USB2AX_V3:
*
* Name | Color | Info | Active Level | Port Pin |
- * LEDS_LED1 | Green | General Indicator | Low | PORTD.1 |
+ * LEDS_LED1 | Green | General Indicator | High | PORTD.1 |
*
*
* @{
@@ -108,11 +108,11 @@
static inline void LEDs_Init(void)
{
#if (BOARD == BOARD_USB2AX)
- DDRC |= LEDS_ALL_LEDS;
- PORTC |= LEDS_ALL_LEDS;
+ DDRC |= LEDS_ALL_LEDS;
+ PORTC &= ~LEDS_ALL_LEDS;
#else
- DDRD |= LEDS_ALL_LEDS;
- PORTD |= LEDS_ALL_LEDS;
+ DDRD |= LEDS_ALL_LEDS;
+ PORTD &= ~LEDS_ALL_LEDS;
#endif
}
@@ -130,27 +130,27 @@
static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
{
#if (BOARD == BOARD_USB2AX)
- PORTC &= ~LEDMask;
+ PORTC |= LEDMask;
#else
- PORTD &= ~LEDMask;
+ PORTD |= LEDMask;
#endif
}
static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
{
#if (BOARD == BOARD_USB2AX)
- PORTC |= LEDMask;
+ PORTC &= ~LEDMask;
#else
- PORTD |= LEDMask;
+ PORTD &= ~LEDMask;
#endif
}
static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
{
#if (BOARD == BOARD_USB2AX)
- PORTC = ((PORTC | LEDS_ALL_LEDS) & ~LEDMask);
+ PORTC = ((PORTC & ~LEDS_ALL_LEDS) | LEDMask);
#else
- PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
#endif
}
@@ -158,9 +158,9 @@
const uint8_t ActiveMask)
{
#if (BOARD == BOARD_USB2AX)
- PORTC = ((PORTC | LEDMask) & ~ActiveMask);
+ PORTC = ((PORTC & ~LEDMask) | ActiveMask);
#else
- PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
#endif
}
@@ -177,9 +177,9 @@
static inline uint8_t LEDs_GetLEDs(void)
{
#if (BOARD == BOARD_USB2AX)
- return (~PORTC & LEDS_ALL_LEDS);
+ return (PORTC & LEDS_ALL_LEDS);
#else
- return (~PORTD & LEDS_ALL_LEDS);
+ return (PORTD & LEDS_ALL_LEDS);
#endif
}
#endif