| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -46,6 +46,8 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
 | 
					 | 
					 | 
					 | 
					 *    <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *    <tr><td>LEDS_LED1</td><td>Yellow</td><td>LED0 LED</td><td>Low</td><td>PORTR.0</td></tr>
 | 
					 | 
					 | 
					 | 
					 *    <tr><td>LEDS_LED1</td><td>Yellow</td><td>LED0 LED</td><td>Low</td><td>PORTR.0</td></tr>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *    <tr><td>LEDS_LED2</td><td>Yellow</td><td>LED1 LED</td><td>Low</td><td>PORTR.1</td></tr>
 | 
					 | 
					 | 
					 | 
					 *    <tr><td>LEDS_LED2</td><td>Yellow</td><td>LED1 LED</td><td>Low</td><td>PORTR.1</td></tr>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 *    <tr><td>LEDS_LED3</td><td>Red</td><td>Status Bicolour Red LED</td><td>Low</td><td>PORTD.4</td></tr>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 *    <tr><td>LEDS_LED4</td><td>Green</td><td>Status Bicolour Green LED</td><td>High</td><td>PORTD.5</td></tr>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  </table>
 | 
					 | 
					 | 
					 | 
					 *  </table>
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *
 | 
					 | 
					 | 
					 | 
					 *
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 *  @{
 | 
					 | 
					 | 
					 | 
					 *  @{
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -67,6 +69,13 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								#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__)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							/* Macros: */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								#define LEDS_PORTR_LEDS       (LEDS_LED1 | LEDS_LED2)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								#define LEDS_PORTD_LEDS       (LEDS_LED3 | LEDS_LED4)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						#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. */
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -75,8 +84,14 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								/** LED mask for the second LED on the board. */
 | 
					 | 
					 | 
					 | 
								/** LED mask for the second LED on the board. */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								#define LEDS_LED2        (1 << 1)
 | 
					 | 
					 | 
					 | 
								#define LEDS_LED2        (1 << 1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								/** LED mask for the third LED on the board. */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								#define LEDS_LED3        (1 << 4)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								/** LED mask for the fourth LED on the board. */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								#define LEDS_LED4        (1 << 5)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								/** LED mask for all the LEDs on the board. */
 | 
					 | 
					 | 
					 | 
								/** LED mask for all the LEDs on the board. */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								#define LEDS_ALL_LEDS    (LEDS_LED1 | LEDS_LED2)
 | 
					 | 
					 | 
					 | 
								#define LEDS_ALL_LEDS    (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								/** LED mask for none of the board LEDs. */
 | 
					 | 
					 | 
					 | 
								/** LED mask for none of the board LEDs. */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								#define LEDS_NO_LEDS     0
 | 
					 | 
					 | 
					 | 
								#define LEDS_NO_LEDS     0
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -85,51 +100,66 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							#if !defined(__DOXYGEN__)
 | 
					 | 
					 | 
					 | 
							#if !defined(__DOXYGEN__)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								static inline void LEDs_Init(void)
 | 
					 | 
					 | 
					 | 
								static inline void LEDs_Init(void)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR.DIRSET    = LEDS_ALL_LEDS;
 | 
					 | 
					 | 
					 | 
									PORTR.DIRSET    = LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR.OUTCLR    = LEDS_ALL_LEDS;
 | 
					 | 
					 | 
					 | 
									PORTR.OUTCLR    = LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTCFG.MPCMASK = LEDS_ALL_LEDS;
 | 
					 | 
					 | 
					 | 
									PORTCFG.MPCMASK = LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR.PIN0CTRL  = PORT_INVEN_bm;
 | 
					 | 
					 | 
					 | 
									PORTR.PIN0CTRL  = PORT_INVEN_bm;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD.DIRSET    = LEDS_PORTD_LEDS;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD.OUTCLR    = LEDS_PORTD_LEDS;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD.PIN4CTRL  = PORT_INVEN_bm;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								static inline void LEDs_Disable(void)
 | 
					 | 
					 | 
					 | 
								static inline void LEDs_Disable(void)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR.DIRCLR    = LEDS_ALL_LEDS;
 | 
					 | 
					 | 
					 | 
									PORTR.DIRCLR    = LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR.OUTCLR    = LEDS_ALL_LEDS;
 | 
					 | 
					 | 
					 | 
									PORTR.OUTCLR    = LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTCFG.MPCMASK = 0;
 | 
					 | 
					 | 
					 | 
									PORTCFG.MPCMASK = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR.PIN0CTRL  = LEDS_ALL_LEDS;
 | 
					 | 
					 | 
					 | 
									PORTR.PIN0CTRL  = LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD.DIRCLR    = LEDS_PORTD_LEDS;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD.OUTCLR    = LEDS_PORTD_LEDS;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD.PIN4CTRL  = 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
 | 
					 | 
					 | 
					 | 
								static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR_OUTSET = LEDMask;
 | 
					 | 
					 | 
					 | 
									PORTR_OUTSET = LEDMask & LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD_OUTSET = LEDMask & LEDS_PORTD_LEDS;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
 | 
					 | 
					 | 
					 | 
								static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR_OUTCLR = LEDMask;
 | 
					 | 
					 | 
					 | 
									PORTR_OUTCLR = LEDMask & LEDS_PORTR_LEDS;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD_OUTCLR = LEDMask & LEDS_PORTD_LEDS;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
 | 
					 | 
					 | 
					 | 
								static inline void LEDs_SetAllLEDs(const uint8_t LEDMask)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR_OUT = (PORTR.OUT & ~LEDS_ALL_LEDS) | LEDMask;
 | 
					 | 
					 | 
					 | 
									PORTR_OUT = ((PORTR.OUT & ~LEDS_PORTR_LEDS) | (LEDMask & LEDS_PORTR_LEDS));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD_OUT = ((PORTD.OUT & ~LEDS_PORTD_LEDS) | (LEDMask & LEDS_PORTD_LEDS));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask)
 | 
					 | 
					 | 
					 | 
								static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR_OUT = (PORTR.OUT & ~LEDMask) | ActiveMask;
 | 
					 | 
					 | 
					 | 
									PORTR_OUT = (PORTR.OUT & ~(LEDMask & LEDS_PORTR_LEDS)) | (Active & LEDS_PORTR_LEDS);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD_OUT = (PORTD.OUT & ~(LEDMask & LEDS_PORTD_LEDS)) | (Active & LEDS_PORTD_LEDS);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
 | 
					 | 
					 | 
					 | 
								static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									PORTR_OUTTGL = LEDMask;
 | 
					 | 
					 | 
					 | 
									PORTR_OUTTGL = (LEDMask & LEDS_PORTR_LEDS);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									PORTD_OUTTGL = (LEDMask & LEDS_PORTD_LEDS);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								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 (PORTR_OUT & LEDS_ALL_LEDS);
 | 
					 | 
					 | 
					 | 
									return ((PORTR_OUT & LEDS_PORTR_LEDS) | (PORTD_OUT & LEDS_PORTD_LEDS));
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							#endif
 | 
					 | 
					 | 
					 | 
							#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |