summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2016-10-23 19:54:14 +0200
committerAndré Hartmann <aha_1980@gmx.de>2016-11-01 13:14:17 +0000
commit572ed4e1598f9f4f064bc1fd843b500c98e2efa7 (patch)
tree80312c92e173451b14301d800b7fbdab76ba28a3 /src/tools
parentb20254cfae16b5578810f20fa4a42b17a8c05deb (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.cpp5
-rw-r--r--src/tools/canbusutil/canbusutil.h1
-rw-r--r--src/tools/canbusutil/main.cpp5
-rw-r--r--src/tools/canbusutil/readtask.cpp16
-rw-r--r--src/tools/canbusutil/readtask.h2
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