Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-serialbus for openSUSE:Factory checked in at 2022-11-21 15:29:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-serialbus (Old) and /work/SRC/openSUSE:Factory/.qt6-serialbus.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-serialbus" Mon Nov 21 15:29:13 2022 rev:10 rq:1036921 version:6.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-serialbus/qt6-serialbus.changes 2022-10-01 17:43:43.321731841 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-serialbus.new.1597/qt6-serialbus.changes 2022-11-21 15:29:27.088604399 +0100 @@ -1,0 +2,6 @@ +Tue Nov 15 11:53:22 UTC 2022 - Christophe Giboudeaux <[email protected]> + +- Update to 6.4.1: + * https://www.qt.io/blog/qt-6.4.1-released + +------------------------------------------------------------------- Old: ---- qtserialbus-everywhere-src-6.4.0.tar.xz New: ---- qtserialbus-everywhere-src-6.4.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-serialbus.spec ++++++ --- /var/tmp/diff_new_pack.IWnLaA/_old 2022-11-21 15:29:27.792607973 +0100 +++ /var/tmp/diff_new_pack.IWnLaA/_new 2022-11-21 15:29:27.796607994 +0100 @@ -16,7 +16,7 @@ # -%define real_version 6.4.0 +%define real_version 6.4.1 %define short_version 6.4 %define tar_name qtserialbus-everywhere-src %define tar_suffix %{nil} @@ -27,7 +27,7 @@ %endif # Name: qt6-serialbus -Version: 6.4.0 +Version: 6.4.1 Release: 0 Summary: Qt 6 SerialBus library License: LGPL-3.0-only OR GPL-2.0-or-later ++++++ qtserialbus-everywhere-src-6.4.0.tar.xz -> qtserialbus-everywhere-src-6.4.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/.cmake.conf new/qtserialbus-everywhere-src-6.4.1/.cmake.conf --- old/qtserialbus-everywhere-src-6.4.0/.cmake.conf 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/.cmake.conf 2022-11-08 16:58:52.000000000 +0100 @@ -1,2 +1,2 @@ -set(QT_REPO_MODULE_VERSION "6.4.0") +set(QT_REPO_MODULE_VERSION "6.4.1") set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/.tag new/qtserialbus-everywhere-src-6.4.1/.tag --- old/qtserialbus-everywhere-src-6.4.0/.tag 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/.tag 2022-11-08 16:58:52.000000000 +0100 @@ -1 +1 @@ -d3e0018bb503d39653ac5eb80a0a4bd589babf43 +265bd1ef4b473ff72c72ec800a605ebc15f2389e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/dependencies.yaml new/qtserialbus-everywhere-src-6.4.1/dependencies.yaml --- old/qtserialbus-everywhere-src-6.4.0/dependencies.yaml 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/dependencies.yaml 2022-11-08 16:58:52.000000000 +0100 @@ -1,7 +1,7 @@ dependencies: ../qtbase: - ref: bc7e63385522c2020168cf367a8b3b1e6c6bc65e + ref: 905755304a474c942346774d930b92e3665c1bab required: true ../qtserialport: - ref: a75018b65431c9a1337880fe610aeded38d9100f + ref: 03f9b5fab536a11b7f200e4592fe67dd96363570 required: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/connectdialog.cpp new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/connectdialog.cpp --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/connectdialog.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/connectdialog.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -10,7 +10,7 @@ ConnectDialog::ConnectDialog(QWidget *parent) : QDialog(parent), m_ui(new Ui::ConnectDialog), - m_settings(new QSettings("Qt", "CAN example")) + m_settings(new QSettings("QtProject", "CAN example")) { m_ui->setupUi(this); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/main.cpp new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/main.cpp --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/main.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/main.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -6,9 +6,11 @@ #include <QApplication> #include <QLoggingCategory> +using namespace Qt::StringLiterals; + int main(int argc, char *argv[]) { - QLoggingCategory::setFilterRules(QStringLiteral("qt.canbus* = true")); + QLoggingCategory::setFilterRules(u"qt.canbus* = true"_s); QApplication a(argc, argv); MainWindow w; w.show(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/mainwindow.cpp new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/mainwindow.cpp --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/mainwindow.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/mainwindow.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -15,6 +15,8 @@ #include <QLabel> #include <QTimer> +using namespace Qt::StringLiterals; + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_ui(new Ui::MainWindow), @@ -72,7 +74,7 @@ connect(m_ui->actionAboutQt, &QAction::triggered, qApp, &QApplication::aboutQt); connect(m_ui->actionClearLog, &QAction::triggered, m_model, &ReceivedFramesModel::clear); connect(m_ui->actionPluginDocumentation, &QAction::triggered, this, []() { - QDesktopServices::openUrl(QUrl("http://doc.qt.io/qt-5/qtcanbus-backends.html#can-bus-plugins")); + QDesktopServices::openUrl(QUrl("http://doc.qt.io/qt-6/qtcanbus-backends.html#can-bus-plugins")); }); connect(m_ui->actionDeviceInformation, &QAction::triggered, this, [this]() { auto info = m_canDevice->deviceInfo(); @@ -110,7 +112,7 @@ &errorString)); if (!m_canDevice) { m_status->setText(tr("Error creating device '%1', reason: '%2'") - .arg(p.pluginName).arg(errorString)); + .arg(p.pluginName, errorString)); return; } @@ -147,16 +149,16 @@ m_canDevice->configurationParameter(QCanBusDevice::DataBitRateKey); if (isCanFd && dataBitRate.isValid()) { m_status->setText(tr("Plugin: %1, connected to %2 at %3 / %4 kBit/s") - .arg(p.pluginName).arg(p.deviceInterfaceName) + .arg(p.pluginName, p.deviceInterfaceName) .arg(bitRate.toInt() / 1000).arg(dataBitRate.toInt() / 1000)); } else { m_status->setText(tr("Plugin: %1, connected to %2 at %3 kBit/s") - .arg(p.pluginName).arg(p.deviceInterfaceName) + .arg(p.pluginName, p.deviceInterfaceName) .arg(bitRate.toInt() / 1000)); } } else { m_status->setText(tr("Plugin: %1, connected to %2") - .arg(p.pluginName).arg(p.deviceInterfaceName)); + .arg(p.pluginName, p.deviceInterfaceName)); } if (m_canDevice->hasBusStatus()) @@ -225,14 +227,14 @@ static QString frameFlags(const QCanBusFrame &frame) { - QString result = QLatin1String(" --- "); + QString result = u" --- "_s; if (frame.hasBitrateSwitch()) - result[1] = QLatin1Char('B'); + result[1] = u'B'; if (frame.hasErrorStateIndicator()) - result[2] = QLatin1Char('E'); + result[2] = u'E'; if (frame.hasLocalEcho()) - result[3] = QLatin1Char('L'); + result[3] = u'L'; return result; } @@ -250,11 +252,11 @@ if (frame.frameType() == QCanBusFrame::ErrorFrame) data = m_canDevice->interpretErrorFrame(frame); else - data = QLatin1String(frame.payload().toHex(' ').toUpper()); + data = QString::fromLatin1(frame.payload().toHex(' ').toUpper()); const QString time = QString::fromLatin1("%1.%2 ") - .arg(frame.timeStamp().seconds(), 10, 10, QLatin1Char(' ')) - .arg(frame.timeStamp().microSeconds() / 100, 4, 10, QLatin1Char('0')); + .arg(frame.timeStamp().seconds(), 10, 10, ' '_L1) + .arg(frame.timeStamp().microSeconds() / 100, 4, 10, '0'_L1); const QString flags = frameFlags(frame); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/sendframebox.cpp new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/sendframebox.cpp --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/can/sendframebox.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/can/sendframebox.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -4,7 +4,35 @@ #include "sendframebox.h" #include "ui_sendframebox.h" -constexpr char THREE_DIGITS[] = "[[:xdigit:]]{3}"; +using namespace Qt::StringLiterals; + +static const QRegularExpression &threeHexDigitsPattern() +{ + static const QRegularExpression result(u"[[:xdigit:]]{3}"_s); + Q_ASSERT(result.isValid()); + return result; +} + +static const QRegularExpression &oneDigitAndSpacePattern() +{ + static const QRegularExpression result(u"((\\s+)|^)([[:xdigit:]]{1})(\\s+)"_s); + Q_ASSERT(result.isValid()); + return result; +} + +const QRegularExpression &hexNumberPattern() +{ + static const QRegularExpression result(u"^[[:xdigit:]]*$"_s); + Q_ASSERT(result.isValid()); + return result; +} + +const QRegularExpression &twoSpacesPattern() +{ + static const QRegularExpression result(u"([\\s]{2})"_s); + Q_ASSERT(result.isValid()); + return result; +} enum { MaxStandardId = 0x7FF, @@ -16,35 +44,27 @@ MaxPayloadFd = 64 }; -bool isEvenHex(QString input) +static bool isEvenHex(QString input) { - const QChar space = QLatin1Char(' '); - input.remove(space); - - if (input.size() % 2) - return false; - - return true; + input.remove(u' '); + return (input.size() % 2) == 0; } // Formats a string of hex characters with a space between every byte // Example: "012345" -> "01 23 45" static QString formatHexData(const QString &input) { - const QChar space = QLatin1Char(' '); QString out = input; - const QRegularExpression threeDigits(THREE_DIGITS); - const QRegularExpression oneDigitAndSpace(QStringLiteral("((\\s+)|^)([[:xdigit:]]{1})(\\s+)")); - - while (oneDigitAndSpace.match(out).hasMatch() || threeDigits.match(out).hasMatch()) { - if (threeDigits.match(out).hasMatch()) { - const QRegularExpressionMatch match = threeDigits.match(out); - out.insert(match.capturedEnd() - 1, space); - } else if (oneDigitAndSpace.match(out).hasMatch()) { - const QRegularExpressionMatch match = oneDigitAndSpace.match(out); - if (out.at(match.capturedEnd() - 1) == space) - out.remove(match.capturedEnd() - 1, 1); + while (true) { + if (auto match = threeHexDigitsPattern().match(out); match.hasMatch()) { + out.insert(match.capturedEnd() - 1, u' '); + } else if (match = oneDigitAndSpacePattern().match(out); match.hasMatch()) { + const auto pos = match.capturedEnd() - 1; + if (out.at(pos) == u' ') + out.remove(pos, 1); + } else { + break; } } @@ -59,16 +79,11 @@ QValidator::State HexIntegerValidator::validate(QString &input, int &) const { - bool ok; - uint value = input.toUInt(&ok, 16); - if (input.isEmpty()) return Intermediate; - - if (!ok || value > m_maximum) - return Invalid; - - return Acceptable; + bool ok; + uint value = input.toUInt(&ok, 16); + return ok && value <= m_maximum ? Acceptable : Invalid; } void HexIntegerValidator::setMaximum(uint maximum) @@ -85,10 +100,9 @@ QValidator::State HexStringValidator::validate(QString &input, int &pos) const { const int maxSize = 2 * m_maxLength; - const QChar space = QLatin1Char(' '); QString data = input; - data.remove(space); + data.remove(u' '); if (data.isEmpty()) return Intermediate; @@ -98,35 +112,33 @@ return Invalid; // check if all input is valid - const QRegularExpression re(QStringLiteral("^[[:xdigit:]]*$")); - if (!re.match(data).hasMatch()) + if (!hexNumberPattern().match(data).hasMatch()) return Invalid; // don't allow user to enter more than one space - const QRegularExpression twoSpaces(QStringLiteral("([\\s]{2})")); - if (twoSpaces.match(input).hasMatch()) { - const QRegularExpressionMatch match = twoSpaces.match(input); + if (const auto match = twoSpacesPattern().match(input); match.hasMatch()) { input.replace(match.capturedStart(), 2, ' '); pos = match.capturedEnd() - 1; } // insert a space after every two hex nibbles - const QRegularExpression threeDigits(THREE_DIGITS); - - while (threeDigits.match(input).hasMatch()) { - const QRegularExpressionMatch match = threeDigits.match(input); - if (pos == match.capturedStart() + 1) { + while (true) { + const QRegularExpressionMatch match = threeHexDigitsPattern().match(input); + if (!match.hasMatch()) + break; + const auto start = match.capturedStart(); + const auto end = match.capturedEnd(); + if (pos == start + 1) { // add one hex nibble before two - Abc - input.insert(match.capturedStart() + 1, space); - pos = match.capturedStart() + 1; - } else if (pos == match.capturedStart() + 2) { + input.insert(pos, u' '); + } else if (pos == start + 2) { // add hex nibble in the middle - aBc - input.insert(match.capturedEnd() - 1, space); - pos = match.capturedEnd(); + input.insert(end - 1, u' '); + pos = end; } else { // add one hex nibble after two - abC - input.insert(match.capturedEnd() - 1, space); - pos = match.capturedEnd() + 1; + input.insert(end - 1, u' '); + pos = end + 1; } } @@ -199,7 +211,7 @@ const uint frameId = m_ui->frameIdEdit->text().toUInt(nullptr, 16); QString data = m_ui->payloadEdit->text(); m_ui->payloadEdit->setText(formatHexData(data)); - const QByteArray payload = QByteArray::fromHex(data.remove(QLatin1Char(' ')).toLatin1()); + const QByteArray payload = QByteArray::fromHex(data.remove(u' ').toLatin1()); QCanBusFrame frame = QCanBusFrame(frameId, payload); frame.setExtendedFrameFormat(m_ui->extendedFormatBox->isChecked()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/main.cpp new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/main.cpp --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/main.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/main.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -4,13 +4,27 @@ #include "mainwindow.h" #include <QApplication> +#include <QCommandLineParser> +#include <QCommandLineOption> #include <QLoggingCategory> +using namespace Qt::StringLiterals; + int main(int argc, char *argv[]) { - // Uncomment the following line to enable logging - // QLoggingCategory::setFilterRules(QStringLiteral("qt.modbus* = true")); QApplication a(argc, argv); + + QCommandLineParser parser; + parser.setApplicationDescription(u"Modbus Client Example"_s); + parser.addHelpOption(); + parser.addVersionOption(); + QCommandLineOption verboseOption(u"verbose"_s, u"Verbose mode"_s); + parser.addOption(verboseOption); + parser.process(a); + + if (parser.isSet(verboseOption)) + QLoggingCategory::setFilterRules(u"qt.modbus* = true"_s); + MainWindow w; w.show(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/mainwindow.cpp new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/mainwindow.cpp --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/mainwindow.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/mainwindow.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -12,6 +12,8 @@ #include <QStatusBar> #include <QUrl> +using namespace Qt::StringLiterals; + enum ModbusConnection { Serial, Tcp @@ -51,11 +53,11 @@ ui->connectType->setEnabled(false); #endif - auto model = new QStandardItemModel(10, 1, this); - for (int i = 0; i < 10; ++i) - model->setItem(i, new QStandardItem(QStringLiteral("%1").arg(i + 1))); + auto *model = new QStandardItemModel(0, 1, this); + for (int i = 1; i <= 10; ++i) + model->appendRow(new QStandardItem(QString::number(i))); ui->writeSize->setModel(model); - ui->writeSize->setCurrentText("10"); + ui->writeSize->setCurrentText(u"10"_s); connect(ui->writeSize, &QComboBox::currentTextChanged, writeModel, &WriteRegisterModel::setNumberOfValues); @@ -152,28 +154,29 @@ statusBar()->clearMessage(); if (modbusDevice->state() != QModbusDevice::ConnectedState) { + const auto settings = m_settingsDialog->settings(); if (static_cast<ModbusConnection>(ui->connectType->currentIndex()) == Serial) { modbusDevice->setConnectionParameter(QModbusDevice::SerialPortNameParameter, ui->portEdit->text()); #if QT_CONFIG(modbus_serialport) modbusDevice->setConnectionParameter(QModbusDevice::SerialParityParameter, - m_settingsDialog->settings().parity); + settings.parity); modbusDevice->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, - m_settingsDialog->settings().baud); + settings.baud); modbusDevice->setConnectionParameter(QModbusDevice::SerialDataBitsParameter, - m_settingsDialog->settings().dataBits); + settings.dataBits); modbusDevice->setConnectionParameter(QModbusDevice::SerialStopBitsParameter, - m_settingsDialog->settings().stopBits); + settings.stopBits); #endif } else { const QUrl url = QUrl::fromUserInput(ui->portEdit->text()); modbusDevice->setConnectionParameter(QModbusDevice::NetworkPortParameter, url.port()); modbusDevice->setConnectionParameter(QModbusDevice::NetworkAddressParameter, url.host()); } - modbusDevice->setTimeout(m_settingsDialog->settings().responseTime); - modbusDevice->setNumberOfRetries(m_settingsDialog->settings().numberOfRetries); + modbusDevice->setTimeout(settings.responseTime); + modbusDevice->setNumberOfRetries(settings.numberOfRetries); if (!modbusDevice->connectDevice()) { - statusBar()->showMessage(tr("Connect failed: ") + modbusDevice->errorString(), 5000); + statusBar()->showMessage(tr("Connect failed: %1").arg(modbusDevice->errorString()), 5000); } else { ui->actionConnect->setEnabled(false); ui->actionDisconnect->setEnabled(true); @@ -210,7 +213,7 @@ else delete reply; // broadcast replies return immediately } else { - statusBar()->showMessage(tr("Read error: ") + modbusDevice->errorString(), 5000); + statusBar()->showMessage(tr("Read error: %1").arg(modbusDevice->errorString()), 5000); } } @@ -250,22 +253,24 @@ QModbusDataUnit writeUnit = writeRequest(); QModbusDataUnit::RegisterType table = writeUnit.registerType(); for (qsizetype i = 0, total = writeUnit.valueCount(); i < total; ++i) { + const auto addr = i + writeUnit.startAddress(); if (table == QModbusDataUnit::Coils) - writeUnit.setValue(i, writeModel->m_coils[i + writeUnit.startAddress()]); + writeUnit.setValue(i, writeModel->m_coils[addr]); else - writeUnit.setValue(i, writeModel->m_holdingRegisters[i + writeUnit.startAddress()]); + writeUnit.setValue(i, writeModel->m_holdingRegisters[addr]); } if (auto *reply = modbusDevice->sendWriteRequest(writeUnit, ui->serverEdit->value())) { if (!reply->isFinished()) { connect(reply, &QModbusReply::finished, this, [this, reply]() { - if (reply->error() == QModbusDevice::ProtocolError) { + const auto error = reply->error(); + if (error == QModbusDevice::ProtocolError) { statusBar()->showMessage(tr("Write response error: %1 (Modbus exception: 0x%2)") .arg(reply->errorString()).arg(reply->rawResult().exceptionCode(), -1, 16), 5000); - } else if (reply->error() != QModbusDevice::NoError) { + } else if (error != QModbusDevice::NoError) { statusBar()->showMessage(tr("Write response error: %1 (code: 0x%2)"). - arg(reply->errorString()).arg(reply->error(), -1, 16), 5000); + arg(reply->errorString()).arg(error, -1, 16), 5000); } reply->deleteLater(); }); @@ -274,7 +279,7 @@ reply->deleteLater(); } } else { - statusBar()->showMessage(tr("Write error: ") + modbusDevice->errorString(), 5000); + statusBar()->showMessage(tr("Write error: %1").arg(modbusDevice->errorString()), 5000); } } @@ -288,10 +293,11 @@ QModbusDataUnit writeUnit = writeRequest(); QModbusDataUnit::RegisterType table = writeUnit.registerType(); for (qsizetype i = 0, total = writeUnit.valueCount(); i < total; ++i) { + const auto addr = i + writeUnit.startAddress(); if (table == QModbusDataUnit::Coils) - writeUnit.setValue(i, writeModel->m_coils[i + writeUnit.startAddress()]); + writeUnit.setValue(i, writeModel->m_coils[addr]); else - writeUnit.setValue(i, writeModel->m_holdingRegisters[i + writeUnit.startAddress()]); + writeUnit.setValue(i, writeModel->m_holdingRegisters[addr]); } if (auto *reply = modbusDevice->sendReadWriteRequest(readRequest(), writeUnit, @@ -301,7 +307,7 @@ else delete reply; // broadcast replies return immediately } else { - statusBar()->showMessage(tr("Read error: ") + modbusDevice->errorString(), 5000); + statusBar()->showMessage(tr("Read error: %1").arg(modbusDevice->errorString()), 5000); } } @@ -321,26 +327,26 @@ QModbusDataUnit MainWindow::readRequest() const { - const auto table = - static_cast<QModbusDataUnit::RegisterType>(ui->writeTable->currentData().toInt()); + const auto table = ui->writeTable->currentData().value<QModbusDataUnit::RegisterType>(); int startAddress = ui->readAddress->value(); Q_ASSERT(startAddress >= 0 && startAddress < 10); // do not go beyond 10 entries - quint16 numberOfEntries = qMin(ui->readSize->currentText().toUShort(), quint16(10 - startAddress)); + quint16 numberOfEntries = qMin(ui->readSize->currentText().toUShort(), + quint16(10 - startAddress)); return QModbusDataUnit(table, startAddress, numberOfEntries); } QModbusDataUnit MainWindow::writeRequest() const { - const auto table = - static_cast<QModbusDataUnit::RegisterType>(ui->writeTable->currentData().toInt()); + const auto table = ui->writeTable->currentData().value<QModbusDataUnit::RegisterType>(); int startAddress = ui->writeAddress->value(); Q_ASSERT(startAddress >= 0 && startAddress < 10); // do not go beyond 10 entries - quint16 numberOfEntries = qMin(ui->writeSize->currentText().toUShort(), quint16(10 - startAddress)); + quint16 numberOfEntries = qMin(ui->writeSize->currentText().toUShort(), + quint16(10 - startAddress)); return QModbusDataUnit(table, startAddress, numberOfEntries); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/mainwindow.h new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/mainwindow.h --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/mainwindow.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/mainwindow.h 2022-11-08 16:58:52.000000000 +0100 @@ -10,11 +10,9 @@ QT_BEGIN_NAMESPACE class QModbusClient; -class QModbusReply; namespace Ui { class MainWindow; -class SettingsDialog; } QT_END_NAMESPACE @@ -50,7 +48,6 @@ private: Ui::MainWindow *ui = nullptr; - QModbusReply *lastRequest = nullptr; QModbusClient *modbusDevice = nullptr; SettingsDialog *m_settingsDialog = nullptr; WriteRegisterModel *writeModel = nullptr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/writeregistermodel.cpp new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/writeregistermodel.cpp --- old/qtserialbus-everywhere-src-6.4.0/examples/serialbus/modbus/client/writeregistermodel.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/examples/serialbus/modbus/client/writeregistermodel.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -3,6 +3,8 @@ #include "writeregistermodel.h" +using namespace Qt::StringLiterals; + enum { NumColumn = 0, CoilsColumn = 1, HoldingColumn = 2, ColumnCount = 3, RowCount = 10 }; WriteRegisterModel::WriteRegisterModel(QObject *parent) @@ -11,77 +13,81 @@ { } -int WriteRegisterModel::rowCount(const QModelIndex &/*parent*/) const +int WriteRegisterModel::rowCount(const QModelIndex & /* parent */) const { return RowCount; } -int WriteRegisterModel::columnCount(const QModelIndex &/*parent*/) const +int WriteRegisterModel::columnCount(const QModelIndex & /* parent */) const { return ColumnCount; } QVariant WriteRegisterModel::data(const QModelIndex &index, int role) const { - if (!index.isValid() || index.row() >= RowCount || index.column() >= ColumnCount) - return QVariant(); + const int row = index.row(); + const int column = index.column(); + if (!index.isValid() || row >= RowCount || column >= ColumnCount) + return {}; Q_ASSERT(m_coils.count() == RowCount); Q_ASSERT(m_holdingRegisters.count() == RowCount); - if (index.column() == NumColumn && role == Qt::DisplayRole) - return QString::number(index.row()); + if (column == NumColumn && role == Qt::DisplayRole) + return QString::number(row); - if (index.column() == CoilsColumn && role == Qt::CheckStateRole) // coils - return m_coils.at(index.row()) ? Qt::Checked : Qt::Unchecked; + if (column == CoilsColumn && role == Qt::CheckStateRole) // coils + return m_coils.at(row) ? Qt::Checked : Qt::Unchecked; - if (index.column() == HoldingColumn && role == Qt::DisplayRole) // holding registers - return QString("0x%1").arg(QString::number(m_holdingRegisters.at(index.row()), 16)); + if (column == HoldingColumn && role == Qt::DisplayRole) // holding registers + return QString("0x%1").arg(QString::number(m_holdingRegisters.at(row), 16)); - return QVariant(); + return {}; } QVariant WriteRegisterModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role != Qt::DisplayRole) - return QVariant(); + return {}; if (orientation == Qt::Horizontal) { switch (section) { case NumColumn: - return QStringLiteral("#"); + return u"#"_s; case CoilsColumn: - return QStringLiteral("Coils "); + return u"Coils "_s; case HoldingColumn: - return QStringLiteral("Holding Registers"); + return u"Holding Registers"_s; default: break; } } - return QVariant(); + return {}; } bool WriteRegisterModel::setData(const QModelIndex &index, const QVariant &value, int role) { - if (!index.isValid() || index.row() >= RowCount || index.column() >= ColumnCount) + const int row = index.row(); + const int column = index.column(); + if (!index.isValid() || row >= RowCount || column >= ColumnCount) return false; Q_ASSERT(m_coils.count() == RowCount); Q_ASSERT(m_holdingRegisters.count() == RowCount); - if (index.column() == CoilsColumn && role == Qt::CheckStateRole) { // coils + if (column == CoilsColumn && role == Qt::CheckStateRole) { // coils auto s = static_cast<Qt::CheckState>(value.toUInt()); - s == Qt::Checked ? m_coils.setBit(index.row()) : m_coils.clearBit(index.row()); + s == Qt::Checked ? m_coils.setBit(row) : m_coils.clearBit(row); emit dataChanged(index, index); return true; } - if (index.column() == HoldingColumn && role == Qt::EditRole) { // holding registers + if (column == HoldingColumn && role == Qt::EditRole) { // holding registers bool result = false; quint16 newValue = value.toString().toUShort(&result, 16); if (result) - m_holdingRegisters[index.row()] = newValue; + m_holdingRegisters[row] = newValue; emit dataChanged(index, index); return result; @@ -92,16 +98,18 @@ Qt::ItemFlags WriteRegisterModel::flags(const QModelIndex &index) const { - if (!index.isValid() || index.row() >= RowCount || index.column() >= ColumnCount) - return QAbstractTableModel::flags(index); - + const int row = index.row(); + const int column = index.column(); Qt::ItemFlags flags = QAbstractTableModel::flags(index); - if ((index.row() < m_address) || (index.row() >= (m_address + m_number))) + if (!index.isValid() || row >= RowCount || column >= ColumnCount) + return flags; + + if ((row < m_address) || (row >= (m_address + m_number))) flags &= ~Qt::ItemIsEnabled; - if (index.column() == CoilsColumn) // coils + if (column == CoilsColumn) // coils return flags | Qt::ItemIsUserCheckable; - if (index.column() == HoldingColumn) // holding registers + if (column == HoldingColumn) // holding registers return flags | Qt::ItemIsEditable; return flags; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdevice_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdevice_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdevice_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdevice_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qcanbusdevice_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdeviceinfo_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdeviceinfo_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdeviceinfo_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qcanbusdeviceinfo_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qcanbusdeviceinfo_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbus_symbols_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbus_symbols_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbus_symbols_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbus_symbols_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbus_symbols_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusadu_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusadu_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusadu_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusadu_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbusadu_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusclient_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusclient_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusclient_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusclient_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbusclient_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbuscommevent_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbuscommevent_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbuscommevent_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbuscommevent_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbuscommevent_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusdevice_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusdevice_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusdevice_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusdevice_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbusdevice_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialclient_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialclient_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialclient_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialclient_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbusrtuserialclient_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialserver_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialserver_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialserver_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusrtuserialserver_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbusrtuserialserver_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusserver_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusserver_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusserver_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbusserver_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbusserver_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpclient_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpclient_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpclient_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpclient_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbustcpclient_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpserver_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpserver_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpserver_p.h 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.0/QtSerialBus/private/qmodbustcpserver_p.h 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -#include "../../../../../src/serialbus/qmodbustcpserver_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdevice_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdevice_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdevice_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdevice_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qcanbusdevice_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdeviceinfo_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdeviceinfo_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdeviceinfo_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qcanbusdeviceinfo_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qcanbusdeviceinfo_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbus_symbols_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbus_symbols_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbus_symbols_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbus_symbols_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbus_symbols_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusadu_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusadu_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusadu_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusadu_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbusadu_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusclient_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusclient_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusclient_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusclient_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbusclient_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbuscommevent_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbuscommevent_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbuscommevent_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbuscommevent_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbuscommevent_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusdevice_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusdevice_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusdevice_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusdevice_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbusdevice_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialclient_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialclient_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialclient_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialclient_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbusrtuserialclient_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialserver_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialserver_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialserver_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusrtuserialserver_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbusrtuserialserver_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusserver_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusserver_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusserver_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbusserver_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbusserver_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpclient_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpclient_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpclient_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpclient_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbustcpclient_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpserver_p.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpserver_p.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpserver_p.h 1970-01-01 01:00:00.000000000 +0100 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/6.4.1/QtSerialBus/private/qmodbustcpserver_p.h 2022-11-08 16:58:52.000000000 +0100 @@ -0,0 +1 @@ +#include "../../../../../src/serialbus/qmodbustcpserver_p.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/qtserialbusversion.h new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/qtserialbusversion.h --- old/qtserialbus-everywhere-src-6.4.0/include/QtSerialBus/qtserialbusversion.h 2022-09-27 08:05:37.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/include/QtSerialBus/qtserialbusversion.h 2022-11-10 12:06:03.000000000 +0100 @@ -2,8 +2,8 @@ #ifndef QT_QTSERIALBUS_VERSION_H #define QT_QTSERIALBUS_VERSION_H -#define QTSERIALBUS_VERSION_STR "6.4.0" +#define QTSERIALBUS_VERSION_STR "6.4.1" -#define QTSERIALBUS_VERSION 0x060400 +#define QTSERIALBUS_VERSION 0x060401 #endif // QT_QTSERIALBUS_VERSION_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtserialbus-everywhere-src-6.4.0/src/serialbus/qmodbusclient.cpp new/qtserialbus-everywhere-src-6.4.1/src/serialbus/qmodbusclient.cpp --- old/qtserialbus-everywhere-src-6.4.0/src/serialbus/qmodbusclient.cpp 2022-09-23 05:36:21.000000000 +0200 +++ new/qtserialbus-everywhere-src-6.4.1/src/serialbus/qmodbusclient.cpp 2022-11-08 16:58:52.000000000 +0100 @@ -96,7 +96,7 @@ fits inside the Modbus PDU data section and has a valid function code. The only check performed before sending is therefore the validity check, see \l QModbusPdu::isValid. If no error occurred the function returns a - a new valid \l QModbusReply; nullptr otherwise. Modbus networks may have + new valid \l QModbusReply; nullptr otherwise. Modbus networks may have multiple servers, each server has a unique \a serverAddress. \sa QModbusReply::rawResult()
