aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-09-15 13:47:00 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-09-15 13:47:00 +0000
commit45a56b4df7095daa1b8e2700f89baed0b2d84fa3 (patch)
tree1cd804c2f00c92e8feceb2bffe22abbc040ce6f0
parent5f1428bb508e327986fab825dd9a824ba5d9c39c (diff)
downloadlufa-45a56b4df7095daa1b8e2700f89baed0b2d84fa3.tar.gz
lufa-45a56b4df7095daa1b8e2700f89baed0b2d84fa3.tar.bz2
lufa-45a56b4df7095daa1b8e2700f89baed0b2d84fa3.zip
Added support for the Xevelabs USB2AX revision 3.1 board.
-rw-r--r--BuildTests/BoardDriverTest/BoardDeviceMap.cfg2
-rw-r--r--LUFA/Common/BoardTypes.h3
-rw-r--r--LUFA/DoxygenPages/ChangeLog.txt1
-rw-r--r--LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h15
-rw-r--r--LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h64
-rw-r--r--LUFA/Drivers/Board/LEDs.h2
6 files changed, 61 insertions, 26 deletions
diff --git a/BuildTests/BoardDriverTest/BoardDeviceMap.cfg b/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
index e0313040d..787d9ae80 100644
--- a/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
+++ b/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
@@ -72,4 +72,6 @@ BOARD_OLIMEX32U4 = AVR8 : atmega32u4 :
BOARD_OLIMEXT32U4 = AVR8 : atmega32u4 :
BOARD_OLIMEXISPMK2 = AVR8 : at90usb162 :
BOARD_LEONARDO = AVR8 : atmega32u4 :
+BOARD_UC3A3_XPLAINED = UC3 : uc3a3256 :
+BOARD_USB2AX_V31 = AVR8 : atmega32u4 :
# \ No newline at end of file
diff --git a/LUFA/Common/BoardTypes.h b/LUFA/Common/BoardTypes.h
index 0ac68321a..0d9d21263 100644
--- a/LUFA/Common/BoardTypes.h
+++ b/LUFA/Common/BoardTypes.h
@@ -222,6 +222,9 @@
/** Selects the UC3-A3 Xplained specific board drivers, including the Button and LED drivers. */
#define BOARD_UC3A3_XPLAINED 52
+ /** Selects the USB2AX version 3.1 specific board drivers, including the Button and LEDs drivers. */
+ #define BOARD_USB2AX_V31 53
+
#if !defined(__DOXYGEN__)
#define BOARD_ BOARD_NONE
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index dfc6af612..271c23d10 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -11,6 +11,7 @@
* - Core:
* - Added support for the Arduino Leonardo board
* - Added support for the Atmel UC3-A3 Xplained board
+ * - Added support for the Xevelabs USB2AX revision 3.1 board
* - Added new doxygen_upgrade and doxygen_create targets to the DOXYGEN build system module
* - Library Applications:
* - Added a different device serial number when the AVRISP-MKII Clone project is in libUSB compatibility mode, so that
diff --git a/LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h b/LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h
index cb0eecdf6..1976f0ab5 100644
--- a/LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h
+++ b/LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h
@@ -29,7 +29,7 @@
*/
/** \file
- * \brief Board specific Buttons driver header for the Paranoid Studio USB2AX.
+ * \brief Board specific Buttons driver header for the Xevelabs USB2AX.
* \copydetails Group_Buttons_USB2AX
*
* \note This file should not be included directly. It is automatically included as needed by the Buttons driver
@@ -37,17 +37,24 @@
*/
/** \ingroup Group_Buttons
+ * \defgroup Group_Buttons_USB2AX_V31 USB2AX_V31
+ * \brief Board specific Button driver header for the Xevelabs USB2AX revision 3.1.
+ *
+ * See \ref Group_Buttons_USB2AX for more details.
+ */
+
+/** \ingroup Group_Buttons
* \defgroup Group_Buttons_USB2AX_V3 USB2AX_V3
- * \brief Board specific Button driver header for the Paranoid Studio USB2AX revision 3.
+ * \brief Board specific Button driver header for the Xevelabs USB2AX revision 3.
*
* See \ref Group_Buttons_USB2AX for more details.
*/
/** \ingroup Group_Buttons
* \defgroup Group_Buttons_USB2AX USB2AX
- * \brief Board specific Buttons driver header for the Paranoid Studio USB2AX.
+ * \brief Board specific Buttons driver header for the Xevelabs USB2AX revisions 1 and 2.
*
- * \note For version 3 USB2AX boards, compile with <code>BOARD = USB2AX_V3</code>.
+ * \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 Buttons driver header for the Paranoid Studio USB2AX (http://paranoidstudio.assembla.com/wiki/show/paranoidstudio/USB2AX).
*
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
diff --git a/LUFA/Drivers/Board/LEDs.h b/LUFA/Drivers/Board/LEDs.h
index 6e0805839..b1fbd6a81 100644
--- a/LUFA/Drivers/Board/LEDs.h
+++ b/LUFA/Drivers/Board/LEDs.h
@@ -174,7 +174,7 @@
#include "UC3/EVK1104/LEDs.h"
#elif (BOARD == BOARD_A3BU_XPLAINED)
#include "XMEGA/A3BU_XPLAINED/LEDs.h"
- #elif ((BOARD == BOARD_USB2AX) || (BOARD == BOARD_USB2AX_V3))
+ #elif ((BOARD == BOARD_USB2AX) || (BOARD == BOARD_USB2AX_V3) || (BOARD == BOARD_USB2AX_V31))
#include "AVR8/USB2AX/LEDs.h"
#elif ((BOARD == BOARD_MICROPENDOUS_REV1) || (BOARD == BOARD_MICROPENDOUS_REV2) || \
(BOARD == BOARD_MICROPENDOUS_32U2))