mirror of https://github.com/nymea/nymea.git
Port modbus rtu
parent
aa59ddd714
commit
685d28f88b
|
|
@ -54,7 +54,12 @@ ModbusRtuMasterImpl::ModbusRtuMasterImpl(const QUuid &modbusUuid, const QString
|
|||
m_timeout(timeout)
|
||||
{
|
||||
#ifdef WITH_QTSERIALBUS
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
m_modbus = new QModbusRtuSerialClient(this);
|
||||
#else
|
||||
m_modbus = new QModbusRtuSerialMaster(this);
|
||||
#endif
|
||||
m_modbus->setConnectionParameter(QModbusDevice::SerialPortNameParameter, m_serialPort);
|
||||
m_modbus->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, m_baudrate);
|
||||
m_modbus->setConnectionParameter(QModbusDevice::SerialDataBitsParameter, m_dataBits);
|
||||
|
|
@ -63,7 +68,11 @@ ModbusRtuMasterImpl::ModbusRtuMasterImpl(const QUuid &modbusUuid, const QString
|
|||
m_modbus->setNumberOfRetries(m_numberOfRetries);
|
||||
m_modbus->setTimeout(m_timeout);
|
||||
|
||||
connect(m_modbus, &QModbusTcpClient::stateChanged, this, [=](QModbusDevice::State state){
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
connect(m_modbus, &QModbusRtuSerialClient::stateChanged, this, [=](QModbusDevice::State state){
|
||||
#else
|
||||
connect(m_modbus, &QModbusRtuSerialMaster::stateChanged, this, [=](QModbusDevice::State state){
|
||||
#endif
|
||||
qCDebug(dcModbusRtu()) << "Connection state changed" << m_modbusUuid.toString() << m_serialPort << state;
|
||||
if (state == QModbusDevice::ConnectedState) {
|
||||
if (m_connected != true) {
|
||||
|
|
@ -78,7 +87,11 @@ ModbusRtuMasterImpl::ModbusRtuMasterImpl(const QUuid &modbusUuid, const QString
|
|||
}
|
||||
});
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
connect(m_modbus, &QModbusRtuSerialClient::errorOccurred, this, [=](QModbusDevice::Error error){
|
||||
#else
|
||||
connect(m_modbus, &QModbusRtuSerialMaster::errorOccurred, this, [=](QModbusDevice::Error error){
|
||||
#endif
|
||||
qCWarning(dcModbusRtu()) << "Error occurred for modbus RTU master" << m_modbusUuid.toString() << m_serialPort << error << m_modbus->errorString();
|
||||
if (error != QModbusDevice::NoError) {
|
||||
disconnectDevice();
|
||||
|
|
|
|||
|
|
@ -93,9 +93,15 @@ private:
|
|||
bool m_connected = false;
|
||||
|
||||
#ifdef WITH_QTSERIALBUS
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
QModbusRtuSerialClient *m_modbus = nullptr;
|
||||
#else
|
||||
QModbusRtuSerialMaster *m_modbus = nullptr;
|
||||
#endif
|
||||
|
||||
#endif // WITH_QTSERIALBUS
|
||||
|
||||
QString m_serialPort;
|
||||
qint32 m_baudrate;
|
||||
QSerialPort::Parity m_parity;
|
||||
|
|
|
|||
|
|
@ -21,14 +21,14 @@ packagesExist(systemd) {
|
|||
greaterThan(QT_MAJOR_VERSION, 5) {
|
||||
qtHaveModule(serialbus) {
|
||||
message("Building with QtSerialBus support.")
|
||||
QT *= serialbus
|
||||
QT += serialbus
|
||||
DEFINES += WITH_QTSERIALBUS
|
||||
} else {
|
||||
message("QtSerialBus package not found. Building without QtSerialBus support.")
|
||||
}
|
||||
|
||||
# Separate module in Qt6
|
||||
QT *= concurrent
|
||||
QT += concurrent
|
||||
} else {
|
||||
packagesExist(Qt5SerialBus) {
|
||||
message("Building with QtSerialBus support.")
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ INSTALLS += target
|
|||
QT += sql websockets bluetooth dbus network
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 5) {
|
||||
QT *= core5compat
|
||||
QT += core5compat
|
||||
} else {
|
||||
QT *= xml
|
||||
QT += xml
|
||||
}
|
||||
|
||||
CONFIG += link_pkgconfig
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ include(../../../nymea.pri)
|
|||
include(../autotests.pri)
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 5) {
|
||||
QT *= core5compat
|
||||
QT += core5compat
|
||||
} else {
|
||||
QT *= xml
|
||||
QT += xml
|
||||
}
|
||||
|
||||
PKGCONFIG += nymea-mqtt
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ include(../../../nymea.pri)
|
|||
include(../autotests.pri)
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 5) {
|
||||
QT *= core5compat
|
||||
QT += core5compat
|
||||
} else {
|
||||
QT *= xml
|
||||
QT += xml
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@ PKGCONFIG += nymea-zigbee
|
|||
greaterThan(QT_MAJOR_VERSION, 5) {
|
||||
qtHaveModule(serialbus) {
|
||||
message("Building with QtSerialBus support.")
|
||||
QT *= serialbus
|
||||
QT += serialbus
|
||||
DEFINES += WITH_QTSERIALBUS
|
||||
} else {
|
||||
message("QtSerialBus package not found. Building without QtSerialBus support.")
|
||||
}
|
||||
|
||||
# Separate module in Qt6
|
||||
QT *= concurrent
|
||||
QT += concurrent
|
||||
} else {
|
||||
packagesExist(Qt5SerialBus) {
|
||||
message("Building with QtSerialBus support.")
|
||||
|
|
|
|||
Loading…
Reference in New Issue