diff --git a/serialportcommander/devicepluginserialportcommander.cpp b/serialportcommander/devicepluginserialportcommander.cpp index 19e177ac..6519adbd 100644 --- a/serialportcommander/devicepluginserialportcommander.cpp +++ b/serialportcommander/devicepluginserialportcommander.cpp @@ -55,7 +55,6 @@ DeviceManager::DeviceSetupStatus DevicePluginSerialPortCommander::setupDevice(De qCDebug(dcSerialPortCommander()) << "Setup successfully serial port" << interface; SerialPortCommander *serialPortCommander = new SerialPortCommander(serialPort, this); - connect(serialPortCommander, &SerialPortCommander::commandReceived, this, &DevicePluginSerialPortCommander::onCommandReceived); m_serialPortCommanders.insert(interface, serialPortCommander); } else { @@ -85,17 +84,15 @@ DeviceManager::DeviceSetupStatus DevicePluginSerialPortCommander::setupDevice(De qCWarning(dcSerialPortCommander()) << "Could not open serial port" << interface << serialPort->errorString(); return DeviceManager::DeviceSetupStatusFailure; } - qCDebug(dcSerialPortCommander()) << "Setup successfully serial port" << interface; - connect(serialPort, SIGNAL(error(QSerialPort::SerialPortError)), this, SLOT(onSerialError(QSerialPort::SerialPortError))); - connect(serialPort, SIGNAL(readyRead()), this, SLOT(onReadyRead())); - SerialPortCommander *serialPortCommander = new SerialPortCommander(serialPort, this); + connect(serialPortCommander, SIGNAL(commandReceived(Device *)), this, SLOT(onCommandReceived(Device *))); + serialPortCommander->addInputDevice(device); m_serialPortCommanders.insert(interface, serialPortCommander); } else { SerialPortCommander *serialPortCommander = m_serialPortCommanders.value(interface); - //connect(serialPortCommander, SIGNAL(commandReceived(Device *), this, SLOT(onCommandReceived(Device *)); + connect(serialPortCommander, SIGNAL(commandReceived(Device *)), this, SLOT(onCommandReceived(Device *))); serialPortCommander->addInputDevice(device); } return DeviceManager::DeviceSetupStatusSuccess; @@ -138,8 +135,8 @@ DeviceManager::DeviceError DevicePluginSerialPortCommander::discoverDevices(cons deviceDescriptors.append(descriptor); } else { - qCDebug(dcSerialPortCommander()) << "Found Serial interface:" << port.portName(); - QString description = port.manufacturer() + " | " + port.description(); + qCDebug(dcSerialPortCommander()) << "Found serial port:" << port.portName(); + QString description = port.manufacturer() + " " + port.description(); DeviceDescriptor descriptor(deviceClassId, port.portName(), description); ParamList parameters; @@ -190,6 +187,7 @@ void DevicePluginSerialPortCommander::deviceRemoved(Device *device) serialPortCommander->removeInputDevice(device); if (serialPortCommander->isEmpty()) { m_serialPortCommanders.remove(interface); + serialPortCommander->serialPort()->close(); serialPortCommander->deleteLater(); } } @@ -200,6 +198,7 @@ void DevicePluginSerialPortCommander::deviceRemoved(Device *device) serialPortCommander->removeOutputDevice(); if (serialPortCommander->isEmpty()) { m_serialPortCommanders.remove(interface); + serialPortCommander->serialPort()->close(); serialPortCommander->deleteLater(); } } diff --git a/serialportcommander/devicepluginserialportcommander.h b/serialportcommander/devicepluginserialportcommander.h index 90d26ef8..b36fba54 100644 --- a/serialportcommander/devicepluginserialportcommander.h +++ b/serialportcommander/devicepluginserialportcommander.h @@ -45,8 +45,6 @@ public: void init() override; private: - //QHash m_outputSerialPorts; - //QHash m_inputSerialPorts; QHash m_serialPortCommanders; private slots: