diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2012-09-15 13:47:00 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2012-09-15 13:47:00 +0000 |
commit | 45a56b4df7095daa1b8e2700f89baed0b2d84fa3 (patch) | |
tree | 1cd804c2f00c92e8feceb2bffe22abbc040ce6f0 /LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h | |
parent | 5f1428bb508e327986fab825dd9a824ba5d9c39c (diff) | |
download | lufa-45a56b4df7095daa1b8e2700f89baed0b2d84fa3.tar.gz lufa-45a56b4df7095daa1b8e2700f89baed0b2d84fa3.tar.bz2 lufa-45a56b4df7095daa1b8e2700f89baed0b2d84fa3.zip |
Added support for the Xevelabs USB2AX revision 3.1 board.
Diffstat (limited to 'LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h')
-rw-r--r-- | LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h | 64 |
1 files changed, 43 insertions, 21 deletions
diff --git a/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h b/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h index 364c88de2..a0ffd973a 100644 --- a/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h +++ b/LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h @@ -29,7 +29,7 @@ */ /** \file - * \brief Board specific LED driver header for the Paranoid Studio USB2AX. + * \brief Board specific LED driver header for the Xevelabs USB2AX. * \copydetails Group_LEDs_USB2AX * * \note This file should not be included directly. It is automatically included as needed by the LEDs driver @@ -37,19 +37,26 @@ */ /** \ingroup Group_LEDs + * \defgroup Group_LEDs_USB2AX_V31 USB2AX_V31 + * \brief Board specific LED driver header for the Xevelabs USB2AX revision 3.1. + * + * See \ref Group_LEDs_USB2AX for more details. + */ + +/** \ingroup Group_LEDs * \defgroup Group_LEDs_USB2AX_V3 USB2AX_V3 - * \brief Board specific LED driver header for the Paranoid Studio USB2AX revision 3. + * \brief Board specific LED driver header for the Xevelabs USB2AX revision 3. * * See \ref Group_LEDs_USB2AX for more details. */ /** \ingroup Group_LEDs * \defgroup Group_LEDs_USB2AX USB2AX - * \brief Board specific LED driver header for the Paranoid Studio USB2AX. - * - * \note For version 3 USB2AX boards, compile with <code>BOARD = USB2AX_V3</code>. + * \brief Board specific LED driver header for the Xevelabs USB2AX revisions 1 and 2. * - * Board specific LED driver header for the Paranoid Studio USB2AX (http://paranoidstudio.assembla.com/wiki/show/paranoidstudio/USB2AX). + * \note For version 3 USB2AX boards, compile with <code>BOARD = USB2AX_V3</code> and for version 3.1, with <code>BOARD = USB2AX_V31</code>. + * + * Board specific LED driver header for the Xevelabs USB2AX (http://paranoidstudio.assembla.com/wiki/show/paranoidstudio/USB2AX). * * <b>USB2AX</b>: * <table> @@ -63,6 +70,13 @@ * <tr><td>LEDS_LED1</td><td>Green</td><td>General Indicator</td><td>High</td><td>PORTD.1</td></tr> * </table> * + * <b>USB2AX_V31</b>: + * <table> + * <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>Green</td><td>General Indicator</td><td>High</td><td>PORTD.5</td></tr> + * <tr><td>LEDS_LED2</td><td>Red</td><td>General Indicator</td><td>High</td><td>PORTD.6</td></tr> + * </table> + * * @{ */ @@ -85,10 +99,15 @@ /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Macros: */ - #if (BOARD == BOARD_USB2AX) - #define USB2AX_LEDS_LED1 (1 << 6) + #if (BOARD == BOARD_USB2AX_V31) + #define USB2AX_LEDS_LED1 (1 << 5) + #define USB2AX_LEDS_LED2 (1 << 6) + #elif (BOARD == BOARD_USB2AX_V3) + #define USB2AX_LEDS_LED1 (1 << 1) + #define USB2AX_LEDS_LED2 0 #else - #define USB2AX_LEDS_LED1 (1 << 1) + #define USB2AX_LEDS_LED1 (1 << 6) + #define USB2AX_LEDS_LED2 0 #endif #endif @@ -97,8 +116,11 @@ /** LED mask for the first LED on the board. */ #define LEDS_LED1 USB2AX_LEDS_LED1 + /** LED mask for the second LED on the board. */ + #define LEDS_LED2 USB2AX_LEDS_LED2 + /** LED mask for all the LEDs on the board. */ - #define LEDS_ALL_LEDS LEDS_LED1 + #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2) /** LED mask for none of the board LEDs. */ #define LEDS_NO_LEDS 0 @@ -109,28 +131,28 @@ { #if (BOARD == BOARD_USB2AX) DDRC |= LEDS_ALL_LEDS; - PORTC &= ~LEDS_ALL_LEDS; + PORTC &= ~LEDS_ALL_LEDS; #else DDRD |= LEDS_ALL_LEDS; - PORTD &= ~LEDS_ALL_LEDS; - #endif + PORTD &= ~LEDS_ALL_LEDS; + #endif } static inline void LEDs_Disable(void) { #if (BOARD == BOARD_USB2AX) DDRC &= ~LEDS_ALL_LEDS; - PORTC &= ~LEDS_ALL_LEDS; + PORTC &= ~LEDS_ALL_LEDS; #else DDRD &= ~LEDS_ALL_LEDS; - PORTD &= ~LEDS_ALL_LEDS; - #endif + PORTD &= ~LEDS_ALL_LEDS; + #endif } static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) { #if (BOARD == BOARD_USB2AX) - PORTC |= LEDMask; + PORTC |= LEDMask; #else PORTD |= LEDMask; #endif @@ -148,7 +170,7 @@ 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); #endif @@ -158,7 +180,7 @@ const uint8_t ActiveMask) { #if (BOARD == BOARD_USB2AX) - PORTC = ((PORTC & ~LEDMask) | ActiveMask); + PORTC = ((PORTC & ~LEDMask) | ActiveMask); #else PORTD = ((PORTD & ~LEDMask) | ActiveMask); #endif @@ -167,7 +189,7 @@ static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) { #if (BOARD == BOARD_USB2AX) - PINC = LEDMask; + PINC = LEDMask; #else PIND = LEDMask; #endif @@ -177,7 +199,7 @@ 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); #endif |