X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/09577fe5418c5237d8392f7acb2d0fdf47fadcdd..a81ccd83fd3c0bd30909d9faa3a62a4ce3cd4f68:/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 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 BOARD = TEENSY2. * * 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