*/
/** \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
/** \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).
*
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)
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