On 06/06/2011 11:26 PM, Hans-Christoph Steiner wrote:
See the functions in the Arduino reference:
As far as I understand, those functions and their pin modes are not directly related to Firmata's pin modes.
The function pinMode(), for example, has only two modes, INPUT and OUTPUT. On the other hand the Firmata message that sets the pin mode can set it to input, output, pwm or servo (I may be forgetting some), where pwm and servo don't correspond to modes of the pinMode() function but rather to calling other functions (or a series of function calls to set up a pin to work in a given mode).
As far (again) as I understand the Standard Firmata is a firmware with a given behavior, which is something more (or at a higher level) than a 1-to-1 map to given functions of Arduino's programming language, and my question was where is that behavior documented in some detail.
I see an arduino with a Standard Firmata firmware as a machine that has a given (expected) behavior, and I wonder where I am supposed to find detailed documentation of that behavior. Or I see it as a machine implementing an API, and then I wonder where that API is documented. If all the available documentation is at http://www.firmata.org/wiki/Protocol then I guess there's still some work to be done.
If the Firmata protocol was just some sort of wrapper around Arduino's functions (that is, each given Firmata message corresponded to a given Arduino function and had the same parameters) then i would be able to find all the details in the documentation of Arduino functions, but that is not the case....
Maybe the documentation I'm looking for simply doesn't exist (yet) because the information i would expect it to contain is probably rather intuitive/obvious for someone who already knows all the internals of the Arduino. I simply thought that couldn't be the case, because there are so many implementation of "the other side of the API" (i.e. software libraries talking TO the arduino that is running Firmata) that I thought it would be impossible for anybody to have written any of them if the arduino's behavior (or the API) wasn't thoroughly documented.
Thanks m.