Changeset - f38042ba2eb0
[Not reviewed]
default
0 2 0
Hasan Yavuz Ă–ZDERYA - 11 years ago 2015-03-07 10:30:22
hy@ozderya.net
experimental plotting enabled
2 files changed with 35 insertions and 1 deletions:
0 comments (0 inline, 0 general)
mainwindow.cpp
Show inline comments
 
@@ -35,6 +35,17 @@ MainWindow::MainWindow(QWidget *parent) 
 
    loadPortList();
 
    loadBaudRateList();
 
    ui->cbBaudRate->setCurrentIndex(ui->cbBaudRate->findText("9600"));
 

	
 
	// init plot
 
	numOfSamples = 100;
 
	dataArray.resize(numOfSamples);
 
	dataX.resize(numOfSamples);
 
	for (int i = 0; i < dataX.size(); i++)
 
	{
 
		dataX[i] = i;
 
	}
 
	curve.setSamples(dataX, dataArray);
 
	curve.attach(ui->plot);
 
}
 

	
 
MainWindow::~MainWindow()
 
@@ -146,5 +157,20 @@ void MainWindow::onPortToggled(bool open
 

	
 
void MainWindow::onDataReady()
 
{
 
    qDebug() << "Data: " << serialPort.readAll().toHex();
 
	QByteArray data = serialPort.readAll();
 
	addData((unsigned char)(data[0]));
 
}
 

	
 
void MainWindow::addData(double data)
 
{
 
	// shift data array and place new data at the end
 
	for (int i = 0; i < dataArray.size()-1; i++)
 
	{
 
		dataArray[i] = dataArray[i+1];
 
	}
 
	dataArray.last() = data;
 

	
 
	// update plot
 
	curve.setSamples(dataX, dataArray);
 
	ui->plot->replot();
 
}
mainwindow.h
Show inline comments
 
@@ -3,7 +3,9 @@
 

	
 
#include <QMainWindow>
 
#include <QString>
 
#include <QVector>
 
#include <QSerialPort>
 
#include <qwt_plot_curve.h>
 

	
 
namespace Ui {
 
class MainWindow;
 
@@ -21,6 +23,12 @@ private:
 
    Ui::MainWindow *ui;
 
    QSerialPort serialPort;
 

	
 
    unsigned int numOfSamples;
 
    QwtPlotCurve curve;
 
    QVector<double> dataArray;
 
    QVector<double> dataX;
 
    void addData(double data);
 

	
 
private slots:
 
    void loadPortList();
 
    void loadBaudRateList();
0 comments (0 inline, 0 general)