summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2015-10-23 13:54:25 +0200
committerKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-10-25 19:24:36 +0000
commit8e162b633e80082c8def85550758d9871402745a (patch)
treee61375da863fca0ea8f727dc3a7fb875ad78e149
parentf01665a0519a85ca42811a8368de9a3194428039 (diff)
Display Modbus server errors in slave example
Change-Id: I08d37d98b916f54986233e1a197b289464afbd32 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
-rw-r--r--examples/serialbus/modbus/slave/mainwindow.cpp10
-rw-r--r--examples/serialbus/modbus/slave/mainwindow.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/examples/serialbus/modbus/slave/mainwindow.cpp b/examples/serialbus/modbus/slave/mainwindow.cpp
index 7511706..6f29d9c 100644
--- a/examples/serialbus/modbus/slave/mainwindow.cpp
+++ b/examples/serialbus/modbus/slave/mainwindow.cpp
@@ -93,9 +93,19 @@ void MainWindow::on_connectType_currentIndexChanged(int index)
} else {
connect(modbusDevice, &QModbusClient::stateChanged,
this, &MainWindow::onStateChanged);
+ connect(modbusDevice, &QModbusServer::errorOccurred,
+ this, &MainWindow::handleDeviceError);
}
}
+void MainWindow::handleDeviceError(QModbusDevice::ModbusError newError)
+{
+ if (newError == QModbusDevice::NoError || !modbusDevice)
+ return;
+
+ ui->errorLabel->setText(modbusDevice->errorString());
+}
+
void MainWindow::on_connectButton_clicked()
{
bool intendToConnect = (modbusDevice->state() == QModbusDevice::UnconnectedState);
diff --git a/examples/serialbus/modbus/slave/mainwindow.h b/examples/serialbus/modbus/slave/mainwindow.h
index ca5c06f..c3802bd 100644
--- a/examples/serialbus/modbus/slave/mainwindow.h
+++ b/examples/serialbus/modbus/slave/mainwindow.h
@@ -76,6 +76,8 @@ private Q_SLOTS:
void on_connectType_currentIndexChanged(int);
+ void handleDeviceError(QModbusDevice::ModbusError newError);
+
private:
void setupDeviceData();
void setupWidgetContainers();