*/
/*
- Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2012 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
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.
*
#include <avr/pgmspace.h>
#include <avr/eeprom.h>
#include <avr/boot.h>
+ #include <math.h>
#include <util/delay.h>
typedef uint8_t uint_reg_t;
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <avr/eeprom.h>
+ #include <math.h>
#include <util/delay.h>
typedef uint8_t uint_reg_t;
/** 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
/** 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
*
* \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
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))
#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.