# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2016-05-29 16:58:21 # Node ID cd91cca62e030458d823588a769f579037b703af # Parent 2d132fcd0f25969b69d1b1811c6e589d02f25d86 added debug mode (extra log messages) for framed reader diff --git a/src/framedreader.cpp b/src/framedreader.cpp --- a/src/framedreader.cpp +++ b/src/framedreader.cpp @@ -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; } } diff --git a/src/framedreader.h b/src/framedreader.h --- a/src/framedreader.h +++ b/src/framedreader.h @@ -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(); diff --git a/src/framedreadersettings.cpp b/src/framedreadersettings.cpp --- a/src/framedreadersettings.cpp +++ b/src/framedreadersettings.cpp @@ -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(); +} diff --git a/src/framedreadersettings.h b/src/framedreadersettings.h --- a/src/framedreadersettings.h +++ b/src/framedreadersettings.h @@ -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; diff --git a/src/framedreadersettings.ui b/src/framedreadersettings.ui --- a/src/framedreadersettings.ui +++ b/src/framedreadersettings.ui @@ -75,6 +75,22 @@ All is well. + + + + 360 + 160 + 111 + 22 + + + + Enable printing of extra log messages that can be useful for debugging + + + Debug Mode + +