Hallo BirgerT,
Echt eine gute Idee die Bilddefinitionen sichtbar in den Quellcode zu legen
Boolean Konstanten sind nur leider kein ISO-C, sondern eine GNU-Extension...
Daher hier mein Vorschlag, ISO-C99 kompatibel:
#define _XCAT2(a,b) a##b
#define _XBMBOOL_ 0U
#define _XBMBOOLX 1U
#define _XBMVAL(bit, pos) (_XCAT2(_XBMBOOL,bit)<<pos)
#define _XBM8(a,b,c,d,e,f,g,h) ((uint8_t)\
(_XBMVAL(a,0)|_XBMVAL(b,1)|_XBMVAL(c,2)|_XBMVAL(d,3)\
|_XBMVAL(e,4)|_XBMVAL(f,5)|_XBMVAL(g,6)|_XBMVAL(h,7)))
#define XBM16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) \
_XBM8(a,b,c,d,e,f,g,h), _XBM8(i,j,k,l,m,n,o,p)