Added cdc and cdc-ee programming commands
This commit is contained in:
		| @@ -20,3 +20,6 @@ LUFA/Drivers/Board/LEDs.h | ||||
| LUFA/Drivers/Board/AVR8/MICROPENDOUS/Buttons.h | ||||
| LUFA/Drivers/Board/AVR8/MICROPENDOUS/LEDs.h | ||||
|  | ||||
| * add cdc and cdc-ee programming commands | ||||
| LUFA/LUFA/Build/lufa_avrdude.mk | ||||
|  | ||||
|   | ||||
| @@ -26,6 +26,10 @@ LUFA_BUILD_PROVIDED_MACROS += | ||||
| #                                avrdude | ||||
| #    avrdude-ee                - Program target EEPROM with application data | ||||
| #                                using avrdude | ||||
| #    cdc                       - Program target (with CDC Bootloader) FLASH | ||||
| #                                with application using avrdude | ||||
| #    cdc-ee                    - Program target (with CDC Bootloader) EEPROM | ||||
| #                                with application using avrdude | ||||
| # | ||||
| # MANDATORY PARAMETERS: | ||||
| # | ||||
| @@ -82,5 +86,13 @@ avrdude-ee: $(TARGET).eep $(MAKEFILE_LIST) | ||||
| 	@echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" EEPROM using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\" | ||||
| 	avrdude $(BASE_AVRDUDE_FLAGS) -U eeprom:w:$< $(AVRDUDE_FLAGS) | ||||
|  | ||||
| # Programs in the target FLASH memory using AVRDUDE to a board running the CDC LUFA Bootloader | ||||
| cdc: $(TARGET).hex | ||||
|         avrdude -v -v -c avr109 -P $(CDC_BOOTLOADER_PORT) -p $(MCU) -U flash:w:$(TARGET).hex | ||||
|  | ||||
| # Programs in the target EEPROM memory using AVRDUDE to a board running the CDC LUFA Bootloader | ||||
| cdc-ee: $(TARGET).hex | ||||
|         avrdude -v -v -c avr109 -P $(CDC_BOOTLOADER_PORT) -p $(MCU) -U eeprom:w:$(TARGET).eep | ||||
|  | ||||
| # Phony build targets for this module | ||||
| .PHONY: avrdude avrdude-ee | ||||
| .PHONY: avrdude avrdude-ee cdc cdc-ee | ||||
|   | ||||
| @@ -1,149 +1,149 @@ | ||||
| /* | ||||
|              LUFA Library | ||||
|      Copyright (C) Dean Camera, 2013. | ||||
|  | ||||
|   dean [at] fourwalledcubicle [dot] com | ||||
|            www.lufa-lib.org | ||||
| */ | ||||
|  | ||||
| /* | ||||
|   Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com) | ||||
|  | ||||
|   Permission to use, copy, modify, distribute, and sell this | ||||
|   software and its documentation for any purpose is hereby granted | ||||
|   without fee, provided that the above copyright notice appear in | ||||
|   all copies and that both that the copyright notice and this | ||||
|   permission notice and warranty disclaimer appear in supporting | ||||
|   documentation, and that the name of the author not be used in | ||||
|   advertising or publicity pertaining to distribution of the | ||||
|   software without specific, written prior permission. | ||||
|  | ||||
|   The author disclaims all warranties with regard to this | ||||
|   software, including all implied warranties of merchantability | ||||
|   and fitness.  In no event shall the author be liable for any | ||||
|   special, indirect or consequential damages or any damages | ||||
|   whatsoever resulting from loss of use, data or profits, whether | ||||
|   in an action of contract, negligence or other tortious action, | ||||
|   arising out of or in connection with the use or performance of | ||||
|   this software. | ||||
| */ | ||||
|  | ||||
| /** \file | ||||
|  *  \brief Board specific information header for the Micropendous series boards. | ||||
|  *  \copydetails Group_BoardInfo_MICROPENDOUS_32U2 | ||||
|  * | ||||
|  *  \note This file should not be included directly. It is automatically included as needed by the Board driver | ||||
|  *        dispatch header located in LUFA/Drivers/Board/Board.h. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_A MICROPENDOUS_A | ||||
|  *  \brief Board specific information header for the Micropendous A (https://code.google.com/p/micropendous/wiki/MicropendousA). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_1 MICROPENDOUS_1 | ||||
|  *  \brief Board specific information header for the Micropendous 1 (https://code.google.com/p/micropendous/wiki/Micropendous1). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_2 MICROPENDOUS_2 | ||||
|  *  \brief Board specific information header for the Micropendous 2 (https://code.google.com/p/micropendous/wiki/Micropendous2). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_3 MICROPENDOUS_3 | ||||
|  *  \brief Board specific information header for the Micropendous 3 (https://code.google.com/p/micropendous/wiki/Micropendous3). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_4 MICROPENDOUS_4 | ||||
|  *  \brief Board specific information header for the Micropendous 4 (https://code.google.com/p/micropendous/wiki/Micropendous4). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_DIP MICROPENDOUS_DIP | ||||
|  *  \brief Board specific information header for the Micropendous DIP (https://code.google.com/p/micropendous/wiki/MicropendousDIP). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_REV1 MICROPENDOUS_REV1 | ||||
|  *  \brief Board specific information header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_REV2 MICROPENDOUS_REV2 | ||||
|  *  \brief Board specific information header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_32U2 MICROPENDOUS_32U2 | ||||
|  *  \brief Board specific information header for the Micropendous series boards. | ||||
|  * | ||||
|  *  Board specific information header for the Micropendous series boards (https://code.google.com/p/micropendous). | ||||
|  * | ||||
|  *  @{ | ||||
|  */ | ||||
|  | ||||
| #ifndef __BOARD_MICROPENDOUS_H__ | ||||
| #define __BOARD_MICROPENDOUS_H__ | ||||
|  | ||||
| 	/* Includes: */ | ||||
| 		#include "../../../../Common/Common.h" | ||||
|  | ||||
| 	/* Enable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			extern "C" { | ||||
| 		#endif | ||||
|  | ||||
| 	/* Preprocessor Checks: */ | ||||
| 		#if !defined(__INCLUDE_FROM_BOARD_H) | ||||
| 			#error Do not include this file directly. Include LUFA/Drivers/Board/Board.h instead. | ||||
| 		#endif | ||||
|  | ||||
| 	/* Public Interface - May be used in end-application: */ | ||||
| 		/* Macros: */ | ||||
| 			#if ((BOARD == BOARD_MICROPENDOUS_32U2) || (BOARD == BOARD_MICROPENDOUS_A) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_1)    || (BOARD == BOARD_MICROPENDOUS_2) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_3)    || (BOARD == BOARD_MICROPENDOUS_4) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_REV1) || (BOARD == BOARD_MICROPENDOUS_REV2) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_DIP) || defined(__DOXYGEN__)) | ||||
| 				#include "../../Buttons.h" | ||||
|  | ||||
| 				/** Indicates the board has a hardware Buttons mounted. */ | ||||
| 				#define BOARD_HAS_BUTTONS | ||||
| 			#endif | ||||
|  | ||||
| 			#if ((BOARD == BOARD_MICROPENDOUS_REV1) || (BOARD == BOARD_MICROPENDOUS_REV2) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_32U2) || defined(__DOXYGEN__)) | ||||
| 				#include "../../LEDs.h" | ||||
|  | ||||
| 				/** Indicates the board has a hardware LEDs mounted. */ | ||||
| 				#define BOARD_HAS_LEDS | ||||
| 			#endif | ||||
|  | ||||
| 	/* Disable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| /** @} */ | ||||
|  | ||||
| /* | ||||
|              LUFA Library | ||||
|      Copyright (C) Dean Camera, 2013. | ||||
|  | ||||
|   dean [at] fourwalledcubicle [dot] com | ||||
|            www.lufa-lib.org | ||||
| */ | ||||
|  | ||||
| /* | ||||
|   Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com) | ||||
|  | ||||
|   Permission to use, copy, modify, distribute, and sell this | ||||
|   software and its documentation for any purpose is hereby granted | ||||
|   without fee, provided that the above copyright notice appear in | ||||
|   all copies and that both that the copyright notice and this | ||||
|   permission notice and warranty disclaimer appear in supporting | ||||
|   documentation, and that the name of the author not be used in | ||||
|   advertising or publicity pertaining to distribution of the | ||||
|   software without specific, written prior permission. | ||||
|  | ||||
|   The author disclaims all warranties with regard to this | ||||
|   software, including all implied warranties of merchantability | ||||
|   and fitness.  In no event shall the author be liable for any | ||||
|   special, indirect or consequential damages or any damages | ||||
|   whatsoever resulting from loss of use, data or profits, whether | ||||
|   in an action of contract, negligence or other tortious action, | ||||
|   arising out of or in connection with the use or performance of | ||||
|   this software. | ||||
| */ | ||||
|  | ||||
| /** \file | ||||
|  *  \brief Board specific information header for the Micropendous series boards. | ||||
|  *  \copydetails Group_BoardInfo_MICROPENDOUS_32U2 | ||||
|  * | ||||
|  *  \note This file should not be included directly. It is automatically included as needed by the Board driver | ||||
|  *        dispatch header located in LUFA/Drivers/Board/Board.h. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_A MICROPENDOUS_A | ||||
|  *  \brief Board specific information header for the Micropendous A (https://code.google.com/p/micropendous/wiki/MicropendousA). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_1 MICROPENDOUS_1 | ||||
|  *  \brief Board specific information header for the Micropendous 1 (https://code.google.com/p/micropendous/wiki/Micropendous1). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_2 MICROPENDOUS_2 | ||||
|  *  \brief Board specific information header for the Micropendous 2 (https://code.google.com/p/micropendous/wiki/Micropendous2). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_3 MICROPENDOUS_3 | ||||
|  *  \brief Board specific information header for the Micropendous 3 (https://code.google.com/p/micropendous/wiki/Micropendous3). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_4 MICROPENDOUS_4 | ||||
|  *  \brief Board specific information header for the Micropendous 4 (https://code.google.com/p/micropendous/wiki/Micropendous4). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_DIP MICROPENDOUS_DIP | ||||
|  *  \brief Board specific information header for the Micropendous DIP (https://code.google.com/p/micropendous/wiki/MicropendousDIP). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_REV1 MICROPENDOUS_REV1 | ||||
|  *  \brief Board specific information header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_REV2 MICROPENDOUS_REV2 | ||||
|  *  \brief Board specific information header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_BoardInfo_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_BoardInfo | ||||
|  *  \defgroup Group_BoardInfo_MICROPENDOUS_32U2 MICROPENDOUS_32U2 | ||||
|  *  \brief Board specific information header for the Micropendous series boards. | ||||
|  * | ||||
|  *  Board specific information header for the Micropendous series boards (https://code.google.com/p/micropendous). | ||||
|  * | ||||
|  *  @{ | ||||
|  */ | ||||
|  | ||||
| #ifndef __BOARD_MICROPENDOUS_H__ | ||||
| #define __BOARD_MICROPENDOUS_H__ | ||||
|  | ||||
| 	/* Includes: */ | ||||
| 		#include "../../../../Common/Common.h" | ||||
|  | ||||
| 	/* Enable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			extern "C" { | ||||
| 		#endif | ||||
|  | ||||
| 	/* Preprocessor Checks: */ | ||||
| 		#if !defined(__INCLUDE_FROM_BOARD_H) | ||||
| 			#error Do not include this file directly. Include LUFA/Drivers/Board/Board.h instead. | ||||
| 		#endif | ||||
|  | ||||
| 	/* Public Interface - May be used in end-application: */ | ||||
| 		/* Macros: */ | ||||
| 			#if ((BOARD == BOARD_MICROPENDOUS_32U2) || (BOARD == BOARD_MICROPENDOUS_A) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_1)    || (BOARD == BOARD_MICROPENDOUS_2) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_3)    || (BOARD == BOARD_MICROPENDOUS_4) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_REV1) || (BOARD == BOARD_MICROPENDOUS_REV2) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_DIP) || defined(__DOXYGEN__)) | ||||
| 				#include "../../Buttons.h" | ||||
|  | ||||
| 				/** Indicates the board has a hardware Buttons mounted. */ | ||||
| 				#define BOARD_HAS_BUTTONS | ||||
| 			#endif | ||||
|  | ||||
| 			#if ((BOARD == BOARD_MICROPENDOUS_REV1) || (BOARD == BOARD_MICROPENDOUS_REV2) || \ | ||||
| 			     (BOARD == BOARD_MICROPENDOUS_32U2) || defined(__DOXYGEN__)) | ||||
| 				#include "../../LEDs.h" | ||||
|  | ||||
| 				/** Indicates the board has a hardware LEDs mounted. */ | ||||
| 				#define BOARD_HAS_LEDS | ||||
| 			#endif | ||||
|  | ||||
| 	/* Disable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| /** @} */ | ||||
|  | ||||
|   | ||||
| @@ -1,211 +1,211 @@ | ||||
| /* | ||||
|              LUFA Library | ||||
|      Copyright (C) Dean Camera, 2013. | ||||
|  | ||||
|   dean [at] fourwalledcubicle [dot] com | ||||
|            www.lufa-lib.org | ||||
| */ | ||||
|  | ||||
| /* | ||||
|   Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com) | ||||
|  | ||||
|   Permission to use, copy, modify, distribute, and sell this | ||||
|   software and its documentation for any purpose is hereby granted | ||||
|   without fee, provided that the above copyright notice appear in | ||||
|   all copies and that both that the copyright notice and this | ||||
|   permission notice and warranty disclaimer appear in supporting | ||||
|   documentation, and that the name of the author not be used in | ||||
|   advertising or publicity pertaining to distribution of the | ||||
|   software without specific, written prior permission. | ||||
|  | ||||
|   The author disclaims all warranties with regard to this | ||||
|   software, including all implied warranties of merchantability | ||||
|   and fitness.  In no event shall the author be liable for any | ||||
|   special, indirect or consequential damages or any damages | ||||
|   whatsoever resulting from loss of use, data or profits, whether | ||||
|   in an action of contract, negligence or other tortious action, | ||||
|   arising out of or in connection with the use or performance of | ||||
|   this software. | ||||
| */ | ||||
|  | ||||
| /** \file | ||||
|  *  \brief Board specific Buttons driver header for the Micropendous series boards. | ||||
|  *  \copydetails Group_Buttons_MICROPENDOUS_32U2 | ||||
|  * | ||||
|  *  \note This file should not be included directly. It is automatically included as needed by the Buttons driver | ||||
|  *        dispatch header located in LUFA/Drivers/Board/Buttons.h. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_A MICROPENDOUS_A | ||||
|  *  \brief Board specific Button driver header for the Micropendous A (https://code.google.com/p/micropendous/wiki/MicropendousA). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_1 MICROPENDOUS_1 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 1 (https://code.google.com/p/micropendous/wiki/Micropendous1). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_2 MICROPENDOUS_2 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 2 (https://code.google.com/p/micropendous/wiki/Micropendous2). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|   | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_3 MICROPENDOUS_3 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 3 (https://code.google.com/p/micropendous/wiki/Micropendous3). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|   | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_4 MICROPENDOUS_4 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 4 (https://code.google.com/p/micropendous/wiki/Micropendous4). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_DIP MICROPENDOUS_DIP | ||||
|  *  \brief Board specific Button driver header for the Micropendous DIP (https://code.google.com/p/micropendous/wiki/MicropendousDIP). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_REV1 MICROPENDOUS_REV1 | ||||
|  *  \brief Board specific Button driver header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_REV2 MICROPENDOUS_REV2 | ||||
|  *  \brief Board specific Button driver header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_32U2 MICROPENDOUS_32U2 | ||||
|  *  \brief Board specific Buttons driver header for the Micropendous 32U2. | ||||
|  * | ||||
|  *  \note There are multiple supported Micropendous boards, compile with <code>BOARD = MICROPENDOUS_{VERSION}</code>. | ||||
|  * | ||||
|  *  Board specific Buttons driver header for the Micropendous 32U2 (https://code.google.com/p/micropendous/wiki/Micropendous_32U2). | ||||
|  * | ||||
|  *  <b>BOARD_MICROPENDOUS_1 and BOARD_MICROPENDOUS_32U2</b>: | ||||
|  *  <table> | ||||
|  *    <tr><th>Name</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr> | ||||
|  *    <tr><td>BUTTONS_BUTTON1</td><td>HWB Button</td><td>Low</td><td>PORTD.7</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  <b>Other Revisions</b>: | ||||
|  *  <table> | ||||
|  *    <tr><th>Name</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr> | ||||
|  *    <tr><td>BUTTONS_BUTTON1</td><td>HWB Button</td><td>Low</td><td>PORTE.2</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  @{ | ||||
|  */ | ||||
|  | ||||
| #ifndef __BUTTONS_MICROPENDOUS_H__ | ||||
| #define __BUTTONS_MICROPENDOUS_H__ | ||||
|  | ||||
| 	/* Includes: */ | ||||
| 		#include "../../../../Common/Common.h" | ||||
|  | ||||
| 	/* Enable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			extern "C" { | ||||
| 		#endif | ||||
|  | ||||
| 	/* Preprocessor Checks: */ | ||||
| 		#if !defined(__INCLUDE_FROM_BUTTONS_H) | ||||
| 			#error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead. | ||||
| 		#endif | ||||
|  | ||||
| 	/* Private Interface - For use in library only: */ | ||||
| 	#if !defined(__DOXYGEN__) | ||||
| 		#if (BOARD == BOARD_MICROPENDOUS_32U2) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 7) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_32U4) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_A) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_1) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 7) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_2) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_3) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_4) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_DIP) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV1) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV2) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#endif | ||||
| 		 | ||||
| 		#define _BOARD_BUTTON_CONCAT2(Reg, Letter)  Reg ## Letter | ||||
| 		#define _BOARD_BUTTON_CONCAT(Reg, Letter)   _BOARD_BUTTON_CONCAT2(Reg, Letter) | ||||
|  | ||||
| 		#define _BOARD_BUTTON_PORT                 _BOARD_BUTTON_CONCAT(PORT, _BOARD_BUTTON_PORTLETTER) | ||||
| 		#define _BOARD_BUTTON_PIN                  _BOARD_BUTTON_CONCAT(PIN,  _BOARD_BUTTON_PORTLETTER) | ||||
| 		#define _BOARD_BUTTON_DDR                  _BOARD_BUTTON_CONCAT(DDR,  _BOARD_BUTTON_PORTLETTER) | ||||
| 	#endif | ||||
|  | ||||
| 	/* Public Interface - May be used in end-application: */ | ||||
| 		/* Macros: */ | ||||
| 			/** Button mask for the first button on the board. */ | ||||
| 			#define BUTTONS_BUTTON1                _BOARD_BUTTON1_MASK | ||||
|  | ||||
| 		/* Inline Functions: */ | ||||
| 		#if !defined(__DOXYGEN__) | ||||
| 			static inline void Buttons_Init(void) | ||||
| 			{ | ||||
| 				_BOARD_BUTTON_DDR  &= ~BUTTONS_BUTTON1; | ||||
| 				_BOARD_BUTTON_PORT |=  BUTTONS_BUTTON1; | ||||
| 			} | ||||
|  | ||||
| 			static inline void Buttons_Disable(void) | ||||
| 			{ | ||||
| 				_BOARD_BUTTON_DDR  &= ~BUTTONS_BUTTON1; | ||||
| 				_BOARD_BUTTON_PORT &= ~BUTTONS_BUTTON1; | ||||
| 			} | ||||
|  | ||||
| 			static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT; | ||||
| 			static inline uint8_t Buttons_GetStatus(void) | ||||
| 			{ | ||||
| 				return ((_BOARD_BUTTON_PIN & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1); | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| 	/* Disable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| /** @} */ | ||||
|  | ||||
|  | ||||
| /* | ||||
|              LUFA Library | ||||
|      Copyright (C) Dean Camera, 2013. | ||||
|  | ||||
|   dean [at] fourwalledcubicle [dot] com | ||||
|            www.lufa-lib.org | ||||
| */ | ||||
|  | ||||
| /* | ||||
|   Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com) | ||||
|  | ||||
|   Permission to use, copy, modify, distribute, and sell this | ||||
|   software and its documentation for any purpose is hereby granted | ||||
|   without fee, provided that the above copyright notice appear in | ||||
|   all copies and that both that the copyright notice and this | ||||
|   permission notice and warranty disclaimer appear in supporting | ||||
|   documentation, and that the name of the author not be used in | ||||
|   advertising or publicity pertaining to distribution of the | ||||
|   software without specific, written prior permission. | ||||
|  | ||||
|   The author disclaims all warranties with regard to this | ||||
|   software, including all implied warranties of merchantability | ||||
|   and fitness.  In no event shall the author be liable for any | ||||
|   special, indirect or consequential damages or any damages | ||||
|   whatsoever resulting from loss of use, data or profits, whether | ||||
|   in an action of contract, negligence or other tortious action, | ||||
|   arising out of or in connection with the use or performance of | ||||
|   this software. | ||||
| */ | ||||
|  | ||||
| /** \file | ||||
|  *  \brief Board specific Buttons driver header for the Micropendous series boards. | ||||
|  *  \copydetails Group_Buttons_MICROPENDOUS_32U2 | ||||
|  * | ||||
|  *  \note This file should not be included directly. It is automatically included as needed by the Buttons driver | ||||
|  *        dispatch header located in LUFA/Drivers/Board/Buttons.h. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_A MICROPENDOUS_A | ||||
|  *  \brief Board specific Button driver header for the Micropendous A (https://code.google.com/p/micropendous/wiki/MicropendousA). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_1 MICROPENDOUS_1 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 1 (https://code.google.com/p/micropendous/wiki/Micropendous1). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_2 MICROPENDOUS_2 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 2 (https://code.google.com/p/micropendous/wiki/Micropendous2). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|   | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_3 MICROPENDOUS_3 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 3 (https://code.google.com/p/micropendous/wiki/Micropendous3). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|   | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_4 MICROPENDOUS_4 | ||||
|  *  \brief Board specific Button driver header for the Micropendous 4 (https://code.google.com/p/micropendous/wiki/Micropendous4). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_DIP MICROPENDOUS_DIP | ||||
|  *  \brief Board specific Button driver header for the Micropendous DIP (https://code.google.com/p/micropendous/wiki/MicropendousDIP). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_REV1 MICROPENDOUS_REV1 | ||||
|  *  \brief Board specific Button driver header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_REV2 MICROPENDOUS_REV2 | ||||
|  *  \brief Board specific Button driver header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_Buttons_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_Buttons | ||||
|  *  \defgroup Group_Buttons_MICROPENDOUS_32U2 MICROPENDOUS_32U2 | ||||
|  *  \brief Board specific Buttons driver header for the Micropendous 32U2. | ||||
|  * | ||||
|  *  \note There are multiple supported Micropendous boards, compile with <code>BOARD = MICROPENDOUS_{VERSION}</code>. | ||||
|  * | ||||
|  *  Board specific Buttons driver header for the Micropendous 32U2 (https://code.google.com/p/micropendous/wiki/Micropendous_32U2). | ||||
|  * | ||||
|  *  <b>BOARD_MICROPENDOUS_1 and BOARD_MICROPENDOUS_32U2</b>: | ||||
|  *  <table> | ||||
|  *    <tr><th>Name</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr> | ||||
|  *    <tr><td>BUTTONS_BUTTON1</td><td>HWB Button</td><td>Low</td><td>PORTD.7</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  <b>Other Revisions</b>: | ||||
|  *  <table> | ||||
|  *    <tr><th>Name</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr> | ||||
|  *    <tr><td>BUTTONS_BUTTON1</td><td>HWB Button</td><td>Low</td><td>PORTE.2</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  @{ | ||||
|  */ | ||||
|  | ||||
| #ifndef __BUTTONS_MICROPENDOUS_H__ | ||||
| #define __BUTTONS_MICROPENDOUS_H__ | ||||
|  | ||||
| 	/* Includes: */ | ||||
| 		#include "../../../../Common/Common.h" | ||||
|  | ||||
| 	/* Enable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			extern "C" { | ||||
| 		#endif | ||||
|  | ||||
| 	/* Preprocessor Checks: */ | ||||
| 		#if !defined(__INCLUDE_FROM_BUTTONS_H) | ||||
| 			#error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead. | ||||
| 		#endif | ||||
|  | ||||
| 	/* Private Interface - For use in library only: */ | ||||
| 	#if !defined(__DOXYGEN__) | ||||
| 		#if (BOARD == BOARD_MICROPENDOUS_32U2) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 7) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_32U4) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_A) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_1) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 7) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_2) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_3) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_4) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_DIP) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV1) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV2) | ||||
| 			#define _BOARD_BUTTON1_MASK             (1 << 2) | ||||
| 			#define _BOARD_BUTTON_PORTLETTER        E | ||||
| 		#endif | ||||
| 		 | ||||
| 		#define _BOARD_BUTTON_CONCAT2(Reg, Letter)  Reg ## Letter | ||||
| 		#define _BOARD_BUTTON_CONCAT(Reg, Letter)   _BOARD_BUTTON_CONCAT2(Reg, Letter) | ||||
|  | ||||
| 		#define _BOARD_BUTTON_PORT                 _BOARD_BUTTON_CONCAT(PORT, _BOARD_BUTTON_PORTLETTER) | ||||
| 		#define _BOARD_BUTTON_PIN                  _BOARD_BUTTON_CONCAT(PIN,  _BOARD_BUTTON_PORTLETTER) | ||||
| 		#define _BOARD_BUTTON_DDR                  _BOARD_BUTTON_CONCAT(DDR,  _BOARD_BUTTON_PORTLETTER) | ||||
| 	#endif | ||||
|  | ||||
| 	/* Public Interface - May be used in end-application: */ | ||||
| 		/* Macros: */ | ||||
| 			/** Button mask for the first button on the board. */ | ||||
| 			#define BUTTONS_BUTTON1                _BOARD_BUTTON1_MASK | ||||
|  | ||||
| 		/* Inline Functions: */ | ||||
| 		#if !defined(__DOXYGEN__) | ||||
| 			static inline void Buttons_Init(void) | ||||
| 			{ | ||||
| 				_BOARD_BUTTON_DDR  &= ~BUTTONS_BUTTON1; | ||||
| 				_BOARD_BUTTON_PORT |=  BUTTONS_BUTTON1; | ||||
| 			} | ||||
|  | ||||
| 			static inline void Buttons_Disable(void) | ||||
| 			{ | ||||
| 				_BOARD_BUTTON_DDR  &= ~BUTTONS_BUTTON1; | ||||
| 				_BOARD_BUTTON_PORT &= ~BUTTONS_BUTTON1; | ||||
| 			} | ||||
|  | ||||
| 			static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT; | ||||
| 			static inline uint8_t Buttons_GetStatus(void) | ||||
| 			{ | ||||
| 				return ((_BOARD_BUTTON_PIN & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1); | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| 	/* Disable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| /** @} */ | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -1,185 +1,185 @@ | ||||
| /* | ||||
|              LUFA Library | ||||
|      Copyright (C) Dean Camera, 2013. | ||||
|  | ||||
|   dean [at] fourwalledcubicle [dot] com | ||||
|            www.lufa-lib.org | ||||
| */ | ||||
|  | ||||
| /* | ||||
|   Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com) | ||||
|  | ||||
|   Permission to use, copy, modify, distribute, and sell this | ||||
|   software and its documentation for any purpose is hereby granted | ||||
|   without fee, provided that the above copyright notice appear in | ||||
|   all copies and that both that the copyright notice and this | ||||
|   permission notice and warranty disclaimer appear in supporting | ||||
|   documentation, and that the name of the author not be used in | ||||
|   advertising or publicity pertaining to distribution of the | ||||
|   software without specific, written prior permission. | ||||
|  | ||||
|   The author disclaims all warranties with regard to this | ||||
|   software, including all implied warranties of merchantability | ||||
|   and fitness.  In no event shall the author be liable for any | ||||
|   special, indirect or consequential damages or any damages | ||||
|   whatsoever resulting from loss of use, data or profits, whether | ||||
|   in an action of contract, negligence or other tortious action, | ||||
|   arising out of or in connection with the use or performance of | ||||
|   this software. | ||||
| */ | ||||
|  | ||||
| /** \file | ||||
|  *  \brief Board specific LED driver header for the Micropendous series boards. | ||||
|  *  \copydetails Group_LEDs_MICROPENDOUS_32U2 | ||||
|  * | ||||
|  *  \note This file should not be included directly. It is automatically included as needed by the LEDs driver | ||||
|  *        dispatch header located in LUFA/Drivers/Board/LEDs.h. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_LEDs | ||||
|  *  \defgroup Group_LEDs_MICROPENDOUS_REV1 MICROPENDOUS_REV1 | ||||
|  *  \brief Board specific LED driver header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_LEDs_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_LEDs | ||||
|  *  \defgroup Group_LEDs_MICROPENDOUS_REV2 MICROPENDOUS_REV2 | ||||
|  *  \brief Board specific LED driver header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_LEDs_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_LEDs | ||||
|  *  \defgroup Group_LEDs_MICROPENDOUS_32U2 MICROPENDOUS_32U2 | ||||
|  *  \brief Board specific LED driver header for the Micropendous-32U2. | ||||
|  * | ||||
|  *  Board specific LED driver header for the Micropendous 32U2 (https://code.google.com/p/micropendous/wiki/Micropendous_32U2). | ||||
|  * | ||||
|  *  <b>BOARD_MICROPENDOUS_32U2</b>: | ||||
|  *  <table> | ||||
|  *    <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>Green</td><td>General Indicator</td><td>High</td><td>PORTD.6</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  <b>Other Revisions</b>: | ||||
|  *  <table> | ||||
|  *    <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>Green</td><td>General Indicator</td><td>High</td><td>PORTB.1</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  @{ | ||||
|  */ | ||||
|  | ||||
| #ifndef __LEDS_MICROPENDOUS_H__ | ||||
| #define __LEDS_MICROPENDOUS_H__ | ||||
|  | ||||
| 	/* Includes: */ | ||||
| 		#include "../../../../Common/Common.h" | ||||
|  | ||||
| 	/* Enable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			extern "C" { | ||||
| 		#endif | ||||
|  | ||||
| 	/* Preprocessor Checks: */ | ||||
| 		#if !defined(__INCLUDE_FROM_LEDS_H) | ||||
| 			#error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead. | ||||
| 		#endif | ||||
|  | ||||
| 	/* Private Interface - For use in library only: */ | ||||
| 	#if !defined(__DOXYGEN__) | ||||
| 		#if (BOARD == BOARD_MICROPENDOUS_32U2) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 6) | ||||
| 			#define _BOARD_LED_PORTLETTER           D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_32U4) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 6) | ||||
| 			#define _BOARD_LED_PORTLETTER           D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV1) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 1) | ||||
| 			#define _BOARD_LED_PORTLETTER           B | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV2) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 1) | ||||
| 			#define _BOARD_LED_PORTLETTER           B | ||||
| 		#else | ||||
| 			#define _BOARD_LED1_MASK                (1 << 1) | ||||
| 			#define _BOARD_LED_PORTLETTER           B | ||||
| 			#warning The currently selected Micropendous board does not have an LED. | ||||
| 			#warning Use PB1, cathode to GND with resistor: PB1---/\R/\---|LED>---GND | ||||
| 		#endif | ||||
|  | ||||
| 		#define _BOARD_LED_CONCAT2(Reg, Letter)     Reg ## Letter | ||||
| 		#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 | ||||
|  | ||||
| 	/* Public Interface - May be used in end-application: */ | ||||
| 		/* Macros: */ | ||||
| 			/** LED mask for the first LED on the board. */ | ||||
| 			#define LEDS_LED1        _BOARD_LED1_MASK | ||||
|  | ||||
| 			/** LED mask for all the LEDs on the board. */ | ||||
| 			#define LEDS_ALL_LEDS    LEDS_LED1 | ||||
|  | ||||
| 			/** LED mask for the none of the board LEDs. */ | ||||
| 			#define LEDS_NO_LEDS     0 | ||||
|  | ||||
| 		/* Inline Functions: */ | ||||
| 		#if !defined(__DOXYGEN__) | ||||
| 			static inline void LEDs_Init(void) | ||||
| 			{ | ||||
| 				_BOARD_LED_DDR  |=  LEDS_ALL_LEDS; | ||||
| 				_BOARD_LED_PORT &= ~LEDS_ALL_LEDS; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_Disable(void) | ||||
| 			{ | ||||
| 				_BOARD_LED_DDR  &= ~LEDS_ALL_LEDS; | ||||
| 				_BOARD_LED_PORT &= ~LEDS_ALL_LEDS; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT |= LEDMask; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT &= ~LEDMask; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT = ((_BOARD_LED_PORT & ~LEDS_ALL_LEDS) | LEDMask); | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, | ||||
| 			                                   const uint8_t ActiveMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT = ((_BOARD_LED_PORT & ~LEDMask) | ActiveMask); | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PIN  = LEDMask; | ||||
| 			} | ||||
|  | ||||
| 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT; | ||||
| 			static inline uint8_t LEDs_GetLEDs(void) | ||||
| 			{ | ||||
| 				return (_BOARD_LED_PORT & LEDS_ALL_LEDS); | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| 	/* Disable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| /** @} */ | ||||
|  | ||||
| /* | ||||
|              LUFA Library | ||||
|      Copyright (C) Dean Camera, 2013. | ||||
|  | ||||
|   dean [at] fourwalledcubicle [dot] com | ||||
|            www.lufa-lib.org | ||||
| */ | ||||
|  | ||||
| /* | ||||
|   Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com) | ||||
|  | ||||
|   Permission to use, copy, modify, distribute, and sell this | ||||
|   software and its documentation for any purpose is hereby granted | ||||
|   without fee, provided that the above copyright notice appear in | ||||
|   all copies and that both that the copyright notice and this | ||||
|   permission notice and warranty disclaimer appear in supporting | ||||
|   documentation, and that the name of the author not be used in | ||||
|   advertising or publicity pertaining to distribution of the | ||||
|   software without specific, written prior permission. | ||||
|  | ||||
|   The author disclaims all warranties with regard to this | ||||
|   software, including all implied warranties of merchantability | ||||
|   and fitness.  In no event shall the author be liable for any | ||||
|   special, indirect or consequential damages or any damages | ||||
|   whatsoever resulting from loss of use, data or profits, whether | ||||
|   in an action of contract, negligence or other tortious action, | ||||
|   arising out of or in connection with the use or performance of | ||||
|   this software. | ||||
| */ | ||||
|  | ||||
| /** \file | ||||
|  *  \brief Board specific LED driver header for the Micropendous series boards. | ||||
|  *  \copydetails Group_LEDs_MICROPENDOUS_32U2 | ||||
|  * | ||||
|  *  \note This file should not be included directly. It is automatically included as needed by the LEDs driver | ||||
|  *        dispatch header located in LUFA/Drivers/Board/LEDs.h. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_LEDs | ||||
|  *  \defgroup Group_LEDs_MICROPENDOUS_REV1 MICROPENDOUS_REV1 | ||||
|  *  \brief Board specific LED driver header for the Micropendous Arduino-like Revision 1 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_LEDs_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_LEDs | ||||
|  *  \defgroup Group_LEDs_MICROPENDOUS_REV2 MICROPENDOUS_REV2 | ||||
|  *  \brief Board specific LED driver header for the Micropendous Arduino-like Revision 2 (https://code.google.com/p/micropendous/wiki/Micropendous). | ||||
|  * | ||||
|  *  See \ref Group_LEDs_MICROPENDOUS_32U2 for more details. | ||||
|  */ | ||||
|  | ||||
| /** \ingroup Group_LEDs | ||||
|  *  \defgroup Group_LEDs_MICROPENDOUS_32U2 MICROPENDOUS_32U2 | ||||
|  *  \brief Board specific LED driver header for the Micropendous-32U2. | ||||
|  * | ||||
|  *  Board specific LED driver header for the Micropendous 32U2 (https://code.google.com/p/micropendous/wiki/Micropendous_32U2). | ||||
|  * | ||||
|  *  <b>BOARD_MICROPENDOUS_32U2</b>: | ||||
|  *  <table> | ||||
|  *    <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>Green</td><td>General Indicator</td><td>High</td><td>PORTD.6</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  <b>Other Revisions</b>: | ||||
|  *  <table> | ||||
|  *    <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>Green</td><td>General Indicator</td><td>High</td><td>PORTB.1</td></tr> | ||||
|  *  </table> | ||||
|  * | ||||
|  *  @{ | ||||
|  */ | ||||
|  | ||||
| #ifndef __LEDS_MICROPENDOUS_H__ | ||||
| #define __LEDS_MICROPENDOUS_H__ | ||||
|  | ||||
| 	/* Includes: */ | ||||
| 		#include "../../../../Common/Common.h" | ||||
|  | ||||
| 	/* Enable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			extern "C" { | ||||
| 		#endif | ||||
|  | ||||
| 	/* Preprocessor Checks: */ | ||||
| 		#if !defined(__INCLUDE_FROM_LEDS_H) | ||||
| 			#error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead. | ||||
| 		#endif | ||||
|  | ||||
| 	/* Private Interface - For use in library only: */ | ||||
| 	#if !defined(__DOXYGEN__) | ||||
| 		#if (BOARD == BOARD_MICROPENDOUS_32U2) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 6) | ||||
| 			#define _BOARD_LED_PORTLETTER           D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_32U4) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 6) | ||||
| 			#define _BOARD_LED_PORTLETTER           D | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV1) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 1) | ||||
| 			#define _BOARD_LED_PORTLETTER           B | ||||
| 		#elif (BOARD == BOARD_MICROPENDOUS_REV2) | ||||
| 			#define _BOARD_LED1_MASK                (1 << 1) | ||||
| 			#define _BOARD_LED_PORTLETTER           B | ||||
| 		#else | ||||
| 			#define _BOARD_LED1_MASK                (1 << 1) | ||||
| 			#define _BOARD_LED_PORTLETTER           B | ||||
| 			#warning The currently selected Micropendous board does not have an LED. | ||||
| 			#warning Use PB1, cathode to GND with resistor: PB1---/\R/\---|LED>---GND | ||||
| 		#endif | ||||
|  | ||||
| 		#define _BOARD_LED_CONCAT2(Reg, Letter)     Reg ## Letter | ||||
| 		#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 | ||||
|  | ||||
| 	/* Public Interface - May be used in end-application: */ | ||||
| 		/* Macros: */ | ||||
| 			/** LED mask for the first LED on the board. */ | ||||
| 			#define LEDS_LED1        _BOARD_LED1_MASK | ||||
|  | ||||
| 			/** LED mask for all the LEDs on the board. */ | ||||
| 			#define LEDS_ALL_LEDS    LEDS_LED1 | ||||
|  | ||||
| 			/** LED mask for the none of the board LEDs. */ | ||||
| 			#define LEDS_NO_LEDS     0 | ||||
|  | ||||
| 		/* Inline Functions: */ | ||||
| 		#if !defined(__DOXYGEN__) | ||||
| 			static inline void LEDs_Init(void) | ||||
| 			{ | ||||
| 				_BOARD_LED_DDR  |=  LEDS_ALL_LEDS; | ||||
| 				_BOARD_LED_PORT &= ~LEDS_ALL_LEDS; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_Disable(void) | ||||
| 			{ | ||||
| 				_BOARD_LED_DDR  &= ~LEDS_ALL_LEDS; | ||||
| 				_BOARD_LED_PORT &= ~LEDS_ALL_LEDS; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT |= LEDMask; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT &= ~LEDMask; | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT = ((_BOARD_LED_PORT & ~LEDS_ALL_LEDS) | LEDMask); | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, | ||||
| 			                                   const uint8_t ActiveMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PORT = ((_BOARD_LED_PORT & ~LEDMask) | ActiveMask); | ||||
| 			} | ||||
|  | ||||
| 			static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) | ||||
| 			{ | ||||
| 				_BOARD_LED_PIN  = LEDMask; | ||||
| 			} | ||||
|  | ||||
| 			static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT; | ||||
| 			static inline uint8_t LEDs_GetLEDs(void) | ||||
| 			{ | ||||
| 				return (_BOARD_LED_PORT & LEDS_ALL_LEDS); | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| 	/* Disable C linkage for C++ Compilers: */ | ||||
| 		#if defined(__cplusplus) | ||||
| 			} | ||||
| 		#endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| /** @} */ | ||||
|  | ||||
|   | ||||
| @@ -139,7 +139,7 @@ | ||||
| 		       (BOARD == BOARD_MICROPENDOUS_1)    || (BOARD == BOARD_MICROPENDOUS_2) || \ | ||||
| 		       (BOARD == BOARD_MICROPENDOUS_3)    || (BOARD == BOARD_MICROPENDOUS_4) || \ | ||||
| 		       (BOARD == BOARD_MICROPENDOUS_REV1) || (BOARD == BOARD_MICROPENDOUS_REV2) || \ | ||||
| 		       (BOARD == BOARD_MICROPENDOUS_DIP)) | ||||
| 		       (BOARD == BOARD_MICROPENDOUS_DIP)  || (BOARD == BOARD_MICROPENDOUS_32U4) ) | ||||
| 			#include "AVR8/MICROPENDOUS/Buttons.h" | ||||
| 		#elif (BOARD == BOARD_B1_XPLAINED) | ||||
| 			#include "XMEGA/B1_XPLAINED/Buttons.h" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user