Added new LEDs_Disable(), Buttons_Disable() and Joystick_Disable() functions to the...
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 29 Jan 2012 14:33:36 +0000 (14:33 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 29 Jan 2012 14:33:36 +0000 (14:33 +0000)
65 files changed:
LUFA/CodeTemplates/DriverStubs/Buttons.h
LUFA/CodeTemplates/DriverStubs/Joystick.h
LUFA/CodeTemplates/DriverStubs/LEDs.h
LUFA/DoxygenPages/ChangeLog.txt
LUFA/Drivers/Board/AVR8/ADAFRUITU4/LEDs.h
LUFA/Drivers/Board/AVR8/ATAVRUSBRF01/Buttons.h
LUFA/Drivers/Board/AVR8/ATAVRUSBRF01/LEDs.h
LUFA/Drivers/Board/AVR8/BENITO/Buttons.h
LUFA/Drivers/Board/AVR8/BENITO/LEDs.h
LUFA/Drivers/Board/AVR8/BLACKCAT/LEDs.h
LUFA/Drivers/Board/AVR8/BUI/LEDs.h
LUFA/Drivers/Board/AVR8/BUMBLEB/Buttons.h
LUFA/Drivers/Board/AVR8/BUMBLEB/Joystick.h
LUFA/Drivers/Board/AVR8/BUMBLEB/LEDs.h
LUFA/Drivers/Board/AVR8/CULV3/Buttons.h
LUFA/Drivers/Board/AVR8/CULV3/LEDs.h
LUFA/Drivers/Board/AVR8/EVK527/Buttons.h
LUFA/Drivers/Board/AVR8/EVK527/Joystick.h
LUFA/Drivers/Board/AVR8/EVK527/LEDs.h
LUFA/Drivers/Board/AVR8/JMDBU2/Buttons.h
LUFA/Drivers/Board/AVR8/JMDBU2/LEDs.h
LUFA/Drivers/Board/AVR8/MAXIMUS/LEDs.h
LUFA/Drivers/Board/AVR8/MICROSIN162/Buttons.h
LUFA/Drivers/Board/AVR8/MICROSIN162/LEDs.h
LUFA/Drivers/Board/AVR8/MINIMUS/Buttons.h
LUFA/Drivers/Board/AVR8/MINIMUS/LEDs.h
LUFA/Drivers/Board/AVR8/OLIMEX162/Buttons.h
LUFA/Drivers/Board/AVR8/OLIMEX162/LEDs.h
LUFA/Drivers/Board/AVR8/RZUSBSTICK/LEDs.h
LUFA/Drivers/Board/AVR8/SPARKFUN8U2/LEDs.h
LUFA/Drivers/Board/AVR8/STK525/Buttons.h
LUFA/Drivers/Board/AVR8/STK525/Joystick.h
LUFA/Drivers/Board/AVR8/STK525/LEDs.h
LUFA/Drivers/Board/AVR8/STK526/Buttons.h
LUFA/Drivers/Board/AVR8/STK526/Joystick.h
LUFA/Drivers/Board/AVR8/STK526/LEDs.h
LUFA/Drivers/Board/AVR8/TEENSY/LEDs.h
LUFA/Drivers/Board/AVR8/TUL/Buttons.h
LUFA/Drivers/Board/AVR8/TUL/LEDs.h
LUFA/Drivers/Board/AVR8/UDIP/Buttons.h
LUFA/Drivers/Board/AVR8/UDIP/LEDs.h
LUFA/Drivers/Board/AVR8/UNO/LEDs.h
LUFA/Drivers/Board/AVR8/USB2AX/Buttons.h
LUFA/Drivers/Board/AVR8/USB2AX/LEDs.h
LUFA/Drivers/Board/AVR8/USBFOO/Buttons.h
LUFA/Drivers/Board/AVR8/USBFOO/LEDs.h
LUFA/Drivers/Board/AVR8/USBKEY/Buttons.h
LUFA/Drivers/Board/AVR8/USBKEY/Joystick.h
LUFA/Drivers/Board/AVR8/USBKEY/LEDs.h
LUFA/Drivers/Board/AVR8/USBTINYMKII/Buttons.h
LUFA/Drivers/Board/AVR8/USBTINYMKII/LEDs.h
LUFA/Drivers/Board/AVR8/XPLAIN/LEDs.h
LUFA/Drivers/Board/Buttons.h
LUFA/Drivers/Board/Joystick.h
LUFA/Drivers/Board/LEDs.h
LUFA/Drivers/Board/UC3/EVK1100/Buttons.h
LUFA/Drivers/Board/UC3/EVK1100/Joystick.h
LUFA/Drivers/Board/UC3/EVK1100/LEDs.h
LUFA/Drivers/Board/UC3/EVK1101/Buttons.h
LUFA/Drivers/Board/UC3/EVK1101/Joystick.h
LUFA/Drivers/Board/UC3/EVK1101/LEDs.h
LUFA/Drivers/Board/UC3/EVK1104/Buttons.h
LUFA/Drivers/Board/UC3/EVK1104/LEDs.h
LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/Buttons.h
LUFA/Drivers/Board/XMEGA/A3BU_XPLAINED/LEDs.h

index f1a1846..a1de82d 100644 (file)
                                // TODO: Initialize the appropriate port pins as an inputs here, with pull-ups
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               // TODO: Clear the appropriate port pins as high impedance inputs here
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index bfde26b..cc6d295 100644 (file)
                                // TODO: Initialize joystick port pins as inputs with pull-ups
                        }
 
