fixed event connection
This commit is contained in:
parent
ac6318a10d
commit
12ea438ef7
@ -55,7 +55,6 @@ DeviceManager::DeviceSetupStatus DevicePluginSerialPortCommander::setupDevice(De
|
|||||||
qCDebug(dcSerialPortCommander()) << "Setup successfully serial port" << interface;
|
qCDebug(dcSerialPortCommander()) << "Setup successfully serial port" << interface;
|
||||||
|
|
||||||
SerialPortCommander *serialPortCommander = new SerialPortCommander(serialPort, this);
|
SerialPortCommander *serialPortCommander = new SerialPortCommander(serialPort, this);
|
||||||
connect(serialPortCommander, &SerialPortCommander::commandReceived, this, &DevicePluginSerialPortCommander::onCommandReceived);
|
|
||||||
m_serialPortCommanders.insert(interface, serialPortCommander);
|
m_serialPortCommanders.insert(interface, serialPortCommander);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -85,17 +84,15 @@ DeviceManager::DeviceSetupStatus DevicePluginSerialPortCommander::setupDevice(De
|
|||||||
qCWarning(dcSerialPortCommander()) << "Could not open serial port" << interface << serialPort->errorString();
|
qCWarning(dcSerialPortCommander()) << "Could not open serial port" << interface << serialPort->errorString();
|
||||||
return DeviceManager::DeviceSetupStatusFailure;
|
return DeviceManager::DeviceSetupStatusFailure;
|
||||||
}
|
}
|
||||||
|
|
||||||
qCDebug(dcSerialPortCommander()) << "Setup successfully serial port" << interface;
|
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);
|
SerialPortCommander *serialPortCommander = new SerialPortCommander(serialPort, this);
|
||||||
|
connect(serialPortCommander, SIGNAL(commandReceived(Device *)), this, SLOT(onCommandReceived(Device *)));
|
||||||
|
serialPortCommander->addInputDevice(device);
|
||||||
m_serialPortCommanders.insert(interface, serialPortCommander);
|
m_serialPortCommanders.insert(interface, serialPortCommander);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
SerialPortCommander *serialPortCommander = m_serialPortCommanders.value(interface);
|
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);
|
serialPortCommander->addInputDevice(device);
|
||||||
}
|
}
|
||||||
return DeviceManager::DeviceSetupStatusSuccess;
|
return DeviceManager::DeviceSetupStatusSuccess;
|
||||||
@ -138,8 +135,8 @@ DeviceManager::DeviceError DevicePluginSerialPortCommander::discoverDevices(cons
|
|||||||
deviceDescriptors.append(descriptor);
|
deviceDescriptors.append(descriptor);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
qCDebug(dcSerialPortCommander()) << "Found Serial interface:" << port.portName();
|
qCDebug(dcSerialPortCommander()) << "Found serial port:" << port.portName();
|
||||||
QString description = port.manufacturer() + " | " + port.description();
|
QString description = port.manufacturer() + " " + port.description();
|
||||||
DeviceDescriptor descriptor(deviceClassId, port.portName(), description);
|
DeviceDescriptor descriptor(deviceClassId, port.portName(), description);
|
||||||
ParamList parameters;
|
ParamList parameters;
|
||||||
|
|
||||||
@ -190,6 +187,7 @@ void DevicePluginSerialPortCommander::deviceRemoved(Device *device)
|
|||||||
serialPortCommander->removeInputDevice(device);
|
serialPortCommander->removeInputDevice(device);
|
||||||
if (serialPortCommander->isEmpty()) {
|
if (serialPortCommander->isEmpty()) {
|
||||||
m_serialPortCommanders.remove(interface);
|
m_serialPortCommanders.remove(interface);
|
||||||
|
serialPortCommander->serialPort()->close();
|
||||||
serialPortCommander->deleteLater();
|
serialPortCommander->deleteLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -200,6 +198,7 @@ void DevicePluginSerialPortCommander::deviceRemoved(Device *device)
|
|||||||
serialPortCommander->removeOutputDevice();
|
serialPortCommander->removeOutputDevice();
|
||||||
if (serialPortCommander->isEmpty()) {
|
if (serialPortCommander->isEmpty()) {
|
||||||
m_serialPortCommanders.remove(interface);
|
m_serialPortCommanders.remove(interface);
|
||||||
|
serialPortCommander->serialPort()->close();
|
||||||
serialPortCommander->deleteLater();
|
serialPortCommander->deleteLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,8 +45,6 @@ public:
|
|||||||
void init() override;
|
void init() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//QHash<Device *, QSerialPort *> m_outputSerialPorts;
|
|
||||||
//QHash<Device *, QSerialPort *> m_inputSerialPorts;
|
|
||||||
QHash<QString, SerialPortCommander *> m_serialPortCommanders;
|
QHash<QString, SerialPortCommander *> m_serialPortCommanders;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user