From 1d14b53250da69e9561c34122bcd03338932994f Mon Sep 17 00:00:00 2001 From: DowJhob Date: Mon, 17 Jan 2022 16:34:24 +0700 Subject: [PATCH] fix set baud rate --- src/DMA-proto/jcsbanksDMA.cpp | 2 +- src/comm-device-interface/devicemanager.cpp | 9 +++++++-- src/controller.cpp | 1 + src/deviceNativeFilter.cpp | 2 ++ 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/DMA-proto/jcsbanksDMA.cpp b/src/DMA-proto/jcsbanksDMA.cpp index d315705..6a93ed6 100644 --- a/src/DMA-proto/jcsbanksDMA.cpp +++ b/src/DMA-proto/jcsbanksDMA.cpp @@ -78,7 +78,7 @@ void jcsbanksDMA::sendDMAcomand(char command, unsigned long addr, unsigned long if ( buf != nullptr) { memcpy((*devComm)->p_out_buff, buf, count); - qDebug() << "jcsbanksDMA::sendDMAcomand payload data" << count; + //qDebug() << "jcsbanksDMA::sendDMAcomand payload data" << count; (*devComm)->write( count); } diff --git a/src/comm-device-interface/devicemanager.cpp b/src/comm-device-interface/devicemanager.cpp index 5cf62d7..5ac4e88 100644 --- a/src/comm-device-interface/devicemanager.cpp +++ b/src/comm-device-interface/devicemanager.cpp @@ -41,7 +41,9 @@ void deviceManager::addDevice(device dev) default : return; // но поскольку тут вылетим без добавления то вроде и не важно } devComm->setBaudRate(el_baudRate.text().toUInt()); - connect(this, &deviceManager::baudRateChanged, this, [&devComm](uint baudRate){devComm->setBaudRate(baudRate);}); +// connect(this, &deviceManager::baudRateChanged, this, [&devComm](uint baudRate){ +// devComm->setBaudRate(baudRate); +// }); availCommDev.addItem(dev.DeviceDesc + " / " + dev.DeviceUniqueID, QVariant::fromValue(devComm)); } @@ -80,7 +82,10 @@ void deviceManager::_deviceSelected(int index) void deviceManager::baudRateUpdate() // Обновляем скорость обмена { + comm_device_interface *devComm = qvariant_cast(availCommDev.currentData()); + baudRate = el_baudRate.text().toUInt(); - emit baudRateChanged(el_baudRate.text().toUInt()); + devComm->setBaudRate(baudRate); + //emit baudRateChanged(el_baudRate.text().toUInt()); qDebug() << "=========== deviceManager::baudRateUpdate ================" << baudRate; } diff --git a/src/controller.cpp b/src/controller.cpp index 66322c8..e7969e3 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -166,6 +166,7 @@ void controller::updateRAM(abstractMemoryScaled memory) { _dataLogger->stop(); ECUproto->directDMAwrite(memory.addr, memory.data(), memory.size()); + //_dataLogger->start(); //QThread::msleep(50); } diff --git a/src/deviceNativeFilter.cpp b/src/deviceNativeFilter.cpp index d20dd3e..074cb00 100644 --- a/src/deviceNativeFilter.cpp +++ b/src/deviceNativeFilter.cpp @@ -152,6 +152,8 @@ device deviceNativeFilter::getDevProp(HDEVINFO hDevInfo, SP_DEVINFO_DATA DeviceI device deviceNativeFilter::getDevProp(PDEV_BROADCAST_DEVICEINTERFACE pDevInf) { + if(pDevInf == NULL) + return device(); QStringList qDevInf = QString::fromWCharArray((wchar_t*)pDevInf->dbcc_name).split('#'); //qDebug() << "enumerator::getDevProp pDevInf->dbcc_name" << qDevInf << "pDevInf->dbcc_classguid" << pDevInf->dbcc_classguid << endl; if (qDevInf.length() >= 3)