From 6f2d0ee591796fa6efd0b77f3e56b5a497bda034 Mon Sep 17 00:00:00 2001 From: RCi <15089880081@163.com> Date: Wed, 12 Jun 2024 02:11:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=85=8D=E7=BD=AE=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../front/pages/configSettingWidget.h | 333 ++++++++++-------- lib/Hd_3DCameraLMI_module_PointLazer.exp | Bin 798 -> 772 bytes lib/Hd_3DCameraLMI_module_PointLazer.lib | Bin 2276 -> 2276 bytes lib/Hd_DalsaCamera_module.exp | Bin 777 -> 751 bytes lib/Hd_DalsaCamera_module.lib | Bin 2120 -> 2120 bytes lib/Hd_FinsTcp_module.exp | Bin 769 -> 743 bytes lib/Hd_FinsTcp_module.lib | Bin 2064 -> 2064 bytes lib/Hd_MvCamera_module_GENTL.exp | Bin 782 -> 756 bytes lib/Hd_MvCamera_module_GENTL.lib | Bin 2164 -> 2164 bytes lib/Hd_MvCamera_module_GIGE.exp | Bin 781 -> 755 bytes lib/Hd_MvCamera_module_GIGE.lib | Bin 2148 -> 2148 bytes lib/Hd_ResultsSummary_module.exp | Bin 782 -> 756 bytes lib/Hd_ResultsSummary_module.lib | Bin 2164 -> 2164 bytes lib/Hd_SocketModule_ModbusTcp.exp | Bin 1527 -> 1501 bytes lib/Hd_SocketModule_ModbusTcp.lib | Bin 3446 -> 3446 bytes 15 files changed, 193 insertions(+), 140 deletions(-) diff --git a/HanddleAI/HandleAiUi-new/front/pages/configSettingWidget.h b/HanddleAI/HandleAiUi-new/front/pages/configSettingWidget.h index e877c37f..a9cfbd60 100644 --- a/HanddleAI/HandleAiUi-new/front/pages/configSettingWidget.h +++ b/HanddleAI/HandleAiUi-new/front/pages/configSettingWidget.h @@ -10,6 +10,10 @@ #include #include #include +#include +#include +#include + /**************格式****************/ //... //{ @@ -48,6 +52,7 @@ public: class configSettingWidget :public QWidget { + Q_OBJECT public: enum formatPolicy { @@ -71,7 +76,7 @@ public: QHBoxLayout* btnLayout; std::vectorbtns; QLabel* icon, * Title; - QStackedWidget* widgets; + QStackedWidget* stackedWidgets; simpleJsonSearch jsonDatas; @@ -81,9 +86,9 @@ public: palette.setColor(QPalette::WindowText, Qt::white); QFont font("微软雅黑", 24, QFont::Bold); - widgets = new QStackedWidget(); - widgets->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - widgets->setMaximumSize(9999, 9999); + stackedWidgets = new QStackedWidget(); + stackedWidgets->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + stackedWidgets->setMaximumSize(9999, 9999); this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); this->setMaximumSize(9999, 9999); @@ -114,7 +119,7 @@ public: addConfigWidget(u8"模型设置",""); btns[0]->pressed(); - Layout->addWidget(widgets); + Layout->addWidget(stackedWidgets); } //格式检查 bool formatPolicyCompare(formatPolicy _formatPolicy,QString compareStr,QString& textOut,QString &colorOut) @@ -154,7 +159,6 @@ public: } return false; } - void addConfigWidget(QString btnText,QString jsonPath) { int currentPageIndex = privateJsondatas.size(); @@ -173,12 +177,13 @@ public: for (auto btnPtr : btns) btnPtr->toDefault(); btn->pressed(); - widgets->setCurrentIndex(currentPageIndex); + stackedWidgets->setCurrentIndex(currentPageIndex); }); + privateWidgets.push_back(std::vector()); //页面widget QWidget* widget = new QWidget(); - widgets->addWidget(widget); + stackedWidgets->addWidget(widget); widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); QVBoxLayout* widgetLayout = new QVBoxLayout(widget); @@ -200,135 +205,129 @@ public: "border-radius: 0px;}"); jsonWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); jsonWidget->setMaximumSize(9999 , 9999); - QHBoxLayout* jsonLayout = new QHBoxLayout(jsonWidget); + QGridLayout* jsonLayout = new QGridLayout(jsonWidget); + jsonLayout->setAlignment(Qt::AlignTop); jsonLayout->setContentsMargins(0, 0, 0, 0); scrollArea->setWidget(jsonWidget); - - //左边用来显示小项 - QVBoxLayout* jsonLayoutLeft = new QVBoxLayout(); - jsonLayoutLeft->setContentsMargins(0, 0, 0, 0); - jsonLayoutLeft->setAlignment(Qt::AlignLeft | Qt::AlignTop); - jsonLayout->addLayout(jsonLayoutLeft); - //右边显示包含类的 - QVBoxLayout* jsonLayoutRight = new QVBoxLayout(); - jsonLayoutRight->setContentsMargins(0, 0, 0, 0); - jsonLayoutRight->setAlignment(Qt::AlignLeft | Qt::AlignTop); - jsonLayout->addLayout(jsonLayoutRight); + jsonLayouts.push_back(jsonLayout); //参数列表读取以及初始化 - std::vector< aLineData> jsonData=loadJson(jsonPath); + std::unordered_map> jsonData=loadJson(jsonPath); privateJsondatas.push_back(jsonData); - std::vectorclassLabelsText;//防止重复 - for (auto data : jsonData) + int index = 0; + for (auto& classData : jsonData) { - QVBoxLayout* tempVLayout = new QVBoxLayout(); - tempVLayout->setAlignment(Qt::AlignLeft | Qt::AlignTop); - tempVLayout->setContentsMargins(0, 0, 0, 0); + QString className = classData.first; + std::vector< aLineData> classDatas = classData.second; - bool left = true; - //类标题添加 - if (data.className != "") + QWidget* classWidget = new QWidget(); + classWidget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + QVBoxLayout* classVLayout = new QVBoxLayout(classWidget); + classVLayout->setSpacing(0); + classVLayout->setContentsMargins(0, 0, 0, 0); + + QLabel* label = new QLabel(className); + label->setFont(font3); + label->setPalette(palette); + label->setFixedHeight(50); + classVLayout->addWidget(label); + + for (auto& data : classDatas) { - bool notCompared = false; - left = false; - for (auto str : classLabelsText) + QWidget* tempWidget = new QWidget(); + QVBoxLayout* tempVLayout = new QVBoxLayout(tempWidget); + tempVLayout->setAlignment(Qt::AlignLeft | Qt::AlignTop); + tempVLayout->setContentsMargins(0, 0, 0, 0); + + QLabel* showLabel = new QLabel(data.showName); + showLabel->setFont(font); + showLabel->setPalette(palette); + showLabel->setAlignment(Qt::AlignLeft|Qt::AlignTop); + + QLabel* warningLabel = new QLabel(""); + warningLabel->setFixedHeight(30); + warningLabel->setFont(font2); + + if (data._formatPolicy == boolType) { - if (!data.className.compare(str)) - { - notCompared = true; - break; - } + QCheckBox* checkBox = new QCheckBox(); + checkBox->setFont(font); + checkBox->setPalette(palette); + checkBox->setFixedWidth(500); + + QHBoxLayout* tempLayout = new QHBoxLayout(); + + tempLayout->addWidget(showLabel); + tempLayout->addWidget(checkBox); + tempVLayout->addLayout(tempLayout); + + tempVLayout->addWidget(warningLabel); } - if (notCompared == false) + else { - QLabel* label = new QLabel(data.className); - label->setFont(font3); - label->setPalette(palette); - tempVLayout->addWidget(label); - classLabelsText.push_back(data.className); - } - } + QLineEdit* lineEdit = new QLineEdit(data.value.toString()); + lineEdit->setFont(font); + lineEdit->setPalette(palette); + lineEdit->setFixedWidth(500); - QLabel* showLabel = new QLabel(data.showName); - showLabel->setFont(font); - showLabel->setPalette(palette); - showLabel->setAlignment(Qt::AlignLeft|Qt::AlignTop); - - QLabel* warningLabel = new QLabel(""); - warningLabel->setFixedHeight(30); - warningLabel->setFont(font2); - - if (data._formatPolicy == boolType) - { - QCheckBox* checkBox = new QCheckBox(); - checkBox->setFont(font); - checkBox->setPalette(palette); - checkBox->setFixedWidth(500); - - QHBoxLayout* tempLayout = new QHBoxLayout(); - - tempLayout->addWidget(showLabel); - tempLayout->addWidget(checkBox); - tempVLayout->addLayout(tempLayout); - - tempVLayout->addWidget(warningLabel); - } - else - { - QLineEdit* lineEdit = new QLineEdit(data.value.toString()); - lineEdit->setFont(font); - lineEdit->setPalette(palette); - lineEdit->setFixedWidth(500); - - tempVLayout->addWidget(showLabel); - tempVLayout->addWidget(lineEdit); - tempVLayout->addWidget(warningLabel); - //修改时警告 - connect(lineEdit, &QLineEdit::textChanged, [=]() - { - if (lineEdit->text().compare(data.value.toString()))//修改后的值不匹配 + tempVLayout->addWidget(showLabel); + tempVLayout->addWidget(lineEdit); + tempVLayout->addWidget(warningLabel); + //修改时警告 + connect(lineEdit, &QLineEdit::textChanged, [=]() { - QString text, color; - if (formatPolicyCompare(data._formatPolicy, lineEdit->text(), text, color)) + if (lineEdit->text().compare(data.value.toString()))//修改后的值不匹配 { - warningLabel->setText(text); - warningLabel->setStyleSheet(QString("color:%1;").arg(color)); - lineEdit->setStyleSheet(QString("border: 2px solid %1;").arg(color)); + QString text, color; + if (formatPolicyCompare(data._formatPolicy, lineEdit->text(), text, color)) + { + warningLabel->setText(text); + warningLabel->setStyleSheet(QString("color:%1;").arg(color)); + lineEdit->setStyleSheet(QString("border: 2px solid %1;").arg(color)); + } + else + { + warningLabel->setText("此项被修改!"); + warningLabel->setStyleSheet("color:yellow"); + lineEdit->setStyleSheet("border: 2px solid yellow;"); + } } else { - warningLabel->setText("此项被修改!"); - warningLabel->setStyleSheet("color:yellow"); - lineEdit->setStyleSheet("border: 2px solid yellow;"); + warningLabel->setText(""); + lineEdit->setStyleSheet(""); + warningLabel->setText(""); } - } - else - { - warningLabel->setText(""); - lineEdit->setStyleSheet(""); - warningLabel->setText(""); - } - }); + }); + } + tempWidget->setFixedHeight(100); + classVLayout->addWidget(tempWidget); } - - - - if(left==true) - jsonLayoutLeft->addLayout(tempVLayout); - else - jsonLayoutRight->addLayout(tempVLayout); - + setMinimumSizePolicy(classWidget); + classWidget->adjustSize(); + classWidget->setFixedSize(classWidget->size()); + privateWidgets[currentPageIndex].push_back(classWidget); + //jsonLayout->addWidget(classWidget,index,0); + index++; } - //保存按钮 fancyButtonText* saveBtn = new fancyButtonText(160, 50, u8"保存", u8"保存当前配置文件"); + connect(saveBtn, &QPushButton::clicked, this, [=]() {saveJson(jsonPath); }); widgetLayout->addWidget(saveBtn); } - + void setMinimumSizePolicy(QWidget* widget) { + widget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); + for (QObject* child : widget->children()) { + QWidget* childWidget = qobject_cast(child); + if (childWidget) { + setMinimumSizePolicy(childWidget); + } + } + } //读取json - std::vector< aLineData> loadJson(const QString& fileName) { + std::unordered_map> loadJson(const QString& fileName) { QFile file(fileName); - std::vector < aLineData> returnDatas; + std::unordered_map> returnDatas; if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { //QMessageBox::warning(this, tr(u8"路径失效!!!"), tr(fileName.toStdString().c_str())); return returnDatas; @@ -355,45 +354,91 @@ public: _formatPolicy = number; else if (policyStr.contains("bool")) _formatPolicy = boolType; - returnDatas.push_back({ className, showName ,valueName ,valueStr ,policyStr ,_formatPolicy }); + + //无分类 + if (className == "") + className = "none"; + + if (returnDatas.find(className) == returnDatas.end()) + returnDatas.insert({ className ,std::vector< aLineData>() }); + + auto classVec = returnDatas.find(className); + classVec->second.push_back({ className, showName ,valueName ,valueStr ,policyStr ,_formatPolicy }); } } file.close(); return returnDatas; } - + void updateLayout() + { + for (int widgetIndex = 0; widgetIndex < privateWidgets.size(); widgetIndex++) + { + QMainWindow* mainWindow = qobject_cast(this->window()); + QSize stackedWidgetSize = mainWindow->size(); + //QSize stackedWidgetSize = stackedWidgets->size(); + std::vector widgets = privateWidgets[widgetIndex]; + int xCount = stackedWidgetSize.width() / 600; + if (xCount == 0) + continue; + int eachWidth = stackedWidgetSize.width() / xCount; + std::vectoreachHeightCount(xCount,0); + std::vectoreachHeightIndexCount(xCount, 0); + if (xCount == 1) + { + for (int i = 0; i < widgets.size(); i++) + jsonLayouts[widgetIndex]->addWidget(widgets[i], i, 0); + continue; + } + for (int i = 0; i < widgets.size(); i++) + { + int xIndex = 0; + for (xIndex = eachHeightCount.size() - 1; xIndex > 0; xIndex--) + if (eachHeightCount[xIndex - 1] > eachHeightCount[xIndex]) + { + break; + } + eachHeightCount[xIndex] += widgets[i]->size().height(); + jsonLayouts[widgetIndex]->addWidget(widgets[i], eachHeightIndexCount[xIndex], xIndex); + eachHeightIndexCount[xIndex]++; + } + } + //jsonLayout->addLayout(classVLayout, jsonDataIndex, 0); + } void saveJson(QString path) { // 构建 JSON 对象 QJsonArray jsonArray; - - for (auto data : privateJsondatas[0]) + for (auto& classData : privateJsondatas) { - QJsonObject obj1; - obj1["className"] = data.className; - obj1["showName"] = data.showName; - obj1["valueName"] = data.valueName; + for(auto& jsonData: classData) + for (auto& data : jsonData.second) + { + QJsonObject obj1; + obj1["className"] = data.className; + obj1["showName"] = data.showName; + obj1["valueName"] = data.valueName; - switch (data.value.type()) { - case QVariant::Bool: - obj1["value"] = data.value.toBool(); - break; - case QVariant::Int: - obj1["value"] = data.value.toInt(); - break; - case QVariant::Double: - obj1["value"] = data.value.toDouble(); - break; - case QVariant::String: - obj1["value"] = data.value.toString(); - break; - default: - obj1["value"] = "error"; - break; - } - - obj1["policy"] = data.formatPolicyStr; - jsonArray.append(obj1); + switch (data.value.type()) { + case QVariant::Bool: + obj1["value"] = data.value.toBool(); + break; + case QVariant::Int: + obj1["value"] = data.value.toInt(); + break; + case QVariant::Double: + obj1["value"] = data.value.toDouble(); + break; + case QVariant::String: + obj1["value"] = data.value.toString(); + break; + default: + obj1["value"] = "error"; + break; + } + + obj1["policy"] = data.formatPolicyStr; + jsonArray.append(obj1); + } } std::string sss = path.toStdString(); @@ -413,7 +458,15 @@ public: qDebug() << "无法保存 JSON 文件"; } } +protected: + void resizeEvent(QResizeEvent* event) override { + Q_UNUSED(event); + QTimer::singleShot(0, this, &configSettingWidget::updateLayout); + } + private: - std::vector< std::vector< aLineData>> privateJsondatas;//路径与数据 + std::vector>> privateJsondatas;//路径与数据 + std::vector> privateWidgets;//路径与数据 + std::vectorjsonLayouts; }; #pragma once \ No newline at end of file diff --git a/lib/Hd_3DCameraLMI_module_PointLazer.exp b/lib/Hd_3DCameraLMI_module_PointLazer.exp index 6a8fa414ceecaea4ca722a610fdaee43ee4bd905..d8e955a08830ce97f26c66b802d0659eea1b677e 100644 GIT binary patch delta 179 zcmbQo*22b_(#FK_9|$xiaym1zO!U3a`-6dj!Ipth5J)k2PPSz9s#j-3=gpAKU@ORwT%N+N1 zlA2VS&X8J>%HU!Z6BcY_U}O{%<{T4}pPy44;~NZQ8k*=CTk07bn;KfiBxUBsc;pwC Y0Cj?N$K+(@O_pKOWBS}Q*@x*809VmC6aWAK delta 186 zcmZo+o5#kP(#FK_9|)W#aym20P4vCbE5yjaV9UTL$N&T`lPwv&>NOYyS{N97Gn0$* zi}TY;6f}Y~6?{DXyct>kMOjJ)ML6gX@f9j0}v7Vx0YbeM9|#!eP!aA^G_^ h#WB9YK&GLIi2+-kp`Nj^#pHL4PD}zVlZ}`z0RR#>H~;_u diff --git a/lib/Hd_3DCameraLMI_module_PointLazer.lib b/lib/Hd_3DCameraLMI_module_PointLazer.lib index 36c75b149f315b6d9f39a25471404d60a91a35ae..b04150d66d0bd6f8780c0ea27f1bb8d8c729edd8 100644 GIT binary patch delta 118 zcmaDN_(X8S0VbAz%oEN}KEiaIMV;Yu)8u~UVkRIpi(P879E$-XXW8l7S1&OzFfdI% w$s|3wh_xQ3OnveMb`Gf0$qsCBoC?-nr@ui}noYjT)&o6ylW|Qx-^}tjrLsf2`#qPxj05HBKZU6uP diff --git a/lib/Hd_DalsaCamera_module.exp b/lib/Hd_DalsaCamera_module.exp index da2ea450a2c84bc30541eb82018b267d2007a727..27cfbc168fcf45adf98783ffef0c6a66d4ad2515 100644 GIT binary patch delta 138 zcmeBVd(X<5(#FK_9|(jeaym2pWSHo8h4(E31A`F*qacuC@SLpAXs@i!@VSYB!8bFx zD8D#Atwcd1NK?Vb)6bhBo55C)A-OySsBR*ow605PQfWFvYDFr8i&acmu#th0QB0U~ lOh|ryPH~KHFpz0zqGxQWXKZY0XgT>aqZ8BTrpe|^mjGNtDWm`Z delta 164 zcmaFQ+R4V5(#FK_9|&|Oayl~!Gfwoo!pqLcz+l9{D98W=E|c{c?Ugkc1X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL(o>LxNuy9cG_q$U=pGNe|dGB{hs1O)lJ2RYUm z#`tQ*oMS@r^K*)0e1m~ZLlYB&Izv5UV~fc*8J(B} KS|-afT>=2XLoW0H diff --git a/lib/Hd_DalsaCamera_module.lib b/lib/Hd_DalsaCamera_module.lib index cc2d36e5dd6097c8d1dffea4f0e34dc019fb0ad6..9c451b2ec75fbfd47c5b293388f4274cb1b1aa9e 100644 GIT binary patch delta 109 zcmX>ha6({12NTP2)AOe%_b}~YQD^wvG}(taoe4&fp~02Rk5eEha6({12NTODh23{1_b}~Y(O?j0ne4-y&IF|7*`+q0XO?DUVSi@ub@DrwDKJ^} s$!l3TpeiO`WQ}DF@!xsr_2l;~@{`vvNl(sYYlNv(hN|2w&#uV`01D?LO#lD@ diff --git a/lib/Hd_FinsTcp_module.exp b/lib/Hd_FinsTcp_module.exp index 26d6e58176a4f4100cca476b43767d9383296971..8842446e1ca7d74eaf131fa9904afaa3c5dcc781 100644 GIT binary patch delta 138 zcmZo;m delta 164 zcmaFP+Q`P4(#FK_9|%+@aym2dGfwooz{||Yz@W##D98W=E|awxt(7$x1X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL(o>N**v-GfqdQWJ|)8B!}!8Jw+R0)qVAgBouQtwvBl(zj804f KEt5r=E&%|di!Q7H diff --git a/lib/Hd_FinsTcp_module.lib b/lib/Hd_FinsTcp_module.lib index a50e177e10f90e3993f56c5a13e462416b8c93d4..f679fdae9df129fa1e4d394f63100284f9d61348 100644 GIT binary patch delta 113 zcmbOrFhO8L2@~f(^@6+dj0_AMllj@qCU0h{Wl?AN+%!3kRef?avkeoF+0QDqc{8&x wBa6wYtap=7u}pxe(1*yDvp75wyE2)JZ3j$3nad$LKes?HGX<)hmz|jr0D+b!iU0rr delta 113 zcmbOrFhO8L2@@y(r?ji`j0_AMllj@qCU0h{Wzk>|Xqg}QqQyqQ^; wk>!eB#hJ;cSSG+!=tE@7S(vllUz^OuwgV=i%;k`rpIe}pnF7_$%g)RQ0BqkOCjbBd diff --git a/lib/Hd_MvCamera_module_GENTL.exp b/lib/Hd_MvCamera_module_GENTL.exp index 6429d839ff9cf356b824c4b9281c91c274e3392b..ebd6dce5c4074d58a4d8a8aeb34c9ed2980064e3 100644 GIT binary patch delta 180 zcmeBU`@+hZ(#FK_9|$BSaym2pVVLN5jrRis1A{38qacuC@SJSO=v1%H@VSYB!8bFx zD8D#Atwcd1NK?Vb)6bhBo55C)A-Oz-!P6=xIkPx9-!VTkG&3f@v?L~}G&3h9rozlb z*CjQnG@T)}B9+0#Dkd!0$iT=bCd@e|BtJi=IL0>^$TT$3Gq%(-Ha0c1j7iGOi}A=W ZE&=KU>5j?C%$v-^q{sBRX|fH|B>)@kITQc@ delta 187 zcmeyu+Q-J3(#FK_9|(*laym1KF;4Wm#>>UXz+lS2D98W=E|U!zo$56h1X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL&VT&!Y}GmDe+9rH6oGh^~gOJb5rGjmd6D$GoD zgHm%+6N^(BQY%s!oULL4g8bcs9P12Yd_A3m{DbR^VvG!ojAESqeSJgyfWl$UF(LW+ iImI!)!9b>=iHQMQouQtwvBl(jj804fEt8d)E&%{G|2P2v diff --git a/lib/Hd_MvCamera_module_GENTL.lib b/lib/Hd_MvCamera_module_GENTL.lib index a65c613a9788aa36e3530d6a5ccb1cad49b8c1da..578b535ee41c6c12f7e6ab81feeae0134eac1aaf 100644 GIT binary patch delta 118 zcmew&@I_$53?`PPzk+^Dp2M`CMV;Yu)8u&OY^Kjmo6j&?F>PO(O?j0nH^$TT$3Gq%(-Ha0c1j7iGOi}A=W ZE&=KU>5j?C%$v;3q{sBRX|grbB>)$3IST*) delta 187 zcmey&+RMh7(#FK_9|#O5aym1KGEVfn#>>gbz+l3_D98W=E|U!z9qTn11X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL&VT&!Y}GmDe+9rH6oGh^~gOJb5rGjmd6D$GoD zgHm%+6N^(BQY%s!oULL4g8bcs9P12Yd_A3m{DbR^VvG!ojAESqeSJgyfWl$UF(LW+ iImI!)!9b>=iHQMQouQtwvBl)Oj804fEt3_QE&%{CQaAVj diff --git a/lib/Hd_MvCamera_module_GIGE.lib b/lib/Hd_MvCamera_module_GIGE.lib index b1396b9be8cfc2bad5039077ec72d4077da69fd6..f5ba12df64b2f2e149f3a1b7a1622e6c2dd11692 100644 GIT binary patch delta 108 zcmaDN@I+w4BqkQ4S+m|wp2oC~MV;Yu)8tvK>XYl4otS{k)2vdP?=s6XvY5Ryxjl(> s8ccycM6#SUOQrAa+sTZq@{`lp=D}o@xg3)7a|`q`Q=mrpvx_nU04H}TWB>pF delta 108 zcmaDN@I+w4Bqo*{N6bD?p2oC~MT0@0W%4Xm^~v?jPE0`NX;!JtcbVlGS(crsyEln- s8ccycM6#TfyL!>nx04xJ^$TT$3Gq%(-Ha0c1j7iGOi}A=W ZE&=KU>5j?C%$v-^q{sBRX|fH|B>)@kITQc@ delta 187 zcmeyu+Q-J3(#FK_9|(*laym1KF;4Wm#>>UXz+lS2D98W=E|U!zo$56h1X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL&VT&!Y}GmDe+9rH6oGh^~gOJb5rGjmd6D$GoD zgHm%+6N^(BQY%s!oULL4g8bcs9P12Yd_A3m{DbR^VvG!ojAESqeSJgyfWl$UF(LW+ iImI!)!9b>=iHQMQouQtwvBl(jj804fEt8d)E&%{G|2P2v diff --git a/lib/Hd_ResultsSummary_module.lib b/lib/Hd_ResultsSummary_module.lib index a61fbd40216d4091ba157f7b97afab308e79a4fe..ff33633f3db52aec9c9ccb88fc9c624c2109a9d1 100644 GIT binary patch delta 118 zcmew&@I_$53?`Pswa5QWp2M`CMV;Yu)8u&OY^Kjmo6j&?F>?O9FyY}T1_lPE$qSjJ zCu^~m!<48`KEuiZR5tkxv()4dtZ|%fSC*cB2UTe{xtFa4rcxQ9QhIYNyEr2N6TK|m delta 118 zcmew&@I_$53?`PJ|NEa$p2M`CMT0@0WpX@oHj_Zh<}=JzjGU7uUOIM)fq{W(@N^g#37iR$WFG diff --git a/lib/Hd_SocketModule_ModbusTcp.exp b/lib/Hd_SocketModule_ModbusTcp.exp index 49ff857d296ebdebb03f306aa1ab96cffbc73aba..30c37bd291ea123424cd8e8b26775ebc78ae748e 100644 GIT binary patch delta 139 zcmey)eV3avrHzTQM&7B63=C!rjDie6;5pfq$yr&Q;d2uMgKuVX zQGRiLT8V;2kfwr_^E0N;O`E?mGcf@G_CqRL delta 165 zcmcc1{hgaLrHzT59#y1$qG&C_Ws58_vHny1jndupm LK+ERa%uGxGpyx8E diff --git a/lib/Hd_SocketModule_ModbusTcp.lib b/lib/Hd_SocketModule_ModbusTcp.lib index 5ec47732196dc7452962b23c04a9ae6b8cb23ce6..7d987e797c1925944487933e8b6ed09e14a3773c 100644 GIT binary patch delta 108 zcmew+^-XHSI~GpM+Y9dLGcqu6Oy0<0Hd&Xol|`N5bJHXa^~rZxU6?*MO*Z6^+HA|F w%*Z-jM&-ik$!j^}C%3RyKvn5ORFt#4P6>N7c@4(_u=wNxPHmXh?VS6W0bcJXg#Z8m delta 108 zcmew+^-XHSI~LBiA5)I%Gcqu6Oy0<0Hd&Xol|_R=pk)$=`sBN;E=&R~lMOkfHrui( wGqS!kFaLLX@>&l0$t~;^P*wU673D03ub!ToyoTcdSbTB;r#4LMcFz6G0MnZzxBvhE