+                       static inline void Joystick_Disable(void)
+                       {
+                               // TODO: Clear the joystick pins as high impedance inputs here
+                       }
+
                        static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Joystick_GetStatus(void)
                        {
index e698c9d..24b4288 100644 (file)
                                // TODO: Add code to initialize LED port pins as outputs here
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               // TODO: Clear the LED port pins as high impedance inputs here
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                // TODO: Add code to turn on LEDs given in the LEDMask mask here, leave others as-is
index 6b9477e..79a9aad 100644 (file)
@@ -16,6 +16,7 @@
   *   - Added new Android Accessory Host class driver
   *   - Added new USB_Host_GetDescriptor(), USB_Host_GetDeviceConfiguration() and USB_Host_GetInterfaceAltSetting() functions
   *   - Added new CALLBACK_Audio_Device_GetSetInterfaceProperty() callback to the Audio Device Class driver
+  *   - Added new LEDs_Disable(), Buttons_Disable() and Joystick_Disable() functions to the board hardware drivers
   *  - Library Applications:
   *   - Added User Application APIs to the CDC and DFU class bootloaders
   *   - Added INVERTED_ISP_MISO compile time option to the AVRISP-MKII clone project (thanks to Chuck Rohs)
index 7fa3b47..329abb9 100644 (file)
                                PORTE &= ~LEDS_ALL_LEDS;
                }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRE  &= ~LEDS_ALL_LEDS;
+                               PORTE &= ~LEDS_ALL_LEDS;
+               }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTE |= LEDMask;
index 0c382df..78d715c 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 858b21e..339e9ee 100644 (file)
                                PORTD &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |= (LEDMask & LEDS_ALL_LEDS);
index 3e722d6..b24482c 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 7909600..dd52d83 100644 (file)
                                PORTC |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRC  &= ~LEDS_ALL_LEDS;
+                               PORTC &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTC &= ~LEDMask;
index 04a6a84..bed5345 100644 (file)
                                PORTD &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |= LEDMask;
index aeb757a..66a1959 100644 (file)
                #if !defined(__DOXYGEN__)
                        static inline void LEDs_Init(void)
                        {
-                               DDRC |= LEDS_ALL_LEDS;
+                               DDRC  |=  LEDS_ALL_LEDS;
+                               PORTC &= ~LEDS_ALL_LEDS;
+                       }
+
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRC  &= ~LEDS_ALL_LEDS;
+                               PORTC &= ~LEDS_ALL_LEDS;
                        }
 
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
index c3860e0..7ea526d 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 9866574..3c44beb 100644 (file)
                        static inline void Joystick_Init(void)
                        {
                                DDRD  &= ~JOY_MASK;
-                               PORTD |= JOY_MASK;
+                               PORTD |=  JOY_MASK;
+                       }
+
+                       static inline void Joystick_Disable(void)
+                       {
+                               DDRD  &= ~JOY_MASK;
+                               PORTD &= ~JOY_MASK;
                        }
 
                        static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
