|  |  | @ -29,7 +29,7 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | */ |  |  |  | */ | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** \file
 |  |  |  | /** \file
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  *  \brief Board specific LED driver header for the PJRC Teensy boards. |  |  |  |  *  \brief Board specific LED driver header for the PJRC Teensy 1.x/2.x boards. | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  *  \copydetails Group_LEDs_TEENSY |  |  |  |  *  \copydetails Group_LEDs_TEENSY | 
			
		
	
		
		
			
				
					
					|  |  |  |  * |  |  |  |  * | 
			
		
	
		
		
			
				
					
					|  |  |  |  *  \note This file should not be included directly. It is automatically included as needed by the LEDs driver |  |  |  |  *  \note This file should not be included directly. It is automatically included as needed by the LEDs driver | 
			
		
	
	
		
		
			
				
					|  |  | @ -38,7 +38,9 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | /** \ingroup Group_LEDs
 |  |  |  | /** \ingroup Group_LEDs
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  *  \defgroup Group_LEDs_TEENSY TEENSY |  |  |  |  *  \defgroup Group_LEDs_TEENSY TEENSY | 
			
		
	
		
		
			
				
					
					|  |  |  |  *  \brief Board specific LED driver header for the PJRC Teensy boards. |  |  |  |  *  \brief Board specific LED driver header for the PJRC Teensy 1.x/2.x boards. | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  * | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  *  \note For version 2 Teensy boards, compile with <code>BOARD = TEENSY2</code>. | 
			
		
	
		
		
			
				
					
					|  |  |  |  * |  |  |  |  * | 
			
		
	
		
		
			
				
					
					|  |  |  |  *  Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
 |  |  |  |  *  Board specific LED driver header for the PJRC Teensy boards (http://www.pjrc.com/teensy/index.html).
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  * |  |  |  |  * | 
			
		
	
	
		
		
			
				
					|  |  | @ -77,28 +79,49 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_Init(void) |  |  |  | 			static inline void LEDs_Init(void) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				DDRD  |= LEDS_ALL_LEDS; |  |  |  | 				DDRD  |= LEDS_ALL_LEDS; | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD |= LEDS_ALL_LEDS; |  |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#if (BOARD == BOARD_TEENSY2) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				PORTD &= ~LEDS_ALL_LEDS;				 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				PORTD |=  LEDS_ALL_LEDS; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#if (BOARD == BOARD_TEENSY2) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				PORTD |=  LEDMask;				 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#else | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD &= ~LEDMask; |  |  |  | 				PORTD &= ~LEDMask; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD |= LEDMask; |  |  |  | 				#if (BOARD == BOARD_TEENSY2) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				PORTD &= ~LEDMask;				 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#else | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				PORTD |=  LEDMask; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#if (BOARD == BOARD_TEENSY2) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#else | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask); |  |  |  | 				PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			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) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#if (BOARD == BOARD_TEENSY2) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				PORTD = ((PORTD & ~LEDMask) | ActiveMask);				 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#else | 
			
		
	
		
		
			
				
					
					|  |  |  | 				PORTD = ((PORTD | LEDMask) & ~ActiveMask); |  |  |  | 				PORTD = ((PORTD | LEDMask) & ~ActiveMask); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) |  |  |  | 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) | 
			
		
	
	
		
		
			
				
					|  |  | @ -109,7 +132,11 @@ | 
			
		
	
		
		
			
				
					
					|  |  |  | 			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) | 
			
		
	
		
		
			
				
					
					|  |  |  | 			{ |  |  |  | 			{ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#if (BOARD == BOARD_TEENSY2) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				return (PORTD & LEDS_ALL_LEDS);				 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#else | 
			
		
	
		
		
			
				
					
					|  |  |  | 				return (~PORTD & LEDS_ALL_LEDS); |  |  |  | 				return (~PORTD & LEDS_ALL_LEDS); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 				#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 			} |  |  |  | 			} | 
			
		
	
		
		
			
				
					
					|  |  |  | 		#endif |  |  |  | 		#endif | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |