From e587ce5b3ca58b821dde8b6838e7662907a14d9d Mon Sep 17 00:00:00 2001 From: Jeff Hoefs Date: Sun, 20 Dec 2015 18:16:33 -0800 Subject: [PATCH] make VERSION_BLINK_PIN optional --- Firmata.cpp | 22 +++++++--------------- Firmata.h | 2 +- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/Firmata.cpp b/Firmata.cpp index d56e86da..37a273dc 100644 --- a/Firmata.cpp +++ b/Firmata.cpp @@ -93,12 +93,14 @@ void FirmataClass::printVersion(void) void FirmataClass::blinkVersion(void) { +#if defined(VERSION_BLINK_PIN) // flash the pin with the protocol version pinMode(VERSION_BLINK_PIN, OUTPUT); - strobeBlinkPin(FIRMATA_MAJOR_VERSION, 40, 210); + strobeBlinkPin(VERSION_BLINK_PIN, FIRMATA_MAJOR_VERSION, 40, 210); delay(250); - strobeBlinkPin(FIRMATA_MINOR_VERSION, 40, 210); + strobeBlinkPin(VERSION_BLINK_PIN, FIRMATA_MINOR_VERSION, 40, 210); delay(125); +#endif } void FirmataClass::printFirmwareVersion(void) @@ -161,7 +163,6 @@ int FirmataClass::available(void) return FirmataStream->available(); } - void FirmataClass::processSysexMessage(void) { switch (storedInputData[0]) { //first byte in buffer is command @@ -330,7 +331,6 @@ void FirmataClass::sendDigitalPort(byte portNumber, int portData) FirmataStream->write(portData >> 7); // Tx bits 7-13 } - void FirmataClass::sendSysex(byte command, byte bytec, byte *bytev) { byte i; @@ -347,7 +347,6 @@ void FirmataClass::sendString(byte command, const char *string) sendSysex(command, strlen(string), (byte *)string); } - // send a string as the protocol string type void FirmataClass::sendString(const char *string) { @@ -360,7 +359,6 @@ void FirmataClass::write(byte c) FirmataStream->write(c); } - // Internal Actions///////////////////////////////////////////////////////////// // generic callbacks @@ -428,8 +426,6 @@ void FirmataClass::detach(byte command) //* Private Methods //****************************************************************************** - - // resets the system state upon a SYSTEM_RESET message from the host software void FirmataClass::systemReset(void) { @@ -450,22 +446,18 @@ void FirmataClass::systemReset(void) (*currentSystemResetCallback)(); } - - // ============================================================================= // used for flashing the pin for the version number -void FirmataClass::strobeBlinkPin(int count, int onInterval, int offInterval) +void FirmataClass::strobeBlinkPin(byte pin, int count, int onInterval, int offInterval) { byte i; - pinMode(VERSION_BLINK_PIN, OUTPUT); for (i = 0; i < count; i++) { delay(offInterval); - digitalWrite(VERSION_BLINK_PIN, HIGH); + digitalWrite(pin, HIGH); delay(onInterval); - digitalWrite(VERSION_BLINK_PIN, LOW); + digitalWrite(pin, LOW); } } - // make one instance for the user to use FirmataClass Firmata; diff --git a/Firmata.h b/Firmata.h index 7fe6d63f..a724a1f2 100644 --- a/Firmata.h +++ b/Firmata.h @@ -173,7 +173,7 @@ class FirmataClass /* private methods ------------------------------ */ void processSysexMessage(void); void systemReset(void); - void strobeBlinkPin(int count, int onInterval, int offInterval); + void strobeBlinkPin(byte pin, int count, int onInterval, int offInterval); }; extern FirmataClass Firmata;