diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2016-10-23 19:54:14 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2016-11-01 13:14:17 +0000 |
commit | 572ed4e1598f9f4f064bc1fd843b500c98e2efa7 (patch) | |
tree | 80312c92e173451b14301d800b7fbdab76ba28a3 /src/tools | |
parent | b20254cfae16b5578810f20fa4a42b17a8c05deb (diff) |
canbusutil: Add optional timestamp display
Change-Id: I0e56f0a45bc9136827b30ce7aa927d6cad209ee4
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/canbusutil/canbusutil.cpp | 5 | ||||
-rw-r--r-- | src/tools/canbusutil/canbusutil.h | 1 | ||||
-rw-r--r-- | src/tools/canbusutil/main.cpp | 5 | ||||
-rw-r--r-- | src/tools/canbusutil/readtask.cpp | 16 | ||||
-rw-r--r-- | src/tools/canbusutil/readtask.h | 2 |
5 files changed, 27 insertions, 2 deletions
diff --git a/src/tools/canbusutil/canbusutil.cpp b/src/tools/canbusutil/canbusutil.cpp index 80ea5e3..72c9283 100644 --- a/src/tools/canbusutil/canbusutil.cpp +++ b/src/tools/canbusutil/canbusutil.cpp @@ -45,6 +45,11 @@ CanBusUtil::CanBusUtil(QTextStream &output, QCoreApplication &app, QObject *pare { } +void CanBusUtil::setShowTimeStamp(bool showTimeStamp) +{ + m_readTask->setShowTimeStamp(showTimeStamp); +} + bool CanBusUtil::start(const QString &pluginName, const QString &deviceName, const QString &data) { if (!m_canBus) { diff --git a/src/tools/canbusutil/canbusutil.h b/src/tools/canbusutil/canbusutil.h index 8737c30..0700ca0 100644 --- a/src/tools/canbusutil/canbusutil.h +++ b/src/tools/canbusutil/canbusutil.h @@ -50,6 +50,7 @@ class CanBusUtil : public QObject public: explicit CanBusUtil(QTextStream &output, QCoreApplication &app, QObject *parent = nullptr); + void setShowTimeStamp(bool showTimeStamp); bool start(const QString &pluginName, const QString &deviceName, const QString &data = QString()); void printPlugins(); diff --git a/src/tools/canbusutil/main.cpp b/src/tools/canbusutil/main.cpp index d75a16a..c760c31 100644 --- a/src/tools/canbusutil/main.cpp +++ b/src/tools/canbusutil/main.cpp @@ -90,6 +90,10 @@ int main(int argc, char *argv[]) CanBusUtil::tr("List all available plugins.")); parser.addOption(listOption); + const QCommandLineOption showTimeStampOption({"t", "timestamp"}, + CanBusUtil::tr("Show timestamp for each received message.")); + parser.addOption(showTimeStampOption); + parser.process(app); if (parser.isSet(listOption)) { @@ -107,6 +111,7 @@ int main(int argc, char *argv[]) return 1; } + util.setShowTimeStamp(parser.isSet(showTimeStampOption)); if (!util.start(args[0], args[1], data)) return -1; diff --git a/src/tools/canbusutil/readtask.cpp b/src/tools/canbusutil/readtask.cpp index 6c09e02..c1ac231 100644 --- a/src/tools/canbusutil/readtask.cpp +++ b/src/tools/canbusutil/readtask.cpp @@ -42,6 +42,11 @@ ReadTask::ReadTask(QTextStream &output, QObject *parent) : QObject(parent), output(output) { } +void ReadTask::setShowTimeStamp(bool showTimeStamp) +{ + m_showTimeStamp = showTimeStamp; +} + void ReadTask::checkMessages() { auto canDevice = qobject_cast<QCanBusDevice *>(QObject::sender()); if (canDevice == nullptr) { @@ -52,10 +57,17 @@ void ReadTask::checkMessages() { const QCanBusFrame frame = canDevice->readFrame(); QString view; + + if (m_showTimeStamp) { + view = QString::fromLatin1("%1.%2 ") + .arg(frame.timeStamp().seconds(), 10, 10, QLatin1Char(' ')) + .arg(frame.timeStamp().microSeconds() / 100, 4, 10, QLatin1Char('0')); + } + if (frame.frameType() == QCanBusFrame::ErrorFrame) - view = canDevice->interpretErrorFrame(frame); + view += canDevice->interpretErrorFrame(frame); else - view = frame.toString(); + view += frame.toString(); output << view << endl; } diff --git a/src/tools/canbusutil/readtask.h b/src/tools/canbusutil/readtask.h index a59f218..7f7613b 100644 --- a/src/tools/canbusutil/readtask.h +++ b/src/tools/canbusutil/readtask.h @@ -46,6 +46,7 @@ class ReadTask : public QObject Q_OBJECT public: explicit ReadTask(QTextStream &output, QObject *parent = nullptr); + void setShowTimeStamp(bool showStamp); signals: void sigTermSignal(); @@ -56,6 +57,7 @@ public slots: private: QTextStream &output; + bool m_showTimeStamp = false; }; #endif // READTASK_H |