index fa53764..acf125a 100644 (file)
                                PORTB &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRB  &= ~LEDS_ALL_LEDS;
+                               PORTB &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LedMask)
                        {
                                PORTB |= LedMask;
index 8a39fa6..caa700d 100644 (file)
                                PORTE |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRE  &= ~BUTTONS_BUTTON1;
+                               PORTE &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 86e5c0c..dede020 100644 (file)
                                PORTE &= ~LEDS_ALL_LEDS;
                }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRE  &= ~LEDS_ALL_LEDS;
+                               PORTE &= ~LEDS_ALL_LEDS;
+               }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTE |= LEDMask;
index 03c51d2..748299f 100644 (file)
                                PORTE |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRE  &= ~BUTTONS_BUTTON1;
+                               PORTE &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 19d19ee..811b5f1 100644 (file)
                #if !defined(__DOXYGEN__)
                        static inline void Joystick_Init(void)
                        {
-                               DDRF  &= ~(JOY_FMASK);
-                               DDRC  &= ~(JOY_CMASK);
+                               DDRF  &= ~JOY_FMASK;
+                               DDRC  &= ~JOY_CMASK;
 
-                               PORTF |= JOY_FMASK;
-                               PORTC |= JOY_CMASK;
+                               PORTF |=  JOY_FMASK;
+                               PORTC |=  JOY_CMASK;
+                       }
+
+                       static inline void Joystick_Disable(void)
+                       {
+                               DDRF  &= ~JOY_FMASK;
+                               DDRC  &= ~JOY_CMASK;
+
+                               PORTF &= ~JOY_FMASK;
+                               PORTC &= ~JOY_CMASK;
                        }
 
                        static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
index 4cb6aeb..fddb99d 100644 (file)
                                PORTD &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |= LEDMask;
index 170eaea..8486744 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index b3847b7..f24bc32 100644 (file)
                                PORTD &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |= LEDMask;
index f211e65..aa55737 100644 (file)
                                PORTB &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRB  &= ~LEDS_ALL_LEDS;
+                               PORTB &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTB |= LEDMask;
index e3ba957..0b07103 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 6e84729..ec61a04 100644 (file)
                                PORTD |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD &= ~LEDMask;
index ef30a9b..f58762a 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 124fbaa..349e0ff 100644 (file)
                                PORTD |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD &= ~LEDMask;
index 32a7511..c6d1b79 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 9872b94..9452604 100644 (file)
                                PORTD |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD &= ~LEDMask;
index ed5c2c1..bc2001e 100644 (file)
                                PORTE |=  (LEDS_PORTE_LEDS << LEDS_PORTE_MASK_SHIFT);
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_PORTD_LEDS;
+                               PORTD &= ~LEDS_PORTD_LEDS;
+
+                               DDRE  &= ~(LEDS_PORTE_LEDS << LEDS_PORTE_MASK_SHIFT);
+                               PORTE &= ~(LEDS_PORTE_LEDS << LEDS_PORTE_MASK_SHIFT);
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |=  (LEDMask & LEDS_LED1);
index 278bee5..cf058b7 100644 (file)
                                PORTB |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRB  &= ~LEDS_ALL_LEDS;
+                               PORTB &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTB &= ~LEDMask;
index d67a51d..fdabb95 100644 (file)
                                PORTE |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRE  &= ~BUTTONS_BUTTON1;
+                               PORTE &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index dcf7f2e..a1e2fd0 100644 (file)
                #if !defined(__DOXYGEN__)
                        static inline void Joystick_Init(void)
                        {
-                               DDRB  &= ~(JOY_BMASK);
-                               DDRE  &= ~(JOY_EMASK);
+                               DDRB  &= ~JOY_BMASK;
+                               DDRE  &= ~JOY_EMASK;
 
-                               PORTB |= JOY_BMASK;
-                               PORTE |= JOY_EMASK;
+                               PORTB |=  JOY_BMASK;
+                               PORTE |=  JOY_EMASK;
+                       }
+
+                       static inline void Joystick_Disable(void)
+                       {
+                               DDRB  &= ~JOY_BMASK;
+                               DDRE  &= ~JOY_EMASK;
+
+                               PORTB &= ~JOY_BMASK;
+                               PORTE &= ~JOY_EMASK;
                        }
 
                        static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
