aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-11-23 00:15:58 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-11-23 00:15:58 +0000
commita81ccd83fd3c0bd30909d9faa3a62a4ce3cd4f68 (patch)
treee32a0009ad46d3d80a899798719935e946e6ba83
parent09577fe5418c5237d8392f7acb2d0fdf47fadcdd (diff)
downloadlufa-a81ccd83fd3c0bd30909d9faa3a62a4ce3cd4f68.tar.gz
lufa-a81ccd83fd3c0bd30909d9faa3a62a4ce3cd4f68.tar.bz2
lufa-a81ccd83fd3c0bd30909d9faa3a62a4ce3cd4f68.zip
Added support for version 2 of the Teensy boards (thanks to Christoph Redecker).
-rw-r--r--LUFA/Common/BoardTypes.h5
-rw-r--r--LUFA/DoxygenPages/ChangeLog.txt1
-rw-r--r--LUFA/DoxygenPages/DeviceSupport.txt2
-rw-r--r--LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h35
-rw-r--r--LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h6
-rw-r--r--LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h4
-rw-r--r--LUFA/Drivers/Board/LEDs.h4
7 files changed, 46 insertions, 11 deletions
diff --git a/LUFA/Common/BoardTypes.h b/LUFA/Common/BoardTypes.h
index efd80f9fa..3bb9e5aa9 100644
--- a/LUFA/Common/BoardTypes.h
+++ b/LUFA/Common/BoardTypes.h
@@ -96,7 +96,7 @@
* such as the Joystick driver, where the removal would adversely affect the code's operation is still disallowed. */
#define BOARD_NONE 10
- /** Selects the Teensy (all versions) specific board drivers, including the driver for the board LEDs. */
+ /** Selects the Teensy version 1.x specific board drivers, including the driver for the board LEDs. */
#define BOARD_TEENSY 11
/** Selects the USBTINY MKII specific board drivers, including the Button and LEDs drivers. */
@@ -159,6 +159,9 @@
/** Selects the Atmel XMEGA A3BU Xplained specific board drivers, including Dataflash, Button and LED drivers. */
#define BOARD_A3BU_XPLAINED 31
+ /** Selects the Teensy version 2.x specific board drivers, including the driver for the board LEDs. */
+ #define BOARD_TEENSY 32
+
#if !defined(__DOXYGEN__)
#define BOARD_ BOARD_NONE
diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index 26b07df33..fc843089f 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -11,6 +11,7 @@
* - Core:
* - Added support for the XMEGA A3BU Xplained board
* - Added support for the new B series XMEGA devices
+ * - Added support for version 2 of the Teensy boards (thanks to Christoph Redecker).
* - Library Applications:
* - Added User Application APIs to the CDC and DFU class bootloaders
* - Added INVERTED_ISP_MISO compile time option to the AVRISP-MKII clone project (thanks to Chuck Rohs)
diff --git a/LUFA/DoxygenPages/DeviceSupport.txt b/LUFA/DoxygenPages/DeviceSupport.txt
index f6fee85f8..66de21072 100644
--- a/LUFA/DoxygenPages/DeviceSupport.txt
+++ b/LUFA/DoxygenPages/DeviceSupport.txt
@@ -112,7 +112,7 @@
* - Microsin AVR-USB162
* - Minimus USB
* - Olimex AVR-USB-162
- * - PJRC Teensy (all revisions and versions)
+ * - PJRC Teensy (1.x and 2.x versions)
* - Sparkfun U2 Breakout Board
* - TCNISO Blackcat USB JTAG
* - Tempusdictum Benito
diff --git a/LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h b/LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
index 01818756f..c01675307 100644
--- a/LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
+++ b/LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
@@ -29,7 +29,7 @@
*/
/** \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
*
* \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
* \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).
*
@@ -77,28 +79,49 @@
static inline void LEDs_Init(void)
{
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)
{
+ #if (BOARD == BOARD_TEENSY2)
+ PORTD |= LEDMask;
+ #else
PORTD &= ~LEDMask;
+ #endif
}
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)
{
+ #if (BOARD == BOARD_TEENSY2)
+ PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask);
+ #else
PORTD = ((PORTD | LEDS_ALL_LEDS) & ~LEDMask);
+ #endif
}
static inline void LEDs_ChangeLEDs(const uint8_t LEDMask,
const uint8_t ActiveMask)
{
+ #if (BOARD == BOARD_TEENSY2)
+ PORTD = ((PORTD & ~LEDMask) | ActiveMask);
+ #else
PORTD = ((PORTD | LEDMask) & ~ActiveMask);
+ #endif
}
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)
{
+ #if (BOARD == BOARD_TEENSY2)
+ return (PORTD & LEDS_ALL_LEDS);
+ #else
return (~PORTD & LEDS_ALL_LEDS);
+ #endif
}
#endif
diff --git a/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h b/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h
index 71ff72b15..8b65e6238 100644
--- a/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h
+++ b/LUFA/Drivers/Board/AVR8/XPLAIN/Dataflash.h
@@ -29,7 +29,7 @@
*/
/** \file
- * \brief Board specific Dataflash driver header for the Atmel XPLAIN.
+ * \brief Board specific Dataflash driver header for the original Atmel XPLAIN.
* \copydetails Group_Dataflash_XPLAIN
*
* \note This file should not be included directly. It is automatically included as needed by the dataflash driver
@@ -38,7 +38,9 @@
/** \ingroup Group_Dataflash
* \defgroup Group_Dataflash_XPLAIN XPLAIN
- * \brief Board specific Dataflash driver header for the Atmel XPLAIN.
+ * \brief Board specific Dataflash driver header for the original Atmel XPLAIN.
+ *
+ * \note For the first revision XPLAIN board, compile with <code>BOARD = BOARD_XPLAIN_REV1</code>.
*
* Board specific Dataflash driver header for the Atmel XPLAIN.
*
diff --git a/LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h b/LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h
index d00bbb6a9..0eb11d978 100644
--- a/LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h
+++ b/LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h
@@ -29,7 +29,7 @@
*/
/** \file
- * \brief Board specific LED driver header for the Atmel XPLAIN.
+ * \brief Board specific LED driver header for the original Atmel XPLAIN.
* \copydetails Group_LEDs_XPLAIN
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
@@ -38,7 +38,7 @@
/** \ingroup Group_LEDs
* \defgroup Group_LEDs_XPLAIN XPLAIN
- * \brief Board specific LED driver header for the Atmel XPLAIN.
+ * \brief Board specific LED driver header for the original Atmel XPLAIN.
*
* Board specific LED driver header for the Atmel XPLAIN.
*
diff --git a/LUFA/Drivers/Board/LEDs.h b/LUFA/Drivers/Board/LEDs.h
index 5ac361a72..eec9991eb 100644
--- a/LUFA/Drivers/Board/LEDs.h
+++ b/LUFA/Drivers/Board/LEDs.h
@@ -172,7 +172,9 @@
#elif (BOARD == BOARD_EVK1104)
#include "UC3/EVK1104/LEDs.h"
#elif (BOARD == BOARD_A3BU_XPLAINED)
- #include "XMEGA/A3BU_XPLAINED/LEDs.h"
+ #include "XMEGA/A3BU_XPLAINED/LEDs.h"
+ #elif (BOARD == BOARD_TEENSY2)
+ #include "AVR8/TEENSY/LEDs.h"
#else
#include "Board/LEDs.h"
#endif