Changeset - a6e52579723b
[Not reviewed]
default
0 3 0
Hasan Yavuz Ă–ZDERYA - 11 years ago 2015-03-07 17:43:49
hy@ozderya.net
added numberOfSamples selection
3 files changed with 96 insertions and 6 deletions:
0 comments (0 inline, 0 general)
mainwindow.cpp
Show inline comments
 
@@ -32,6 +32,9 @@ MainWindow::MainWindow(QWidget *parent) 
 
    QObject::connect(&(this->serialPort), &QSerialPort::readyRead,
 
                     this, &MainWindow::onDataReady);
 

	
 
    QObject::connect(ui->spNumOfSamples, SELECT<int>::OVERLOAD_OF(&QSpinBox::valueChanged),
 
                     this, &MainWindow::onNumOfSamplesChanged);
 

	
 
    // init port signals
 
    QObject::connect(&(this->serialPort), SIGNAL(error(QSerialPort::SerialPortError)),
 
                     this, SLOT(onPortError(QSerialPort::SerialPortError)));
 
@@ -41,7 +44,7 @@ MainWindow::MainWindow(QWidget *parent) 
 
    ui->cbBaudRate->setCurrentIndex(ui->cbBaudRate->findText("9600"));
 

	
 
    // init plot
 
    numOfSamples = 100;
 
    numOfSamples = ui->spNumOfSamples->value();
 
    dataArray.resize(numOfSamples);
 
    dataX.resize(numOfSamples);
 
    for (int i = 0; i < dataX.size(); i++)
 
@@ -200,3 +203,25 @@ void MainWindow::addData(double data)
 
    curve.setSamples(dataX, dataArray);
 
    ui->plot->replot();
 
}
 

	
 
void MainWindow::onNumOfSamplesChanged(int value)
 
{
 
    int oldNum = this->numOfSamples;
 
    numOfSamples = value;
 

	
 
    // resize data arrays
 
    if (numOfSamples < oldNum)
 
    {
 
        dataX.resize(numOfSamples);
 
        dataArray.remove(0, oldNum - numOfSamples);
 
    }
 
    else if(numOfSamples > oldNum)
 
    {
 
        dataX.resize(numOfSamples);
 
        for (int i = oldNum; i < numOfSamples; i++)
 
        {
 
            dataX[i] = i;
 
            dataArray.prepend(0);
 
        }
 
    }
 
}
mainwindow.h
Show inline comments
 
@@ -40,6 +40,8 @@ private slots:
 
    void onDataReady();
 
    void onPortError(QSerialPort::SerialPortError error);
 

	
 
    void onNumOfSamplesChanged(int value);
 

	
 
signals:
 
    void portToggled(bool open);
 
};
mainwindow.ui
Show inline comments
 
@@ -6,7 +6,7 @@
 
   <rect>
 
    <x>0</x>
 
    <y>0</y>
 
    <width>652</width>
 
    <width>653</width>
 
    <height>534</height>
 
   </rect>
 
  </property>
 
@@ -326,10 +326,73 @@
 
        </item>
 
       </layout>
 
      </widget>
 
      <widget class="QWidget" name="tab_2">
 
      <widget class="QWidget" name="tabPlot">
 
       <attribute name="title">
 
        <string>Tab 2</string>
 
        <string>Plot</string>
 
       </attribute>
 
       <layout class="QHBoxLayout" name="horizontalLayout_4">
 
        <item>
 
         <spacer name="horizontalSpacer_2">
 
          <property name="orientation">
 
           <enum>Qt::Horizontal</enum>
 
          </property>
 
          <property name="sizeHint" stdset="0">
 
           <size>
 
            <width>370</width>
 
            <height>20</height>
 
           </size>
 
          </property>
 
         </spacer>
 
        </item>
 
        <item>
 
         <widget class="Line" name="line">
 
          <property name="orientation">
 
           <enum>Qt::Vertical</enum>
 
          </property>
 
         </widget>
 
        </item>
 
        <item>
 
         <layout class="QVBoxLayout" name="verticalLayout_8">
 
          <item>
 
           <layout class="QHBoxLayout" name="horizontalLayout_3">
 
            <item>
 
             <widget class="QLabel" name="label_3">
 
              <property name="text">
 
               <string>Number Of Samples:</string>
 
              </property>
 
             </widget>
 
            </item>
 
            <item>
 
             <widget class="QSpinBox" name="spNumOfSamples">
 
              <property name="minimum">
 
               <number>2</number>
 
              </property>
 
              <property name="maximum">
 
               <number>10000</number>
 
              </property>
 
              <property name="value">
 
               <number>1000</number>
 
              </property>
 
             </widget>
 
            </item>
 
           </layout>
 
          </item>
 
          <item>
 
           <spacer name="verticalSpacer_3">
 
            <property name="orientation">
 
             <enum>Qt::Vertical</enum>
 
            </property>
 
            <property name="sizeHint" stdset="0">
 
             <size>
 
              <width>20</width>
 
              <height>40</height>
 
             </size>
 
            </property>
 
           </spacer>
 
          </item>
 
         </layout>
 
        </item>
 
       </layout>
 
      </widget>
 
     </widget>
 
    </item>
 
@@ -340,8 +403,8 @@
 
    <rect>
 
     <x>0</x>
 
     <y>0</y>
 
     <width>652</width>
 
     <height>20</height>
 
     <width>653</width>
 
     <height>23</height>
 
    </rect>
 
   </property>
 
   <widget class="QMenu" name="menuFile">
0 comments (0 inline, 0 general)