Skip to content

Commit ffe0691

Browse files
committed
Prevent ArduinoOutput double initialization
1 parent f4a5578 commit ffe0691

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

Plugins/ArduinoOutput/ArduinoOutput.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ void ArduinoOutput::setDevice (String devName)
6262

6363
Time timer;
6464

65-
arduino.connect (devName.toStdString());
65+
/* Avoid connecting to the same device twice */
66+
if (devName != deviceString)
67+
arduino.connect (devName.toStdString());
6668

6769
LOGC("Connected");
6870

@@ -86,21 +88,20 @@ void ArduinoOutput::setDevice (String devName)
8688
LOGC("Updating...");
8789
arduino.update();
8890

89-
std::cout << "firmata v" << arduino.getMajorFirmwareVersion()
90-
<< "." << arduino.getMinorFirmwareVersion() << std::endl;
91+
LOGC("firmata v", arduino.getMajorFirmwareVersion(), ".", arduino.getMinorFirmwareVersion());
9192
}
9293

9394
if (arduino.isInitialized())
9495
{
95-
std::cout << "Arduino is initialized." << std::endl;
96+
LOGC("Arduino is initialized.");
9697
arduino.sendDigitalPinMode ((int) getParameter("output_pin")->getValue(), ARD_OUTPUT);
9798
CoreServices::sendStatusMessage (("Arduino initialized at " + devName));
9899
deviceSelected = true;
99100
deviceString = devName;
100101
}
101102
else
102103
{
103-
std::cout << "Arduino is NOT initialized." << std::endl;
104+
LOGC("Arduino is NOT initialized.");
104105
CoreServices::sendStatusMessage (("Arduino could not be initialized at " + devName));
105106
}
106107
}

0 commit comments

Comments
 (0)