LUFA Library 110528
Common.h File Reference

Common library convenience headers, macros and functions. More...

#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <stddef.h>
#include "Architectures.h"
#include "Attributes.h"
#include "BoardTypes.h"

Defines

#define MACROS   do
#define MACROE   while (0)
#define MAX(x, y)   ((x > y) ? x : y)
#define MIN(x, y)   ((x < y) ? x : y)
#define JTAG_DEBUG_POINT()   __asm__ __volatile__ ("NOP" ::)
#define JTAG_DEBUG_BREAK()   __asm__ __volatile__ ("BREAK" ::)
#define JTAG_DEBUG_ASSERT(Condition)   MACROS{ if (!(Condition)) { JTAG_DEBUG_BREAK(); } }MACROE
#define STDOUT_ASSERT(Condition)
#define pgm_read_ptr(Address)   (void*)pgm_read_word(Address)
#define GCC_FORCE_POINTER_ACCESS(StructPtr)   __asm__ __volatile__("" : "=b" (StructPtr) : "0" (StructPtr))
#define GCC_MEMORY_BARRIER()   __asm__ __volatile__("" ::: "memory");
#define GCC_IS_COMPILE_CONST(x)   __builtin_constant_p(x)
#define ISR(Name,...)   void Name (void) __attribute__((__interrupt__)); void Name (void)

Typedefs

typedef MACHINE_REG_t uint_reg_t

Functions

static uint8_t BitReverse (uint8_t Byte) ATTR_WARN_UNUSED_RESULT ATTR_CONST
static void Delay_MS (uint8_t Milliseconds) ATTR_ALWAYS_INLINE
static uint_reg_t GetGlobalInterruptMask (void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT
static void SetGlobalInterruptMask (const uint_reg_t GlobalIntState) ATTR_ALWAYS_INLINE
static void GlobalInterruptEnable (void) ATTR_ALWAYS_INLINE
static void GlobalInterruptDisable (void) ATTR_ALWAYS_INLINE

Detailed Description

Common utility headers containing macros, functions, enums and types which are common to all aspects of the library.