I can make sense of this:
#define ADD( f1, f2 ) ( (f1) + (f2) )
And I guess you could write something like
#define TWO (1+1)
to avoid precedence issues.
But why do I often see something like that:
#define TCS34725_ADDRESS (0x29)
Is there any point in having those parenthesis around a single value?