Changeset - cd91cca62e03
[Not reviewed]
new-reader
0 5 0
Hasan Yavuz Ă–ZDERYA - 9 years ago 2016-05-29 16:58:21
hy@ozderya.net
added debug mode (extra log messages) for framed reader
5 files changed with 32 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/framedreader.cpp
Show inline comments
 
@@ -36,6 +36,7 @@ FramedReader::FramedReader(QIODevice* de
 
    syncWord = _settingsWidget.syncWord();
 
    checksumEnabled = _settingsWidget.isChecksumEnabled();
 
    onNumberFormatChanged(_settingsWidget.numberFormat());
 
    debugModeEnabled = _settingsWidget.isDebugModeEnabled();
 
    checkSettings();
 

	
 
    // init setting connections
 
@@ -54,6 +55,9 @@ FramedReader::FramedReader(QIODevice* de
 
    connect(&_settingsWidget, &FramedReaderSettings::checksumChanged,
 
            [this](bool enabled){checksumEnabled = enabled; reset();});
 

	
 
    connect(&_settingsWidget, &FramedReaderSettings::debugModeChanged,
 
            [this](bool enabled){debugModeEnabled = enabled;});
 

	
 
    // init reader state
 
    reset();
 
}
 
@@ -235,6 +239,7 @@ void FramedReader::onDataReady()
 
            }
 
            else
 
            {
 
                if (debugModeEnabled) qDebug() << "Frame size:" << frameSize;
 
                gotSize = true;
 
            }
 
        }
src/framedreader.h
Show inline comments
 
@@ -57,6 +57,7 @@ private:
 
    bool checksumEnabled;
 
    bool hasSizeByte;
 
    unsigned frameSize;
 
    bool debugModeEnabled;
 

	
 
    /// Checks the validity of syncWord and frameSize then shows an
 
    /// error message. Also updates `settingsInvalid`. If settings are
 
@@ -79,7 +80,6 @@ private:
 
    // `data` contains i th channels data
 
    void addChannelData(unsigned int channel, double* data, unsigned size);
 

	
 

	
 
private slots:
 
    void onDataReady();
 

	
src/framedreadersettings.cpp
Show inline comments
 
@@ -35,6 +35,9 @@ FramedReaderSettings::FramedReaderSettin
 
                emit checksumChanged(enabled);
 
            });
 

	
 
    connect(ui->cbDebugMode, &QCheckBox::toggled,
 
            this, &FramedReaderSettings::debugModeChanged);
 

	
 
    connect(ui->rbFixedSize, &QRadioButton::toggled,
 
            ui->spSize, &QWidget::setEnabled);
 

	
 
@@ -135,3 +138,8 @@ bool FramedReaderSettings::isChecksumEna
 
{
 
    return ui->cbChecksum->isChecked();
 
}
 

	
 
bool FramedReaderSettings::isDebugModeEnabled()
 
{
 
    return ui->cbDebugMode->isChecked();
 
}
src/framedreadersettings.h
Show inline comments
 
@@ -46,6 +46,7 @@ public:
 
    QByteArray syncWord();
 
    unsigned frameSize(); /// If frame bye is enabled `0` is returned
 
    bool isChecksumEnabled();
 
    bool isDebugModeEnabled();
 

	
 
signals:
 
    /// If sync word is invalid (empty or 1 nibble missing at the end)
 
@@ -56,6 +57,7 @@ signals:
 
    void checksumChanged(bool);
 
    void numOfChannelsChanged(unsigned);
 
    void numberFormatChanged(NumberFormat);
 
    void debugModeChanged(bool);
 

	
 
private:
 
    Ui::FramedReaderSettings *ui;
src/framedreadersettings.ui
Show inline comments
 
@@ -75,6 +75,22 @@
 
    <string>All is well.</string>
 
   </property>
 
  </widget>
 
  <widget class="QCheckBox" name="cbDebugMode">
 
   <property name="geometry">
 
    <rect>
 
     <x>360</x>
 
     <y>160</y>
 
     <width>111</width>
 
     <height>22</height>
 
    </rect>
 
   </property>
 
   <property name="toolTip">
 
    <string>Enable printing of extra log messages that can be useful for debugging</string>
 
   </property>
 
   <property name="text">
 
    <string>Debug Mode</string>
 
   </property>
 
  </widget>
 
  <widget class="QGroupBox" name="groupBox">
 
   <property name="geometry">
 
    <rect>
0 comments (0 inline, 0 general)