X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/f1b6ddb7107fd9534cc6a8d6ab2d46f349d9cdb7..2b43a6d7df6221b979f08326c02eb1cfdd077c49:/LUFA/Common/Common.h?ds=sidebyside diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h index 35c739a3a..082f4d5e7 100644 --- a/LUFA/Common/Common.h +++ b/LUFA/Common/Common.h @@ -18,7 +18,7 @@ advertising or publicity pertaining to distribution of the software without specific, written prior permission. - The author disclaim all warranties with regard to this + 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 @@ -28,6 +28,13 @@ this software. */ +/** \dir + * \brief Common library header files. + * + * This folder contains header files which are common to all parts of the LUFA library. They may be used freely in + * user applications. + */ + /** \file * \brief Common library convenience headers, macros and functions. * @@ -61,16 +68,16 @@ #include #include - #if defined(USE_LUFA_CONFIG_HEADER) - #include "LUFAConfig.h" - #endif - #include "Architectures.h" #include "BoardTypes.h" #include "ArchitectureSpecific.h" #include "CompilerSpecific.h" #include "Attributes.h" + #if defined(USE_LUFA_CONFIG_HEADER) + #include "LUFAConfig.h" + #endif + /* Enable C linkage for C++ Compilers: */ #if defined(__cplusplus) extern "C" { @@ -89,6 +96,7 @@ #include #include #include + #include #include typedef uint8_t uint_reg_t; @@ -101,9 +109,10 @@ #include "Endianness.h" #elif (ARCH == ARCH_UC3) #include + #include // === TODO: Find abstracted way to handle these === - #define PROGMEM const + #define PROGMEM #define pgm_read_byte(x) *x #define memcmp_P(...) memcmp(__VA_ARGS__) #define memcpy_P(...) memcpy(__VA_ARGS__) @@ -119,6 +128,7 @@ #include #include #include + #include #include typedef uint8_t uint_reg_t; @@ -151,8 +161,8 @@ /** Convenience macro to determine the larger of two values. * - * \note This macro should only be used with operands that do not have side effects from being evaluated - * multiple times. + * \attention This macro should only be used with operands that do not have side effects from being evaluated + * multiple times. * * \param[in] x First value to compare * \param[in] y First value to compare @@ -165,8 +175,8 @@ /** Convenience macro to determine the smaller of two values. * - * \note This macro should only be used with operands that do not have side effects from being evaluated - * multiple times. + * \attention This macro should only be used with operands that do not have side effects from being evaluated + * multiple times. * * \param[in] x First value to compare * \param[in] y First value to compare @@ -210,7 +220,7 @@ * * \ingroup Group_GlobalInt * - * \param Name Unique name of the interrupt service routine. + * \param[in] Name Unique name of the interrupt service routine. */ #define ISR(Name, ...) void Name (void) __attribute__((__interrupt__)) __VA_ARGS__; void Name (void) #endif @@ -256,7 +266,7 @@ while (Milliseconds--) { __builtin_mtsr(AVR32_COUNT, 0); - while (__builtin_mfsr(AVR32_COUNT) < (F_CPU / 1000)); + while ((uint32_t)__builtin_mfsr(AVR32_COUNT) < (F_CPU / 1000)); } #elif (ARCH == ARCH_XMEGA) if (GCC_IS_COMPILE_CONST(Milliseconds)) @@ -291,8 +301,6 @@ #elif (ARCH == ARCH_XMEGA) return SREG; #endif - - GCC_MEMORY_BARRIER(); } /** Sets the global interrupt enable state of the microcontroller to the mask passed into the function.