| LUFA Library 140302 |

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Modules | Macros | Typedefs | Functions
Common Utility Headers - LUFA/Drivers/Common/Common.h

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

## Modules
| Architecture Specific Definitions
| Architecture specific definitions relating to specific processor architectures.
| Board Types
| Supported pre-made board hardware defines.
| Compiler Specific Definitions
| Compiler specific definitions for code optimization and correctness.
| Endianness and Byte Ordering
| Convenience macros and functions relating to byte (re-)ordering.
| Function/Variable Attributes
| Special function/variable attribute macros.
| Global Interrupt Macros
| Convenience macros for the management of interrupts globally within the device.
| Hardware Architectures
| Supported library architecture defines.

## Macros
#define | CONCAT(x, y) x ## y
#define | CONCAT_EXPANDED(x, y) CONCAT(x, y)
#define | MACROE while (0)
#define | MACROS do
#define | MAX(x, y) (((x) > (y)) ? (x) : (y))
#define | MIN(x, y) (((x) < (y)) ? (x) : (y))
#define | STRINGIFY(x) #x
#define | STRINGIFY_EXPANDED(x) STRINGIFY(x)
#define | USE_LUFA_CONFIG_HEADER

## 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 (uint16_t Milliseconds) ATTR_ALWAYS_INLINE

## Detailed Description

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

## Macro Definition Documentation

#define CONCAT | ( |  | x,
|  |  | y
| ) |  | x ## y

Concatenates the given input into a single token, via the C Preprocessor.

Parameters

  [in] | x | First item to concatenate.
  [in] | y | Second item to concatenate.

Returns
  Concatenated version of the input.

#define CONCAT_EXPANDED | ( |  | x,
|  |  | y
| ) |  | CONCAT(x, y)

CConcatenates the given input into a single token after macro expansion, via the C Preprocessor.

Parameters

  [in] | x | First item to concatenate.
  [in] | y | Second item to concatenate.

Returns
  Concatenated version of the expanded input.

#define MACROE while (0)

Macro for encasing other multi-statement macros. This should be used along with a preceding closing brace at the end of any multi-statement macro, so that the macros contents as a whole are treated as a discrete block and not as a list of separate statements which may cause problems when used as a block (such as inline `if` statements).

#define MACROS do

Macro for encasing other multi-statement macros. This should be used along with an opening brace before the start of any multi-statement macro, so that the macros contents as a whole are treated as a discrete block and not as a list of separate statements which may cause problems when used as a block (such as inline `if` statements).

#define MAX | ( |  | x,
|  |  | y
| ) |  | (((x) > (y)) ? (x) : (y))

Convenience macro to determine the larger of two values.

Attention
  This macro should only be used with operands that do not have side effects from being evaluated multiple times.

Parameters

  [in] | x | First value to compare
  [in] | y | First value to compare

Returns
  The larger of the two input parameters

#define MIN | ( |  | x,
|  |  | y
| ) |  | (((x) < (y)) ? (x) : (y))

Convenience macro to determine the smaller of two values.

Attention
  This macro should only be used with operands that do not have side effects from being evaluated multiple times.

Parameters

  [in] | x | First value to compare.
  [in] | y | First value to compare.

Returns
  The smaller of the two input parameters

#define STRINGIFY | ( |  | x | ) | #x

Converts the given input into a string, via the C Preprocessor. This macro puts literal quotation marks around the input, converting the source into a string literal.

Parameters

  [in] | x | Input to convert into a string literal.

Returns
  String version of the input.

#define STRINGIFY_EXPANDED | ( |  | x | ) | STRINGIFY(x)

Converts the given input into a string after macro expansion, via the C Preprocessor. This macro puts literal quotation marks around the expanded input, converting the source into a string literal.

Parameters

  [in] | x | Input to expand and convert into a string literal.

Returns
  String version of the expanded input.

#define USE_LUFA_CONFIG_HEADER

## Typedef Documentation

typedef MACHINE_REG_t uint_reg_t

Type define for an unsigned integer the same width as the selected architecture's machine register. This is distinct from the non-specific standard int data type, whose width is machine dependant but which may not reflect the actual machine register width on some targets (e.g. AVR8).

## Function Documentation

static uint8_t BitReverse | ( | uint8_t | Byte | ) |
| inline static

Function to reverse the individual bits in a byte - i.e. bit 7 is moved to bit 0, bit 6 to bit 1, etc.

Parameters

  [in] | Byte | Byte of data whose bits are to be reversed.

Returns
  Input data with the individual bits reversed (mirrored).

static void Delay_MS | ( | uint16_t | Milliseconds | ) |
| inline static

Function to perform a blocking delay for a specified number of milliseconds. The actual delay will be at a minimum the specified number of milliseconds, however due to loop overhead and internal calculations may be slightly higher.

Parameters

  [in] | Milliseconds | Number of milliseconds to delay