index 2c81fd4..ca21f9e 100644 (file)
                                PORTD &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |= LEDMask;
index e2000a9..55826e0 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 7c024fb..443d701 100644 (file)
                        {
                                DDRB  &= ~JOY_BMASK;
 
-                               PORTB |= JOY_BMASK;
+                               PORTB |=  JOY_BMASK;
+                       }
+
+                       static inline void Joystick_Disable(void)
+                       {
+                               DDRB  &= ~JOY_BMASK;
+
+                               PORTB &= ~JOY_BMASK;
                        }
 
                        static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
index b77c691..5aeb13f 100644 (file)
                                PORTD &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |= LEDMask;
index 1722fe7..8184fb9 100644 (file)
                                #endif
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                #if (BOARD == BOARD_TEENSY2)
index 191caa9..ae5f8c8 100644 (file)
                                PORTE |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRE  &= ~BUTTONS_BUTTON1;
+                               PORTE &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 4968a18..def25fd 100644 (file)
                                PORTF &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRF  &= ~LEDS_ALL_LEDS;
+                               PORTF &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTF |= LEDMask;
index 61ae9b8..5146cc2 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 5378903..f3aca6a 100644 (file)
                                DDRD |= (LEDS_PORTD_LEDS << LEDS_PORTD_MASK_SHIFT);
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRB &= ~LEDS_PORTB_LEDS;
+                               DDRD &= ~(LEDS_PORTD_LEDS << LEDS_PORTD_MASK_SHIFT);
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTB |= (LEDMask & LEDS_PORTB_LEDS);
index 0205b2d..579a1b2 100644 (file)
                                PORTD |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD &= ~LEDMask;
index 4e1e500..7d8984a 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;\r
                        }\r
 \r
+                       static inline void Buttons_Disable(void)\r
+                       {\r
+                               DDRD  &= ~BUTTONS_BUTTON1;\r
+                               PORTD &= ~BUTTONS_BUTTON1;\r
+                       }\r
+\r
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;\r
                        static inline uint8_t Buttons_GetStatus(void)\r
                        {\r
index 541da26..e236ded 100644 (file)
                                #endif                          \r
                        }\r
 \r
