summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-12-12 18:30:35 +0100
committerLiang Qi <liang.qi@qt.io>2016-12-12 18:33:32 +0100
commit55632d600076aa934663598ddb462ae122958685 (patch)
tree19a54c0c8ac4cab1e29e85827d893df817473e9b /examples
parentbd1fb0a6aa2a7522fe2d1b0c21e3523eb75231d5 (diff)
parentbb999860c46757d9afd6c36fdba11ebe96caccc1 (diff)
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts: examples/serialbus/can/mainwindow.cpp Change-Id: I8d821a832bc5bf966230b4f66f0113929b3114dc
Diffstat (limited to 'examples')
-rw-r--r--examples/serialbus/can/mainwindow.cpp31
-rw-r--r--examples/serialbus/can/mainwindow.ui15
2 files changed, 30 insertions, 16 deletions
diff --git a/examples/serialbus/can/mainwindow.cpp b/examples/serialbus/can/mainwindow.cpp
index 135faf1..ac24f43 100644
--- a/examples/serialbus/can/mainwindow.cpp
+++ b/examples/serialbus/can/mainwindow.cpp
@@ -42,15 +42,12 @@
#include "ui_mainwindow.h"
#include "connectdialog.h"
-#include <QCanBusFrame>
#include <QCanBus>
+#include <QCanBusFrame>
#include <QCloseEvent>
+#include <QtDebug>
#include <QTimer>
-#include <QtCore/qbytearray.h>
-#include <QtCore/qvariant.h>
-#include <QtCore/qdebug.h>
-
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
m_ui(new Ui::MainWindow)
@@ -94,6 +91,7 @@ void MainWindow::initActionsConnections()
connect(m_ui->actionDisconnect, &QAction::triggered, this, &MainWindow::disconnectDevice);
connect(m_ui->actionQuit, &QAction::triggered, this, &QWidget::close);
connect(m_ui->actionAboutQt, &QAction::triggered, qApp, &QApplication::aboutQt);
+ connect(m_ui->actionClearLog, &QAction::triggered, m_ui->receivedMessagesEdit, &QTextEdit::clear);
}
void MainWindow::receiveError(QCanBusDevice::CanBusError error) const
@@ -191,19 +189,21 @@ void MainWindow::checkMessages()
if (!m_canDevice)
return;
- const QCanBusFrame frame = m_canDevice->readFrame();
+ while (m_canDevice->framesAvailable()) {
+ const QCanBusFrame frame = m_canDevice->readFrame();
- QString view;
- if (frame.frameType() == QCanBusFrame::ErrorFrame)
- view = m_canDevice->interpretErrorFrame(frame);
- else
- view = frame.toString();
+ QString view;
+ if (frame.frameType() == QCanBusFrame::ErrorFrame)
+ view = m_canDevice->interpretErrorFrame(frame);
+ else
+ view = frame.toString();
- const QString time = QString::fromLatin1("%1.%2 ")
- .arg(frame.timeStamp().seconds(), 10, 10, QLatin1Char(' '))
- .arg(frame.timeStamp().microSeconds() / 100, 4, 10, QLatin1Char('0'));
+ const QString time = QString::fromLatin1("%1.%2 ")
+ .arg(frame.timeStamp().seconds(), 10, 10, QLatin1Char(' '))
+ .arg(frame.timeStamp().microSeconds() / 100, 4, 10, QLatin1Char('0'));
- m_ui->receivedMessagesEdit->append(time + view);
+ m_ui->receivedMessagesEdit->append(time + view);
+ }
}
static QByteArray dataFromHex(const QString &hex)
@@ -231,6 +231,7 @@ void MainWindow::sendMessage() const
frame.setFrameId(id);
frame.setExtendedFrameFormat(m_ui->effBox->checkState());
+ frame.setFlexibleDataRateFormat(m_ui->fdBox->checkState());
if (m_ui->remoteFrame->isChecked())
frame.setFrameType(QCanBusFrame::RemoteRequestFrame);
diff --git a/examples/serialbus/can/mainwindow.ui b/examples/serialbus/can/mainwindow.ui
index 4a3fcf9..38e1157 100644
--- a/examples/serialbus/can/mainwindow.ui
+++ b/examples/serialbus/can/mainwindow.ui
@@ -143,7 +143,7 @@ Otherwise, the standard format with 11 bit idenfier is used.</string>
<enum>QFrame::StyledPanel</enum>
</property>
<property name="text">
- <string>Timestamp CAN-ID DLC Data</string>
+ <string>Timestamp CAN-ID DLC Data</string>
</property>
</widget>
</item>
@@ -190,6 +190,8 @@ Otherwise, the standard format with 11 bit idenfier is used.</string>
<addaction name="actionConnect"/>
<addaction name="actionDisconnect"/>
<addaction name="separator"/>
+ <addaction name="actionClearLog"/>
+ <addaction name="separator"/>
<addaction name="actionQuit"/>
</widget>
<widget class="QMenu" name="menuHelp">
@@ -210,6 +212,8 @@ Otherwise, the standard format with 11 bit idenfier is used.</string>
</attribute>
<addaction name="actionConnect"/>
<addaction name="actionDisconnect"/>
+ <addaction name="separator"/>
+ <addaction name="actionClearLog"/>
</widget>
<widget class="QStatusBar" name="statusBar"/>
<action name="actionConnect">
@@ -244,6 +248,15 @@ Otherwise, the standard format with 11 bit idenfier is used.</string>
<string>&amp;About Qt</string>
</property>
</action>
+ <action name="actionClearLog">
+ <property name="icon">
+ <iconset resource="can.qrc">
+ <normaloff>:/images/clear.png</normaloff>:/images/clear.png</iconset>
+ </property>
+ <property name="text">
+ <string>Clear &amp;Log</string>
+ </property>
+ </action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources>