diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-02-29 03:01:43 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-02-29 03:01:44 +0100 |
commit | 8b1a6de795523156a5a74dd2a544d866a8beeb53 (patch) | |
tree | 6d27cd7b1bc036d3d4af0bfef55e3d5ceb78fcb8 /examples/serialbus/can | |
parent | 6e275b20911fc3e5af2a1b972ec3550235250157 (diff) | |
parent | b63877157c2c9681ced1efbfefe1d2d1debf812e (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Ie5256b216ed3c9d212b3a713c1d46c9275a4d139
Diffstat (limited to 'examples/serialbus/can')
-rw-r--r-- | examples/serialbus/can/mainwindow.cpp | 55 | ||||
-rw-r--r-- | examples/serialbus/can/mainwindow.h | 1 |
2 files changed, 33 insertions, 23 deletions
diff --git a/examples/serialbus/can/mainwindow.cpp b/examples/serialbus/can/mainwindow.cpp index a1c10fe..e8d688b 100644 --- a/examples/serialbus/can/mainwindow.cpp +++ b/examples/serialbus/can/mainwindow.cpp @@ -75,6 +75,8 @@ MainWindow::MainWindow(QWidget *parent) : initActionsConnections(); QTimer::singleShot(50, m_connectDialog, &ConnectDialog::show); + + connect(m_busStatusTimer, &QTimer::timeout, this, &MainWindow::busStatus); } MainWindow::~MainWindow() @@ -177,32 +179,39 @@ void MainWindow::connectDevice() m_status->setText(tr("Plugin: %1, connected to %2") .arg(p.pluginName).arg(p.deviceInterfaceName)); } - } - connect(m_busStatusTimer, &QTimer::timeout, this, [this]() { - switch (m_canDevice->busStatus()) { - case QCanBusDevice::CanBusStatus::Good: - m_ui->busStatus->setText("CAN bus status: Good."); - break; - case QCanBusDevice::CanBusStatus::Warning: - m_ui->busStatus->setText("CAN bus status: Warning."); - break; - case QCanBusDevice::CanBusStatus::Error: - m_ui->busStatus->setText("CAN bus status: Error."); - break; - case QCanBusDevice::CanBusStatus::BusOff: - m_ui->busStatus->setText("CAN bus status: Bus Off."); - break; - default: - m_ui->busStatus->setText("CAN bus status: Unknown."); - break; - } - }); + if (m_canDevice->hasBusStatus()) + m_busStatusTimer->start(2000); + else + m_ui->busStatus->setText(tr("No CAN bus status available.")); + } +} - if (m_canDevice->hasBusStatus()) - m_busStatusTimer->start(2000); - else +void MainWindow::busStatus() +{ + if (!m_canDevice || !m_canDevice->hasBusStatus()) { m_ui->busStatus->setText(tr("No CAN bus status available.")); + m_busStatusTimer->stop(); + return; + } + + switch (m_canDevice->busStatus()) { + case QCanBusDevice::CanBusStatus::Good: + m_ui->busStatus->setText("CAN bus status: Good."); + break; + case QCanBusDevice::CanBusStatus::Warning: + m_ui->busStatus->setText("CAN bus status: Warning."); + break; + case QCanBusDevice::CanBusStatus::Error: + m_ui->busStatus->setText("CAN bus status: Error."); + break; + case QCanBusDevice::CanBusStatus::BusOff: + m_ui->busStatus->setText("CAN bus status: Bus Off."); + break; + default: + m_ui->busStatus->setText("CAN bus status: Unknown."); + break; + } } void MainWindow::disconnectDevice() diff --git a/examples/serialbus/can/mainwindow.h b/examples/serialbus/can/mainwindow.h index 9c3f9ca..2a7bbf0 100644 --- a/examples/serialbus/can/mainwindow.h +++ b/examples/serialbus/can/mainwindow.h @@ -82,6 +82,7 @@ private slots: void sendFrame(const QCanBusFrame &frame) const; void processErrors(QCanBusDevice::CanBusError) const; void connectDevice(); + void busStatus(); void disconnectDevice(); void processFramesWritten(qint64); |