PixelKey
NeoPixel USB Key
Loading...
Searching...
No Matches
Misc helpers

Macros

#define BKPT()
 Debug controlled breakpoint, only set if DEBUG=1.
 
#define ARG_NOT_USED(arg)   ((void)(arg))
 Signifies an argument is not used.
 

Compiler and Linker Macros

#define DO_PRAGMA(x)   _Pragma (#x)
 Wrapper for pragmas.
 
#define WARNING_SAVE()   DO_PRAGMA(GCC diagnostic push)
 Push the current diagnostic state.
 
#define WARNING_DISABLE(warn)   DO_PRAGMA(GCC diagnostic ignored "-W" warn)
 Disable a warning.
 
#define WARNING_RESTORE()   DO_PRAGMA(GCC diagnostic pop)
 Restore the diagnostic state from the last WARNING_SAVE().
 
#define ATTRIBUTE(x)   __attribute__ (( x ))
 Wraps around a GCC attribute.
 
#define ALIGN(bytes)   ATTRIBUTE(aligned (bytes))
 Specifies an alignment attribute.
 
#define OPTIMIZE_O0   ATTRIBUTE(optimize("O0"))
 Function optimization disabled.
 
#define OPTIMIZE_O1   ATTRIBUTE(optimize("O1"))
 Function optimization level 1.
 
#define OPTIMIZE_O2   ATTRIBUTE(optimize("O2"))
 Function optimization level 2.
 
#define OPTIMIZE_O3   ATTRIBUTE(optimize("O3"))
 Function optimization level 3.
 
#define OPTIMIZE_OG   ATTRIBUTE(optimize("Og"))
 Function optimization for debug.
 
#define OPTIMIZE_OS   ATTRIBUTE(optimize("Os"))
 Function optimization for size.
 
#define OPTIMIZE_OFAST   ATTRIBUTE(optimize("Ofast"))
 Function optimization for speed.
 

Bit-flag macros

#define FLAG(i)   ( 1 << i)
 Create a generic int flag.
 
#define FLAG8(i)   ( UINT8_C(1) << i)
 Create an uint8 flag.
 
#define FLAG16(i)   (UINT16_C(1) << i)
 Create an uint16 flag.
 
#define FLAG32(i)   (UINT32_C(1) << i)
 Create an uint32 flag.
 
#define FLAG64(i)   (UINT64_C(1) << i)
 Create an uint64 flag.
 

Simple Math Macros

#define max(a, b)   ((a) > (b) ? (a) : (b))
 Selects the maximum between two values.
 
#define min(a, b)   ((a) <= (b) ? (a) : (b))
 Selects the minimum between two values.
 
#define sign(a)   ((a) >= 0 ? 1 : -1)
 Gets the sign of a value, zero is considered positive.
 

Detailed Description