Implement modbus resource siganls and improve connected state notifications
This commit is contained in:
parent
abcfd32feb
commit
a69b819373
@ -41,7 +41,17 @@ ModbusRtuHardwareResourceImplementation::ModbusRtuHardwareResourceImplementation
|
|||||||
ModbusRtuHardwareResource(parent),
|
ModbusRtuHardwareResource(parent),
|
||||||
m_modbusRtuManager(modbusRtuManager)
|
m_modbusRtuManager(modbusRtuManager)
|
||||||
{
|
{
|
||||||
|
connect(m_modbusRtuManager, &ModbusRtuManager::modbusRtuMasterAdded, this, [=](ModbusRtuMaster *modbusRtuMaster){
|
||||||
|
emit modbusRtuMasterAdded(modbusRtuMaster->modbusUuid());
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(m_modbusRtuManager, &ModbusRtuManager::modbusRtuMasterRemoved, this, [=](ModbusRtuMaster *modbusRtuMaster){
|
||||||
|
emit modbusRtuMasterRemoved(modbusRtuMaster->modbusUuid());
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(m_modbusRtuManager, &ModbusRtuManager::modbusRtuMasterChanged, this, [=](ModbusRtuMaster *modbusRtuMaster){
|
||||||
|
emit modbusRtuMasterChanged(modbusRtuMaster->modbusUuid());
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<ModbusRtuMaster *> ModbusRtuHardwareResourceImplementation::modbusRtuMasters() const
|
QList<ModbusRtuMaster *> ModbusRtuHardwareResourceImplementation::modbusRtuMasters() const
|
||||||
@ -61,7 +71,7 @@ ModbusRtuMaster *ModbusRtuHardwareResourceImplementation::getModbusRtuMaster(con
|
|||||||
|
|
||||||
bool ModbusRtuHardwareResourceImplementation::available() const
|
bool ModbusRtuHardwareResourceImplementation::available() const
|
||||||
{
|
{
|
||||||
return m_available;
|
return m_modbusRtuManager->supported();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ModbusRtuHardwareResourceImplementation::enabled() const
|
bool ModbusRtuHardwareResourceImplementation::enabled() const
|
||||||
|
|||||||
@ -58,7 +58,7 @@ ModbusRtuManager::ModbusRtuManager(SerialPortMonitor *serialPortMonitor, QObject
|
|||||||
if (!modbusMasterImpl->connectDevice()) {
|
if (!modbusMasterImpl->connectDevice()) {
|
||||||
qCDebug(dcModbusRtu()) << "Reconnect" << modbusMaster << "failed.";
|
qCDebug(dcModbusRtu()) << "Reconnect" << modbusMaster << "failed.";
|
||||||
} else {
|
} else {
|
||||||
qCDebug(dcModbusRtu()) << "Reconnected" << modbusMaster << "sucessfully.";
|
qCDebug(dcModbusRtu()) << "Reconnected" << modbusMaster << "successfully.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,11 +60,15 @@ ModbusRtuMasterImpl::ModbusRtuMasterImpl(const QUuid &modbusUuid, const QString
|
|||||||
connect(m_modbus, &QModbusTcpClient::stateChanged, this, [=](QModbusDevice::State state){
|
connect(m_modbus, &QModbusTcpClient::stateChanged, this, [=](QModbusDevice::State state){
|
||||||
qCDebug(dcModbusRtu()) << "Connection state changed" << m_modbusUuid.toString() << m_serialPort << state;
|
qCDebug(dcModbusRtu()) << "Connection state changed" << m_modbusUuid.toString() << m_serialPort << state;
|
||||||
if (state == QModbusDevice::ConnectedState) {
|
if (state == QModbusDevice::ConnectedState) {
|
||||||
m_connected = true;
|
if (m_connected != true) {
|
||||||
emit connectedChanged(m_connected);
|
m_connected = true;
|
||||||
|
emit connectedChanged(m_connected);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
m_connected = false;
|
if (m_connected != false) {
|
||||||
emit connectedChanged(m_connected);
|
m_connected = false;
|
||||||
|
emit connectedChanged(m_connected);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -79,7 +79,7 @@ inline QDebug operator<<(QDebug debug, ModbusRtuMaster *modbusRtuMaster) {
|
|||||||
debug.nospace() << "ModbusRtuMaster(" << modbusRtuMaster->modbusUuid().toString();
|
debug.nospace() << "ModbusRtuMaster(" << modbusRtuMaster->modbusUuid().toString();
|
||||||
debug.nospace() << ", " << modbusRtuMaster->serialPort();
|
debug.nospace() << ", " << modbusRtuMaster->serialPort();
|
||||||
debug.nospace() << ", BaudRate: " << modbusRtuMaster->baudrate() << ") ";
|
debug.nospace() << ", BaudRate: " << modbusRtuMaster->baudrate() << ") ";
|
||||||
return debug;
|
return debug.space();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user