+                       static inline void LEDs_Disable(void)\r
+                       {\r
+                               #if (BOARD == BOARD_USB2AX)\r
+                               DDRC  &= ~LEDS_ALL_LEDS;\r
+                               PORTC &= ~LEDS_ALL_LEDS;                                \r
+                               #else\r
+                               DDRD  &= ~LEDS_ALL_LEDS;\r
+                               PORTD &= ~LEDS_ALL_LEDS;                                \r
+                               #endif                          \r
+                       }\r
+\r
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)\r
                        {\r
                                #if (BOARD == BOARD_USB2AX)\r
index 21c6a1f..617ca27 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index cb46258..82f1051 100644 (file)
                                PORTD |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD &= ~LEDMask;
index 018bf6b..3aa19b1 100644 (file)
                                PORTE |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRE  &= ~BUTTONS_BUTTON1;
+                               PORTE &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 5e80a53..fa7f218 100644 (file)
                #if !defined(__DOXYGEN__)
                        static inline void Joystick_Init(void)
                        {
-                               DDRB  &= ~(JOY_BMASK);
-                               DDRE  &= ~(JOY_EMASK);
+                               DDRB  &= ~JOY_BMASK;
+                               DDRE  &= ~JOY_EMASK;
 
-                               PORTB |= JOY_BMASK;
-                               PORTE |= JOY_EMASK;
+                               PORTB |=  JOY_BMASK;
+                               PORTE |=  JOY_EMASK;
+                       }
+
+                       static inline void Joystick_Disable(void)
+                       {
+                               DDRB  &= ~JOY_BMASK;
+                               DDRE  &= ~JOY_EMASK;
+
+                               PORTB &= ~JOY_BMASK;
+                               PORTE &= ~JOY_EMASK;
                        }
 
                        static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
index e4a7002..e4a4db1 100644 (file)
                                PORTD &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRD  &= ~LEDS_ALL_LEDS;
+                               PORTD &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTD |= LEDMask;
index 20cb340..530c3ce 100644 (file)
                                PORTD |=  BUTTONS_BUTTON1;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               DDRD  &= ~BUTTONS_BUTTON1;
+                               PORTD &= ~BUTTONS_BUTTON1;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index 00cfd2b..368f833 100644 (file)
                                PORTB &= ~LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRB  &= ~LEDS_ALL_LEDS;
+                               PORTB &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LedMask)
                        {
                                PORTB |= LedMask;
index 3abe98e..870d7a3 100644 (file)
                                PORTB |= LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               DDRB  &= ~LEDS_ALL_LEDS;
+                               PORTB &= ~LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTB &= ~LEDMask;
index f60dbb5..3dd89a9 100644 (file)
 
        /* Pseudo-Functions for Doxygen: */
        #if defined(__DOXYGEN__)
-               /** Initializes the BUTTONS driver, so that the current button position can be read. This sets the appropriate
+               /** Initializes the buttons driver, so that the current button position can be read. This sets the appropriate
                 *  I/O pins to an inputs with pull-ups enabled.
                 *
                 *  This must be called before any Button driver functions are used.
                 */
                static inline void Buttons_Init(void);
 
+               /** Disables the buttons driver, releasing the I/O pins back to their default high-impedence input mode. */
+               static inline void Buttons_Disable(void);
+
                /** Returns a mask indicating which board buttons are currently pressed.
                 *
                 *  \return Mask indicating which board buttons are currently pressed.
index 95e90fa..452689c 100644 (file)
                 */
                static inline void Joystick_Init(void);
 
+               /** Disables the joystick driver, releasing the I/O pins back to their default high-impedence input mode. */
+               static inline void Joystick_Disable(void);
+
                /** Returns the current status of the joystick, as a mask indicating the direction the joystick is
                 *  currently facing in (multiple bits can be set).
                 *
index e1f6b4c..839a059 100644 (file)
                 */
                static inline void LEDs_Init(void);
 
+               /** Disables the board LED driver, releasing the I/O pins back to their default high-impedence input mode. */
+               static inline void LEDs_Disable(void);
+
                /** Turns on the LEDs specified in the given LED mask.
                 *
                 *  \param[in] LEDMask  Mask of the board LEDs to manipulate (see board-specific LEDs.h driver file).
index 10f02cf..300e37c 100644 (file)
                                AVR32_GPIO.port[BUTTONS_PORT].puers = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               AVR32_GPIO.port[BUTTONS_PORT].gperc = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
+                               AVR32_GPIO.port[BUTTONS_PORT].puerc = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
+                       }
+
                        static inline uint32_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint32_t Buttons_GetStatus(void)
                        {
index aaf729b..4bd6185 100644 (file)
                                AVR32_GPIO.port[JOY_PORT].gpers = JOY_MASK;
                        };
 
+                       static inline void Joystick_Disable(void)
+                       {
+                               AVR32_GPIO.port[JOY_PORT].gperc = JOY_MASK;
+                               AVR32_GPIO.port[JOY_PORT].gperc = JOY_MASK;
+                       };
+
                        static inline uint32_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint32_t Joystick_GetStatus(void)
                        {
index 6fd1ac8..96ae1a7 100644 (file)
                                AVR32_GPIO.port[LEDS_PORT].ovrs  = LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               AVR32_GPIO.port[LEDS_PORT].gperc = LEDS_ALL_LEDS;
+                               AVR32_GPIO.port[LEDS_PORT].oderc = LEDS_ALL_LEDS;
+                               AVR32_GPIO.port[LEDS_PORT].ovrc  = LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint32_t LEDMask)
                        {
                                AVR32_GPIO.port[LEDS_PORT].ovrc  = LEDMask;
index 18c7117..3ce1afe 100644 (file)
                                AVR32_GPIO.port[BUTTONS_PORT].puers = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               AVR32_GPIO.port[BUTTONS_PORT].gperc = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
+                               AVR32_GPIO.port[BUTTONS_PORT].puerc = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
+                       }
+
                        static inline uint32_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint32_t Buttons_GetStatus(void)
                        {
index 0481f83..7334909 100644 (file)
                                AVR32_GPIO.port[JOY_PRESS_PORT].puers = JOY_PRESS_MASK;
                        };
 
+                       static inline void Joystick_Disable(void)
+                       {
+                               AVR32_GPIO.port[JOY_MOVE_PORT].gperc  = JOY_MOVE_MASK;
+                               AVR32_GPIO.port[JOY_PRESS_PORT].gperc = JOY_PRESS_MASK;
+
+                               AVR32_GPIO.port[JOY_MOVE_PORT].puerc  = JOY_MOVE_MASK;
+                               AVR32_GPIO.port[JOY_PRESS_PORT].puerc = JOY_PRESS_MASK;
+                       };
+
                        static inline uint32_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint32_t Joystick_GetStatus(void)
                        {
index 6feadbc..65a3481 100644 (file)
                                AVR32_GPIO.port[LEDS_PORT].ovrs  = LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               AVR32_GPIO.port[LEDS_PORT].gperc = LEDS_ALL_LEDS;
+                               AVR32_GPIO.port[LEDS_PORT].oderc = LEDS_ALL_LEDS;
+                               AVR32_GPIO.port[LEDS_PORT].ovrc  = LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint32_t LEDMask)
                        {
                                AVR32_GPIO.port[LEDS_PORT].ovrc  = LEDMask;
index 934f922..597c8e9 100644 (file)
                                AVR32_GPIO.port[BUTTONS_PORT].puers = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               AVR32_GPIO.port[BUTTONS_PORT].gperc = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
+                               AVR32_GPIO.port[BUTTONS_PORT].puerc = (BUTTONS_BUTTON1 | BUTTONS_BUTTON2);
+                       }
+
                        static inline uint32_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint32_t Buttons_GetStatus(void)
                        {
index 5813e89..6d25626 100644 (file)
                                AVR32_GPIO.port[3].ovrs  = LEDS_LEDMASK3;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               AVR32_GPIO.port[2].gperc = LEDS_LEDMASK2;
+                               AVR32_GPIO.port[2].oderc = LEDS_LEDMASK2;
+                               AVR32_GPIO.port[2].ovrc  = LEDS_LEDMASK2;
+
+                               AVR32_GPIO.port[3].gperc = LEDS_LEDMASK3;
+                               AVR32_GPIO.port[3].oderc = LEDS_LEDMASK3;
+                               AVR32_GPIO.port[3].ovrc  = LEDS_LEDMASK3;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint32_t LEDMask)
                        {
                                AVR32_GPIO.port[2].ovrc  = (LEDMask & LEDS_LEDMASK2);
index 1665fa4..6f6b875 100644 (file)
                                PORTF_PIN2CTRL = PORT_OPC_PULLUP_gc;
                        }
 
+                       static inline void Buttons_Disable(void)
+                       {
+                               PORTE_OUTCLR = BUTTONS_BUTTON1;
+                               PORTF_OUTCLR = (BUTTONS_BUTTON2 | BUTTONS_BUTTON3);
+
+                               PORTE_PIN5CTRL = 0;
+                               PORTF_PIN1CTRL = 0;
+                               PORTF_PIN2CTRL = 0;
+                       }
+
                        static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
                        static inline uint8_t Buttons_GetStatus(void)
                        {
index d555ac2..f4a5d0e 100644 (file)
                                PORTR_OUTSET = LEDS_ALL_LEDS;
                        }
 
+                       static inline void LEDs_Disable(void)
+                       {
+                               PORTR_DIRCLR = LEDS_ALL_LEDS;
+                               PORTR_OUTCLR = LEDS_ALL_LEDS;
+                       }
+
                        static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask)
                        {
                                PORTR_OUTCLR = LEDMask;