Standard Firmata 2.0 included in Arduino-0015 sends digital pin message twice:
void outputPort(byte portNumber, byte portValue)
{
portValue = portValue &~ portStatus[portNumber];
if(previousPINs[portNumber] != portValue) {
Firmata.sendDigitalPort(portNumber, portValue);
previousPINs[portNumber] = portValue;
Firmata.sendDigitalPort(portNumber, portValue);
}
}
Why ? I didn't find anything like that in the protocol specification. Is it a bug ?
I have exactly the same question.
I cannot understand why standardfirmata executes sendDigitalPort twice.
And what seems even more odd, although sendDigitalPort is executed twice, it is only received once in Flash.