projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added support for version 2 of the Teensy boards (thanks to Christoph Redecker).
[pub/USBasp.git]
/
LUFA
/
Drivers
/
Board
/
AVR8
/
TEENSY
/
LEDs.h
diff --git
a/LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
b/LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
index
0181875
..
c016753
100644
(file)
--- a/
LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
+++ b/
LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
@@
-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
*
* \note This file should not be included directly. It is automatically included as needed by the LEDs driver
* \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
/** \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).
*
*
* 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;
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)
{
}
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,
const uint8_t ActiveMask)
{
}
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);
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)
{
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);
return (~PORTD & LEDS_ALL_LEDS);
+ #endif
}
#endif
}
#endif