diff options
Diffstat (limited to 'LUFA/Common')
-rw-r--r-- | LUFA/Common/Attributes.h | 33 | ||||
-rw-r--r-- | LUFA/Common/BoardTypes.h | 33 | ||||
-rw-r--r-- | LUFA/Common/Common.h | 41 |
3 files changed, 55 insertions, 52 deletions
diff --git a/LUFA/Common/Attributes.h b/LUFA/Common/Attributes.h index bcac84c7b..ac0b11f03 100644 --- a/LUFA/Common/Attributes.h +++ b/LUFA/Common/Attributes.h @@ -1,7 +1,7 @@ /* LUFA Library Copyright (C) Dean Camera, 2010. - + dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ @@ -9,13 +9,13 @@ /* Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + 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 + 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 + 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 disclaim all warranties with regard to this @@ -32,7 +32,7 @@ * \brief AVR-GCC special function/variable attribute macros. * * This file contains macros for applying GCC specific attributes to functions and variables to control various - * optimiser and code generation features of the compiler. Attributes may be placed in the function prototype + * optimiser and code generation features of the compiler. Attributes may be placed in the function prototype * or variable declaration in any order, and multiple attributes can be specified for a single item via a space * separated list. * @@ -42,7 +42,7 @@ * \note Do not include this file directly, rather include the Common.h header file instead to gain this file's * functionality. */ - + /** \ingroup Group_Common * @defgroup Group_GCCAttr Function/Variable Attributes * @@ -67,7 +67,7 @@ * return code may be omitted by the compiler in the resulting binary. */ #define ATTR_NO_RETURN __attribute__ ((noreturn)) - + /** Indicates that the function returns a value which should not be ignored by the user code. When * applied, any ignored return value from calling the function will produce a compiler warning. */ @@ -84,7 +84,7 @@ * is responsible for maintaining stack and register integrity. */ #define ATTR_NAKED __attribute__ ((naked)) - + /** Prevents the compiler from considering a specified function for inlining. When applied, the given * function will not be inlined under any circumstances. */ @@ -94,25 +94,25 @@ * inlined under all circumstances. */ #define ATTR_ALWAYS_INLINE __attribute__ ((always_inline)) - + /** Indicates that the specified function is pure, in that it has no side-effects other than global * or parameter variable access. */ #define ATTR_PURE __attribute__ ((pure)) - + /** Indicates that the specified function is constant, in that it has no side effects other than * parameter access. */ #define ATTR_CONST __attribute__ ((const)) - + /** Marks a given function as deprecated, which produces a warning if the function is called. */ #define ATTR_DEPRECATED __attribute__ ((deprecated)) - + /** Marks a function as a weak reference, which can be overridden by other functions with an * identical name (in which case the weak reference is discarded at link time). */ #define ATTR_WEAK __attribute__ ((weak)) - + /** Forces the compiler to not automatically zero the given global variable on startup, so that the * current RAM contents is retained. Under most conditions this value will be random due to the * behaviour of volatile memory once power is removed, but may be used in some specific circumstances, @@ -127,7 +127,7 @@ * \param[in] SectionIndex Initialization section number where the function should be placed. */ #define ATTR_INIT_SECTION(SectionIndex) __attribute__ ((naked, section (".init" #SectionIndex ))) - + /** Marks a function as an alias for another function. * * \param[in] Func Name of the function which the given function name should alias. @@ -136,3 +136,4 @@ #endif /** @} */ + diff --git a/LUFA/Common/BoardTypes.h b/LUFA/Common/BoardTypes.h index 8f3394e5e..faef82caa 100644 --- a/LUFA/Common/BoardTypes.h +++ b/LUFA/Common/BoardTypes.h @@ -1,7 +1,7 @@ /* LUFA Library Copyright (C) Dean Camera, 2010. - + dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ @@ -9,13 +9,13 @@ /* Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + 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 + 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 + 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 disclaim all warranties with regard to this @@ -46,7 +46,7 @@ * * @{ */ - + #ifndef __BOARDTYPES_H__ #define __BOARDTYPES_H__ @@ -68,7 +68,7 @@ /** Selects the RZUSBSTICK specific board drivers, including the driver for the boards LEDs. */ #define BOARD_RZUSBSTICK 3 - + /** Selects the ATAVRUSBRF01 specific board drivers, including the driver for the board LEDs. */ #define BOARD_ATAVRUSBRF01 4 @@ -81,7 +81,7 @@ /** Selects the BUMBLEB specific board drivers, using the officially recommended peripheral layout. */ #define BOARD_BUMBLEB 6 - + /** Selects the XPLAIN (Revision 2 or newer) specific board drivers, including LED and Dataflash driver. */ #define BOARD_XPLAIN 7 @@ -90,20 +90,20 @@ /** Selects the EVK527 specific board drivers, including Temperature, Button, Dataflash, Joystick and LED drivers. */ #define BOARD_EVK527 9 - + /** Disables board drivers when operation will not be adversely affected (e.g. LEDs) - use of board drivers * such as the Joystick driver, where the removal would adversely affect the code's operation is still disallowed. */ #define BOARD_NONE 10 - + /** Selects the Teensy (all versions) specific board drivers, including the driver for the board LEDs. */ #define BOARD_TEENSY 11 - + /** Selects the USBTINY MKII specific board drivers, including the Button and LEDs drivers. */ #define BOARD_USBTINYMKII 12 - + /** Selects the Benito specific board drivers, including the Button and LEDs drivers. */ #define BOARD_BENITO 13 - + /** Selects the JM-DB-U2 specific board drivers, including the Button and LEDs drivers. */ #define BOARD_JMDBU2 14 @@ -118,13 +118,13 @@ /** Selects the Arduino Uno specific board drivers, including the driver for the board LEDs. */ #define BOARD_UNO 18 - + /** Selects the CUL V3 specific board drivers, including the Button and LEDs drivers. */ #define BOARD_CULV3 19 #if !defined(__DOXYGEN__) #define BOARD_ BOARD_NONE - + #if !defined(BOARD) #define BOARD BOARD_NONE #endif @@ -133,3 +133,4 @@ #endif /** @} */ + diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h index c750e4015..61dfe2952 100644 --- a/LUFA/Common/Common.h +++ b/LUFA/Common/Common.h @@ -1,7 +1,7 @@ /* LUFA Library Copyright (C) Dean Camera, 2010. - + dean [at] fourwalledcubicle [dot] com www.fourwalledcubicle.com */ @@ -9,13 +9,13 @@ /* Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + 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 + 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 + 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 disclaim all warranties with regard to this @@ -34,7 +34,7 @@ * This file contains macros which are common to all library elements, and which may be useful in user code. It * also includes other common headers, such as Atomic.h, Attributes.h and BoardTypes.h. */ - + /** @defgroup Group_Common Common Utility Headers - LUFA/Drivers/Common/Common.h * * Common utility headers containing macros, functions, enums and types which are common to all @@ -47,7 +47,7 @@ * * Macros for debugging use. */ - + /** @defgroup Group_BitManip Endian and Bit Macros * * Functions for swapping endianness and reversing bit orders. @@ -59,7 +59,7 @@ /* Includes: */ #include <stdint.h> #include <stdbool.h> - + #include "Attributes.h" #include "BoardTypes.h" @@ -78,7 +78,7 @@ * a block (such as inline IF statements). */ #define MACROE while (0) - + /** Defines a volatile NOP statement which cannot be optimized out by the compiler, and thus can always * be set as a breakpoint in the resulting code. Useful for debugging purposes, where the optimiser * removes/reorders code to the point where break points cannot reliably be set. @@ -93,7 +93,7 @@ * \ingroup Group_Debugging */ #define JTAG_DEBUG_BREAK() __asm__ volatile ("BREAK" ::) - + /** Macro for testing condition "x" and breaking via JTAG_DEBUG_BREAK() if the condition is false. * * \ingroup Group_Debugging @@ -165,7 +165,7 @@ return Byte; } - + /** Function to reverse the byte ordering of the individual bytes in a 16 bit number. * * \ingroup Group_BitManip @@ -182,13 +182,13 @@ uint16_t Word; uint8_t Bytes[2]; } Data; - + Data.Word = Word; - + Temp = Data.Bytes[0]; Data.Bytes[0] = Data.Bytes[1]; Data.Bytes[1] = Temp; - + return Data.Word; } @@ -208,17 +208,17 @@ uint32_t DWord; uint8_t Bytes[4]; } Data; - + Data.DWord = DWord; - + Temp = Data.Bytes[0]; Data.Bytes[0] = Data.Bytes[3]; Data.Bytes[3] = Temp; - + Temp = Data.Bytes[1]; Data.Bytes[1] = Data.Bytes[2]; Data.Bytes[2] = Temp; - + return Data.DWord; } @@ -235,7 +235,7 @@ uint8_t Bytes) { uint8_t* CurrDataPos = (uint8_t*)Data; - + while (Bytes > 1) { uint8_t Temp = *CurrDataPos; @@ -250,3 +250,4 @@ #endif /** @} */ + |