From bd6123e2c17bc5f36d4812300474ed2277cdf70d Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 25 Apr 2012 18:32:55 +0000 Subject: [PATCH] Fixed inverted LED logic in the USB2AX board LED driver (thanks to Nicolas Saugnier). --- LUFA/DoxygenPages/ChangeLog.txt | 1 + LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h | 32 +++++++++++++-------------- 2 files changed, 17 insertions(+), 16 deletions(-) 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: * * - * + * *
NameColorInfoActive LevelPort Pin
LEDS_LED1GreenGeneral IndicatorLowPORTC.6
LEDS_LED1GreenGeneral IndicatorHighPORTC.6
* * USB2AX_V3: * * - * + * *
NameColorInfoActive LevelPort Pin
LEDS_LED1GreenGeneral IndicatorLowPORTD.1
LEDS_LED1GreenGeneral IndicatorHighPORTD.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