mirror of https://github.com/nymea/nymea.git
Implement modbus resource siganls and improve connected state notifications
parent
abcfd32feb
commit
a69b819373
|
|
@ -41,7 +41,17 @@ ModbusRtuHardwareResourceImplementation::ModbusRtuHardwareResourceImplementation
|
|||
ModbusRtuHardwareResource(parent),
|
||||
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
|
||||
|
|
@ -61,7 +71,7 @@ ModbusRtuMaster *ModbusRtuHardwareResourceImplementation::getModbusRtuMaster(con
|
|||
|
||||
bool ModbusRtuHardwareResourceImplementation::available() const
|
||||
{
|
||||
return m_available;
|
||||
return m_modbusRtuManager->supported();
|
||||
}
|
||||
|
||||
bool ModbusRtuHardwareResourceImplementation::enabled() const
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ ModbusRtuManager::ModbusRtuManager(SerialPortMonitor *serialPortMonitor, QObject
|
|||
if (!modbusMasterImpl->connectDevice()) {
|
||||
qCDebug(dcModbusRtu()) << "Reconnect" << modbusMaster << "failed.";
|
||||
} 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){
|
||||
qCDebug(dcModbusRtu()) << "Connection state changed" << m_modbusUuid.toString() << m_serialPort << state;
|
||||
if (state == QModbusDevice::ConnectedState) {
|
||||
m_connected = true;
|
||||
emit connectedChanged(m_connected);
|
||||
if (m_connected != true) {
|
||||
m_connected = true;
|
||||
emit connectedChanged(m_connected);
|
||||
}
|
||||
} else {
|
||||
m_connected = false;
|
||||
emit connectedChanged(m_connected);
|
||||
if (m_connected != false) {
|
||||
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->serialPort();
|
||||
debug.nospace() << ", BaudRate: " << modbusRtuMaster->baudrate() << ") ";
|
||||
return debug;
|
||||
return debug.space();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue