Browse Source

multithread

design
nasi 3 years ago
parent
commit
3d342110eb
  1. 23
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/.qmake.stash
  2. 1998
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/Makefile
  3. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/ModbusMaster.o
  4. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/Modbuswrapper.o
  5. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/SerialportException.o
  6. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/SettingSerialParameters..o
  7. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/main.o
  8. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/mainwindow.o
  9. 192
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_ModbusMaster.cpp
  10. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_ModbusMaster.o
  11. 196
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_Modbuswrapper.cpp
  12. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_Modbuswrapper.o
  13. 192
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_NodbusMaster.cpp
  14. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_NodbusMaster.o
  15. 95
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_SimulaterModbus.cpp
  16. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_SimulaterModbus.o
  17. 159
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_mainwindow.cpp
  18. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_mainwindow.o
  19. 382
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_predefs.h
  20. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/serialConnectionManager
  21. BIN
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/simulatermodbus.o
  22. 389
      build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/ui_mainwindow.h
  23. 46
      serialConnectionManager/ModbusMaster.cpp
  24. 9
      serialConnectionManager/ModbusMaster.h
  25. 23
      serialConnectionManager/Modbuswrapper.cpp
  26. 2
      serialConnectionManager/Modbuswrapper.h
  27. 8
      serialConnectionManager/SimulaterModbus.h
  28. 8
      serialConnectionManager/mainwindow.cpp
  29. 2
      serialConnectionManager/mainwindow.h
  30. 33
      serialConnectionManager/simulatermodbus.cpp

23
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/.qmake.stash

@ -0,0 +1,23 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 9
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_GCC_MAJOR_VERSION \
QMAKE_GCC_MINOR_VERSION \
QMAKE_GCC_PATCH_VERSION
QMAKE_CXX.INCDIRS = \
/usr/include/c++/9 \
/usr/include/x86_64-linux-gnu/c++/9 \
/usr/include/c++/9/backward \
/usr/lib/gcc/x86_64-linux-gnu/9/include \
/usr/local/include \
/usr/include/x86_64-linux-gnu \
/usr/include
QMAKE_CXX.LIBDIRS = \
/usr/lib/gcc/x86_64-linux-gnu/9 \
/usr/lib/x86_64-linux-gnu \
/usr/lib \
/lib/x86_64-linux-gnu \
/lib

1998
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/Makefile

File diff suppressed because it is too large

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/ModbusMaster.o

Binary file not shown.

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/Modbuswrapper.o

Binary file not shown.

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/SerialportException.o

Binary file not shown.

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/SettingSerialParameters..o

Binary file not shown.

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/main.o

Binary file not shown.

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/mainwindow.o

Binary file not shown.

192
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_ModbusMaster.cpp

@ -0,0 +1,192 @@
/****************************************************************************
** Meta object code from reading C++ file 'ModbusMaster.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../serialConnectionManager/ModbusMaster.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'ModbusMaster.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ModBusMaster_t {
QByteArrayData data[12];
char stringdata0[136];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_ModBusMaster_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_ModBusMaster_t qt_meta_stringdata_ModBusMaster = {
{
QT_MOC_LITERAL(0, 0, 12), // "ModBusMaster"
QT_MOC_LITERAL(1, 13, 14), // "dataFromClient"
QT_MOC_LITERAL(2, 28, 0), // ""
QT_MOC_LITERAL(3, 29, 15), // "readedParameter"
QT_MOC_LITERAL(4, 45, 21), // "modbusConnectionState"
QT_MOC_LITERAL(5, 67, 5), // "state"
QT_MOC_LITERAL(6, 73, 8), // "finished"
QT_MOC_LITERAL(7, 82, 19), // "modbusReplyRecieved"
QT_MOC_LITERAL(8, 102, 4), // "init"
QT_MOC_LITERAL(9, 107, 4), // "open"
QT_MOC_LITERAL(10, 112, 10), // "serialPort"
QT_MOC_LITERAL(11, 123, 12) // "slaveAddress"
},
"ModBusMaster\0dataFromClient\0\0"
"readedParameter\0modbusConnectionState\0"
"state\0finished\0modbusReplyRecieved\0"
"init\0open\0serialPort\0slaveAddress"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_ModBusMaster[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
6, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
3, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 44, 2, 0x06 /* Public */,
4, 1, 47, 2, 0x06 /* Public */,
6, 0, 50, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
7, 0, 51, 2, 0x08 /* Private */,
8, 0, 52, 2, 0x0a /* Public */,
9, 2, 53, 2, 0x0a /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void, QMetaType::Bool, 5,
QMetaType::Void,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, QMetaType::Int, 10, 11,
0 // eod
};
void ModBusMaster::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<ModBusMaster *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->dataFromClient((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 1: _t->modbusConnectionState((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 2: _t->finished(); break;
case 3: _t->modbusReplyRecieved(); break;
case 4: _t->init(); break;
case 5: _t->open((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (ModBusMaster::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ModBusMaster::dataFromClient)) {
*result = 0;
return;
}
}
{
using _t = void (ModBusMaster::*)(bool );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ModBusMaster::modbusConnectionState)) {
*result = 1;
return;
}
}
{
using _t = void (ModBusMaster::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ModBusMaster::finished)) {
*result = 2;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject ModBusMaster::staticMetaObject = { {
&QObject::staticMetaObject,
qt_meta_stringdata_ModBusMaster.data,
qt_meta_data_ModBusMaster,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *ModBusMaster::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *ModBusMaster::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_ModBusMaster.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int ModBusMaster::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 6)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 6)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 6;
}
return _id;
}
// SIGNAL 0
void ModBusMaster::dataFromClient(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void ModBusMaster::modbusConnectionState(bool _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
// SIGNAL 2
void ModBusMaster::finished()
{
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_ModbusMaster.o

Binary file not shown.

196
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_Modbuswrapper.cpp

@ -0,0 +1,196 @@
/****************************************************************************
** Meta object code from reading C++ file 'Modbuswrapper.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../serialConnectionManager/Modbuswrapper.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'Modbuswrapper.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ModbusWrapper_t {
QByteArrayData data[10];
char stringdata0[143];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_ModbusWrapper_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_ModbusWrapper_t qt_meta_stringdata_ModbusWrapper = {
{
QT_MOC_LITERAL(0, 0, 13), // "ModbusWrapper"
QT_MOC_LITERAL(1, 14, 19), // "openConnectionOrder"
QT_MOC_LITERAL(2, 34, 0), // ""
QT_MOC_LITERAL(3, 35, 11), // "_serialPort"
QT_MOC_LITERAL(4, 47, 13), // "_slaveAddress"
QT_MOC_LITERAL(5, 61, 19), // "initConnectionOrder"
QT_MOC_LITERAL(6, 81, 19), // "stopConnectionOrder"
QT_MOC_LITERAL(7, 101, 12), // "getCoilOrder"
QT_MOC_LITERAL(8, 114, 12), // "startAddress"
QT_MOC_LITERAL(9, 127, 15) // "numberOfEntries"
},
"ModbusWrapper\0openConnectionOrder\0\0"
"_serialPort\0_slaveAddress\0initConnectionOrder\0"
"stopConnectionOrder\0getCoilOrder\0"
"startAddress\0numberOfEntries"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_ModbusWrapper[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
4, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
4, // signalCount
// signals: name, argc, parameters, tag, flags
1, 2, 34, 2, 0x06 /* Public */,
5, 0, 39, 2, 0x06 /* Public */,
6, 0, 40, 2, 0x06 /* Public */,
7, 2, 41, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::QString, QMetaType::Int, 3, 4,
QMetaType::Void,
QMetaType::Void,
QMetaType::QBitArray, QMetaType::Int, QMetaType::UShort, 8, 9,
0 // eod
};
void ModbusWrapper::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<ModbusWrapper *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->openConnectionOrder((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
case 1: _t->initConnectionOrder(); break;
case 2: _t->stopConnectionOrder(); break;
case 3: { QBitArray _r = _t->getCoilOrder((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< quint16(*)>(_a[2])));
if (_a[0]) *reinterpret_cast< QBitArray*>(_a[0]) = std::move(_r); } break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (ModbusWrapper::*)(QString , int );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ModbusWrapper::openConnectionOrder)) {
*result = 0;
return;
}
}
{
using _t = void (ModbusWrapper::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ModbusWrapper::initConnectionOrder)) {
*result = 1;
return;
}
}
{
using _t = void (ModbusWrapper::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ModbusWrapper::stopConnectionOrder)) {
*result = 2;
return;
}
}
{
using _t = QBitArray (ModbusWrapper::*)(int , quint16 );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ModbusWrapper::getCoilOrder)) {
*result = 3;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject ModbusWrapper::staticMetaObject = { {
&QObject::staticMetaObject,
qt_meta_stringdata_ModbusWrapper.data,
qt_meta_data_ModbusWrapper,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *ModbusWrapper::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *ModbusWrapper::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_ModbusWrapper.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int ModbusWrapper::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 4)
qt_static_metacall(this, _c, _id, _a);
_id -= 4;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 4)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 4;
}
return _id;
}
// SIGNAL 0
void ModbusWrapper::openConnectionOrder(QString _t1, int _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void ModbusWrapper::initConnectionOrder()
{
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
}
// SIGNAL 2
void ModbusWrapper::stopConnectionOrder()
{
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}
// SIGNAL 3
QBitArray ModbusWrapper::getCoilOrder(int _t1, quint16 _t2)
{
QBitArray _t0{};
void *_a[] = { const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t0))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 3, _a);
return _t0;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_Modbuswrapper.o

Binary file not shown.

192
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_NodbusMaster.cpp

@ -0,0 +1,192 @@
/****************************************************************************
** Meta object code from reading C++ file 'NodbusMaster.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../serialConnectionManager/NodbusMaster.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'NodbusMaster.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_modBusMaster_t {
QByteArrayData data[12];
char stringdata0[136];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_modBusMaster_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_modBusMaster_t qt_meta_stringdata_modBusMaster = {
{
QT_MOC_LITERAL(0, 0, 12), // "modBusMaster"
QT_MOC_LITERAL(1, 13, 14), // "dataFromClient"
QT_MOC_LITERAL(2, 28, 0), // ""
QT_MOC_LITERAL(3, 29, 15), // "readedParameter"
QT_MOC_LITERAL(4, 45, 21), // "modbusConnectionState"
QT_MOC_LITERAL(5, 67, 5), // "state"
QT_MOC_LITERAL(6, 73, 8), // "finished"
QT_MOC_LITERAL(7, 82, 19), // "modbusReplyRecieved"
QT_MOC_LITERAL(8, 102, 4), // "init"
QT_MOC_LITERAL(9, 107, 4), // "open"
QT_MOC_LITERAL(10, 112, 10), // "serialPort"
QT_MOC_LITERAL(11, 123, 12) // "slaveAddress"
},
"modBusMaster\0dataFromClient\0\0"
"readedParameter\0modbusConnectionState\0"
"state\0finished\0modbusReplyRecieved\0"
"init\0open\0serialPort\0slaveAddress"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_modBusMaster[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
6, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
3, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 44, 2, 0x06 /* Public */,
4, 1, 47, 2, 0x06 /* Public */,
6, 0, 50, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
7, 0, 51, 2, 0x08 /* Private */,
8, 0, 52, 2, 0x0a /* Public */,
9, 2, 53, 2, 0x0a /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::QString, 3,
QMetaType::Void, QMetaType::Bool, 5,
QMetaType::Void,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, QMetaType::Int, 10, 11,
0 // eod
};
void modBusMaster::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<modBusMaster *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->dataFromClient((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 1: _t->modbusConnectionState((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 2: _t->finished(); break;
case 3: _t->modbusReplyRecieved(); break;
case 4: _t->init(); break;
case 5: _t->open((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (modBusMaster::*)(QString );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&modBusMaster::dataFromClient)) {
*result = 0;
return;
}
}
{
using _t = void (modBusMaster::*)(bool );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&modBusMaster::modbusConnectionState)) {
*result = 1;
return;
}
}
{
using _t = void (modBusMaster::*)();
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&modBusMaster::finished)) {
*result = 2;
return;
}
}
}
}
QT_INIT_METAOBJECT const QMetaObject modBusMaster::staticMetaObject = { {
&QObject::staticMetaObject,
qt_meta_stringdata_modBusMaster.data,
qt_meta_data_modBusMaster,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *modBusMaster::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *modBusMaster::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_modBusMaster.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int modBusMaster::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 6)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 6)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 6;
}
return _id;
}
// SIGNAL 0
void modBusMaster::dataFromClient(QString _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void modBusMaster::modbusConnectionState(bool _t1)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
// SIGNAL 2
void modBusMaster::finished()
{
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_NodbusMaster.o

Binary file not shown.

95
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_SimulaterModbus.cpp

@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'SimulaterModbus.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../serialConnectionManager/SimulaterModbus.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'SimulaterModbus.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_Simulatermodbus_t {
QByteArrayData data[1];
char stringdata0[16];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_Simulatermodbus_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_Simulatermodbus_t qt_meta_stringdata_Simulatermodbus = {
{
QT_MOC_LITERAL(0, 0, 15) // "Simulatermodbus"
},
"Simulatermodbus"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_Simulatermodbus[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void Simulatermodbus::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject Simulatermodbus::staticMetaObject = { {
&QObject::staticMetaObject,
qt_meta_stringdata_Simulatermodbus.data,
qt_meta_data_Simulatermodbus,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *Simulatermodbus::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *Simulatermodbus::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_Simulatermodbus.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int Simulatermodbus::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_SimulaterModbus.o

Binary file not shown.

159
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_mainwindow.cpp

@ -0,0 +1,159 @@
/****************************************************************************
** Meta object code from reading C++ file 'mainwindow.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.13.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../serialConnectionManager/mainwindow.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#include <QtCore/QVector>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'mainwindow.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.13.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_MainWindow_t {
QByteArrayData data[12];
char stringdata0[199];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
{
QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
QT_MOC_LITERAL(1, 11, 24), // "on_connectButton_clicked"
QT_MOC_LITERAL(2, 36, 0), // ""
QT_MOC_LITERAL(3, 37, 21), // "on_readButton_clicked"
QT_MOC_LITERAL(4, 59, 22), // "on_writeButton_clicked"
QT_MOC_LITERAL(5, 82, 23), // "printCoilsDataFromSlave"
QT_MOC_LITERAL(6, 106, 7), // "uiCoils"
QT_MOC_LITERAL(7, 114, 26), // "printRegisterDataFromSlave"
QT_MOC_LITERAL(8, 141, 16), // "QVector<quint16>"
QT_MOC_LITERAL(9, 158, 18), // "uiHoldingRegisters"
QT_MOC_LITERAL(10, 177, 15), // "connectionState"
QT_MOC_LITERAL(11, 193, 5) // "state"
},
"MainWindow\0on_connectButton_clicked\0"
"\0on_readButton_clicked\0on_writeButton_clicked\0"
"printCoilsDataFromSlave\0uiCoils\0"
"printRegisterDataFromSlave\0QVector<quint16>\0"
"uiHoldingRegisters\0connectionState\0"
"state"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_MainWindow[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
6, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 44, 2, 0x08 /* Private */,
3, 0, 45, 2, 0x08 /* Private */,
4, 0, 46, 2, 0x08 /* Private */,
5, 1, 47, 2, 0x08 /* Private */,
7, 1, 50, 2, 0x08 /* Private */,
10, 1, 53, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void, QMetaType::QBitArray, 6,
QMetaType::Void, 0x80000000 | 8, 9,
QMetaType::Void, QMetaType::Bool, 11,
0 // eod
};
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<MainWindow *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->on_connectButton_clicked(); break;
case 1: _t->on_readButton_clicked(); break;
case 2: _t->on_writeButton_clicked(); break;
case 3: _t->printCoilsDataFromSlave((*reinterpret_cast< QBitArray(*)>(_a[1]))); break;
case 4: _t->printRegisterDataFromSlave((*reinterpret_cast< QVector<quint16>(*)>(_a[1]))); break;
case 5: _t->connectionState((*reinterpret_cast< bool(*)>(_a[1]))); break;
default: ;
}
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
switch (_id) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 4:
switch (*reinterpret_cast<int*>(_a[1])) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 0:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QVector<quint16> >(); break;
}
break;
}
}
}
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
&QMainWindow::staticMetaObject,
qt_meta_stringdata_MainWindow.data,
qt_meta_data_MainWindow,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *MainWindow::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *MainWindow::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
return static_cast<void*>(this);
return QMainWindow::qt_metacast(_clname);
}
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 6)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 6)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_mainwindow.o

Binary file not shown.

382
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/moc_predefs.h

@ -0,0 +1,382 @@
#define __SSP_STRONG__ 3
#define __DBL_MIN_EXP__ (-1021)
#define __FLT32X_MAX_EXP__ 1024
#define __cpp_attributes 200809
#define __UINT_LEAST16_MAX__ 0xffff
#define __ATOMIC_ACQUIRE 2
#define __FLT128_MAX_10_EXP__ 4932
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
#define __GCC_IEC_559_COMPLEX 2
#define __UINT_LEAST8_TYPE__ unsigned char
#define __SIZEOF_FLOAT80__ 16
#define __INTMAX_C(c) c ## L
#define __CHAR_BIT__ 8
#define __UINT8_MAX__ 0xff
#define __WINT_MAX__ 0xffffffffU
#define __FLT32_MIN_EXP__ (-125)
#define __cpp_static_assert 200410
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __SIZE_MAX__ 0xffffffffffffffffUL
#define __WCHAR_MAX__ 0x7fffffff
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
#define __GCC_IEC_559 2
#define __FLT32X_DECIMAL_DIG__ 17
#define __FLT_EVAL_METHOD__ 0
#define __unix__ 1
#define __cpp_binary_literals 201304
#define __FLT64_DECIMAL_DIG__ 17
#define __CET__ 3
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
#define __x86_64 1
#define __cpp_variadic_templates 200704
#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
#define __SIG_ATOMIC_TYPE__ int
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __GNUC_PATCHLEVEL__ 0
#define __FLT32_HAS_DENORM__ 1
#define __UINT_FAST8_MAX__ 0xff
#define __cpp_rvalue_reference 200610
#define __has_include(STR) __has_include__(STR)
#define __DEC64_MAX_EXP__ 385
#define __INT8_C(c) c
#define __INT_LEAST8_WIDTH__ 8
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
#define __SHRT_MAX__ 0x7fff
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
#define __FLT64X_MAX_10_EXP__ 4932
#define __UINT_LEAST8_MAX__ 0xff
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
#define __UINTMAX_TYPE__ long unsigned int
#define __linux 1
#define __DEC32_EPSILON__ 1E-6DF
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
#define __unix 1
#define __UINT32_MAX__ 0xffffffffU
#define __GXX_EXPERIMENTAL_CXX0X__ 1
#define __LDBL_MAX_EXP__ 16384
#define __FLT128_MIN_EXP__ (-16381)
#define __WINT_MIN__ 0U
#define __linux__ 1
#define __FLT128_MIN_10_EXP__ (-4931)
#define __INT_LEAST16_WIDTH__ 16
#define __SCHAR_MAX__ 0x7f
#define __FLT128_MANT_DIG__ 113
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
#define __INT64_C(c) c ## L
#define __DBL_DIG__ 15
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
#define __FLT64X_MANT_DIG__ 64
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
#define __USER_LABEL_PREFIX__
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
#define __STDC_HOSTED__ 1
#define __LDBL_HAS_INFINITY__ 1
#define __FLT32_DIG__ 6
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
#define __GXX_WEAK__ 1
#define __SHRT_WIDTH__ 16
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
#define __DEC32_MAX__ 9.999999E96DF
#define __cpp_threadsafe_static_init 200806
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
#define __FLT32X_HAS_INFINITY__ 1
#define __INT32_MAX__ 0x7fffffff
#define __INT_WIDTH__ 32
#define __SIZEOF_LONG__ 8
#define __STDC_IEC_559__ 1
#define __STDC_ISO_10646__ 201706L
#define __UINT16_C(c) c
#define __PTRDIFF_WIDTH__ 64
#define __DECIMAL_DIG__ 21
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
#define __gnu_linux__ 1
#define __INTMAX_WIDTH__ 64
#define __FLT64_MIN_EXP__ (-1021)
#define __has_include_next(STR) __has_include_next__(STR)
#define __FLT64X_MIN_10_EXP__ (-4931)
#define __LDBL_HAS_QUIET_NAN__ 1
#define __FLT64_MANT_DIG__ 53
#define __GNUC__ 9
#define __GXX_RTTI 1
#define __pie__ 2
#define __MMX__ 1
#define __cpp_delegating_constructors 200604
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 16
#define __BIGGEST_ALIGNMENT__ 16
#define __STDC_UTF_16__ 1
#define __FLT64_MAX_10_EXP__ 308
#define __FLT32_HAS_INFINITY__ 1
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
#define __cpp_raw_strings 200710
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
#define __DBL_HAS_INFINITY__ 1
#define __HAVE_SPECULATION_SAFE_VALUE 1
#define __DEC32_MIN_EXP__ (-94)
#define __INTPTR_WIDTH__ 64
#define __FLT32X_HAS_DENORM__ 1
#define __INT_FAST16_TYPE__ long int
#define __LDBL_HAS_DENORM__ 1
#define __cplusplus 201103L
#define __cpp_ref_qualifiers 200710
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __INT_LEAST32_MAX__ 0x7fffffff
#define __DEC32_MIN__ 1E-95DF
#define __DEPRECATED 1
#define __cpp_rvalue_references 200610
#define __DBL_MAX_EXP__ 1024
#define __WCHAR_WIDTH__ 32
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
#define __DEC128_EPSILON__ 1E-33DL
#define __SSE2_MATH__ 1
#define __ATOMIC_HLE_RELEASE 131072
#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
#define __amd64 1
#define __ATOMIC_HLE_ACQUIRE 65536
#define __FLT32_HAS_QUIET_NAN__ 1
#define __GNUG__ 9
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
#define __SIZEOF_SIZE_T__ 8
#define __cpp_nsdmi 200809
#define __FLT64X_MIN_EXP__ (-16381)
#define __SIZEOF_WINT_T__ 4
#define __LONG_LONG_WIDTH__ 64
#define __cpp_initializer_lists 200806
#define __FLT32_MAX_EXP__ 128
#define __cpp_hex_float 201603
#define __GCC_HAVE_DWARF2_CFI_ASM 1
#define __GXX_ABI_VERSION 1013
#define __FLT128_HAS_INFINITY__ 1
#define __FLT_MIN_EXP__ (-125)
#define __cpp_lambdas 200907
#define __FLT64X_HAS_QUIET_NAN__ 1
#define __INT_FAST64_TYPE__ long int
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
#define __PIE__ 2
#define __LP64__ 1
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
#define __DECIMAL_BID_FORMAT__ 1
#define __FLT64_MIN_10_EXP__ (-307)
#define __FLT64X_DECIMAL_DIG__ 21
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __UINT16_MAX__ 0xffff
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
#define __UINT8_TYPE__ unsigned char
#define __NO_INLINE__ 1
#define __FLT_MANT_DIG__ 24
#define __LDBL_DECIMAL_DIG__ 21
#define __VERSION__ "9.3.0"
#define __UINT64_C(c) c ## UL
#define __cpp_unicode_characters 200704
#define _STDC_PREDEF_H 1
#define __GCC_ATOMIC_INT_LOCK_FREE 2
#define __FLT128_MAX_EXP__ 16384
#define __FLT32_MANT_DIG__ 24
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __STDC_IEC_559_COMPLEX__ 1
#define __FLT128_HAS_DENORM__ 1
#define __FLT128_DIG__ 33
#define __SCHAR_WIDTH__ 8
#define __INT32_C(c) c
#define __DEC64_EPSILON__ 1E-15DD
#define __ORDER_PDP_ENDIAN__ 3412
#define __DEC128_MIN_EXP__ (-6142)
#define __FLT32_MAX_10_EXP__ 38
#define __INT_FAST32_TYPE__ long int
#define __UINT_LEAST16_TYPE__ short unsigned int
#define __FLT64X_HAS_INFINITY__ 1
#define unix 1
#define __DBL_HAS_DENORM__ 1
#define __INT16_MAX__ 0x7fff
#define __cpp_rtti 199711
#define __SIZE_TYPE__ long unsigned int
#define __UINT64_MAX__ 0xffffffffffffffffUL
#define __FLT64X_DIG__ 18
#define __INT8_TYPE__ signed char
#define __ELF__ 1
#define __GCC_ASM_FLAG_OUTPUTS__ 1
#define __FLT_RADIX__ 2
#define __INT_LEAST16_TYPE__ short int
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
#define __UINTMAX_C(c) c ## UL
#define __GLIBCXX_BITSIZE_INT_N_0 128
#define __k8 1
#define __SIG_ATOMIC_MAX__ 0x7fffffff
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define __SIZEOF_PTRDIFF_T__ 8
#define __FLT32X_MANT_DIG__ 53
#define __x86_64__ 1
#define __FLT32X_MIN_EXP__ (-1021)
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
#define __FLT64_DIG__ 15
#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
#define __UINT_LEAST64_TYPE__ long unsigned int
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 0x7fffffffffffffffL
#define __FLT64X_HAS_DENORM__ 1
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __FLT_HAS_INFINITY__ 1
#define __cpp_unicode_literals 200710
#define __UINT_FAST16_TYPE__ long unsigned int
#define __DEC64_MAX__ 9.999999999999999E384DD
#define __INT_FAST32_WIDTH__ 64
#define __CHAR16_TYPE__ short unsigned int
#define __PRAGMA_REDEFINE_EXTNAME 1
#define __SIZE_WIDTH__ 64
#define __SEG_FS 1
#define __INT_LEAST16_MAX__ 0x7fff
#define __DEC64_MANT_DIG__ 16
#define __INT64_MAX__ 0x7fffffffffffffffL
#define __UINT_LEAST32_MAX__ 0xffffffffU
#define __SEG_GS 1
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
#define __SIG_ATOMIC_WIDTH__ 32
#define __INT_LEAST64_TYPE__ long int
#define __INT16_TYPE__ short int
#define __INT_LEAST8_TYPE__ signed char
#define __DEC32_MAX_EXP__ 97
#define __INT_FAST8_MAX__ 0x7f
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
#define __INTPTR_MAX__ 0x7fffffffffffffffL
#define linux 1
#define __cpp_range_based_for 200907
#define __FLT64_HAS_QUIET_NAN__ 1
#define __FLT32_MIN_10_EXP__ (-37)
#define __SSE2__ 1
#define __EXCEPTIONS 1
#define __LDBL_MANT_DIG__ 64
#define __DBL_HAS_QUIET_NAN__ 1
#define __FLT64_HAS_INFINITY__ 1
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
#define __code_model_small__ 1
#define __k8__ 1
#define __INTPTR_TYPE__ long int
#define __UINT16_TYPE__ short unsigned int
#define __WCHAR_TYPE__ int
#define __SIZEOF_FLOAT__ 4
#define __pic__ 2
#define __UINTPTR_MAX__ 0xffffffffffffffffUL
#define __INT_FAST64_WIDTH__ 64
#define __DEC64_MIN_EXP__ (-382)
#define __cpp_decltype 200707
#define __FLT32_DECIMAL_DIG__ 9
#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define __FLT_DIG__ 6
#define __FLT64X_MAX_EXP__ 16384
#define __UINT_FAST64_TYPE__ long unsigned int
#define __INT_MAX__ 0x7fffffff
#define __amd64__ 1
#define __INT64_TYPE__ long int
#define __FLT_MAX_EXP__ 128
#define __ORDER_BIG_ENDIAN__ 4321
#define __DBL_MANT_DIG__ 53
#define __cpp_inheriting_constructors 201511
#define __SIZEOF_FLOAT128__ 16
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ unsigned int
#define __UINT_LEAST32_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __SSE__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
#define __WINT_WIDTH__ 32
#define __INT_LEAST8_MAX__ 0x7f
#define __FLT32X_MAX_10_EXP__ 308
#define __SIZEOF_INT128__ 16
#define __LDBL_MAX_10_EXP__ 4932
#define __ATOMIC_RELAXED 0
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
#define _LP64 1
#define __UINT8_C(c) c
#define __FLT64_MAX_EXP__ 1024
#define __INT_LEAST32_TYPE__ int
#define __SIZEOF_WCHAR_T__ 4
#define __FLT128_HAS_QUIET_NAN__ 1
#define __INT_FAST8_TYPE__ signed char
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
#define __GNUC_STDC_INLINE__ 1
#define __FLT64_HAS_DENORM__ 1
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
#define __DBL_DECIMAL_DIG__ 17
#define __STDC_UTF_32__ 1
#define __INT_FAST8_WIDTH__ 8
#define __FXSR__ 1
#define __DEC_EVAL_METHOD__ 2
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
#define __cpp_runtime_arrays 198712
#define __UINT64_TYPE__ long unsigned int
#define __UINT32_C(c) c ## U
#define __INTMAX_MAX__ 0x7fffffffffffffffL
#define __cpp_alias_templates 200704
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
#define __INT8_MAX__ 0x7f
#define __LONG_WIDTH__ 64
#define __PIC__ 2
#define __UINT_FAST32_TYPE__ long unsigned int
#define __CHAR32_TYPE__ unsigned int
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
#define __cpp_constexpr 200704
#define __INT32_TYPE__ int
#define __SIZEOF_DOUBLE__ 8
#define __cpp_exceptions 199711
#define __FLT_MIN_10_EXP__ (-37)
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
#define __INT_LEAST32_WIDTH__ 32
#define __INTMAX_TYPE__ long int
#define __DEC128_MAX_EXP__ 6145
#define __FLT32X_HAS_QUIET_NAN__ 1
#define __ATOMIC_CONSUME 1
#define __GNUC_MINOR__ 3
#define __GLIBCXX_TYPE_INT_N_0 __int128
#define __INT_FAST16_WIDTH__ 64
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
#define __DEC32_MANT_DIG__ 7
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
#define __INT16_C(c) c
#define __STDC__ 1
#define __FLT32X_DIG__ 15
#define __PTRDIFF_TYPE__ long int
#define __ATOMIC_SEQ_CST 5
#define __UINT32_TYPE__ unsigned int
#define __FLT32X_MIN_10_EXP__ (-307)
#define __UINTPTR_TYPE__ long unsigned int
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-4931)
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
#define __SSE_MATH__ 1
#define __SIZEOF_LONG_LONG__ 8
#define __cpp_user_defined_literals 200809
#define __FLT128_DECIMAL_DIG__ 36
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
#define __LDBL_DIG__ 18
#define __FLT_DECIMAL_DIG__ 9
#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
#define __INT_LEAST64_WIDTH__ 64
#define __UINT_FAST8_TYPE__ unsigned char
#define _GNU_SOURCE 1
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/serialConnectionManager

Binary file not shown.

BIN
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/simulatermodbus.o

Binary file not shown.

389
build-serialConnectionManager-Desktop_Qt_5_13_1_GCC_64bit-Debug/ui_mainwindow.h

@ -0,0 +1,389 @@
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.13.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QTextEdit>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralwidget;
QWidget *layoutWidget;
QGridLayout *gridLayout;
QLabel *label_27;
QSpinBox *serverEdit;
QLineEdit *portEdit;
QPushButton *connectButton;
QLabel *label;
QLabel *label_2;
QWidget *layoutWidget_2;
QHBoxLayout *horizontalLayout_2;
QGroupBox *groupBox_2;
QGridLayout *gridLayout_3;
QSpinBox *readAddress;
QLabel *label_5;
QLabel *label_9;
QComboBox *readSize;
QLabel *label_4;
QTextEdit *textEditRead;
QGroupBox *writeGroupBox;
QGridLayout *gridLayout_2;
QVBoxLayout *verticalLayout_2;
QCheckBox *coilData1;
QCheckBox *coilData2;
QComboBox *writeSize;
QSpinBox *writeAddress;
QLabel *label_7;
QLabel *label_8;
QVBoxLayout *verticalLayout;
QHBoxLayout *horizontalLayout_3;
QLabel *label_3;
QTextEdit *textEdit1;
QLabel *label_10;
QTextEdit *textEdit2;
QVBoxLayout *verticalLayout_3;
QWidget *layoutWidget_3;
QHBoxLayout *horizontalLayout;
QLabel *label_6;
QComboBox *writeTable;
QSpacerItem *horizontalSpacer_2;
QPushButton *readButton;
QPushButton *writeButton;
QPushButton *readWriteButton;
QMenuBar *menubar;
QStatusBar *statusbar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(578, 569);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
layoutWidget = new QWidget(centralwidget);
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
layoutWidget->setGeometry(QRect(0, 10, 571, 28));
gridLayout = new QGridLayout(layoutWidget);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
gridLayout->setContentsMargins(0, 0, 0, 0);
label_27 = new QLabel(layoutWidget);
label_27->setObjectName(QString::fromUtf8("label_27"));
QSizePolicy sizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(label_27->sizePolicy().hasHeightForWidth());
label_27->setSizePolicy(sizePolicy);
gridLayout->addWidget(label_27, 0, 4, 1, 1);
serverEdit = new QSpinBox(layoutWidget);
serverEdit->setObjectName(QString::fromUtf8("serverEdit"));
QSizePolicy sizePolicy1(QSizePolicy::Maximum, QSizePolicy::Fixed);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(serverEdit->sizePolicy().hasHeightForWidth());
serverEdit->setSizePolicy(sizePolicy1);
serverEdit->setMinimum(1);
serverEdit->setMaximum(247);
gridLayout->addWidget(serverEdit, 0, 5, 1, 1);
portEdit = new QLineEdit(layoutWidget);
portEdit->setObjectName(QString::fromUtf8("portEdit"));
QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Fixed);
sizePolicy2.setHorizontalStretch(0);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(portEdit->sizePolicy().hasHeightForWidth());
portEdit->setSizePolicy(sizePolicy2);
gridLayout->addWidget(portEdit, 0, 3, 1, 1);
connectButton = new QPushButton(layoutWidget);
connectButton->setObjectName(QString::fromUtf8("connectButton"));
sizePolicy1.setHeightForWidth(connectButton->sizePolicy().hasHeightForWidth());
connectButton->setSizePolicy(sizePolicy1);
connectButton->setCheckable(false);
connectButton->setAutoDefault(false);
gridLayout->addWidget(connectButton, 0, 6, 1, 1);
label = new QLabel(layoutWidget);
label->setObjectName(QString::fromUtf8("label"));
gridLayout->addWidget(label, 0, 0, 1, 1);
label_2 = new QLabel(layoutWidget);
label_2->setObjectName(QString::fromUtf8("label_2"));
sizePolicy.setHeightForWidth(label_2->sizePolicy().hasHeightForWidth());
label_2->setSizePolicy(sizePolicy);
gridLayout->addWidget(label_2, 0, 1, 1, 1);
layoutWidget_2 = new QWidget(centralwidget);
layoutWidget_2->setObjectName(QString::fromUtf8("layoutWidget_2"));
layoutWidget_2->setGeometry(QRect(0, 40, 571, 455));
horizontalLayout_2 = new QHBoxLayout(layoutWidget_2);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalLayout_2->setContentsMargins(0, 0, 0, 0);
groupBox_2 = new QGroupBox(layoutWidget_2);
groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
groupBox_2->setMinimumSize(QSize(250, 0));
gridLayout_3 = new QGridLayout(groupBox_2);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
readAddress = new QSpinBox(groupBox_2);
readAddress->setObjectName(QString::fromUtf8("readAddress"));
readAddress->setMaximum(15);
gridLayout_3->addWidget(readAddress, 0, 2, 1, 1);
label_5 = new QLabel(groupBox_2);
label_5->setObjectName(QString::fromUtf8("label_5"));
gridLayout_3->addWidget(label_5, 1, 1, 1, 1);
label_9 = new QLabel(groupBox_2);
label_9->setObjectName(QString::fromUtf8("label_9"));
gridLayout_3->addWidget(label_9, 2, 1, 1, 1);
readSize = new QComboBox(groupBox_2);
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->addItem(QString());
readSize->setObjectName(QString::fromUtf8("readSize"));
gridLayout_3->addWidget(readSize, 1, 2, 1, 1);
label_4 = new QLabel(groupBox_2);
label_4->setObjectName(QString::fromUtf8("label_4"));
gridLayout_3->addWidget(label_4, 0, 1, 1, 1);
textEditRead = new QTextEdit(groupBox_2);
textEditRead->setObjectName(QString::fromUtf8("textEditRead"));
gridLayout_3->addWidget(textEditRead, 3, 1, 1, 2);
horizontalLayout_2->addWidget(groupBox_2);
writeGroupBox = new QGroupBox(layoutWidget_2);
writeGroupBox->setObjectName(QString::fromUtf8("writeGroupBox"));
writeGroupBox->setMinimumSize(QSize(225, 0));
gridLayout_2 = new QGridLayout(writeGroupBox);
gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
verticalLayout_2 = new QVBoxLayout();
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
coilData1 = new QCheckBox(writeGroupBox);
coilData1->setObjectName(QString::fromUtf8("coilData1"));
verticalLayout_2->addWidget(coilData1);
coilData2 = new QCheckBox(writeGroupBox);
coilData2->setObjectName(QString::fromUtf8("coilData2"));
verticalLayout_2->addWidget(coilData2);
gridLayout_2->addLayout(verticalLayout_2, 2, 0, 1, 2);
writeSize = new QComboBox(writeGroupBox);
writeSize->addItem(QString());
writeSize->addItem(QString());
writeSize->setObjectName(QString::fromUtf8("writeSize"));
writeSize->setMaxVisibleItems(2);
gridLayout_2->addWidget(writeSize, 1, 1, 1, 1);
writeAddress = new QSpinBox(writeGroupBox);
writeAddress->setObjectName(QString::fromUtf8("writeAddress"));
writeAddress->setMaximum(9);
gridLayout_2->addWidget(writeAddress, 0, 1, 1, 1);
label_7 = new QLabel(writeGroupBox);
label_7->setObjectName(QString::fromUtf8("label_7"));
gridLayout_2->addWidget(label_7, 0, 0, 1, 1);
label_8 = new QLabel(writeGroupBox);
label_8->setObjectName(QString::fromUtf8("label_8"));
gridLayout_2->addWidget(label_8, 1, 0, 1, 1);
verticalLayout = new QVBoxLayout();
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
horizontalLayout_3 = new QHBoxLayout();
horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
verticalLayout->addLayout(horizontalLayout_3);
label_3 = new QLabel(writeGroupBox);
label_3->setObjectName(QString::fromUtf8("label_3"));
verticalLayout->addWidget(label_3);
textEdit1 = new QTextEdit(writeGroupBox);
textEdit1->setObjectName(QString::fromUtf8("textEdit1"));
verticalLayout->addWidget(textEdit1);
label_10 = new QLabel(writeGroupBox);
label_10->setObjectName(QString::fromUtf8("label_10"));
verticalLayout->addWidget(label_10);
textEdit2 = new QTextEdit(writeGroupBox);
textEdit2->setObjectName(QString::fromUtf8("textEdit2"));
verticalLayout->addWidget(textEdit2);
verticalLayout_3 = new QVBoxLayout();
verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
verticalLayout->addLayout(verticalLayout_3);
gridLayout_2->addLayout(verticalLayout, 3, 0, 1, 2);
horizontalLayout_2->addWidget(writeGroupBox);
layoutWidget_3 = new QWidget(centralwidget);
layoutWidget_3->setObjectName(QString::fromUtf8("layoutWidget_3"));
layoutWidget_3->setGeometry(QRect(10, 500, 561, 27));
horizontalLayout = new QHBoxLayout(layoutWidget_3);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
horizontalLayout->setContentsMargins(0, 0, 0, 0);
label_6 = new QLabel(layoutWidget_3);
label_6->setObjectName(QString::fromUtf8("label_6"));
horizontalLayout->addWidget(label_6);
writeTable = new QComboBox(layoutWidget_3);
writeTable->setObjectName(QString::fromUtf8("writeTable"));
horizontalLayout->addWidget(writeTable);
horizontalSpacer_2 = new QSpacerItem(13, 17, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer_2);
readButton = new QPushButton(layoutWidget_3);
readButton->setObjectName(QString::fromUtf8("readButton"));
sizePolicy1.setHeightForWidth(readButton->sizePolicy().hasHeightForWidth());
readButton->setSizePolicy(sizePolicy1);
horizontalLayout->addWidget(readButton);
writeButton = new QPushButton(layoutWidget_3);
writeButton->setObjectName(QString::fromUtf8("writeButton"));
horizontalLayout->addWidget(writeButton);
readWriteButton = new QPushButton(layoutWidget_3);
readWriteButton->setObjectName(QString::fromUtf8("readWriteButton"));
readWriteButton->setEnabled(false);
horizontalLayout->addWidget(readWriteButton);
MainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(MainWindow);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 578, 22));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
retranslateUi(MainWindow);
connectButton->setDefault(true);
readSize->setCurrentIndex(9);
writeSize->setCurrentIndex(0);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
label_27->setText(QCoreApplication::translate("MainWindow", "Server Address:", nullptr));
connectButton->setText(QCoreApplication::translate("MainWindow", "Connect", nullptr));
label->setText(QCoreApplication::translate("MainWindow", "Connection type Is Serial:", nullptr));
label_2->setText(QCoreApplication::translate("MainWindow", "Port:", nullptr));
groupBox_2->setTitle(QCoreApplication::translate("MainWindow", "Read", nullptr));
label_5->setText(QCoreApplication::translate("MainWindow", "Number of values:", nullptr));
label_9->setText(QCoreApplication::translate("MainWindow", "Result:", nullptr));
readSize->setItemText(0, QCoreApplication::translate("MainWindow", "1", nullptr));
readSize->setItemText(1, QCoreApplication::translate("MainWindow", "2", nullptr));
readSize->setItemText(2, QCoreApplication::translate("MainWindow", "3", nullptr));
readSize->setItemText(3, QCoreApplication::translate("MainWindow", "4", nullptr));
readSize->setItemText(4, QCoreApplication::translate("MainWindow", "5", nullptr));
readSize->setItemText(5, QCoreApplication::translate("MainWindow", "6", nullptr));
readSize->setItemText(6, QCoreApplication::translate("MainWindow", "7", nullptr));
readSize->setItemText(7, QCoreApplication::translate("MainWindow", "8", nullptr));
readSize->setItemText(8, QCoreApplication::translate("MainWindow", "9", nullptr));
readSize->setItemText(9, QCoreApplication::translate("MainWindow", "10", nullptr));
label_4->setText(QCoreApplication::translate("MainWindow", "Start address:", nullptr));
writeGroupBox->setTitle(QCoreApplication::translate("MainWindow", "Write", nullptr));
coilData1->setText(QCoreApplication::translate("MainWindow", "Coil1", nullptr));
coilData2->setText(QCoreApplication::translate("MainWindow", "Coil2", nullptr));
writeSize->setItemText(0, QCoreApplication::translate("MainWindow", "1", nullptr));
writeSize->setItemText(1, QCoreApplication::translate("MainWindow", "2", nullptr));
writeSize->setCurrentText(QCoreApplication::translate("MainWindow", "1", nullptr));
label_7->setText(QCoreApplication::translate("MainWindow", "Start address:", nullptr));
label_8->setText(QCoreApplication::translate("MainWindow", "Number of values:", nullptr));
label_3->setText(QCoreApplication::translate("MainWindow", "register1", nullptr));
label_10->setText(QCoreApplication::translate("MainWindow", "register2", nullptr));
label_6->setText(QCoreApplication::translate("MainWindow", "Table:", nullptr));
readButton->setText(QCoreApplication::translate("MainWindow", "Read", nullptr));
writeButton->setText(QCoreApplication::translate("MainWindow", "Write", nullptr));
readWriteButton->setText(QCoreApplication::translate("MainWindow", "Read-Write", nullptr));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H

46
serialConnectionManager/ModbusMaster.cpp

@ -5,15 +5,21 @@
#include "QtConcurrent/QtConcurrent"
#include "SerialportException.h"
enum { NumColumn = 0, CoilsColumn = 1, HoldingColumn = 2, ColumnCount = 3, RowCount = 10 };
modBusMaster::modBusMaster(QObject *parent) : QObject(parent)
ModBusMaster::ModBusMaster(QObject *parent) : QObject(parent)
{
qDebug() << "in ModBusMaster" <<QThread::currentThreadId() ;
}
void modBusMaster::init()
ModBusMaster::~ModBusMaster()
{
emit finished();
}
void ModBusMaster::init()
{
qDebug() << " modBusMaster::init " <<QThread::currentThreadId() ;
objsimModbus.init();
/* close();
modbusDevice = nullptr;
@ -29,8 +35,10 @@ void modBusMaster::init()
}
void modBusMaster::open(QString serialPort , int slaveAddress)
void ModBusMaster::open(QString serialPort , int slaveAddress)
{
qDebug() << "imodBusMaster::open " << QThread::currentThreadId() ;
objsimModbus.open(serialPort, slaveAddress);
/* _serialPort = serialPort;
_slaveAddress = slaveAddress;
@ -57,21 +65,21 @@ void modBusMaster::open(QString serialPort , int slaveAddress)
throw serialPortException(modbusDevice->errorString());
} */
}
void modBusMaster::close()
void ModBusMaster::close()
{
if (modbusDevice)
modbusDevice->disconnectDevice();
delete modbusDevice;
}
void modBusMaster::stop()
void ModBusMaster::stop()
{
if (modbusDevice)
modbusDevice->disconnectDevice();
emit modbusConnectionState(false);
}
void modBusMaster::setSingleCoil(int startAddress,bool coilFlag)
void ModBusMaster::setSingleCoil(int startAddress,bool coilFlag)
{
if (!modbusDevice)
return;
@ -80,7 +88,7 @@ void modBusMaster::setSingleCoil(int startAddress,bool coilFlag)
}
void modBusMaster::setMultipleCoil(int startAddress, quint16 writeSize, QBitArray coilFlags)
void ModBusMaster::setMultipleCoil(int startAddress, quint16 writeSize, QBitArray coilFlags)
{
if (!modbusDevice)
return;
@ -88,7 +96,7 @@ void modBusMaster::setMultipleCoil(int startAddress, quint16 writeSize, QBitArra
writeRequest(QModbusDataUnit::RegisterType::Coils, startAddress, writeSize);
}
void modBusMaster::setSingleRegister(int startAddress, quint16 registerValue)
void ModBusMaster::setSingleRegister(int startAddress, quint16 registerValue)
{
if (!modbusDevice)
return;
@ -96,7 +104,7 @@ void modBusMaster::setSingleRegister(int startAddress, quint16 registerValue)
writeRequest(QModbusDataUnit::RegisterType::HoldingRegisters, startAddress, 1);
}
void modBusMaster::setMultipleRegister(int startAddress, quint16 writeSize , QVector<quint16> registerValues)
void ModBusMaster::setMultipleRegister(int startAddress, quint16 writeSize , QVector<quint16> registerValues)
{
if (!modbusDevice)
return;
@ -106,7 +114,7 @@ void modBusMaster::setMultipleRegister(int startAddress, quint16 writeSize , QVe
QBitArray modBusMaster::getCoil(int startAddress, quint16 readSize)
QBitArray ModBusMaster::getCoil(int startAddress, quint16 readSize)
{
qDebug() << " QThread::currentThreadId() getCoil befor" <<QThread::currentThreadId() ;
QModbusDataUnit unit = readRequest(QModbusDataUnit::RegisterType::Coils, startAddress, readSize);
@ -135,7 +143,7 @@ QBitArray modBusMaster::getCoil(int startAddress, quint16 readSize)
}
QBitArray modBusMaster::getInputCoil(int startAddress, quint16 readSize)
QBitArray ModBusMaster::getInputCoil(int startAddress, quint16 readSize)
{
QModbusDataUnit unit = readRequest(QModbusDataUnit::RegisterType::DiscreteInputs, startAddress, readSize);
@ -150,7 +158,7 @@ QBitArray modBusMaster::getInputCoil(int startAddress, quint16 readSize)
return coils ;
}
QVector<quint16> modBusMaster::getInputRegister(int startAddress, quint16 readSize)
QVector<quint16> ModBusMaster::getInputRegister(int startAddress, quint16 readSize)
{
QModbusDataUnit unit = readRequest(QModbusDataUnit::RegisterType::InputRegisters, startAddress, readSize);
@ -165,7 +173,7 @@ QVector<quint16> modBusMaster::getInputRegister(int startAddress, quint16 readS
return registerValues ;
}
QVector<quint16> modBusMaster::getHoldingRegister(int startAddress, quint16 readSize)
QVector<quint16> ModBusMaster::getHoldingRegister(int startAddress, quint16 readSize)
{
// if (!modbusDevice)
// return;
@ -182,7 +190,7 @@ QVector<quint16> modBusMaster::getHoldingRegister(int startAddress, quint16 rea
}
QModbusDataUnit modBusMaster::readRequest(QModbusDataUnit::RegisterType registerType, int startAddress, quint16 readSize)
QModbusDataUnit ModBusMaster::readRequest(QModbusDataUnit::RegisterType registerType, int startAddress, quint16 readSize)
{
qDebug() << " QThread::currentThreadId() readRequest1" <<QThread::currentThreadId() ;
auto table =registerType;
@ -201,7 +209,7 @@ QModbusDataUnit modBusMaster::readRequest(QModbusDataUnit::RegisterType registe
{
qDebug() << " QThread::currentThreadId() inside worker thread isFinished" <<QThread::currentThreadId() ;
qDebug() << "1reply->isFinished() " << reply->isFinished();
connect(reply, &QModbusReply::finished, this, &modBusMaster::modbusReplyRecieved);
connect(reply, &QModbusReply::finished, this, &ModBusMaster::modbusReplyRecieved);
qDebug() << "2reply->isFinished() " << reply->isFinished();
}
@ -227,7 +235,7 @@ QModbusDataUnit modBusMaster::readRequest(QModbusDataUnit::RegisterType registe
reply->deleteLater();
}
bool modBusMaster::checkForError(QModbusReply *_reply)
bool ModBusMaster::checkForError(QModbusReply *_reply)
{
if (_reply->error() == QModbusDevice::NoError)
{
@ -246,7 +254,7 @@ bool modBusMaster::checkForError(QModbusReply *_reply)
}
void modBusMaster::modbusReplyRecieved()
void ModBusMaster::modbusReplyRecieved()
{
qDebug() << " QThread::currentThreadId() inside slot" <<QThread::currentThreadId() ;
// auto reply = qobject_cast<QModbusReply *>(sender());
@ -264,7 +272,7 @@ void modBusMaster::modbusReplyRecieved()
}
void modBusMaster::writeRequest(QModbusDataUnit::RegisterType registerType, int startAddress, quint16 writeSize)
void ModBusMaster::writeRequest(QModbusDataUnit::RegisterType registerType, int startAddress, quint16 writeSize)
{
qDebug() << " ---- setSingleCoil coilFlag writeRequest ";
auto table =registerType;

9
serialConnectionManager/ModbusMaster.h

@ -10,16 +10,17 @@
#include "SettingSerialParameters.h"
#include "QWaitCondition"
#include "qmutex.h"
#include "SimulaterModbus.h"
class QModbusClient;
class QModbusReply;
class modBusMaster : public QObject
class ModBusMaster : public QObject
{
Q_OBJECT
public:
explicit modBusMaster(QObject *parent = nullptr);
explicit ModBusMaster(QObject *parent = nullptr);
~ModBusMaster();
void start();
void deinit();
@ -44,6 +45,7 @@ public:
signals:
void dataFromClient(QString readedParameter);
void modbusConnectionState(bool state);
void finished();
private slots:
void modbusReplyRecieved();
public slots:
@ -64,6 +66,7 @@ private:
public:
QModbusReply *reply;
Simulatermodbus objsimModbus;
};
#endif // MODBUSMASTER_H

23
serialConnectionManager/Modbuswrapper.cpp

@ -1,15 +1,10 @@
#include "Modbuswrapper.h"
#include "qdebug.h"
ModbusWrapper::ModbusWrapper(QObject *parent) : QObject(parent)
{
modBusObj = new modBusMaster();
connect(this, &ModbusWrapper::initConnectionOrder, modBusObj, &modBusMaster::init);
connect(this, &ModbusWrapper::openConnectionOrder, modBusObj, &modBusMaster::open);
connect(this, &ModbusWrapper::stopConnectionOrder, modBusObj, &modBusMaster::stop);
qDebug() << " QThread::currentThreadId() ModbusWrapper before " <<QThread::currentThreadId() ;
// modBusObj = new modBusMaster();
modBusObj->moveToThread(&workerThread);
workerThread.setObjectName("workerThread");
workerThread.start();
}
ModbusWrapper::~ModbusWrapper()
@ -20,7 +15,17 @@ ModbusWrapper::~ModbusWrapper()
void ModbusWrapper::initWrapper(QString serialPort, int slaveAddress)
{
emit initConnectionOrder();
modBusObj.moveToThread(&workerThread);
workerThread.setObjectName("workerThread");
workerThread.start();
qDebug() << " QThread::currentThreadId() ModbusWrapper then " <<QThread::currentThreadId() ;
connect(this, &ModbusWrapper::openConnectionOrder, &modBusObj, &ModBusMaster::open, Qt::BlockingQueuedConnection);
connect(this, &ModbusWrapper::stopConnectionOrder, &modBusObj, &ModBusMaster::stop, Qt::BlockingQueuedConnection);
connect(&workerThread, &QThread::started, &modBusObj, &ModBusMaster::init);
connect(&modBusObj, &ModBusMaster::finished, &workerThread, &QThread::terminate);
qDebug() << "initWrapper " << QThread::currentThreadId() ;
emit openConnectionOrder(serialPort, slaveAddress);
}

2
serialConnectionManager/Modbuswrapper.h

@ -24,7 +24,7 @@ public slots:
private:
modBusMaster *modBusObj;
ModBusMaster modBusObj;
QThread workerThread;
};

8
serialConnectionManager/SimulaterModbus.h

@ -2,16 +2,18 @@
#define SIMULATERMODBUS_H
#include <QObject>
#include <QTimer>
class Simulatermodbus : public QObject
{
Q_OBJECT
public:
explicit Simulatermodbus(QObject *parent = nullptr);
void init();
void open(QString serialPort , int slaveAddress);
signals:
public slots:
public:
QTimer *timer;
};
#endif // SIMULATERMODBUS_H

8
serialConnectionManager/mainwindow.cpp

@ -26,13 +26,15 @@ MainWindow::~MainWindow()
void MainWindow::on_connectButton_clicked()
{
qDebug() << " QThread::currentThreadId() MainWindow on_connectButton_clicked" <<QThread::currentThreadId() ;
if( ui->connectButton->text()==tr("Disconnect"))
{
modBusWrapperObj->stopWrapper();
modBusWrapperObj.stopWrapper();
}
else
{
modBusWrapperObj->initWrapper(ui->portEdit->text(),ui->serverEdit->value());
qDebug() << "on_connectButton_clicked else ui " << QThread::currentThreadId();
modBusWrapperObj.initWrapper(ui->portEdit->text(),ui->serverEdit->value());
}
@ -43,7 +45,7 @@ void MainWindow::on_readButton_clicked()
// do not go beyond 10 entries
int numberOfEntries = qMin(ui->readSize->currentText().toInt(), 10 - startAddress);
switch (ui->writeTable->currentData().toInt()) {
case 0: printCoilsDataFromSlave(modBusWrapperObj->getCoilWrapper(startAddress,static_cast<quint16>(numberOfEntries)));
case 0: printCoilsDataFromSlave(modBusWrapperObj.getCoilWrapper(startAddress,static_cast<quint16>(numberOfEntries)));
break;
// case 1: printCoilsDataFromSlave(modBusObj->getInputCoil(startAddress,static_cast<quint16>(numberOfEntries)));
// break;

2
serialConnectionManager/mainwindow.h

@ -27,7 +27,7 @@ private slots:
private:
Ui::MainWindow *ui;
ModbusWrapper *modBusWrapperObj;
ModbusWrapper modBusWrapperObj;
QBitArray uiCoils;
QVector<quint16> uiholdingRegisters;

33
serialConnectionManager/simulatermodbus.cpp

@ -1,6 +1,37 @@
#include "SimulaterModbus.h"
#include "QDebug"
#include <QTimer>
#include <QThread>
#include <qeventloop.h>
Simulatermodbus::Simulatermodbus(QObject *parent) : QObject(parent)
{
}
void Simulatermodbus::init()
{
QEventLoop qloop;
qDebug() << "Simulatermodbus::init" << QThread::currentThreadId() ;
timer = new QTimer();
timer->setInterval(2000);
timer->start();
connect(timer, &QTimer::timeout, &qloop, &QEventLoop::quit);
qloop.exec();
timer->stop();
}
void Simulatermodbus::open(QString serialPort, int slaveAddress)
{
QEventLoop qloop;
qDebug() << "Simulatermodbus::open " << QThread::currentThreadId() ;
QThread::sleep(2);
timer = new QTimer();
timer->setInterval(2000);
timer->start();
connect(timer, &QTimer::timeout, &qloop, &QEventLoop::quit);
qloop.exec();
qDebug() << " Simulatermodbus open Done serial is " << serialPort;
qDebug() << " Simulatermodbus open Done slaveAddress is " << slaveAddress;
timer->stop();
}

Loading…
Cancel
Save