diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2014-09-11 23:16:16 +1000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2014-09-11 23:16:16 +1000 |
commit | c69a6236529416aa134cbfcd04a8f05eff987948 (patch) | |
tree | a2f99de76c78b3037505fc897f77bb670637e5a3 /LUFA/Drivers/Board/AVR8/LEONARDO | |
parent | 5e4b14f0071a4057564f5c9f0642d8d7066ef84e (diff) | |
download | lufa-c69a6236529416aa134cbfcd04a8f05eff987948.tar.gz lufa-c69a6236529416aa134cbfcd04a8f05eff987948.tar.bz2 lufa-c69a6236529416aa134cbfcd04a8f05eff987948.zip |
Add support for the Arduino Micro board, fix other Arduino board LED drivers.
Diffstat (limited to 'LUFA/Drivers/Board/AVR8/LEONARDO')
-rw-r--r-- | LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h b/LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h index c3361906e..ea7d41c01 100644 --- a/LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h +++ b/LUFA/Drivers/Board/AVR8/LEONARDO/LEDs.h @@ -46,7 +46,7 @@ * <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>Yellow</td><td>RX</td><td>Low</td><td>PORTB.0</td></tr> * <tr><td>LEDS_LED2</td><td>Yellow</td><td>TX</td><td>Low</td><td>PORTD.5</td></tr> - * <tr><td>LEDS_LED1</td><td>Yellow</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr> + * <tr><td>LEDS_LED3</td><td>Yellow</td><td>General Indicator</td><td>High</td><td>PORTC.7</td></tr> * </table> * * @{ @@ -98,9 +98,9 @@ static inline void LEDs_Init(void) { DDRB |= LEDS_PORTB_LEDS; - PORTB &= LEDS_PORTB_LEDS; + PORTB |= LEDS_PORTB_LEDS; DDRD |= LEDS_PORTD_LEDS; - PORTD &= LEDS_PORTD_LEDS; + PORTD |= LEDS_PORTD_LEDS; DDRC |= LEDS_PORTC_LEDS; PORTC &= ~LEDS_PORTC_LEDS; } @@ -117,44 +117,44 @@ static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) { - PORTB |= (LEDMask & LEDS_PORTB_LEDS); - PORTD |= (LEDMask & LEDS_PORTD_LEDS); + PORTB &= ~(LEDMask & LEDS_PORTB_LEDS); + PORTD &= ~(LEDMask & LEDS_PORTD_LEDS); PORTC |= (LEDMask & LEDS_PORTC_LEDS); } static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) { - PORTB &= ~(LEDMask & LEDS_PORTB_LEDS); - PORTD &= ~(LEDMask & LEDS_PORTD_LEDS); + PORTB |= (LEDMask & LEDS_PORTB_LEDS); + PORTD |= (LEDMask & LEDS_PORTD_LEDS); PORTC &= ~(LEDMask & LEDS_PORTC_LEDS); } static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) { - PORTB = ((PORTB & ~LEDS_PORTB_LEDS) | (LEDMask & LEDS_PORTB_LEDS)); - PORTD = ((PORTD & ~LEDS_PORTD_LEDS) | (LEDMask & LEDS_PORTD_LEDS)); + PORTB = ((PORTB | LEDS_PORTB_LEDS) & ~(LEDMask & LEDS_PORTB_LEDS)); + PORTD = ((PORTD | LEDS_PORTD_LEDS) & ~(LEDMask & LEDS_PORTD_LEDS)); PORTC = ((PORTC & ~LEDS_PORTC_LEDS) | (LEDMask & LEDS_PORTC_LEDS)); } static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, const uint8_t ActiveMask) { - PORTB = ((PORTB & ~(LEDMask & LEDS_PORTB_LEDS)) | (ActiveMask & LEDS_PORTB_LEDS)); - PORTD = ((PORTD & ~(LEDMask & LEDS_PORTD_LEDS)) | (ActiveMask & LEDS_PORTD_LEDS)); - PORTC = ((PORTC & ~(LEDMask & LEDS_PORTC_LEDS)) | (ActiveMask & LEDS_PORTC_LEDS)); + PORTB = ((PORTB | (LEDMask & LEDS_PORTB_LEDS)) & ~(ActiveMask & LEDS_PORTB_LEDS)); + PORTD = ((PORTD | (LEDMask & LEDS_PORTD_LEDS)) & ~(ActiveMask & LEDS_PORTD_LEDS)); + PORTC = ((PORTC & ~(LEDMask & LEDS_PORTC_LEDS)) | (ActiveMask & LEDS_PORTC_LEDS)); } static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) { - PORTB ^= (LEDMask & LEDS_PORTB_LEDS); - PORTD ^= (LEDMask & LEDS_PORTD_LEDS); - PORTC ^= (LEDMask & LEDS_PORTC_LEDS); + PINB = (LEDMask & LEDS_PORTB_LEDS); + PIND = (LEDMask & LEDS_PORTD_LEDS); + PINC = (LEDMask & LEDS_PORTC_LEDS); } static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT; static inline uint8_t LEDs_GetLEDs(void) { - return ((PORTB & LEDS_PORTB_LEDS) | (PORTD & LEDS_PORTD_LEDS) | (PORTC & LEDS_PORTC_LEDS)); + return ((~PORTB & LEDS_PORTB_LEDS) | (~PORTD & LEDS_PORTD_LEDS) | (PORTC & LEDS_PORTC_LEDS)); } #endif |