0x1. Does the Arduino API intend to expose that fact? Does it guarantee that this will always be that way?
In other words, what is the intended purpose of these manifest constants:
Is this purely cosmetic mnemonics added as an alternative for
false/true, for those who like
Or is this an attempt to abstract/isolate the user's source code from the actual representation of
HIGH(e.g. in case the representation changes in the future)?
The underlying reason for this question is to figure out whether code like
digitalWrite(some_pin, true); digitalWrite(some_other_pin, !digitalRead(some_other_pin));
is a good programming practice. (If
HIGH are there to abstract the user's code form their actual values then code like that is definitely a bad programming practice.)