BlinkenArea - GitList
Repositories
Blog
Wiki
flaneth
Code
Commits
Branches
Tags
Search
Tree:
d48e86e
Branches
Tags
master
flaneth
firmware
macros.h
header fix
Stefan Schuermans
commited
d48e86e
at 2012-05-02 18:39:39
macros.h
Blame
History
Raw
/* flaneth - flash and ethernet Copyright (C) 2007-2012 Stefan Schuermans <stefan@schuermans.info> Copyleft: GNU public license V2 - http://www.gnu.org/copyleft/gpl.html a BlinkenArea project - http://www.blinkenarea.org/ */ #ifndef INC_macros #define INC_macros // minimum and maximum #define min( a, b ) ((a) < (b) ? (a) : (b)) #define max( a, b ) ((a) > (b) ? (a) : (b)) // number of entries in an array #define count( array ) (sizeof( (array) ) / sizeof( (array)[0] )) // waiting #define nop( ) { __asm__ __volatile__ ("nop"::); } // bit manipulation #define bit_set( var, bit ) ((var) |= (1 << (bit))) #define bit_clear( var, bit ) ((var) &= ~(1 << (bit))) #define bit_toggle( var, bit ) ((var) ^= (1 << (bit))) #define is_bit_clear( var, bit ) (!(((var) >> (bit)) & 1)) #define is_bit_set( var, bit ) (((var) >> (bit)) & 1) #endif // #ifndef INC_macros