# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2015-04-07 05:00:45 # Node ID bcd6b30d01d1831d9ff77f8a1e81ab3ecaf5a08d # Parent ce43e0348d45abbea01c3c15a5b10687b2200150 implemented skip byte function diff --git a/mainwindow.cpp b/mainwindow.cpp --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -121,6 +121,11 @@ MainWindow::MainWindow(QWidget *parent) QObject::connect(&(this->serialPort), &QSerialPort::readyRead, this, &MainWindow::onDataReady); + // init skip byte button + skipByteRequested = false; + QObject::connect(ui->pbSkipByte, &QPushButton::clicked, + this, &MainWindow::skipByte); + loadPortList(); loadBaudRateList(); ui->cbBaudRate->setCurrentIndex(ui->cbBaudRate->findText("9600")); @@ -314,6 +319,14 @@ void MainWindow::onDataReady() if (!ui->actionPause->isChecked()) { int bytesAvailable = serialPort.bytesAvailable(); + + if (bytesAvailable > 0 && skipByteRequested) + { + serialPort.read(1); + skipByteRequested = false; + bytesAvailable--; + } + if (bytesAvailable < sampleSize) { return; @@ -360,6 +373,11 @@ void MainWindow::onPortError(QSerialPort } +void MainWindow::skipByte() +{ + skipByteRequested = true; +} + void MainWindow::addData(QVector data) { int offset = numOfSamples - data.size(); diff --git a/mainwindow.h b/mainwindow.h --- a/mainwindow.h +++ b/mainwindow.h @@ -73,6 +73,8 @@ private: // note that serialPort should already have enough bytes present template double readSampleAs(); + bool skipByteRequested; + private slots: void loadPortList(); void loadBaudRateList(); @@ -88,6 +90,8 @@ private slots: void onDataReady(); void onPortError(QSerialPort::SerialPortError error); + void skipByte(); + void onNumOfSamplesChanged(int value); void onAutoScaleChecked(bool checked); void onYScaleChanged();