|  |  | @ -36,6 +36,20 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  |  *        dispatch header located in LUFA/Drivers/Board/LEDs.h. |  |  |  |  *        dispatch header located in LUFA/Drivers/Board/LEDs.h. | 
			
		
	
		
		
			
				
					
					|  |  |  |  */ |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | /** \ingroup Group_LEDs
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  *  \defgroup Group_LEDs_MICROPENDOUS_REV1 MICROPENDOUS_REV1 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  *  \brief Board specific LED driver header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  * | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  *  See \ref Group_LEDs_MICROPENDOUS_32U2 for more details. | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | /** \ingroup Group_LEDs
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  *  \defgroup Group_LEDs_MICROPENDOUS_REV2 MICROPENDOUS_REV2 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  *  \brief Board specific LED driver header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  * | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  *  See \ref Group_LEDs_MICROPENDOUS_32U2 for more details. | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  */ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** \ingroup Group_LEDs
 |  |  |  | /** \ingroup Group_LEDs
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  *  \defgroup Group_LEDs_MICROPENDOUS_32U2 MICROPENDOUS_32U2 |  |  |  |  *  \defgroup Group_LEDs_MICROPENDOUS_32U2 MICROPENDOUS_32U2 | 
			
		
	
		
		
			
				
					
					|  |  |  |  *  \brief Board specific LED driver header for the Micropendous 32U2. |  |  |  |  *  \brief Board specific LED driver header for the Micropendous 32U2. | 
			
		
	
	
		
		
			
				
					|  |  | @ -61,10 +75,30 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			#error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead. |  |  |  | 			#error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead. | 
			
		
	
		
		
			
				
					
					|  |  |  | 		#endif |  |  |  | 		#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	/* Private Interface - For use in library only: */ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	#if !defined(__DOXYGEN__) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#if (BOARD == BOARD_MICROPENDOUS_32U2) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			#define _BOARD_LED1_MASK                (1 << 6) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			#define _BOARD_LED_PORTLETTER           D | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#elif (BOARD == BOARD_MICROPENDOUS_REV1) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			#define _BOARD_LED1_MASK                (1 << 1) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			#define _BOARD_LED_PORTLETTER           B | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#elif (BOARD == BOARD_MICROPENDOUS_REV2) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			#define _BOARD_LED1_MASK                (1 << 1) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			#define _BOARD_LED_PORTLETTER           B | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#endif | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#define _BOARD_LED_CONCAT2(Reg, Letter)     Reg ## Letter | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#define _BOARD_LED_CONCAT(Reg, Letter)      _BOARD_LED_CONCAT2(Reg, Letter) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#define _BOARD_LED_PORT                     _BOARD_LED_CONCAT(PORT, _BOARD_LED_PORTLETTER) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		#define _BOARD_LED_DDR                      _BOARD_LED_CONCAT(DDR,  _BOARD_LED_PORTLETTER) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	#endif | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	/* Public Interface - May be used in end-application: */ |  |  |  | 	/* Public Interface - May be used in end-application: */ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		/* Macros: */ |  |  |  | 		/* Macros: */ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			/** LED mask for the first LED on the board. */ |  |  |  | 			/** LED mask for the first LED on the board. */ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			#define LEDS_LED1        (1 << 6) |  |  |  | 			#define LEDS_LED1        _BOARD_LED1_MASK | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			/** LED mask for all the LEDs on the board. */ |  |  |  | 			/** LED mask for all the LEDs on the board. */ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			#define LEDS_ALL_LEDS    LEDS_LED1 |  |  |  | 			#define LEDS_ALL_LEDS    LEDS_LED1 | 
			
		
	
	
		
		
			
				
					|  |  | @ -76,46 +110,46 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | 		#if !defined(__DOXYGEN__) |  |  |  | 		#if !defined(__DOXYGEN__) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_Init(void) |  |  |  | 			static inline void LEDs_Init(void) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				DDRD  |=  LEDS_ALL_LEDS; |  |  |  | 				_BOARD_LED_DDR  |=  LEDS_ALL_LEDS; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD &= ~LEDS_ALL_LEDS; |  |  |  | 				_BOARD_LED_PORT &= ~LEDS_ALL_LEDS; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_Disable(void) |  |  |  | 			static inline void LEDs_Disable(void) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				DDRD  &= ~LEDS_ALL_LEDS; |  |  |  | 				_BOARD_LED_DDR  &= ~LEDS_ALL_LEDS; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD &= ~LEDS_ALL_LEDS; |  |  |  | 				_BOARD_LED_PORT &= ~LEDS_ALL_LEDS; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD |= LEDMask; |  |  |  | 				_BOARD_LED_PORT |= LEDMask; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD &= ~LEDMask; |  |  |  | 				_BOARD_LED_PORT &= ~LEDMask; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD = ((PORTF & ~LEDS_ALL_LEDS) | LEDMask); |  |  |  | 				_BOARD_LED_PORT = ((PORTF & ~LEDS_ALL_LEDS) | LEDMask); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, |  |  |  | 			static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, | 
			
		
	
		
		
			
				
					
					|  |  |  | 			                                   const uint8_t ActiveMask) |  |  |  | 			                                   const uint8_t ActiveMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD = ((PORTF & ~LEDMask) | ActiveMask); |  |  |  | 				_BOARD_LED_PORT = ((PORTF & ~LEDMask) | ActiveMask); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD ^= LEDMask; |  |  |  | 				_BOARD_LED_PORT ^= LEDMask; | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT; |  |  |  | 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT; | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline uint8_t LEDs_GetLEDs(void) |  |  |  | 			static inline uint8_t LEDs_GetLEDs(void) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				return (PORTD & LEDS_ALL_LEDS); |  |  |  | 				return (_BOARD_LED_PORT & LEDS_ALL_LEDS); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		#endif |  |  |  | 		#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |