Changeset - 4ff060c076ab
[Not reviewed]
default
0 2 0
Hasan Yavuz Ă–ZDERYA - 11 years ago 2015-03-16 18:23:05
hy@ozderya.net
addData function implemented properly to show all acquired data
2 files changed with 28 insertions and 7 deletions:
0 comments (0 inline, 0 general)
mainwindow.cpp
Show inline comments
 
@@ -227,7 +227,7 @@ void MainWindow::onDataReady()
 
                samples.replace(i, (this->*readSample)());
 
                i++;
 
            }
 
            addData(samples[0]);
 
            addData(samples);
 
        }
 
    }
 
}
 
@@ -254,14 +254,35 @@ void MainWindow::onPortError(QSerialPort
 

	
 
}
 

	
 
void MainWindow::addData(double data)
 
void MainWindow::addData(QVector<double> data)
 
{
 
    // shift data array and place new data at the end
 
    for (int i = 0; i < dataArray.size()-1; i++)
 
    int offset = numOfSamples - data.size();
 

	
 
    if (offset < 0)
 
    {
 
        for (int i = 0; i < numOfSamples; i++)
 
        {
 
            dataArray[i] = data[i - offset];
 
        }
 
    }
 
    else if (offset == 0)
 
    {
 
        dataArray[i] = dataArray[i+1];
 
        dataArray = data;
 
    }
 
    dataArray.last() = data;
 
    else
 
    {
 
        // shift old samples
 
        int shift = data.size();
 
        for (int i = 0; i < offset; i++)
 
        {
 
            dataArray[i] = dataArray[i + shift];
 
        }
 
        // place new samples
 
        for (int i = 0; i < data.size(); i++)
 
        {
 
            dataArray[offset + i] = data[i];
 
        }
 
    }
 

	
 
    // update plot
 
    curve.setSamples(dataX, dataArray);
mainwindow.h
Show inline comments
 
@@ -40,7 +40,7 @@ private:
 
    QwtPlotCurve curve;
 
    QVector<double> dataArray;
 
    QVector<double> dataX;
 
    void addData(double data);
 
    void addData(QVector<double> data);
 

	
 
    NumberFormat numberFormat;
 
    unsigned int sampleSize; // number of bytes in the selected number format
0 comments (0 inline, 0 general)