# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2015-07-27 16:07:51 # Node ID b3c780eb9edecefe94a2532fd17672020c8d6720 # Parent 34ecc16e17175c89c3f8e055180db101f55e544a remove code duplication in onDataReadyASCII diff --git a/mainwindow.cpp b/mainwindow.cpp --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -303,37 +303,29 @@ void MainWindow::onDataReadyASCII() line = line.trimmed(); auto separatedValues = line.split(','); + int numReadChannels; // effective number of channels to read if (separatedValues.length() >= int(numOfChannels)) { - for (unsigned int ci = 0; ci < numOfChannels; ci++) - { - bool ok; - double channelSample = separatedValues[ci].toDouble(&ok); - if (ok) - { - addChannelData(ci, DataArray({channelSample})); - } - else - { - qWarning() << "Data parsing error for channel: " << ci; - } - } + numReadChannels = numOfChannels; } else // there is missing channel data { + numReadChannels = separatedValues.length(); qWarning() << "Incoming data is missing data for some channels!"; - for (int ci = 0; ci < separatedValues.length(); ci++) + } + + // parse read line + for (int ci = 0; ci < numReadChannels; ci++) + { + bool ok; + double channelSample = separatedValues[ci].toDouble(&ok); + if (ok) { - bool ok; - double channelSample = separatedValues[ci].toDouble(&ok); - if (ok) - { - addChannelData(ci, DataArray({channelSample})); - } - else - { - qWarning() << "Data parsing error for channel: " << ci; - } + addChannelData(ci, DataArray({channelSample})); + } + else + { + qWarning() << "Data parsing error for channel: " << ci; } } }