Changed board LED driver implementations of LEDs_ToggleLEDs() for the AVR8 architectu...
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 6 May 2012 12:19:03 +0000 (12:19 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 6 May 2012 12:19:03 +0000 (12:19 +0000)
33 files changed:
LUFA/DoxygenPages/ChangeLog.txt
LUFA/Drivers/Board/AVR8/ADAFRUITU4/LEDs.h
LUFA/Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h
LUFA/Drivers/Board/AVR8/BENITO/LEDs.h
LUFA/Drivers/Board/AVR8/BIGMULTIO/LEDs.h
LUFA/Drivers/Board/AVR8/BLACKCAT/LEDs.h
LUFA/Drivers/Board/AVR8/BUI/LEDs.h
LUFA/Drivers/Board/AVR8/BUMBLEB/LEDs.h
LUFA/Drivers/Board/AVR8/CULV3/LEDs.h
LUFA/Drivers/Board/AVR8/DUCE/LEDs.h
LUFA/Drivers/Board/AVR8/EVK527/LEDs.h
LUFA/Drivers/Board/AVR8/JMDBU2/LEDs.h
LUFA/Drivers/Board/AVR8/MAXIMUS/LEDs.h
LUFA/Drivers/Board/AVR8/MICROPENDOUS/LEDs.h
LUFA/Drivers/Board/AVR8/MICROSIN162/LEDs.h
LUFA/Drivers/Board/AVR8/MINIMUS/LEDs.h
LUFA/Drivers/Board/AVR8/MULTIO/LEDs.h
LUFA/Drivers/Board/AVR8/OLIMEX162/LEDs.h
LUFA/Drivers/Board/AVR8/OLIMEX32U4/LEDs.h
LUFA/Drivers/Board/AVR8/OLIMEXT32U4/LEDs.h
LUFA/Drivers/Board/AVR8/RZUSBSTICK/LEDs.h
LUFA/Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h
LUFA/Drivers/Board/AVR8/STK525/LEDs.h
LUFA/Drivers/Board/AVR8/STK526/LEDs.h
LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
LUFA/Drivers/Board/AVR8/TUL/LEDs.h
LUFA/Drivers/Board/AVR8/UDIP/LEDs.h
LUFA/Drivers/Board/AVR8/UNO/LEDs.h
LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
LUFA/Drivers/Board/AVR8/USBFOO/LEDs.h
LUFA/Drivers/Board/AVR8/USBKEY/LEDs.h
LUFA/Drivers/Board/AVR8/USBTINYMKII/LEDs.h
LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h

index 4621e8e..f8e1b8f 100644 (file)
@@ -38,6 +38,7 @@
   *   - Added support for various assert and debugging macros for the UC3 devices
   *   - Changed MIDI event structure MIDI_EventPacket_t to use a single field for the combined virtual cable index and command ID, to prevent bitfield packing issues
   *     on some architectures (thanks to Darren Gibbs)
+  *   - Changed board LED driver implementations of LEDs_ToggleLEDs() for the AVR8 architecture to use the fast PIN register toggle alternative function for speed
   *  - Library Applications:
   *   - Raised the guard bits in the AVRISP-MKII clone project when in PDI and TPI to 32, to prevent communication errors on low quality connections to a target
   *   - Added additional bootloader API data to expose the bootloader start address and class to the DFU and CDC class bootloaders
index f13b756..661749b 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTE ^= LEDMask;
+                               PINE   = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 06dcada..2cc953b 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 429f33e..875130f 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTC ^= LEDMask;
+                               PINC  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 4c74961..89516dc 100644 (file)
 \r
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)\r
                        {\r
-                               PORTF ^= (LEDMask & LEDS_PORTF_LEDS);\r
-                               PORTE ^= (LEDMask & LEDS_PORTE_LEDS);\r
+                               PINF  = (LEDMask & LEDS_PORTF_LEDS);\r
+                               PINE  = (LEDMask & LEDS_PORTE_LEDS);\r
                        }\r
 \r
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;\r
index 7bfef87..1212420 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 043a2a7..039e9ef 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTC ^= LEDMask;
+                               PINC  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 24a1fb2..a09ab96 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= LEDMask;
+                               PINB  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 8888a05..6172912 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTE ^= LEDMask;
+                               PINE  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 4c86ed4..1063d75 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTC ^= LEDMask;
+                               PINC  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index ade2b26..7e3dc4f 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 6c49341..adca2de 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 460c94e..815fc29 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= LEDMask;
+                               PINB  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 71a8049..963c15a 100644 (file)
                #define _BOARD_LED_CONCAT(Reg, Letter)      _BOARD_LED_CONCAT2(Reg, Letter)
 
                #define _BOARD_LED_PORT                     _BOARD_LED_CONCAT(PORT, _BOARD_LED_PORTLETTER)
