The Arduino programming environment is bootstrapped with many preprocessor definition contant values, specifically created to make the programming experience more accessible to non-programmers. Some specific examples include:
- Analog Pins:
A0
: 14A1
: 15
- Modes:
INPUT
: 0OUTPUT
: 1
- Values:
HIGH
: 1LOW
: 0
Please post thoughts in the comments. I'd like to flesh out the lists below before making a decision.
- Easily memorized by users
- Increased accessibility for those familiar with Arduino IDE programming
- Potentially reduce user code errors (?)
- Global scope pollution
One way to get around this (when using Firmata and J5) would be to add an option to declare the board (or architecture) used when creating a new instance of
five.Board
. That would also eliminate the need for the configuration query and analog mapping requests and would ultimately allow for a much faster startup time upon connecting to the board. If the board type is not specified, then fall back on the configuration query and analog mapping request.