@@ -81,16 +81,19 @@ void FirmataClass::begin(void)
8181}
8282
8383/* *
84- * Initialize the default Serial transport and override the default baud.
84+ * Initialize the default Serial transport and override the default baud.
85+ * Sends the protocol version to the host application followed by the firmware version and name.
86+ * blinkVersion is also called. To skip the call to blinkVersion, call Firmata.disableBlinkVersion()
87+ * before calling Firmata.begin(baud).
8588 * @param speed The baud to use. 57600 baud is the default value.
8689 */
8790void FirmataClass::begin (long speed)
8891{
8992 Serial.begin (speed);
9093 FirmataStream = &Serial;
9194 blinkVersion ();
92- printVersion ();
93- printFirmwareVersion ();
95+ printVersion (); // send the protocol version
96+ printFirmwareVersion (); // send the firmware name and version
9497}
9598
9699/* *
@@ -130,6 +133,7 @@ void FirmataClass::printVersion(void)
130133void FirmataClass::blinkVersion (void )
131134{
132135#if defined(VERSION_BLINK_PIN)
136+ if (blinkVersionDisabled) return ;
133137 // flash the pin with the protocol version
134138 pinMode (VERSION_BLINK_PIN, OUTPUT);
135139 strobeBlinkPin (VERSION_BLINK_PIN, FIRMATA_FIRMWARE_MAJOR_VERSION, 40 , 210 );
@@ -139,6 +143,16 @@ void FirmataClass::blinkVersion(void)
139143#endif
140144}
141145
146+ /* *
147+ * Provides a means to disable the version blink sequence on the onboard LED, trimming startup
148+ * time by a couple of seconds.
149+ * Call this before Firmata.begin(). It only applies when using the default Serial transport.
150+ */
151+ void FirmataClass::disableBlinkVersion ()
152+ {
153+ blinkVersionDisabled = true ;
154+ }
155+
142156/* *
143157 * Sends the firmware name and version to the Firmata host application. The major and minor version
144158 * numbers are the first 2 bytes in the message. The following bytes are the characters of the
0 commit comments