summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@qt.io>2021-02-08 14:36:24 +0100
committerKarsten Heimrich <karsten.heimrich@qt.io>2021-02-10 09:49:40 +0100
commite655ed23511e22306a17c901370ad9ab8e435694 (patch)
tree8473d661c6a575429eb75c728338de609fc16cb1 /examples
parent0fe69bca7e4e71af580672aa63dd61e0a632cc17 (diff)
Qt SerialPort: dump 'master' and 'slave' terminology
Task-number: QTBUG-89882 Change-Id: I9fe2048e3aa6572af8556d58afc11ff4c4929f28 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/serialport/CMakeLists.txt8
-rw-r--r--examples/serialport/blockingreceiver/CMakeLists.txt (renamed from examples/serialport/blockingslave/CMakeLists.txt)14
-rw-r--r--examples/serialport/blockingreceiver/blockingreceiver.pro (renamed from examples/serialport/blockingmaster/blockingmaster.pro)8
-rw-r--r--examples/serialport/blockingreceiver/dialog.cpp (renamed from examples/serialport/blockingslave/dialog.cpp)16
-rw-r--r--examples/serialport/blockingreceiver/dialog.h (renamed from examples/serialport/blockingslave/dialog.h)6
-rw-r--r--examples/serialport/blockingreceiver/main.cpp (renamed from examples/serialport/blockingmaster/main.cpp)0
-rw-r--r--examples/serialport/blockingreceiver/receiverthread.cpp (renamed from examples/serialport/blockingslave/slavethread.cpp)10
-rw-r--r--examples/serialport/blockingreceiver/receiverthread.h (renamed from examples/serialport/blockingslave/slavethread.h)14
-rw-r--r--examples/serialport/blockingsender/CMakeLists.txt (renamed from examples/serialport/blockingmaster/CMakeLists.txt)14
-rw-r--r--examples/serialport/blockingsender/blockingsender.pro (renamed from examples/serialport/blockingslave/blockingslave.pro)8
-rw-r--r--examples/serialport/blockingsender/dialog.cpp (renamed from examples/serialport/blockingmaster/dialog.cpp)8
-rw-r--r--examples/serialport/blockingsender/dialog.h (renamed from examples/serialport/blockingmaster/dialog.h)4
-rw-r--r--examples/serialport/blockingsender/main.cpp (renamed from examples/serialport/blockingslave/main.cpp)0
-rw-r--r--examples/serialport/blockingsender/senderthread.cpp (renamed from examples/serialport/blockingmaster/masterthread.cpp)10
-rw-r--r--examples/serialport/blockingsender/senderthread.h (renamed from examples/serialport/blockingmaster/masterthread.h)12
-rw-r--r--examples/serialport/doc/blockingreceiver.qdoc (renamed from examples/serialport/doc/blockingslave.qdoc)68
-rw-r--r--examples/serialport/doc/blockingsender.qdoc (renamed from examples/serialport/doc/blockingmaster.qdoc)54
-rw-r--r--examples/serialport/doc/terminal.qdoc4
-rw-r--r--examples/serialport/receiver/CMakeLists.txt (renamed from examples/serialport/slave/CMakeLists.txt)12
-rw-r--r--examples/serialport/receiver/dialog.cpp (renamed from examples/serialport/slave/dialog.cpp)8
-rw-r--r--examples/serialport/receiver/dialog.h (renamed from examples/serialport/slave/dialog.h)2
-rw-r--r--examples/serialport/receiver/main.cpp (renamed from examples/serialport/master/main.cpp)0
-rw-r--r--examples/serialport/receiver/receiver.pro (renamed from examples/serialport/slave/slave.pro)4
-rw-r--r--examples/serialport/sender/CMakeLists.txt (renamed from examples/serialport/master/CMakeLists.txt)12
-rw-r--r--examples/serialport/sender/dialog.cpp (renamed from examples/serialport/master/dialog.cpp)2
-rw-r--r--examples/serialport/sender/dialog.h (renamed from examples/serialport/master/dialog.h)0
-rw-r--r--examples/serialport/sender/main.cpp (renamed from examples/serialport/slave/main.cpp)0
-rw-r--r--examples/serialport/sender/sender.pro (renamed from examples/serialport/master/master.pro)4
-rw-r--r--examples/serialport/serialport.pro2
29 files changed, 152 insertions, 152 deletions
diff --git a/examples/serialport/CMakeLists.txt b/examples/serialport/CMakeLists.txt
index b75c32e2..8b903fa0 100644
--- a/examples/serialport/CMakeLists.txt
+++ b/examples/serialport/CMakeLists.txt
@@ -6,8 +6,8 @@ add_subdirectory(cwritersync)
if((((NOT QT.widgets.name_ISEMPTY))))
add_subdirectory(enumerator)
add_subdirectory(terminal)
- add_subdirectory(blockingmaster)
- add_subdirectory(blockingslave)
- add_subdirectory(master)
- add_subdirectory(slave)
+ add_subdirectory(blockingsender)
+ add_subdirectory(blockingreceiver)
+ add_subdirectory(sender)
+ add_subdirectory(receiver)
endif()
diff --git a/examples/serialport/blockingslave/CMakeLists.txt b/examples/serialport/blockingreceiver/CMakeLists.txt
index 274b6da5..3d31ad89 100644
--- a/examples/serialport/blockingslave/CMakeLists.txt
+++ b/examples/serialport/blockingreceiver/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.14)
-project(blockingslave LANGUAGES CXX)
+project(blockingreceiver LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -11,30 +11,30 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingslave")
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingreceiver")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Widgets)
find_package(Qt6 COMPONENTS SerialPort)
-qt_add_executable(blockingslave
+qt_add_executable(blockingreceiver
dialog.cpp dialog.h
main.cpp
- slavethread.cpp slavethread.h
+ receiverthread.cpp receiverthread.h
)
-set_target_properties(blockingslave PROPERTIES
+set_target_properties(blockingreceiver PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
)
-target_link_libraries(blockingslave PRIVATE
+target_link_libraries(blockingreceiver PRIVATE
Qt::Core
Qt::Gui
Qt::SerialPort
Qt::Widgets
)
-install(TARGETS blockingslave
+install(TARGETS blockingreceiver
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/serialport/blockingmaster/blockingmaster.pro b/examples/serialport/blockingreceiver/blockingreceiver.pro
index 8e3356bc..378b069c 100644
--- a/examples/serialport/blockingmaster/blockingmaster.pro
+++ b/examples/serialport/blockingreceiver/blockingreceiver.pro
@@ -1,17 +1,17 @@
QT += widgets serialport
requires(qtConfig(combobox))
-TARGET = blockingmaster
+TARGET = blockingreceiver
TEMPLATE = app
HEADERS += \
dialog.h \
- masterthread.h
+ receiverthread.h
SOURCES += \
main.cpp \
dialog.cpp \
- masterthread.cpp
+ receiverthread.cpp
-target.path = $$[QT_INSTALL_EXAMPLES]/serialport/blockingmaster
+target.path = $$[QT_INSTALL_EXAMPLES]/serialport/blockingreceiver
INSTALLS += target
diff --git a/examples/serialport/blockingslave/dialog.cpp b/examples/serialport/blockingreceiver/dialog.cpp
index fa7ce979..fb6940ab 100644
--- a/examples/serialport/blockingslave/dialog.cpp
+++ b/examples/serialport/blockingreceiver/dialog.cpp
@@ -65,7 +65,7 @@ Dialog::Dialog(QWidget *parent) :
m_waitRequestLabel(new QLabel(tr("Wait request, msec:"))),
m_waitRequestSpinBox(new QSpinBox),
m_responseLabel(new QLabel(tr("Response:"))),
- m_responseLineEdit(new QLineEdit(tr("Hello, I'm Slave."))),
+ m_responseLineEdit(new QLineEdit(tr("Hello, I'm the receiver."))),
m_trafficLabel(new QLabel(tr("No traffic."))),
m_statusLabel(new QLabel(tr("Status: Not running."))),
m_runButton(new QPushButton(tr("Start")))
@@ -89,25 +89,25 @@ Dialog::Dialog(QWidget *parent) :
mainLayout->addWidget(m_statusLabel, 4, 0, 1, 5);
setLayout(mainLayout);
- setWindowTitle(tr("Blocking Slave"));
+ setWindowTitle(tr("Blocking Receiver"));
m_serialPortComboBox->setFocus();
- connect(m_runButton, &QPushButton::clicked, this, &Dialog::startSlave);
- connect(&m_thread, &SlaveThread::request, this,&Dialog::showRequest);
- connect(&m_thread, &SlaveThread::error, this, &Dialog::processError);
- connect(&m_thread, &SlaveThread::timeout, this, &Dialog::processTimeout);
+ connect(m_runButton, &QPushButton::clicked, this, &Dialog::startReceiver);
+ connect(&m_thread, &ReceiverThread::request, this,&Dialog::showRequest);
+ connect(&m_thread, &ReceiverThread::error, this, &Dialog::processError);
+ connect(&m_thread, &ReceiverThread::timeout, this, &Dialog::processTimeout);
connect(m_serialPortComboBox, &QComboBox::currentIndexChanged, this, &Dialog::activateRunButton);
connect(m_waitRequestSpinBox, &QSpinBox::textChanged, this, &Dialog::activateRunButton);
connect(m_responseLineEdit, &QLineEdit::textChanged, this, &Dialog::activateRunButton);
}
-void Dialog::startSlave()
+void Dialog::startReceiver()
{
m_runButton->setEnabled(false);
m_statusLabel->setText(tr("Status: Running, connected to port %1.")
.arg(m_serialPortComboBox->currentText()));
- m_thread.startSlave(m_serialPortComboBox->currentText(),
+ m_thread.startReceiver(m_serialPortComboBox->currentText(),
m_waitRequestSpinBox->value(),
m_responseLineEdit->text());
}
diff --git a/examples/serialport/blockingslave/dialog.h b/examples/serialport/blockingreceiver/dialog.h
index c8f80a62..31a12e7a 100644
--- a/examples/serialport/blockingslave/dialog.h
+++ b/examples/serialport/blockingreceiver/dialog.h
@@ -51,7 +51,7 @@
#ifndef DIALOG_H
#define DIALOG_H
-#include "slavethread.h"
+#include "receiverthread.h"
#include <QDialog>
@@ -73,7 +73,7 @@ public:
explicit Dialog(QWidget *parent = nullptr);
private slots:
- void startSlave();
+ void startReceiver();
void showRequest(const QString &s);
void processError(const QString &s);
void processTimeout(const QString &s);
@@ -91,7 +91,7 @@ private:
QLabel *m_statusLabel = nullptr;
QPushButton *m_runButton = nullptr;
- SlaveThread m_thread;
+ ReceiverThread m_thread;
};
#endif // DIALOG_H
diff --git a/examples/serialport/blockingmaster/main.cpp b/examples/serialport/blockingreceiver/main.cpp
index 8e68c730..8e68c730 100644
--- a/examples/serialport/blockingmaster/main.cpp
+++ b/examples/serialport/blockingreceiver/main.cpp
diff --git a/examples/serialport/blockingslave/slavethread.cpp b/examples/serialport/blockingreceiver/receiverthread.cpp
index 85b010a6..336ed2ef 100644
--- a/examples/serialport/blockingslave/slavethread.cpp
+++ b/examples/serialport/blockingreceiver/receiverthread.cpp
@@ -48,18 +48,18 @@
**
****************************************************************************/
-#include "slavethread.h"
+#include "receiverthread.h"
#include <QSerialPort>
#include <QTime>
-SlaveThread::SlaveThread(QObject *parent) :
+ReceiverThread::ReceiverThread(QObject *parent) :
QThread(parent)
{
}
//! [0]
-SlaveThread::~SlaveThread()
+ReceiverThread::~ReceiverThread()
{
m_mutex.lock();
m_quit = true;
@@ -69,7 +69,7 @@ SlaveThread::~SlaveThread()
//! [0]
//! [1] //! [2]
-void SlaveThread::startSlave(const QString &portName, int waitTimeout, const QString &response)
+void ReceiverThread::startReceiver(const QString &portName, int waitTimeout, const QString &response)
{
//! [1]
const QMutexLocker locker(&m_mutex);
@@ -83,7 +83,7 @@ void SlaveThread::startSlave(const QString &portName, int waitTimeout, const QSt
//! [2] //! [3]
//! [4]
-void SlaveThread::run()
+void ReceiverThread::run()
{
bool currentPortNameChanged = false;
diff --git a/examples/serialport/blockingslave/slavethread.h b/examples/serialport/blockingreceiver/receiverthread.h
index 737e7cb1..a7bcd68c 100644
--- a/examples/serialport/blockingslave/slavethread.h
+++ b/examples/serialport/blockingreceiver/receiverthread.h
@@ -48,23 +48,23 @@
**
****************************************************************************/
-#ifndef SLAVETHREAD_H
-#define SLAVETHREAD_H
+#ifndef RECEIVERTHREAD_H
+#define RECEIVERTHREAD_H
#include <QMutex>
#include <QThread>
#include <QWaitCondition>
//! [0]
-class SlaveThread : public QThread
+class ReceiverThread : public QThread
{
Q_OBJECT
public:
- explicit SlaveThread(QObject *parent = nullptr);
- ~SlaveThread();
+ explicit ReceiverThread(QObject *parent = nullptr);
+ ~ReceiverThread();
- void startSlave(const QString &portName, int waitTimeout, const QString &response);
+ void startReceiver(const QString &portName, int waitTimeout, const QString &response);
signals:
void request(const QString &s);
@@ -82,4 +82,4 @@ private:
};
//! [0]
-#endif // SLAVETHREAD_H
+#endif // RECEIVERTHREAD_H
diff --git a/examples/serialport/blockingmaster/CMakeLists.txt b/examples/serialport/blockingsender/CMakeLists.txt
index 4297345e..21bed260 100644
--- a/examples/serialport/blockingmaster/CMakeLists.txt
+++ b/examples/serialport/blockingsender/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.14)
-project(blockingmaster LANGUAGES CXX)
+project(blockingsender LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -11,30 +11,30 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingmaster")
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/blockingsender")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Widgets)
find_package(Qt6 COMPONENTS SerialPort)
-qt_add_executable(blockingmaster
+qt_add_executable(blockingsender
dialog.cpp dialog.h
main.cpp
- masterthread.cpp masterthread.h
+ senderthread.cpp senderthread.h
)
-set_target_properties(blockingmaster PROPERTIES
+set_target_properties(blockingsender PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
)
-target_link_libraries(blockingmaster PRIVATE
+target_link_libraries(blockingsender PRIVATE
Qt::Core
Qt::Gui
Qt::SerialPort
Qt::Widgets
)
-install(TARGETS blockingmaster
+install(TARGETS blockingsender
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/serialport/blockingslave/blockingslave.pro b/examples/serialport/blockingsender/blockingsender.pro
index 4e2a25d2..41e60680 100644
--- a/examples/serialport/blockingslave/blockingslave.pro
+++ b/examples/serialport/blockingsender/blockingsender.pro
@@ -1,17 +1,17 @@
QT += widgets serialport
requires(qtConfig(combobox))
-TARGET = blockingslave
+TARGET = blockingsender
TEMPLATE = app
HEADERS += \
dialog.h \
- slavethread.h
+ senderthread.h
SOURCES += \
main.cpp \
dialog.cpp \
- slavethread.cpp
+ senderthread.cpp
-target.path = $$[QT_INSTALL_EXAMPLES]/serialport/blockingslave
+target.path = $$[QT_INSTALL_EXAMPLES]/serialport/blockingsender
INSTALLS += target
diff --git a/examples/serialport/blockingmaster/dialog.cpp b/examples/serialport/blockingsender/dialog.cpp
index 2617da79..fe3acef3 100644
--- a/examples/serialport/blockingmaster/dialog.cpp
+++ b/examples/serialport/blockingsender/dialog.cpp
@@ -89,13 +89,13 @@ Dialog::Dialog(QWidget *parent) :
mainLayout->addWidget(m_statusLabel, 4, 0, 1, 5);
setLayout(mainLayout);
- setWindowTitle(tr("Blocking Master"));
+ setWindowTitle(tr("Blocking Sender"));
m_serialPortComboBox->setFocus();
connect(m_runButton, &QPushButton::clicked, this, &Dialog::transaction);
- connect(&m_thread, &MasterThread::response, this, &Dialog::showResponse);
- connect(&m_thread, &MasterThread::error, this, &Dialog::processError);
- connect(&m_thread, &MasterThread::timeout, this, &Dialog::processTimeout);
+ connect(&m_thread, &SenderThread::response, this, &Dialog::showResponse);
+ connect(&m_thread, &SenderThread::error, this, &Dialog::processError);
+ connect(&m_thread, &SenderThread::timeout, this, &Dialog::processTimeout);
}
void Dialog::transaction()
diff --git a/examples/serialport/blockingmaster/dialog.h b/examples/serialport/blockingsender/dialog.h
index 8d997fa1..cdded328 100644
--- a/examples/serialport/blockingmaster/dialog.h
+++ b/examples/serialport/blockingsender/dialog.h
@@ -51,7 +51,7 @@
#ifndef DIALOG_H
#define DIALOG_H
-#include "masterthread.h"
+#include "senderthread.h"
#include <QDialog>
@@ -93,7 +93,7 @@ private:
QLabel *m_statusLabel = nullptr;
QPushButton *m_runButton = nullptr;
- MasterThread m_thread;
+ SenderThread m_thread;
};
#endif // DIALOG_H
diff --git a/examples/serialport/blockingslave/main.cpp b/examples/serialport/blockingsender/main.cpp
index 8e68c730..8e68c730 100644
--- a/examples/serialport/blockingslave/main.cpp
+++ b/examples/serialport/blockingsender/main.cpp
diff --git a/examples/serialport/blockingmaster/masterthread.cpp b/examples/serialport/blockingsender/senderthread.cpp
index 25aa8489..afe92865 100644
--- a/examples/serialport/blockingmaster/masterthread.cpp
+++ b/examples/serialport/blockingsender/senderthread.cpp
@@ -48,18 +48,18 @@
**
****************************************************************************/
-#include "masterthread.h"
+#include "senderthread.h"
#include <QSerialPort>
#include <QTime>
-MasterThread::MasterThread(QObject *parent) :
+SenderThread::SenderThread(QObject *parent) :
QThread(parent)
{
}
//! [0]
-MasterThread::~MasterThread()
+SenderThread::~SenderThread()
{
m_mutex.lock();
m_quit = true;
@@ -70,7 +70,7 @@ MasterThread::~MasterThread()
//! [0]
//! [1] //! [2]
-void MasterThread::transaction(const QString &portName, int waitTimeout, const QString &request)
+void SenderThread::transaction(const QString &portName, int waitTimeout, const QString &request)
{
//! [1]
const QMutexLocker locker(&m_mutex);
@@ -86,7 +86,7 @@ void MasterThread::transaction(const QString &portName, int waitTimeout, const Q
//! [2] //! [3]
//! [4]
-void MasterThread::run()
+void SenderThread::run()
{
bool currentPortNameChanged = false;
diff --git a/examples/serialport/blockingmaster/masterthread.h b/examples/serialport/blockingsender/senderthread.h
index 9dc6048c..175432f0 100644
--- a/examples/serialport/blockingmaster/masterthread.h
+++ b/examples/serialport/blockingsender/senderthread.h
@@ -48,21 +48,21 @@
**
****************************************************************************/
-#ifndef MASTERTHREAD_H
-#define MASTERTHREAD_H
+#ifndef SENDERTHREAD_H
+#define SENDERTHREAD_H
#include <QMutex>
#include <QThread>
#include <QWaitCondition>
//! [0]
-class MasterThread : public QThread
+class SenderThread : public QThread
{
Q_OBJECT
public:
- explicit MasterThread(QObject *parent = nullptr);
- ~MasterThread();
+ explicit SenderThread(QObject *parent = nullptr);
+ ~SenderThread();
void transaction(const QString &portName, int waitTimeout, const QString &request);
@@ -83,4 +83,4 @@ private:
};
//! [0]
-#endif // MASTERTHREAD_H
+#endif // SENDERTHREAD_H
diff --git a/examples/serialport/doc/blockingslave.qdoc b/examples/serialport/doc/blockingreceiver.qdoc
index f15f8e3d..555b2dbc 100644
--- a/examples/serialport/doc/blockingslave.qdoc
+++ b/examples/serialport/doc/blockingreceiver.qdoc
@@ -27,15 +27,15 @@
****************************************************************************/
/*!
- \example blockingslave
- \title Blocking Slave Example
+ \example blockingreceiver
+ \title Blocking Receiver Example
\ingroup qtserialport-examples
\brief Shows how to use the synchronous API of QSerialPort in a non-GUI thread.
- \e{Blocking Slave} shows how to create an application for a serial interface
+ \e{Blocking Receiver} shows how to create an application for a serial interface
using QSerialPort's synchronous API in a non-GUI thread.
- \image blockingslave-example.png
+ \image blockingreceiver-example.png
QSerialPort supports two general programming approaches:
@@ -66,55 +66,55 @@
But contrary to what many think, using threads with QThread does not
necessarily add unmanageable complexity to your application.
- This application is a Slave, that demonstrate the work paired with Master
- application \l{Blocking Master Example}.
+ This application is a Receiver, that demonstrate the work paired with Sender
+ application \l{Blocking Sender Example}.
- The Slave application is receives the request via serial port from
- the Master application and send a response to it.
+ The Receiver application receives the request via serial port from
+ the Sender application and send a response to it.
- We will start with the SlaveThread class, which handles the serial
+ We will start with the ReceiverThread class, which handles the serial
programming code.
- \snippet blockingslave/slavethread.h 0
+ \snippet blockingreceiver/receiverthread.h 0
- SlaveThread is a QThread subclass that provides an API for receive requests
- from Master, and it has signals for delivering responses and reporting
+ ReceiverThread is a QThread subclass that provides an API for receive requests
+ from Sender, and it has signals for delivering responses and reporting
errors.
- You should be call startSlave() to startup Slave application. This method
- transfers to the SlaveThread desired parameters for configure and startup
- the serial interface. When SlaveThread received from Master any request then
+ You should call startReceiver() to startup Receiver application. This method
+ transfers to the ReceiverThread desired parameters for configure and startup
+ the serial interface. When ReceiverThread received from Sender any request then
emitted the request() signal. If any error occurs, the error() or timeout()
signals is emitted.
- It's important to notice that startSlave() is called from the main, GUI
+ It's important to notice that startReceiver() is called from the main, GUI
thread, but the response data and other parameters will be accessed from
- SlaveThread's thread. SlaveThread's data members are read and written
+ ReceiverThread's thread. ReceiverThread's data members are read and written
from different threads concurrently, so it is advisable to use QMutex to
synchronize access.
- \snippet blockingslave/slavethread.cpp 2
+ \snippet blockingreceiver/receiverthread.cpp 2
- The startSlave() function stores the serial port name, timeout and response
+ The startReceiver() function stores the serial port name, timeout and response
data, and QMutexLocker locks the mutex to protect these data. We then
start the thread, unless it is already running. QWaitCondition::wakeOne()
will be discussed later.
- \snippet blockingslave/slavethread.cpp 4
- \snippet blockingslave/slavethread.cpp 5
+ \snippet blockingreceiver/receiverthread.cpp 4
+ \snippet blockingreceiver/receiverthread.cpp 5
In the run() function, start by acquiring the mutex lock, fetch the
serial port name, timeout and response data from the member data, and then
- release the lock again. Under no circumstance should the method \c startSlave()
+ release the lock again. Under no circumstance should the method \c startReceiver()
be called simultaneously with a process fetching these data. QString is reentrant
but not thread-safe, and it is not recommended to read the serial port name
- from one startup, call and timeout or response data of another. SlaveThread
+ from one startup, call and timeout or response data of another. ReceiverThread
can only handle one startup at a time.
The QSerialPort object we construct on stack into run() function before loop
enter:
- \snippet blockingslave/slavethread.cpp 6
+ \snippet blockingreceiver/receiverthread.cpp 6
This allows us once to create an object, while running loop, and also means
that all the methods of the object will be executed in the context of the
@@ -123,24 +123,24 @@
In the loop, check whether the name of the serial port for the current
startup has changed or not. If it has, re-open and reconfigure the serial port.
- \snippet blockingslave/slavethread.cpp 7
+ \snippet blockingreceiver/receiverthread.cpp 7
The loop will continue waiting for request data:
- \snippet blockingslave/slavethread.cpp 8
+ \snippet blockingreceiver/receiverthread.cpp 8
\warning The method waitForReadyRead() should be used before each read()
call for the blocking approach, because it processes all the I/O routines
instead of Qt event-loop.
- The timeout() signal is emitted if error occurs when reading data.
+ The timeout() signal is emitted if an error occurs when reading data.
- \snippet blockingslave/slavethread.cpp 9
+ \snippet blockingreceiver/receiverthread.cpp 9
After a successful read, try to send a response and wait for completion of the
transfer:
- \snippet blockingslave/slavethread.cpp 10
+ \snippet blockingreceiver/receiverthread.cpp 10
\warning The method waitForBytesWritten() should be used after each write()
call for the blocking approach, because it processes all the I/O routines
@@ -148,20 +148,20 @@
The timeout() signal is emitted if an error occurs when writing data.
- \snippet blockingslave/slavethread.cpp 11
+ \snippet blockingreceiver/receiverthread.cpp 11
After a successful writing is emitted, request() signal containing the
- data received from the Master application:
+ data received from the Sender application:
- \snippet blockingslave/slavethread.cpp 12
+ \snippet blockingreceiver/receiverthread.cpp 12
Next, the thread switches to reading the current parameters for the serial
interface, because they can already have been updated, and run the loop
from the beginning.
- \snippet blockingslave/slavethread.cpp 13
+ \snippet blockingreceiver/receiverthread.cpp 13
- \sa {Terminal Example}, {Blocking Master Example}
+ \sa {Terminal Example}, {Blocking Sender Example}
\include examples-run.qdocinc
*/
diff --git a/examples/serialport/doc/blockingmaster.qdoc b/examples/serialport/doc/blockingsender.qdoc
index d3f7e4eb..f89fefce 100644
--- a/examples/serialport/doc/blockingmaster.qdoc
+++ b/examples/serialport/doc/blockingsender.qdoc
@@ -28,15 +28,15 @@
****************************************************************************/
/*!
- \example blockingmaster
- \title Blocking Master Example
+ \example blockingsender
+ \title Blocking Sender Example
\ingroup qtserialport-examples
\brief Shows how to use the synchronous API of QSerialPort in a worker thread.
- \e{Blocking Master} shows how to create an application for a serial
+ \e{Blocking Sender} shows how to create an application for a serial
interface using the synchronous API of QSerialPort in a worker thread.
- \image blockingmaster-example.png
+ \image blockingsender-example.png
QSerialPort supports two programming alternatives:
@@ -65,35 +65,35 @@
should only be used in non-GUI threads to keep the user interface
responsive.
- This application is the master which demonstrates the work paired with the slave
- application \l{blockingslave}{Blocking Slave Example}.
+ This application is the sender which demonstrates the work paired with the receiver
+ application \l{blockingreceiver}{Blocking Receiver Example}.
- The master application initiates the transfer request via the serial port to
- the slave application and waits for response.
+ The sender application initiates the transfer request via the serial port to
+ the receiver application and waits for response.
- \snippet blockingmaster/masterthread.h 0
+ \snippet blockingsender/senderthread.h 0
- MasterThread is a QThread subclass that provides API for scheduling
- requests to the slave. This class provides signals for responding and
+ SenderThread is a QThread subclass that provides API for scheduling
+ requests to the receiver. This class provides signals for responding and
reporting errors. The transaction() method can be called to start up the
- new master transaction with the desired request. The result is provided by
+ new sender transaction with the desired request. The result is provided by
the response() signal. In case of any issues, the error() or timeout()
signal is emitted.
Note, the transaction() method is called in the main thread, but the
- request is provided in the MasterThread thread. The MasterThread
+ request is provided in the SenderThread thread. The SenderThread
data members are read and written concurrently in different threads, thus
the QMutex class is used to synchronize the access.
- \snippet blockingmaster/masterthread.cpp 2
+ \snippet blockingsender/senderthread.cpp 2
The transaction() method stores the serial port name, timeout and request
data. The mutex can be locked with QMutexLocker to protect this data. The
thread can be started then, unless it is already running. The
\l{QWaitCondition::wakeOne()}{wakeOne()} method is discussed later.
- \snippet blockingmaster/masterthread.cpp 4
- \snippet blockingmaster/masterthread.cpp 5
+ \snippet blockingsender/senderthread.cpp 4
+ \snippet blockingsender/senderthread.cpp 5
In the run() function, the first is to lock the QMutex object, then fetch the
serial port name, timeout and request data by using the member data. Having
@@ -103,13 +103,13 @@
simultaneously with a process fetching the data. Note, while the QString
class is reentrant, it is not thread-safe. Thereby, it is not recommended to
read the serial port name in a request thread, and timeout or request data
- in another thread. The MasterThread class can only handle one request at a
+ in another thread. The SenderThread class can only handle one request at a
time.
The QSerialPort object is constructed on stack in the run() method before
entering the loop:
- \snippet blockingmaster/masterthread.cpp 6
+ \snippet blockingsender/senderthread.cpp 6
This makes it possible to create an object while running the loop. It also
means that all the object methods are executed in the scope of the run()
@@ -119,12 +119,12 @@
current transaction has changed. If this has changed, the serial port is
reopened and then reconfigured.
- \snippet blockingmaster/masterthread.cpp 7
+ \snippet blockingsender/senderthread.cpp 7
The loop will continue to request data, write to the serial port and wait
until all data is transferred.
- \snippet blockingmaster/masterthread.cpp 8
+ \snippet blockingsender/senderthread.cpp 8
\warning As for the blocking transfer, the
\l{QSerialPort::waitForBytesWritten()}{waitForBytesWritten()} method should be
@@ -134,12 +134,12 @@
The timeout() signal is emitted if a timeout error occurs when transferring
data.
- \snippet blockingmaster/masterthread.cpp 9
+ \snippet blockingsender/senderthread.cpp 9
There is a waiting period for response after a successful request, and then
it is read again.
- \snippet blockingmaster/masterthread.cpp 10
+ \snippet blockingsender/senderthread.cpp 10
\warning As for the blocking alternative, the
\l{QSerialPort::waitForReadyRead()}{waitForReadyRead()} method should be
@@ -148,20 +148,20 @@
The timeout() signal is emitted if a timeout error occurs when receiving data.
- \snippet blockingmaster/masterthread.cpp 11
+ \snippet blockingsender/senderthread.cpp 11
When a transaction has been completed successfully, the response() signal contains
- the data received from the slave application:
+ the data received from the receiver application:
- \snippet blockingmaster/masterthread.cpp 12
+ \snippet blockingsender/senderthread.cpp 12
Afterwards, the thread goes to sleep until the next transaction appears.
The thread reads the new data after waking up by using the members and
runs the loop from the beginning.
- \snippet blockingmaster/masterthread.cpp 13
+ \snippet blockingsender/senderthread.cpp 13
- \sa {Terminal Example}, {Blocking Slave Example}
+ \sa {Terminal Example}, {Blocking Receiver Example}
\include examples-run.qdocinc
*/
diff --git a/examples/serialport/doc/terminal.qdoc b/examples/serialport/doc/terminal.qdoc
index 02156775..dcb69c63 100644
--- a/examples/serialport/doc/terminal.qdoc
+++ b/examples/serialport/doc/terminal.qdoc
@@ -60,7 +60,7 @@
\endlist
In this example, the asynchronous approach is demonstrated. The
- \l{blockingslave}{Blocking Slave} example illustrates the synchronous
+ \l{blockingreceiver}{Blocking Receiver} example illustrates the synchronous
approach.
Our example contains some GUI widgets:
@@ -141,7 +141,7 @@
about the selected port, and set the desired parameters of the given serial
port.
- \sa {Blocking Slave Example}
+ \sa {Blocking Receiver Example}
\include examples-run.qdocinc
*/
diff --git a/examples/serialport/slave/CMakeLists.txt b/examples/serialport/receiver/CMakeLists.txt
index 187c9eb3..415e8ad1 100644
--- a/examples/serialport/slave/CMakeLists.txt
+++ b/examples/serialport/receiver/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.14)
-project(slave LANGUAGES CXX)
+project(receiver LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -11,29 +11,29 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/slave")
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/receiver")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Widgets)
find_package(Qt6 COMPONENTS SerialPort)
-qt_add_executable(slave
+qt_add_executable(receiver
dialog.cpp dialog.h
main.cpp
)
-set_target_properties(slave PROPERTIES
+set_target_properties(receiver PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
)
-target_link_libraries(slave PRIVATE
+target_link_libraries(receiver PRIVATE
Qt::Core
Qt::Gui
Qt::SerialPort
Qt::Widgets
)
-install(TARGETS slave
+install(TARGETS receiver
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/serialport/slave/dialog.cpp b/examples/serialport/receiver/dialog.cpp
index 31ab7952..7386793f 100644
--- a/examples/serialport/slave/dialog.cpp
+++ b/examples/serialport/receiver/dialog.cpp
@@ -65,7 +65,7 @@ Dialog::Dialog(QWidget *parent) :
m_waitRequestLabel(new QLabel(tr("Wait request, msec:"))),
m_waitRequestSpinBox(new QSpinBox),
m_responseLabel(new QLabel(tr("Response:"))),
- m_responseLineEdit(new QLineEdit(tr("Hello, I'm Slave."))),
+ m_responseLineEdit(new QLineEdit(tr("Hello, I'm the receiver."))),
m_trafficLabel(new QLabel(tr("No traffic."))),
m_statusLabel(new QLabel(tr("Status: Not running."))),
m_runButton(new QPushButton(tr("Start")))
@@ -89,12 +89,12 @@ Dialog::Dialog(QWidget *parent) :
mainLayout->addWidget(m_statusLabel, 4, 0, 1, 5);
setLayout(mainLayout);
- setWindowTitle(tr("Slave"));
+ setWindowTitle(tr("Receiver"));
m_serialPortComboBox->setFocus();
m_timer.setSingleShot(true);
- connect(m_runButton, &QPushButton::clicked, this, &Dialog::startSlave);
+ connect(m_runButton, &QPushButton::clicked, this, &Dialog::startReceiver);
connect(&m_serial, &QSerialPort::readyRead, this, &Dialog::readRequest);
connect(&m_timer, &QTimer::timeout, this, &Dialog::processTimeout);
@@ -103,7 +103,7 @@ Dialog::Dialog(QWidget *parent) :
connect(m_responseLineEdit, &QLineEdit::textChanged, this, &Dialog::activateRunButton);
}
-void Dialog::startSlave()
+void Dialog::startReceiver()
{
if (m_serial.portName() != m_serialPortComboBox->currentText()) {
m_serial.close();
diff --git a/examples/serialport/slave/dialog.h b/examples/serialport/receiver/dialog.h
index 13909c77..982ba0e4 100644
--- a/examples/serialport/slave/dialog.h
+++ b/examples/serialport/receiver/dialog.h
@@ -73,7 +73,7 @@ public:
explicit Dialog(QWidget *parent = nullptr);
private slots:
- void startSlave();
+ void startReceiver();
void readRequest();
void processTimeout();
void activateRunButton();
diff --git a/examples/serialport/master/main.cpp b/examples/serialport/receiver/main.cpp
index 8e68c730..8e68c730 100644
--- a/examples/serialport/master/main.cpp
+++ b/examples/serialport/receiver/main.cpp
diff --git a/examples/serialport/slave/slave.pro b/examples/serialport/receiver/receiver.pro
index 3e17cf4c..3842f505 100644
--- a/examples/serialport/slave/slave.pro
+++ b/examples/serialport/receiver/receiver.pro
@@ -1,7 +1,7 @@
QT += widgets serialport
requires(qtConfig(combobox))
-TARGET = slave
+TARGET = receiver
TEMPLATE = app
HEADERS += \
@@ -11,5 +11,5 @@ SOURCES += \
main.cpp \
dialog.cpp
-target.path = $$[QT_INSTALL_EXAMPLES]/serialport/slave
+target.path = $$[QT_INSTALL_EXAMPLES]/serialport/receiver
INSTALLS += target
diff --git a/examples/serialport/master/CMakeLists.txt b/examples/serialport/sender/CMakeLists.txt
index 536a07e7..d8ec5537 100644
--- a/examples/serialport/master/CMakeLists.txt
+++ b/examples/serialport/sender/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.14)
-project(master LANGUAGES CXX)
+project(sender LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -11,29 +11,29 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/master")
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/serialport/sender")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
find_package(Qt6 COMPONENTS Widgets)
find_package(Qt6 COMPONENTS SerialPort)
-qt_add_executable(master
+qt_add_executable(sender
dialog.cpp dialog.h
main.cpp
)
-set_target_properties(master PROPERTIES
+set_target_properties(sender PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
)
-target_link_libraries(master PRIVATE
+target_link_libraries(sender PRIVATE
Qt::Core
Qt::Gui
Qt::SerialPort
Qt::Widgets
)
-install(TARGETS master
+install(TARGETS sender
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
diff --git a/examples/serialport/master/dialog.cpp b/examples/serialport/sender/dialog.cpp
index e12d8372..d7f5c29f 100644
--- a/examples/serialport/master/dialog.cpp
+++ b/examples/serialport/sender/dialog.cpp
@@ -90,7 +90,7 @@ Dialog::Dialog(QWidget *parent) :
mainLayout->addWidget(m_statusLabel, 4, 0, 1, 5);
setLayout(mainLayout);
- setWindowTitle(tr("Master"));
+ setWindowTitle(tr("Sender"));
m_serialPortComboBox->setFocus();
m_timer.setSingleShot(true);
diff --git a/examples/serialport/master/dialog.h b/examples/serialport/sender/dialog.h
index 2fb2e8e9..2fb2e8e9 100644
--- a/examples/serialport/master/dialog.h
+++ b/examples/serialport/sender/dialog.h
diff --git a/examples/serialport/slave/main.cpp b/examples/serialport/sender/main.cpp
index 8e68c730..8e68c730 100644
--- a/examples/serialport/slave/main.cpp
+++ b/examples/serialport/sender/main.cpp
diff --git a/examples/serialport/master/master.pro b/examples/serialport/sender/sender.pro
index 77f2d575..83cb7be8 100644
--- a/examples/serialport/master/master.pro
+++ b/examples/serialport/sender/sender.pro
@@ -1,7 +1,7 @@
QT += widgets serialport
requires(qtConfig(combobox))
-TARGET = master
+TARGET = sender
TEMPLATE = app
HEADERS += \
@@ -11,5 +11,5 @@ SOURCES += \
main.cpp \
dialog.cpp
-target.path = $$[QT_INSTALL_EXAMPLES]/serialport/master
+target.path = $$[QT_INSTALL_EXAMPLES]/serialport/sender
INSTALLS += target
diff --git a/examples/serialport/serialport.pro b/examples/serialport/serialport.pro
index 6d00a225..d04911a7 100644
--- a/examples/serialport/serialport.pro
+++ b/examples/serialport/serialport.pro
@@ -1,3 +1,3 @@
TEMPLATE = subdirs
SUBDIRS = cenumerator creaderasync creadersync cwriterasync cwritersync
-!isEmpty(QT.widgets.name):SUBDIRS += enumerator terminal blockingmaster blockingslave master slave
+!isEmpty(QT.widgets.name):SUBDIRS += enumerator terminal blockingsender blockingreceiver sender receiver