+               #define _BOARD_LED_PIN                      _BOARD_LED_CONCAT(PIN,  _BOARD_LED_PORTLETTER)
                #define _BOARD_LED_DDR                      _BOARD_LED_CONCAT(DDR,  _BOARD_LED_PORTLETTER)
        #endif
 
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               _BOARD_LED_PORT ^= LEDMask;
+                               _BOARD_LED_PIN  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 8b28d30..31aaa67 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index c689a31..f23317d 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index c5f07b9..64f68a5 100644 (file)
 \r
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)\r
                        {\r
-                               PORTD ^= (LEDMask & LEDS_PORTD_LEDS);\r
-                               PORTC ^= (LEDMask & LEDS_PORTC_LEDS);\r
+                               PIND  = (LEDMask & LEDS_PORTD_LEDS);\r
+                               PINC  = (LEDMask & LEDS_PORTC_LEDS);\r
                        }\r
 \r
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;\r
index cc34daa..21fb500 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index fd468c7..62b7c78 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= (LEDMask & LEDS_PORTB_LEDS);
-                               PORTD ^= ((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
-                               PORTE ^= (LEDMask & LEDS_PORTE_LEDS);
+                               PINB  = (LEDMask & LEDS_PORTB_LEDS);
+                               PIND  = ((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
+                               PINE  = (LEDMask & LEDS_PORTE_LEDS);
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 029707e..1602af8 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= (LEDMask & LEDS_PORTB_LEDS);
-                               PORTD ^= (LEDMask & LEDS_PORTD_LEDS);
-                               PORTE ^= (LEDMask & LEDS_PORTE_LEDS);
+                               PINB  = (LEDMask & LEDS_PORTB_LEDS);
+                               PIND  = (LEDMask & LEDS_PORTD_LEDS);
+                               PINE  = (LEDMask & LEDS_PORTE_LEDS);
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 3bc45b9..7be9b37 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= (LEDMask & LEDS_PORTD_LEDS);
-                               PORTE ^= ((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT);
+                               PIND  = (LEDMask & LEDS_PORTD_LEDS);
+                               PINE  = ((LEDMask & LEDS_PORTE_LEDS) << LEDS_PORTE_MASK_SHIFT);
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index a838bed..6998fd3 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= LEDMask;
+                               PINB  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 881010c..04d5662 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index b19abdc..d254a69 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index f3a577a..7149923 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 82ccb0f..e659a9a 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTF ^= LEDMask;
+                               PINF  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 83cb1fb..7ad6c44 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= (LEDMask & LEDS_PORTB_LEDS);
-                               PORTD ^= ((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
+                               PINB  = (LEDMask & LEDS_PORTB_LEDS);
+                               PIND  = ((LEDMask & LEDS_PORTD_LEDS) << LEDS_PORTD_MASK_SHIFT);
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 5ffafdd..2a6178c 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index e666987..12fa73c 100644 (file)
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
-                               PORTC ^= LEDMask;                               \r
+                               PINC  = LEDMask;                                \r
                                #else\r
-                               PORTD ^= LEDMask;\r
+                               PIND  = LEDMask;\r
                                #endif\r
                        }\r
 \r
index 810be72..2d68caf 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 62c0d76..25a90a7 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTD ^= LEDMask;
+                               PIND  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index 9322ab9..96acd62 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= LEDMask;
+                               PINB  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
index ef36e17..879d656 100644 (file)
 
                        static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
                        {
-                               PORTB ^= LEDMask;
+                               PINB  = LEDMask;
                        }
 
                        static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;