From cb9ef559a02db8f661d5596a3686641d87630eb9 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Tue, 28 Dec 2010 22:07:31 +0000
Subject: [PATCH] Fixed inverted Minimus board LEDs.

---
 LUFA/Drivers/Board/ADAFRUITU4/LEDs.h |  2 +-
 LUFA/Drivers/Board/CULV3/LEDs.h      |  2 +-
 LUFA/Drivers/Board/MAXIMUS/LEDs.h    |  2 +-
 LUFA/Drivers/Board/MINIMUS/LEDs.h    | 12 ++++++------
 LUFA/Drivers/Board/RZUSBSTICK/LEDs.h |  4 ++--
 LUFA/ManPages/ChangeLog.txt          |  1 +
 6 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h b/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
index 39b625695..c5c64960a 100644
--- a/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
+++ b/LUFA/Drivers/Board/ADAFRUITU4/LEDs.h
@@ -108,7 +108,7 @@
 
 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
 			{
-				PORTE = (PORTE ^ (LEDMask & LEDS_ALL_LEDS));
+				PORTE &= LEDMask;
 			}
 
 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
diff --git a/LUFA/Drivers/Board/CULV3/LEDs.h b/LUFA/Drivers/Board/CULV3/LEDs.h
index 498206abf..756de499c 100644
--- a/LUFA/Drivers/Board/CULV3/LEDs.h
+++ b/LUFA/Drivers/Board/CULV3/LEDs.h
@@ -108,7 +108,7 @@
 
 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
 			{
-				PORTE = (PORTE ^ (LEDMask & LEDS_ALL_LEDS));
+				PORTE ^= LEDMask;
 			}
 
 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
diff --git a/LUFA/Drivers/Board/MAXIMUS/LEDs.h b/LUFA/Drivers/Board/MAXIMUS/LEDs.h
index d540d3263..9b5de1560 100644
--- a/LUFA/Drivers/Board/MAXIMUS/LEDs.h
+++ b/LUFA/Drivers/Board/MAXIMUS/LEDs.h
@@ -111,7 +111,7 @@
 			
 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
 			{
-				PORTB = (PORTB ^ (LEDMask & LEDS_ALL_LEDS));
+				PORTB ^= LEDMask;
 			}
 			
 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
diff --git a/LUFA/Drivers/Board/MINIMUS/LEDs.h b/LUFA/Drivers/Board/MINIMUS/LEDs.h
index 96db6ee21..fd7fb52ca 100644
--- a/LUFA/Drivers/Board/MINIMUS/LEDs.h
+++ b/LUFA/Drivers/Board/MINIMUS/LEDs.h
@@ -84,23 +84,23 @@
 		#if !defined(__DOXYGEN__)
 			static inline void LEDs_Init(void)
 			{
-				DDRD  |=  LEDS_ALL_LEDS;
-				PORTD &= ~LEDS_ALL_LEDS;
+				DDRD  |= LEDS_ALL_LEDS;
+				PORTD |= LEDS_ALL_LEDS;
 			}
 			
 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
 			{
-				PORTD |= LEDMask;
+				PORTD &= ~LEDMask;
 			}
 
 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
 			{
-				PORTD &= ~LEDMask;
+				PORTD |=  LEDMask;
 			}
 
 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
 			{
-				PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+				PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
 			}
 			
 			static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
@@ -111,7 +111,7 @@
 			
 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
 			{
-				PORTD = (PORTD ^ (LEDMask & LEDS_ALL_LEDS));
+				PORTD ^= LEDMask;
 			}
 			
 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
diff --git a/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h b/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
index caeb480f9..a80133512 100644
--- a/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
+++ b/LUFA/Drivers/Board/RZUSBSTICK/LEDs.h
@@ -140,8 +140,8 @@
 
 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
 			{
-				PORTD = (PORTD ^ (LEDMask & LEDS_PORTD_LEDS));
-				PORTE = (PORTE ^ ((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT));
+				PORTD ^= (LEDMask & LEDS_PORTD_LEDS);
+				PORTE ^= ((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT);
 			}
 
 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 106e7fef0..d3ba81c4c 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -38,6 +38,7 @@
   *   - Fixed HID host class driver incorrectly binding to HID devices that do not have an OUT endpoint
   *   - Fixed incorrect definition of the HID_KEYBOARD_SC_D constant in the HID class driver (thanks to Opendous Inc.)
   *   - Fixed incorrect endpoint initialisation order in the several device demos (thanks to Rick Drolet)
+  *   - Fixed inverted Minimum board LEDs
   *  - Library Applications:
   *   - Fixed Benito project discarding incoming data from the USB virtual serial port when the USART is busy
   *   - Fixed broken DFU bootloader, added XPLAIN support for bootloader start when XCK jumpered to ground
-- 
GitLab