From 6954aa7c502e14cb69eee5fff14b26b0abff1552 Mon Sep 17 00:00:00 2001 From: wangxx1809 Date: Tue, 28 May 2024 18:07:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=85=8D=E7=BD=AE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 +- PrintS/Config/ConfigManager.cpp | 12 +- PrintS/Config/ConfigManager.h | 2 +- PrintS/Config/bean/InfraredTempCfg.cpp | 151 +++++++++--------- PrintS/Config/bean/InfraredTempCfg.h | 88 +++++----- PrintS/Config/bean/RunCfg.cpp | 13 +- PrintS/Config/bean/RunCfg.h | 55 ++++--- PrintS/Config/dao/BaseConfigDao.cpp | 130 +++++++-------- PrintS/Controller/Base.h | 7 +- PrintS/Controller/Controller.cpp | 1 - PrintS/DataManage/DataHandle.cpp | 7 +- PrintS/DataManage/RWData.h | 11 +- PrintS/ScannerCtrl/ScannerCtrl.cpp | 6 +- .../additional/InfraredTemp/InfraredTemp.cpp | 76 ++++----- PrintS/output/Release/log/2024.hbd | Bin 155648 -> 155648 bytes PrintS/utils/ConverType.hpp | 15 ++ TestClient/DataManage/DataHandle.cpp | 40 +++-- TestClient/DataManage/RWData.h | 7 +- 18 files changed, 344 insertions(+), 283 deletions(-) diff --git a/.gitignore b/.gitignore index c34c47d..c520363 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ /PrintC/output/Release/*.lib /PrintC/output/Release/*.ini /PrintC/output/Release/*.txt +/PrintC/output/Release/log/* @@ -26,7 +27,7 @@ /PrintS/output/Release/*.lib /PrintS/ProtoCompile/x64/ /PrintS/Protobuf/ProtoCompile.* - +/PrintS/output/Release/log/* /PrintS_.* @@ -43,7 +44,6 @@ /TestClient/output/Release/*.lib /TestClient/ProtoCompile/x64/ /TestClient/Protobuf/ProtoCompile.* - - +/TestClient/output/Release/log/* diff --git a/PrintS/Config/ConfigManager.cpp b/PrintS/Config/ConfigManager.cpp index f2c97c7..80228ab 100644 --- a/PrintS/Config/ConfigManager.cpp +++ b/PrintS/Config/ConfigManager.cpp @@ -462,6 +462,10 @@ void ConfigManager::SendCfgToClients() { m_ExtCfgNew.SetCfg(m_ExtCfg); m_ExtCfgNew.SendToClients(EXTCFGPARAM); + m_RunCfg.SendToClients(RUNCFGPARAM); + m_InfraredTempCfg.SendToClients(INFRAREDTEMPCFGPARAM); + + m_MoldCfg->SendToClients(MOLDCFGPARAM); m_LoadCfg->SendToClients(LOADCFGPARAM); @@ -477,10 +481,14 @@ void ConfigManager::UpdateCfg(const ReadData& rd) { { case PARAMLIMITCFG: m_ParamLimitCfgNew.Update(rd, PARAMLIMITCFGPARAM); - m_ParamLimitCfgNew.UpdateCfg(m_ParamLimitCfg); + m_ParamLimitCfgNew.UpdateCfg(m_ParamLimitCfg); break; case EXTCFG: m_ExtCfgNew.Update(rd, EXTCFGPARAM); - m_ExtCfgNew.UpdateCfg(m_ExtCfg); + m_ExtCfgNew.UpdateCfg(m_ExtCfg); break; + case RUNCFG: + m_RunCfg.Update(rd, RUNCFGPARAM); break; + case INFRAREDTEMPCFG: + m_InfraredTempCfg.Update(rd, INFRAREDTEMPCFGPARAM); break; default: break; } diff --git a/PrintS/Config/ConfigManager.h b/PrintS/Config/ConfigManager.h index 5dfeec4..f50183d 100644 --- a/PrintS/Config/ConfigManager.h +++ b/PrintS/Config/ConfigManager.h @@ -41,7 +41,7 @@ using namespace std; enum ConfigFunc{ SAVECONFIG =0, SAVEMACHINECONFIG, - + DELETEMACHINEIO, }; diff --git a/PrintS/Config/bean/InfraredTempCfg.cpp b/PrintS/Config/bean/InfraredTempCfg.cpp index b5f2687..5345055 100644 --- a/PrintS/Config/bean/InfraredTempCfg.cpp +++ b/PrintS/Config/bean/InfraredTempCfg.cpp @@ -3,49 +3,50 @@ InfraredTempCfg::InfraredTempCfg() + : m_IsEnable(new BoolData("IsEnable", u8"")) + , m_Emissivity(new IntData("Emissivity", u8"发射率", 9500)) + , m_AirTemp(new IntData("AirTemp", u8"空气温度", 250000)) + , m_ReflectTemp(new IntData("ReflectTemp", u8"反射温度", 250000)) + , m_Humidity(new IntData("Humidity", u8"湿度", 10000)) + , m_Distance(new IntData("Distance", u8"距离", 7000)) + , m_OSDSwitch(new BoolData("OSDSwitch", u8"叠加开关")) + , m_GlobalTempAdd(new BoolData("GlobalTempAdd", u8"全局温度叠加")) + , m_GlobalTempParamAdd(new BoolData("GlobalTempParamAdd", u8"全局温度参数叠加")) + , m_PseudoColorBarsAdd(new BoolData("PseudoColorBarsAdd", u8"伪彩色带叠加")) + , m_HighLowTempCursorAdd(new BoolData("HighLowTempCursorAdd", u8"高低温度游标叠加")) + , m_ColorPalette(new IntData("ColorPalette")) + , m_GainType(new IntData("GainType")) + , m_TempUnit(new IntData("TempUnit")) + , m_OverTurn(new IntData("OverTurn")) + , m_PlatformAX(new IntData("PlatformAX")) + , m_PlatformAY(new IntData("PlatformAY")) + , m_PlatformBX(new IntData("PlatformBX", u8"", 630)) + , m_PlatformBY(new IntData("PlatformBY")) + , m_PlatformCX(new IntData("PlatformCX", u8"",630)) + , m_PlatformCY(new IntData("PlatformCY", u8"", 510)) + , m_PlatformDX(new IntData("PlatformDX")) + , m_PlatformDY(new IntData("PlatformDY", u8"", 510)) + , m_ChillDowmTemp(new FloatData("ChillDowmTemp", u8"冷却温度", 200.0f)) + , m_TempCtrlType(new IntData("TempCtrlType",u8"", WAIT_TEMP)) + , m_DeltaTemp(new FloatData("DeltaTemp", u8"", 5.0f)) + , m_DeltaPower(new FloatData("DeltaPower", u8"", 0.5f)) + , m_LayerWaitMil(new UIntData("LayerWaitMil")) + , m_IsAvgCalcValue(new BoolData("IsAvgCalcValue",u8"使用均值",true)) + , m_AvgCalcValueType(new IntData("AvgCalcValueType",u8"均值类型", AVG_5)) + , m_UseManualPoints(new BoolData("UseManualPoints")) + , m_EmissivityAssist(new FloatData("EmissivityAssist", u8"发射率")) + , m_AirTempAssist(new FloatData("AirTempAssist", u8"空气温度")) + , m_ReflectTempAssist(new FloatData("ReflectTempAssist", u8"反射温度")) + , m_HumidityAssist(new FloatData("HumidityAssist", u8"湿度")) + , m_DistanceAssist(new FloatData("DistanceAssist", u8"距离")) + , m_IsForceConnect(new BoolData("IsForceConnect")) + , m_ForceConnectIP(new StrData("ForceConnectIP",u8"", "192.168.1.29")) + , m_szIpAssist(new StrData("szIpAssist",u8"")) { - m_Emissivity = 9500; - m_AirTemp = 250000; - m_ReflectTemp = 250000; - m_Humidity = 10000; - m_Distance = 7000; - m_ColorPalette = 0; - - /*m_PlatformStartX = 50; - m_PlatformStartY = 50; - m_PlatformEndX = 600; - m_PlatformEndY = 450;*/ - - m_PlatformAX = 0; - m_PlatformAY = 0; - - m_PlatformBX = 630; - m_PlatformBY = 0; - - m_PlatformCX = 630; - m_PlatformCY = 510; - - m_PlatformDX = 0; - m_PlatformDY = 510; - - m_ChillDowmTemp = 200.0f; - m_TempCtrlType = WAIT_TEMP; - - m_DeltaTemp = 5.0f; - m_DeltaPower = 0.5f; - - m_LayerWaitMil = 0; - m_OverTurn = 0; - - m_IsAvgCalcValue = true; - m_AvgCalcValueType = AVG_5; - - m_IsForceConnect = false; - m_IsEnable = false; - m_UseManualPoints = false; - - m_ForceConnectIP = "192.168.1.29"; - memset(m_szIpAssist, '\0', sizeof(m_szIpAssist)); + size_t ptrSize = sizeof(nullptr); //指针大小 + void* startPtr = &m_startFlag + 1; + size_t count = ((size_t)&m_endFlag - (size_t)startPtr) / ptrSize; + InsertMp(startPtr, count); } @@ -71,199 +72,199 @@ void InfraredTempCfg::GetUpdateSql(vector& ups) sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_IsEnable ? "1" : "0", + m_IsEnable->GetValue() ? "1" : "0", strtail.c_str(), FIELD_IS_ENABLE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_Emissivity).c_str(), + to_string(m_Emissivity->GetValue()).c_str(), strtail.c_str(), FIELD_EMISSIVITY.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_AirTemp).c_str(), + to_string(m_AirTemp->GetValue()).c_str(), strtail.c_str(), FIELD_AIR_TEMP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_ReflectTemp).c_str(), + to_string(m_ReflectTemp->GetValue()).c_str(), strtail.c_str(), FIELD_REFLECT_TEMP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_Humidity).c_str(), + to_string(m_Humidity->GetValue()).c_str(), strtail.c_str(), FIELD_HUMIDITY.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_Distance).c_str(), + to_string(m_Distance->GetValue()).c_str(), strtail.c_str(), FIELD_DISTANCE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_OSDSwitch ? "1" : "0", + m_OSDSwitch->GetValue() ? "1" : "0", strtail.c_str(), FIELD_OSD_SWITCH.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_GlobalTempAdd ? "1" : "0", + m_GlobalTempAdd->GetValue() ? "1" : "0", strtail.c_str(), FIELD_GLOBAL_TEMP_ADD.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_GlobalTempParamAdd ? "1" : "0", + m_GlobalTempParamAdd->GetValue() ? "1" : "0", strtail.c_str(), FIELD_GLOBAL_TEMP_PARAM_ADD.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_PseudoColorBarsAdd ? "1" : "0", + m_PseudoColorBarsAdd->GetValue() ? "1" : "0", strtail.c_str(), FIELD_PSEUDO_COLOR_BAR_ADD.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_HighLowTempCursorAdd ? "1" : "0", + m_HighLowTempCursorAdd->GetValue() ? "1" : "0", strtail.c_str(), FIELD_HIGH_LOW_TEMP_CURSOR_ADD.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_ColorPalette).c_str(), + to_string(m_ColorPalette->GetValue()).c_str(), strtail.c_str(), FIELD_COLOR_PALETTE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_GainType).c_str(), + to_string(m_GainType->GetValue()).c_str(), strtail.c_str(), FIELD_GAIN_TYPE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_TempUnit).c_str(), + to_string(m_TempUnit->GetValue()).c_str(), strtail.c_str(), FIELD_TEMP_UNIT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_ChillDowmTemp).c_str(), + to_string(m_ChillDowmTemp->GetValue()).c_str(), strtail.c_str(), FIELD_CHILL_DOWN_TEMP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_TempCtrlType).c_str(), + to_string(m_TempCtrlType->GetValue()).c_str(), strtail.c_str(), FIELD_SURFACE_TEMP_CTRL_TYPE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformAX).c_str(), + to_string(m_PlatformAX->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_A_X.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformAY).c_str(), + to_string(m_PlatformAY->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_A_Y.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformBX).c_str(), + to_string(m_PlatformBX->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_B_X.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformBY).c_str(), + to_string(m_PlatformBY->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_B_Y.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformCX).c_str(), + to_string(m_PlatformCX->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_C_X.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformCY).c_str(), + to_string(m_PlatformCY->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_C_Y.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformDX).c_str(), + to_string(m_PlatformDX->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_D_X.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_PlatformDY).c_str(), + to_string(m_PlatformDY->GetValue()).c_str(), strtail.c_str(), FIELD_PLATFORM_D_Y.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_DeltaTemp).c_str(), + to_string(m_DeltaTemp->GetValue()).c_str(), strtail.c_str(), FIELD_DELTA_TEMP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_DeltaPower).c_str(), + to_string(m_DeltaPower->GetValue()).c_str(), strtail.c_str(), FIELD_DELTA_POWER.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_LayerWaitMil).c_str(), + to_string(m_LayerWaitMil->GetValue()).c_str(), strtail.c_str(), FIELD_LAYER_WAIT_MIL.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_IsAvgCalcValue ? "1" : "0", + m_IsAvgCalcValue->GetValue() ? "1" : "0", strtail.c_str(), FIELD_IS_AVG_CALC_VALUE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_AvgCalcValueType).c_str(), + to_string(m_AvgCalcValueType->GetValue()).c_str(), strtail.c_str(), FIELD_AVG_CALC_VALUE.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_IsForceConnect ? "1" : "0", + m_IsForceConnect->GetValue() ? "1" : "0", strtail.c_str(), FIELD_IS_FORCE_CONNECT.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_UseManualPoints ? "1" : "0", + m_UseManualPoints->GetValue() ? "1" : "0", strtail.c_str(), FIELD_USE_MANUAL_POINTS.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - m_ForceConnectIP.c_str(), + m_ForceConnectIP->GetValueStr().c_str(), strtail.c_str(), FIELD_FORCE_CONNECT_IP.c_str()); ups.push_back(buffer); sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), - to_string(m_OverTurn).c_str(), + to_string(m_OverTurn->GetValue()).c_str(), strtail.c_str(), FIELD_OVER_TURN.c_str()); ups.push_back(buffer); } diff --git a/PrintS/Config/bean/InfraredTempCfg.h b/PrintS/Config/bean/InfraredTempCfg.h index cf2d4ed..f416380 100644 --- a/PrintS/Config/bean/InfraredTempCfg.h +++ b/PrintS/Config/bean/InfraredTempCfg.h @@ -1,10 +1,11 @@ #pragma once #include #include - +#include "../Controller/Base.h" using namespace std; -class InfraredTempCfg +#pragma pack(1) +class InfraredTempCfg : public Base { public: enum SurfaceTempCtrlType @@ -26,59 +27,62 @@ public: void GetUpdateSql(vector& ups); public: - bool m_IsEnable; - int m_Emissivity; //发射率 - int m_AirTemp; //空气温度 - int m_ReflectTemp; //反射温度 - int m_Humidity; //湿度 - int m_Distance; //距离 - bool m_OSDSwitch; //叠加开关 - bool m_GlobalTempAdd; //全局温度叠加 - bool m_GlobalTempParamAdd; //全局温度参数叠加 - bool m_PseudoColorBarsAdd; //伪彩色带叠加 - bool m_HighLowTempCursorAdd; //高低温度游标叠加 + char m_startFlag; //开始标记 + BoolData* m_IsEnable; + IntData* m_Emissivity; //发射率 + IntData* m_AirTemp; //空气温度 + IntData* m_ReflectTemp; //反射温度 + IntData* m_Humidity; //湿度 + IntData* m_Distance; //距离 + BoolData* m_OSDSwitch; //叠加开关 + BoolData* m_GlobalTempAdd; //全局温度叠加 + BoolData* m_GlobalTempParamAdd; //全局温度参数叠加 + BoolData* m_PseudoColorBarsAdd; //伪彩色带叠加 + BoolData* m_HighLowTempCursorAdd; //高低温度游标叠加 - int m_ColorPalette; //色板模式 - int m_GainType; //增益方式 - int m_TempUnit; //温度单位 - int m_OverTurn; //翻转方式 + IntData* m_ColorPalette; //色板模式 + IntData* m_GainType; //增益方式 + IntData* m_TempUnit; //温度单位 + IntData* m_OverTurn; //翻转方式 - int m_PlatformAX; - int m_PlatformAY; + IntData* m_PlatformAX; + IntData* m_PlatformAY; - int m_PlatformBX; - int m_PlatformBY; + IntData* m_PlatformBX; + IntData* m_PlatformBY; - int m_PlatformCX; - int m_PlatformCY; + IntData* m_PlatformCX; + IntData* m_PlatformCY; - int m_PlatformDX; - int m_PlatformDY; + IntData* m_PlatformDX; + IntData* m_PlatformDY; - float m_ChillDowmTemp; // 冷却温度 - int m_TempCtrlType; + FloatData* m_ChillDowmTemp; // 冷却温度 + IntData* m_TempCtrlType; //bool m_WaitChillDownEnable; //开启等待冷却温度 - float m_DeltaTemp; - float m_DeltaPower; + FloatData* m_DeltaTemp; + FloatData* m_DeltaPower; //float m_TempPowerSlope; //float m_TempPowerIntercept; - unsigned int m_LayerWaitMil; + UIntData* m_LayerWaitMil; - bool m_IsAvgCalcValue; //使用均值 - int m_AvgCalcValueType; //均值类型 - bool m_UseManualPoints; + BoolData* m_IsAvgCalcValue; //使用均值 + IntData* m_AvgCalcValueType; //均值类型 + BoolData* m_UseManualPoints; - float m_EmissivityAssist; //发射率 - float m_AirTempAssist; //空气温度 - float m_ReflectTempAssist; //反射温度 - float m_HumidityAssist; //湿度 - float m_DistanceAssist; //距离 - bool m_IsForceConnect; + FloatData* m_EmissivityAssist; //发射率 + FloatData* m_AirTempAssist; //空气温度 + FloatData* m_ReflectTempAssist; //反射温度 + FloatData* m_HumidityAssist; //湿度 + FloatData* m_DistanceAssist; //距离 + BoolData* m_IsForceConnect; - string m_ForceConnectIP; - char m_szIpAssist[16]; + StrData* m_ForceConnectIP; + StrData* m_szIpAssist; + + char m_endFlag; //结束标记 public: static string CONFIG_NAME; static string FIELD_IS_ENABLE; @@ -119,4 +123,4 @@ public: static string FIELD_FORCE_CONNECT_IP; static string FIELD_OVER_TURN; }; - +#pragma pack() diff --git a/PrintS/Config/bean/RunCfg.cpp b/PrintS/Config/bean/RunCfg.cpp index 72a8749..ba42c98 100644 --- a/PrintS/Config/bean/RunCfg.cpp +++ b/PrintS/Config/bean/RunCfg.cpp @@ -21,7 +21,6 @@ RunCfg::RunCfg() , m_LogPersistInteval(new UIntData("LogPersistInteval", u8"日志间隔记录", 10000)) , m_StatisticsInteval(new UIntData("StatisticsInteval", u8"系统统计间隔", 10000)) , m_OffsetRotateEnable(new BoolData("OffsetRotateEnable", u8"", true)) - , m_StableWindStep(new FloatData("StableWindStep", u8"风稳电压步进值", 0.05f)) , m_SSRTimeLimit(new UIntData("SSRTimeLimit", u8"基板加热输入输出不同步时间 ms", 300)) , m_SSRTimeLimitMin(new UIntData("SSRTimeLimitMin", u8"", 100)) @@ -36,7 +35,6 @@ RunCfg::RunCfg() , m_IsAutoReleasePressureWhenFinish(new BoolData("IsAutoReleasePressureWhenFinish", u8"打印完成后是否自动泄压")) , m_ReleasePressureSeconds(new UIntData("ReleasePressureSeconds", u8"泄压秒数", 120)) , m_ReleasePressureTargeValue(new FloatData("ReleasePressureTargeValue", u8"泄压目标值", 0.5f)) - , m_PrintRestEnable(new BoolData("PrintRestEnable", u8"打印停歇")) , m_PrintContinueMinute(new UIntData("PrintContinueMinute", u8"持续打印分钟", 120)) , m_PrintRestMinutes(new UIntData("PrintRestMinutes", u8"停歇分钟", 30)) @@ -52,7 +50,6 @@ RunCfg::RunCfg() , m_VoltageAlarmOffset(new FloatData("VoltageAlarmOffset", u8"电源电压报警偏差", 10.0f)) , m_ScannerPowerLogTick(new UIntData("ScannerPowerLogTick", u8"",500)) , m_ScannerPowerLogCount(new UIntData("ScannerPowerLogCount", u8"",50)) - , m_ScannerVoltageMinLimit(new FloatData("ScannerVoltageMinLimit", u8"振镜电压下限", 28.0f)) , m_ScannerVoltageMaxLimit(new FloatData("ScannerVoltageMaxLimit", u8"振镜电压上限", 32.0f)) , m_PrintAutoRenewalGas(new BoolData("PrintAutoRenewalGas", u8"打印自动换气")) @@ -68,7 +65,6 @@ RunCfg::RunCfg() , m_CoverWindSimulateTimeOffset(new DoubleData("CoverWindSimulateTimeOffset", u8"", 10000.0)) , m_LogDebugInfo(new BoolData("LogDebugInfo", u8"")) , m_AutoShutdownPower(new BoolData("AutoShutdownPower", u8"")) - , m_FilterOxygenAlarmValue(new FloatData("FilterOxygenAlarmValue", u8"", 0.5f)) , m_FanFreqLowLimit(new FloatData("FanFreqLowLimit", u8"", 5.0f)) , m_PrintLayerDelay(new UIntData("PrintLayerDelay", u8"")) @@ -91,6 +87,11 @@ RunCfg::RunCfg() , m_HeatingDisconnectAlarmJudgeSecond(new UIntData("HeatingDisconnectAlarmJudgeSecond", u8"",20)) , m_ChillerDisconnectAlarmJudgeSecond(new UIntData("ChillerDisconnectAlarmJudgeSecond", u8"",20)) { + size_t ptrSize = sizeof(nullptr); //指针大小 + void* startPtr = &m_startFlag + 1; + size_t count = ((size_t)&m_endFlag - (size_t)startPtr) / ptrSize; + InsertMp(startPtr, count); + /*m_IsDebugMode = false; m_TargeOxygen = 1000.0f; m_WarnOxygen = 2000.0f; @@ -193,12 +194,12 @@ RunCfg::RunCfg() m_OxygenSensorDisconnectAlarmJudgeSecond = 20; m_HeatingDisconnectAlarmJudgeSecond = 20; m_ChillerDisconnectAlarmJudgeSecond = 20;*/ - InitializeCriticalSection(&m_CS); + //InitializeCriticalSection(&m_CS); } RunCfg::~RunCfg() { - DeleteCriticalSection(&m_CS); + //DeleteCriticalSection(&m_CS); } diff --git a/PrintS/Config/bean/RunCfg.h b/PrintS/Config/bean/RunCfg.h index a85a2b5..fec2531 100644 --- a/PrintS/Config/bean/RunCfg.h +++ b/PrintS/Config/bean/RunCfg.h @@ -21,52 +21,59 @@ public: void GetUpdateSql(vector& ups); void SetOxygenTargeValue(float to) { - EnterCriticalSection(&m_CS); + //EnterCriticalSection(&m_CS); + //m_TargeOxygen->SetValue(to); + //LeaveCriticalSection(&m_CS); + + std::unique_lock lck(m_mtx); //写锁 m_TargeOxygen->SetValue(to); - LeaveCriticalSection(&m_CS); } float GetOxygenTargeValue() { - float fv = 0.0f; - EnterCriticalSection(&m_CS); - fv = m_TargeOxygen->GetValue(); - LeaveCriticalSection(&m_CS); - return fv; + //float fv = 0.0f; + //EnterCriticalSection(&m_CS); + //fv = m_TargeOxygen->GetValue(); + //LeaveCriticalSection(&m_CS); + //return fv; + + std::shared_lock lck(m_mtx); //读锁 + return m_TargeOxygen->GetValue(); } void SetOxygenAlarmValue(float to) { - EnterCriticalSection(&m_CS); + //EnterCriticalSection(&m_CS); + //m_AlarmOxygen->SetValue(to); + //LeaveCriticalSection(&m_CS); + + std::unique_lock lck(m_mtx); //写锁 m_AlarmOxygen->SetValue(to); - LeaveCriticalSection(&m_CS); } void SetOxygenWarnValue(float to) { - EnterCriticalSection(&m_CS); + //EnterCriticalSection(&m_CS); + //m_WarnOxygen->SetValue(to); + //LeaveCriticalSection(&m_CS); + + std::unique_lock lck(m_mtx); //写锁 m_WarnOxygen->SetValue(to); - LeaveCriticalSection(&m_CS); } float GetOxygenAlarmValue() { - float fv = 0.0f; - EnterCriticalSection(&m_CS); - fv = m_AlarmOxygen->GetValue(); - LeaveCriticalSection(&m_CS); - return fv; + std::shared_lock lck(m_mtx); //读锁 + return m_AlarmOxygen->GetValue(); } float GetOxygenWarnValue() { - float fv = 0.0f; - EnterCriticalSection(&m_CS); - fv = m_WarnOxygen->GetValue(); - LeaveCriticalSection(&m_CS); - return fv; + std::shared_lock lck(m_mtx); //读锁 + return m_WarnOxygen->GetValue(); } public: + char m_startFlag; //开始标记 BoolData* m_IsDebugMode; FloatData* m_TargeOxygen; //目标氧 FloatData* m_WarnOxygen; //预警氧 @@ -186,6 +193,8 @@ public: UIntData* m_OxygenSensorDisconnectAlarmJudgeSecond; UIntData* m_HeatingDisconnectAlarmJudgeSecond; UIntData* m_ChillerDisconnectAlarmJudgeSecond; + + char m_endFlag; //结束标记 public: static const string CONFIG_NAME; static const string FIELD_IS_DEBUG_MODE; @@ -277,7 +286,7 @@ public: static const string FIELD_OXYGEN_SENSOR_DISCONNECT_ALARM_JUDGE_SECOND; static const string FIELD_HEATING_DISCONNECT_ALARM_JUDGE_SECOND; static const string FIELD_CHILLER_DISCONNECT_ALARM_JUDGE_SECOND; -private: - CRITICAL_SECTION m_CS; +//private: +// CRITICAL_SECTION m_CS; }; #pragma pack() diff --git a/PrintS/Config/dao/BaseConfigDao.cpp b/PrintS/Config/dao/BaseConfigDao.cpp index 425e038..9631520 100644 --- a/PrintS/Config/dao/BaseConfigDao.cpp +++ b/PrintS/Config/dao/BaseConfigDao.cpp @@ -2915,7 +2915,7 @@ void BaseConfigDao::FindInfraredTempCfg(InfraredTempCfg& cfg) vector needins; if (valuemap.find(InfraredTempCfg::FIELD_IS_ENABLE) != valuemap.end()) { - cfg.m_IsEnable = (stoi(valuemap[InfraredTempCfg::FIELD_IS_ENABLE]) > 0 ? true : false); + cfg.m_IsEnable->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_IS_ENABLE]) > 0 ? true : false); } else { sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_IS_ENABLE.c_str(), cfg.m_IsEnable ? "1" : "0"); @@ -2923,106 +2923,106 @@ void BaseConfigDao::FindInfraredTempCfg(InfraredTempCfg& cfg) } if (valuemap.find(InfraredTempCfg::FIELD_EMISSIVITY) != valuemap.end()) { - cfg.m_Emissivity = stoi(valuemap[InfraredTempCfg::FIELD_EMISSIVITY]); + cfg.m_Emissivity->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_EMISSIVITY])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_EMISSIVITY.c_str(), to_string(cfg.m_Emissivity).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_EMISSIVITY.c_str(), to_string(cfg.m_Emissivity->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_AIR_TEMP) != valuemap.end()) { - cfg.m_AirTemp = stoi(valuemap[InfraredTempCfg::FIELD_AIR_TEMP]); + cfg.m_AirTemp->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_AIR_TEMP])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_AIR_TEMP.c_str(), to_string(cfg.m_AirTemp).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_AIR_TEMP.c_str(), to_string(cfg.m_AirTemp->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_REFLECT_TEMP) != valuemap.end()) { - cfg.m_ReflectTemp = stoi(valuemap[InfraredTempCfg::FIELD_REFLECT_TEMP]); + cfg.m_ReflectTemp->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_REFLECT_TEMP])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_REFLECT_TEMP.c_str(), to_string(cfg.m_ReflectTemp).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_REFLECT_TEMP.c_str(), to_string(cfg.m_ReflectTemp->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_HUMIDITY) != valuemap.end()) { - cfg.m_Humidity = stoi(valuemap[InfraredTempCfg::FIELD_HUMIDITY]); + cfg.m_Humidity->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_HUMIDITY])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_HUMIDITY.c_str(), to_string(cfg.m_Humidity).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_HUMIDITY.c_str(), to_string(cfg.m_Humidity->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_DISTANCE) != valuemap.end()) { - cfg.m_Distance = stoi(valuemap[InfraredTempCfg::FIELD_DISTANCE]); + cfg.m_Distance->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_DISTANCE])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_DISTANCE.c_str(), to_string(cfg.m_Distance).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_DISTANCE.c_str(), to_string(cfg.m_Distance->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_OSD_SWITCH) != valuemap.end()) { - cfg.m_OSDSwitch = (stoi(valuemap[InfraredTempCfg::FIELD_OSD_SWITCH]) > 0 ? true : false); + cfg.m_OSDSwitch->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_OSD_SWITCH]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_OSD_SWITCH.c_str(), cfg.m_OSDSwitch ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_OSD_SWITCH.c_str(), cfg.m_OSDSwitch->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_GLOBAL_TEMP_ADD) != valuemap.end()) { - cfg.m_GlobalTempAdd = (stoi(valuemap[InfraredTempCfg::FIELD_GLOBAL_TEMP_ADD]) > 0 ? true : false); + cfg.m_GlobalTempAdd->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_GLOBAL_TEMP_ADD]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_GLOBAL_TEMP_ADD.c_str(), cfg.m_GlobalTempAdd ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_GLOBAL_TEMP_ADD.c_str(), cfg.m_GlobalTempAdd->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_GLOBAL_TEMP_PARAM_ADD) != valuemap.end()) { - cfg.m_GlobalTempParamAdd = (stoi(valuemap[InfraredTempCfg::FIELD_GLOBAL_TEMP_PARAM_ADD]) > 0 ? true : false); + cfg.m_GlobalTempParamAdd->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_GLOBAL_TEMP_PARAM_ADD]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_GLOBAL_TEMP_PARAM_ADD.c_str(), cfg.m_GlobalTempParamAdd ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_GLOBAL_TEMP_PARAM_ADD.c_str(), cfg.m_GlobalTempParamAdd->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PSEUDO_COLOR_BAR_ADD) != valuemap.end()) { - cfg.m_PseudoColorBarsAdd = (stoi(valuemap[InfraredTempCfg::FIELD_PSEUDO_COLOR_BAR_ADD]) > 0 ? true : false); + cfg.m_PseudoColorBarsAdd->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PSEUDO_COLOR_BAR_ADD]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PSEUDO_COLOR_BAR_ADD.c_str(), cfg.m_PseudoColorBarsAdd ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PSEUDO_COLOR_BAR_ADD.c_str(), cfg.m_PseudoColorBarsAdd->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_HIGH_LOW_TEMP_CURSOR_ADD) != valuemap.end()) { - cfg.m_HighLowTempCursorAdd = (stoi(valuemap[InfraredTempCfg::FIELD_HIGH_LOW_TEMP_CURSOR_ADD]) > 0 ? true : false); + cfg.m_HighLowTempCursorAdd->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_HIGH_LOW_TEMP_CURSOR_ADD]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_HIGH_LOW_TEMP_CURSOR_ADD.c_str(), cfg.m_HighLowTempCursorAdd ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_HIGH_LOW_TEMP_CURSOR_ADD.c_str(), cfg.m_HighLowTempCursorAdd->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_GAIN_TYPE) != valuemap.end()) { - cfg.m_GainType = stoi(valuemap[InfraredTempCfg::FIELD_GAIN_TYPE]); + cfg.m_GainType->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_GAIN_TYPE])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_GAIN_TYPE.c_str(), to_string(cfg.m_GainType).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_GAIN_TYPE.c_str(), to_string(cfg.m_GainType->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_COLOR_PALETTE) != valuemap.end()) { - cfg.m_ColorPalette = stoi(valuemap[InfraredTempCfg::FIELD_COLOR_PALETTE]); + cfg.m_ColorPalette->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_COLOR_PALETTE])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_COLOR_PALETTE.c_str(), to_string(cfg.m_ColorPalette).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_COLOR_PALETTE.c_str(), to_string(cfg.m_ColorPalette->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_TEMP_UNIT) != valuemap.end()) { - cfg.m_TempUnit = stoi(valuemap[InfraredTempCfg::FIELD_TEMP_UNIT]); + cfg.m_TempUnit->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_TEMP_UNIT])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_TEMP_UNIT.c_str(), to_string(cfg.m_TempUnit).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_TEMP_UNIT.c_str(), to_string(cfg.m_TempUnit->GetValue()).c_str()); needins.push_back(buffer); } @@ -3059,154 +3059,154 @@ void BaseConfigDao::FindInfraredTempCfg(InfraredTempCfg& cfg) }*/ if (valuemap.find(InfraredTempCfg::FIELD_CHILL_DOWN_TEMP) != valuemap.end()) { - cfg.m_ChillDowmTemp = stof(valuemap[InfraredTempCfg::FIELD_CHILL_DOWN_TEMP]); + cfg.m_ChillDowmTemp->SetValue(stof(valuemap[InfraredTempCfg::FIELD_CHILL_DOWN_TEMP])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_CHILL_DOWN_TEMP.c_str(), to_string(cfg.m_ChillDowmTemp).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_CHILL_DOWN_TEMP.c_str(), to_string(cfg.m_ChillDowmTemp->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_SURFACE_TEMP_CTRL_TYPE) != valuemap.end()) { - cfg.m_TempCtrlType = stoi(valuemap[InfraredTempCfg::FIELD_SURFACE_TEMP_CTRL_TYPE]); + cfg.m_TempCtrlType->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_SURFACE_TEMP_CTRL_TYPE])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_SURFACE_TEMP_CTRL_TYPE.c_str(), to_string(cfg.m_TempCtrlType).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_SURFACE_TEMP_CTRL_TYPE.c_str(), to_string(cfg.m_TempCtrlType->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_A_X) != valuemap.end()) { - cfg.m_PlatformAX = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_A_X]); + cfg.m_PlatformAX->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_A_X])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_A_X.c_str(), to_string(cfg.m_PlatformAX).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_A_X.c_str(), to_string(cfg.m_PlatformAX->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_A_Y) != valuemap.end()) { - cfg.m_PlatformAY = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_A_Y]); + cfg.m_PlatformAY->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_A_Y])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_A_Y.c_str(), to_string(cfg.m_PlatformAY).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_A_Y.c_str(), to_string(cfg.m_PlatformAY->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_B_X) != valuemap.end()) { - cfg.m_PlatformBX = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_B_X]); + cfg.m_PlatformBX->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_B_X])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_B_X.c_str(), to_string(cfg.m_PlatformBX).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_B_X.c_str(), to_string(cfg.m_PlatformBX->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_B_Y) != valuemap.end()) { - cfg.m_PlatformBY = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_B_Y]); + cfg.m_PlatformBY->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_B_Y])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_B_Y.c_str(), to_string(cfg.m_PlatformBY).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_B_Y.c_str(), to_string(cfg.m_PlatformBY->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_C_X) != valuemap.end()) { - cfg.m_PlatformCX = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_C_X]); + cfg.m_PlatformCX->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_C_X])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_C_X.c_str(), to_string(cfg.m_PlatformCX).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_C_X.c_str(), to_string(cfg.m_PlatformCX->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_C_Y) != valuemap.end()) { - cfg.m_PlatformCY = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_C_Y]); + cfg.m_PlatformCY->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_C_Y])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_C_Y.c_str(), to_string(cfg.m_PlatformCY).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_C_Y.c_str(), to_string(cfg.m_PlatformCY->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_D_X) != valuemap.end()) { - cfg.m_PlatformDX = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_D_X]); + cfg.m_PlatformDX->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_D_X])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_D_X.c_str(), to_string(cfg.m_PlatformDX).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_D_X.c_str(), to_string(cfg.m_PlatformDX->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_PLATFORM_D_Y) != valuemap.end()) { - cfg.m_PlatformDY = stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_D_Y]); + cfg.m_PlatformDY->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_PLATFORM_D_Y])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_D_Y.c_str(), to_string(cfg.m_PlatformDY).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_PLATFORM_D_Y.c_str(), to_string(cfg.m_PlatformDY->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_DELTA_TEMP) != valuemap.end()) { - cfg.m_DeltaTemp = stof(valuemap[InfraredTempCfg::FIELD_DELTA_TEMP]); + cfg.m_DeltaTemp->SetValue(stof(valuemap[InfraredTempCfg::FIELD_DELTA_TEMP])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_DELTA_TEMP.c_str(), to_string(cfg.m_DeltaTemp).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_DELTA_TEMP.c_str(), to_string(cfg.m_DeltaTemp->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_DELTA_POWER) != valuemap.end()) { - cfg.m_DeltaPower = stof(valuemap[InfraredTempCfg::FIELD_DELTA_POWER]); + cfg.m_DeltaPower->SetValue(stof(valuemap[InfraredTempCfg::FIELD_DELTA_POWER])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_DELTA_POWER.c_str(), to_string(cfg.m_DeltaPower).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_DELTA_POWER.c_str(), to_string(cfg.m_DeltaPower->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_LAYER_WAIT_MIL) != valuemap.end()) { - cfg.m_LayerWaitMil = stoul(valuemap[InfraredTempCfg::FIELD_LAYER_WAIT_MIL]); + cfg.m_LayerWaitMil->SetValue(stoul(valuemap[InfraredTempCfg::FIELD_LAYER_WAIT_MIL])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_LAYER_WAIT_MIL.c_str(), to_string(cfg.m_LayerWaitMil).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_LAYER_WAIT_MIL.c_str(), to_string(cfg.m_LayerWaitMil->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_IS_AVG_CALC_VALUE) != valuemap.end()) { - cfg.m_IsAvgCalcValue = (stoi(valuemap[InfraredTempCfg::FIELD_IS_AVG_CALC_VALUE]) > 0 ? true : false); + cfg.m_IsAvgCalcValue->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_IS_AVG_CALC_VALUE]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_IS_AVG_CALC_VALUE.c_str(), cfg.m_IsAvgCalcValue ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_IS_AVG_CALC_VALUE.c_str(), cfg.m_IsAvgCalcValue->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_AVG_CALC_VALUE) != valuemap.end()) { - cfg.m_AvgCalcValueType = stoi(valuemap[InfraredTempCfg::FIELD_AVG_CALC_VALUE]); + cfg.m_AvgCalcValueType->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_AVG_CALC_VALUE])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_AVG_CALC_VALUE.c_str(), to_string(cfg.m_AvgCalcValueType).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_AVG_CALC_VALUE.c_str(), to_string(cfg.m_AvgCalcValueType->GetValue()).c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_IS_FORCE_CONNECT) != valuemap.end()) { - cfg.m_IsForceConnect = (stoi(valuemap[InfraredTempCfg::FIELD_IS_FORCE_CONNECT]) > 0 ? true : false); + cfg.m_IsForceConnect->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_IS_FORCE_CONNECT]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_IS_FORCE_CONNECT.c_str(), cfg.m_IsForceConnect ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_IS_FORCE_CONNECT.c_str(), cfg.m_IsForceConnect->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_USE_MANUAL_POINTS) != valuemap.end()) { - cfg.m_UseManualPoints = (stoi(valuemap[InfraredTempCfg::FIELD_USE_MANUAL_POINTS]) > 0 ? true : false); + cfg.m_UseManualPoints->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_USE_MANUAL_POINTS]) > 0 ? true : false); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_USE_MANUAL_POINTS.c_str(), cfg.m_UseManualPoints ? "1" : "0"); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_USE_MANUAL_POINTS.c_str(), cfg.m_UseManualPoints->GetValue() ? "1" : "0"); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_FORCE_CONNECT_IP) != valuemap.end()) { - cfg.m_ForceConnectIP = valuemap[InfraredTempCfg::FIELD_FORCE_CONNECT_IP]; + cfg.m_ForceConnectIP->SetValue(valuemap[InfraredTempCfg::FIELD_FORCE_CONNECT_IP]); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_FORCE_CONNECT_IP.c_str(), cfg.m_ForceConnectIP.c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_FORCE_CONNECT_IP.c_str(), cfg.m_ForceConnectIP->GetValueStr().c_str()); needins.push_back(buffer); } if (valuemap.find(InfraredTempCfg::FIELD_OVER_TURN) != valuemap.end()) { - cfg.m_OverTurn = stoi(valuemap[InfraredTempCfg::FIELD_OVER_TURN]); + cfg.m_OverTurn ->SetValue(stoi(valuemap[InfraredTempCfg::FIELD_OVER_TURN])); } else { - sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_OVER_TURN.c_str(), to_string(cfg.m_OverTurn).c_str()); + sprintf_s(buffer, sizeof(buffer), strsql.c_str(), InfraredTempCfg::FIELD_OVER_TURN.c_str(), to_string(cfg.m_OverTurn->GetValue()).c_str()); needins.push_back(buffer); } diff --git a/PrintS/Controller/Base.h b/PrintS/Controller/Base.h index 5b465e4..7503d6b 100644 --- a/PrintS/Controller/Base.h +++ b/PrintS/Controller/Base.h @@ -52,7 +52,7 @@ public: } - void Update(const ReadData& rd, WRITETYPE type) { + void Update(const ReadData& rd, WRITETYPE type = DEFAULT) { if (m_baseMp.find(rd.nameKey) != m_baseMp.end()) { std::unique_lock lock(m_mtx); @@ -77,12 +77,15 @@ public: else if (rd.valueType == iSTRING) { m_baseMp[rd.nameKey]->SetValue(rd.strValue); } + else if (rd.valueType == iDOUBLE) { + m_baseMp[rd.nameKey]->SetValue(ConverType::TryToD(rd.strValue)); + } } else { printf("error, %s do not find...", rd.nameKey.c_str()); } - SendToClients(type); //客户端更新后在发送给客户端 + if(type != DEFAULT) SendToClients(type); //客户端更新后在发送给客户端 } diff --git a/PrintS/Controller/Controller.cpp b/PrintS/Controller/Controller.cpp index 331bcf6..f9283ed 100644 --- a/PrintS/Controller/Controller.cpp +++ b/PrintS/Controller/Controller.cpp @@ -179,7 +179,6 @@ void Controller::StartSend() { m_Camera->SendToClients(); count = 0; } - this_thread::sleep_for(std::chrono::milliseconds(250)); } diff --git a/PrintS/DataManage/DataHandle.cpp b/PrintS/DataManage/DataHandle.cpp index 7a28e84..de8097c 100644 --- a/PrintS/DataManage/DataHandle.cpp +++ b/PrintS/DataManage/DataHandle.cpp @@ -118,7 +118,12 @@ void DataHandle::DataCallBackHandle(const ReadData& msg) { m_controller->m_Camera->Update(msg); break; case PURIFIERFUNC: m_controller->m_Purifier->CallFunc(msg); break; - + case RUNCFG: + ConfigManager::GetInstance()->GetRunCfg()->Update(msg, RUNCFGPARAM); + break; + case INFRAREDTEMPCFG: + ConfigManager::GetInstance()->GetInfraredTempCfg()->Update(msg, INFRAREDTEMPCFGPARAM); + break; case REQUEST: if (msg.nameKey == "36") { printf("error,36 需要释放ScannerCtrl::Init()内部代码块...\n"); diff --git a/PrintS/DataManage/RWData.h b/PrintS/DataManage/RWData.h index acdf4cc..689785f 100644 --- a/PrintS/DataManage/RWData.h +++ b/PrintS/DataManage/RWData.h @@ -4,7 +4,7 @@ #include enum READTYPE { - AXISMOVEFUNC=0, //轴运动函数 + AXISMOVEFUNC = 0, //轴运动函数 VERSIONREQ, //获取版本信息 @@ -23,12 +23,14 @@ enum READTYPE { /********************配置信息******************/ PARAMLIMITCFG, EXTCFG, + RUNCFG, + INFRAREDTEMPCFG, LOADPARAM, //装载参数 SCANCTRLFUNC, //振镜控制函数 - REQUEST, //获取配置信息 test用 + REQUEST=100, //获取配置信息 test用 }; enum DATATYPE { @@ -91,6 +93,8 @@ enum WRITETYPE { /********************配置信息******************/ PARAMLIMITCFGPARAM, //paramlimit配置参数 EXTCFGPARAM, + RUNCFGPARAM, //runcfg 参数 + INFRAREDTEMPCFGPARAM, //InfraredTempCfg 参数 MOLDCFGPARAM, LOADCFGPARAM, @@ -105,7 +109,8 @@ enum WRITETYPE { SCANCTRLPARAM, //scanctrl参数 XYSCANSTATE, //XYScanState参数 在参数更新的时候才会发送到客户端 CAMERAPARAM, //相机参数 - + + DEFAULT = 900, //默认值 TEST = 1000, //test }; diff --git a/PrintS/ScannerCtrl/ScannerCtrl.cpp b/PrintS/ScannerCtrl/ScannerCtrl.cpp index 6fc3cc0..20e079c 100644 --- a/PrintS/ScannerCtrl/ScannerCtrl.cpp +++ b/PrintS/ScannerCtrl/ScannerCtrl.cpp @@ -849,13 +849,13 @@ void ScannerCtrl::DispatchDataBlock() log.m_Temps.push_back(itPair); } - if (m_InfraredTempCfg->m_TempCtrlType == InfraredTempCfg::WAIT_TEMP) { + if (m_InfraredTempCfg->m_TempCtrlType->GetValue() == InfraredTempCfg::WAIT_TEMP) { while (IsStart()) { if (!m_InfraredTemp->IsOverChillDown()) { break; } - if (m_InfraredTempCfg->m_TempCtrlType != InfraredTempCfg::WAIT_TEMP) + if (m_InfraredTempCfg->m_TempCtrlType->GetValue() != InfraredTempCfg::WAIT_TEMP) { break; } @@ -1029,7 +1029,7 @@ void ScannerCtrl::DispatchDataBlock() } } m_InfraredTemp->ResetPrintMax(); - if (m_InfraredTempCfg->m_TempCtrlType == InfraredTempCfg::COVERED_WAIT) { + if (m_InfraredTempCfg->m_TempCtrlType->GetValue() == InfraredTempCfg::COVERED_WAIT) { m_InfraredTemp->ResetWaitFlag(); } } diff --git a/PrintS/additional/InfraredTemp/InfraredTemp.cpp b/PrintS/additional/InfraredTemp/InfraredTemp.cpp index be1ceab..0079110 100644 --- a/PrintS/additional/InfraredTemp/InfraredTemp.cpp +++ b/PrintS/additional/InfraredTemp/InfraredTemp.cpp @@ -93,10 +93,10 @@ void InfraredTemp::Connect() { - if (m_InfraredTempCfg->m_IsForceConnect) { + if (m_InfraredTempCfg->m_IsForceConnect->GetValue()) { m_ChanelInfo.channel = 0; sprintf_s(m_ChanelInfo.szServerName, sizeof(m_ChanelInfo.szServerName), "IRCAM"); - sprintf_s(m_ChanelInfo.szIP, sizeof(m_ChanelInfo.szIP), m_InfraredTempCfg->m_ForceConnectIP.c_str()); + sprintf_s(m_ChanelInfo.szIP, sizeof(m_ChanelInfo.szIP), m_InfraredTempCfg->m_ForceConnectIP->GetValueStr().c_str()); m_ChanelInfo.wPortNum = 3000; m_ChanelInfo.byChanNum = 0; m_ChanelInfo.byChanNum2 = 0; @@ -154,11 +154,11 @@ void InfraredTemp::Connect() int iOSD = 0; INF_OSD osd_info = INF_OSD(0, 0, 0, 0); sdk_LoadParamOsd(m_Handle, m_ChanelInfo, &iOSD, &osd_info); - m_InfraredTempCfg->m_OSDSwitch = (iOSD == 1 ? true : false); - m_InfraredTempCfg->m_GlobalTempAdd = (osd_info.m_g_temp_add == 1 ? true : false); - m_InfraredTempCfg->m_GlobalTempParamAdd = (osd_info.m_g_temp_param_add == 1 ? true : false); - m_InfraredTempCfg->m_PseudoColorBarsAdd = (osd_info.m_pseudo_add == 1 ? true : false); - m_InfraredTempCfg->m_HighLowTempCursorAdd = (osd_info.m_low_hight_temp_pos == 1 ? true : false); + m_InfraredTempCfg->m_OSDSwitch->SetValue(iOSD == 1 ? true : false); + m_InfraredTempCfg->m_GlobalTempAdd->SetValue(osd_info.m_g_temp_add == 1 ? true : false); + m_InfraredTempCfg->m_GlobalTempParamAdd->SetValue(osd_info.m_g_temp_param_add == 1 ? true : false); + m_InfraredTempCfg->m_PseudoColorBarsAdd->SetValue(osd_info.m_pseudo_add == 1 ? true : false); + m_InfraredTempCfg->m_HighLowTempCursorAdd->SetValue(osd_info.m_low_hight_temp_pos == 1 ? true : false); if (SetSerialCallBack(m_Handle, m_ChanelInfo, SerialCallBackHandle, this) != 0) { @@ -166,11 +166,11 @@ void InfraredTemp::Connect() } envir_param ep; sdk_get_envir_param(m_Handle, m_ChanelInfo, &ep); - ep.airTemp = m_InfraredTempCfg->m_AirTemp; - ep.distance = m_InfraredTempCfg->m_Distance; - ep.emissivity = m_InfraredTempCfg->m_Emissivity; - ep.humidity = m_InfraredTempCfg->m_Humidity; - ep.reflectTemp = m_InfraredTempCfg->m_ReflectTemp; + ep.airTemp = m_InfraredTempCfg->m_AirTemp->GetValue(); + ep.distance = m_InfraredTempCfg->m_Distance->GetValue(); + ep.emissivity = m_InfraredTempCfg->m_Emissivity->GetValue(); + ep.humidity = m_InfraredTempCfg->m_Humidity->GetValue(); + ep.reflectTemp = m_InfraredTempCfg->m_ReflectTemp->GetValue(); sdk_set_envir_param(m_Handle, m_ChanelInfo, ep); sdk_envir_effect(m_Handle); @@ -178,7 +178,7 @@ void InfraredTemp::Connect() if (sdk_get_temp_unit(m_Handle, m_ChanelInfo, &iUnit) != 0) { g_log->TraceInfo("sdk_get_temp_unit error"); } - m_InfraredTempCfg->m_TempUnit = iUnit; + m_InfraredTempCfg->m_TempUnit->SetValue(iUnit); int iWidth = 0; int iHeight = 0; @@ -536,11 +536,11 @@ void InfraredTemp::UpdateEnv() if (!IsConnect())return; envir_param ep; sdk_get_envir_param(m_Handle, m_ChanelInfo, &ep); - ep.emissivity = m_InfraredTempCfg->m_Emissivity; - ep.airTemp = m_InfraredTempCfg->m_AirTemp; - ep.reflectTemp = m_InfraredTempCfg->m_AirTemp; - ep.humidity = m_InfraredTempCfg->m_Humidity; - ep.distance = m_InfraredTempCfg->m_Distance; + ep.emissivity = m_InfraredTempCfg->m_Emissivity->GetValue(); + ep.airTemp = m_InfraredTempCfg->m_AirTemp->GetValue(); + ep.reflectTemp = m_InfraredTempCfg->m_AirTemp->GetValue(); + ep.humidity = m_InfraredTempCfg->m_Humidity->GetValue(); + ep.distance = m_InfraredTempCfg->m_Distance->GetValue(); sdk_set_envir_param(m_Handle, m_ChanelInfo, ep); sdk_envir_effect(m_Handle); } @@ -548,7 +548,7 @@ void InfraredTemp::UpdateEnv() void InfraredTemp::SetOSD() { if (!IsConnect())return; - sdk_osd_switch(m_Handle, m_ChanelInfo, m_InfraredTempCfg->m_OSDSwitch ? 1 : 0); + sdk_osd_switch(m_Handle, m_ChanelInfo, m_InfraredTempCfg->m_OSDSwitch->GetValue() ? 1 : 0); } void InfraredTemp::UpdateOSD() { @@ -557,17 +557,17 @@ void InfraredTemp::UpdateOSD() INF_OSD osd_info = INF_OSD(0, 0, 0, 0); sdk_LoadParamOsd(m_Handle, m_ChanelInfo, &iOSD, &osd_info); - osd_info.m_g_temp_add = m_InfraredTempCfg->m_GlobalTempAdd ? 1 : 0; - osd_info.m_g_temp_param_add = m_InfraredTempCfg->m_GlobalTempParamAdd ? 1 : 0; - osd_info.m_pseudo_add = m_InfraredTempCfg->m_PseudoColorBarsAdd ? 1 : 0; - osd_info.m_low_hight_temp_pos = m_InfraredTempCfg->m_HighLowTempCursorAdd ? 1 : 0; + osd_info.m_g_temp_add = m_InfraredTempCfg->m_GlobalTempAdd->GetValue() ? 1 : 0; + osd_info.m_g_temp_param_add = m_InfraredTempCfg->m_GlobalTempParamAdd->GetValue() ? 1 : 0; + osd_info.m_pseudo_add = m_InfraredTempCfg->m_PseudoColorBarsAdd->GetValue() ? 1 : 0; + osd_info.m_low_hight_temp_pos = m_InfraredTempCfg->m_HighLowTempCursorAdd->GetValue() ? 1 : 0; sdk_SetInfOsd(m_Handle, m_ChanelInfo, osd_info); } void InfraredTemp::UpdateColorPalette() { if (!IsConnect())return; - int rel=sdk_set_color_plate(m_Handle, m_ChanelInfo, m_InfraredTempCfg->m_ColorPalette); + int rel=sdk_set_color_plate(m_Handle, m_ChanelInfo, m_InfraredTempCfg->m_ColorPalette->GetValue()); //g_log->TraceInfo(u8"更改色板模式:%d %d", m_InfraredTempCfg->m_ColorPalette, rel); } @@ -613,7 +613,7 @@ m_InfraredTempCfg->m_GainType = rbuffer[5]; void InfraredTemp::UpdateOverTurn() { - switch (m_InfraredTempCfg->m_OverTurn) + switch (m_InfraredTempCfg->m_OverTurn->GetValue()) { case 0: { unsigned char cmd[9] = { 0xAA, 0x05, 0x00, 0x30, 0x01, 0x01, 0xE1, 0xEB, 0xAA }; @@ -654,8 +654,8 @@ void InfraredTemp::UpdateAutoFocus() void InfraredTemp::UpdateTempUnit() { VSNET_TEMPUNIT_S vts; - vts.m_unit = m_InfraredTempCfg->m_TempUnit; - sdk_set_temp_unit(m_Handle, m_ChanelInfo, m_InfraredTempCfg->m_TempUnit); + vts.m_unit = m_InfraredTempCfg->m_TempUnit->GetValue(); + sdk_set_temp_unit(m_Handle, m_ChanelInfo, m_InfraredTempCfg->m_TempUnit->GetValue()); } void InfraredTemp::MessageCallBackHandle(IRNETHANDLE hHandle, WPARAM wParam, LPARAM lParam, void *context) @@ -785,14 +785,14 @@ void InfraredTemp::CalcPrintPlatform() { EnterCriticalSection(&m_ShowCS); m_PrintPlatform.points.clear(); - m_PrintPlatform.pa.x = m_InfraredTempCfg->m_PlatformAX; - m_PrintPlatform.pa.y = m_InfraredTempCfg->m_PlatformAY; - m_PrintPlatform.pb.x = m_InfraredTempCfg->m_PlatformBX; - m_PrintPlatform.pb.y = m_InfraredTempCfg->m_PlatformBY; - m_PrintPlatform.pc.x = m_InfraredTempCfg->m_PlatformCX; - m_PrintPlatform.pc.y = m_InfraredTempCfg->m_PlatformCY; - m_PrintPlatform.pd.x = m_InfraredTempCfg->m_PlatformDX; - m_PrintPlatform.pd.y = m_InfraredTempCfg->m_PlatformDY; + m_PrintPlatform.pa.x = m_InfraredTempCfg->m_PlatformAX->GetValue(); + m_PrintPlatform.pa.y = m_InfraredTempCfg->m_PlatformAY->GetValue(); + m_PrintPlatform.pb.x = m_InfraredTempCfg->m_PlatformBX->GetValue(); + m_PrintPlatform.pb.y = m_InfraredTempCfg->m_PlatformBY->GetValue(); + m_PrintPlatform.pc.x = m_InfraredTempCfg->m_PlatformCX->GetValue(); + m_PrintPlatform.pc.y = m_InfraredTempCfg->m_PlatformCY->GetValue(); + m_PrintPlatform.pd.x = m_InfraredTempCfg->m_PlatformDX->GetValue(); + m_PrintPlatform.pd.y = m_InfraredTempCfg->m_PlatformDY->GetValue(); m_PrintPlatform.points.push_back(m_PrintPlatform.pa); m_PrintPlatform.points.push_back(m_PrintPlatform.pb); m_PrintPlatform.points.push_back(m_PrintPlatform.pc); @@ -1037,7 +1037,7 @@ bool InfraredTemp::IsOverChillDown() { bool rel = false; EnterCriticalSection(&m_ShowCS); - if (m_MaxTemp > m_InfraredTempCfg->m_ChillDowmTemp) + if (m_MaxTemp > m_InfraredTempCfg->m_ChillDowmTemp->GetValue()) { rel = true; } @@ -1082,7 +1082,7 @@ void InfraredTemp::SetAvgSize() EnterCriticalSection(&m_ShowCS); for (size_t regIndex = 0; regIndex < m_TempRegions.size(); regIndex++) { TempRegion* tr = m_TempRegions[regIndex]; - tr->SetAvgSize(m_InfraredTempCfg->m_AvgCalcValueType); + tr->SetAvgSize(m_InfraredTempCfg->m_AvgCalcValueType->GetValue()); } LeaveCriticalSection(&m_ShowCS); } @@ -1100,7 +1100,7 @@ bool InfraredTemp::WaitTempReady(int partId) rel = true; break; } - if (tr->m_MaxTemp <= m_InfraredTempCfg->m_ChillDowmTemp) { + if (tr->m_MaxTemp <= m_InfraredTempCfg->m_ChillDowmTemp->GetValue()) { rel = true; break; } diff --git a/PrintS/output/Release/log/2024.hbd b/PrintS/output/Release/log/2024.hbd index a0644fd2dad66c651ca4c1f0f00ab3906707bb16..d80e49ab1e3d796c85fdfdcc97c57cf3ba5684ac 100644 GIT binary patch delta 16535 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 Ok;b9uuNn%AKtB$S<5#)> delta 16535 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 O!);k56CV}8km9;PrX#5U diff --git a/PrintS/utils/ConverType.hpp b/PrintS/utils/ConverType.hpp index dd15e0d..410a151 100644 --- a/PrintS/utils/ConverType.hpp +++ b/PrintS/utils/ConverType.hpp @@ -49,5 +49,20 @@ public: return ret; } + static double TryToD(const std::string& input) { + double ret = -1.0; + try { + ret = stod(input); + return ret; + } + catch (const std::invalid_argument& e) { + printf("input is not double...error:%s\n", e.what()); + } + catch (const std::out_of_range& e) { + printf("input number is out of double range...error:%s\n", e.what()); + } + return ret; + } + }; diff --git a/TestClient/DataManage/DataHandle.cpp b/TestClient/DataManage/DataHandle.cpp index 5eb6827..c0a927e 100644 --- a/TestClient/DataManage/DataHandle.cpp +++ b/TestClient/DataManage/DataHandle.cpp @@ -145,17 +145,19 @@ void DataHandle::ParamReadUsage() { printf(" 24: " COLOR_YELLOW "print axisele slave data...\n" COLOR_RESET); printf(" 25: " COLOR_YELLOW "print paramlimitcfg param data...\n" COLOR_RESET); printf(" 26: " COLOR_YELLOW "print extcfg param data...\n" COLOR_RESET); - printf(" 27: " COLOR_YELLOW "print moldcfg param data...\n" COLOR_RESET); - printf(" 28: " COLOR_YELLOW "print loadcfg param data...\n" COLOR_RESET); - printf(" 29: " COLOR_YELLOW "print armcfgparam data...\n" COLOR_RESET); - printf(" 30: " COLOR_YELLOW "print supplycfgparam data...\n" COLOR_RESET); - printf(" 31: " COLOR_YELLOW "print cleancfgparam data...\n" COLOR_RESET); - printf(" 32: " COLOR_YELLOW "print elecfgparam data...\n" COLOR_RESET); - printf(" 33: " COLOR_YELLOW "print loadparamrsp data...\n" COLOR_RESET); - printf(" 34: " COLOR_YELLOW "print scan ctrl state data...\n" COLOR_RESET); - printf(" 35: " COLOR_YELLOW "print scan ctrl Param data...\n" COLOR_RESET); - printf(" 36: " COLOR_YELLOW "print xy scan state data...\n" COLOR_RESET); - printf(" 37: " COLOR_YELLOW "print camera param data...\n" COLOR_RESET); + printf(" 27: " COLOR_YELLOW "print runcfg param data...\n" COLOR_RESET); + printf(" 28: " COLOR_YELLOW "print infraredtemp cfg param data...\n" COLOR_RESET); + printf(" 29: " COLOR_YELLOW "print moldcfg param data...\n" COLOR_RESET); + printf(" 30: " COLOR_YELLOW "print loadcfg param data...\n" COLOR_RESET); + printf(" 31: " COLOR_YELLOW "print armcfgparam data...\n" COLOR_RESET); + printf(" 32: " COLOR_YELLOW "print supplycfgparam data...\n" COLOR_RESET); + printf(" 33: " COLOR_YELLOW "print cleancfgparam data...\n" COLOR_RESET); + printf(" 34: " COLOR_YELLOW "print elecfgparam data...\n" COLOR_RESET); + printf(" 35: " COLOR_YELLOW "print loadparamrsp data...\n" COLOR_RESET); + printf(" 36: " COLOR_YELLOW "print scan ctrl state data...\n" COLOR_RESET); + printf(" 37: " COLOR_YELLOW "print scan ctrl Param data...\n" COLOR_RESET); + printf(" 38: " COLOR_YELLOW "print xy scan state data...\n" COLOR_RESET); + printf(" 39: " COLOR_YELLOW "print camera param data...\n" COLOR_RESET); } int DataHandle::Request(int index) { @@ -212,16 +214,16 @@ void DataHandle::AllTest() { void DataHandle::ParamRequest(int index) { - if (index == 1) { + if (index == VERSIONRSP) { SetPushMsg(VERSIONREQ); //获取版本信息 } - else if (index >= 26 && index <= 33) { + else if (index >= PARAMLIMITCFGPARAM && index <= ELECFGPARAM) { SetPushMsg(REQUEST); } - else if(index == 34){ - SetPushMsg(LOADPARAM,""); + else if(index == LOADPARAMRSP){ + SetPushMsg(LOADPARAM); } - else if (index == 36) { + else if (index == XYSCANSTATE) { SetPushMsg(REQUEST,to_string(index)); } m_printIndex = index; @@ -236,6 +238,10 @@ void DataHandle::ParamRequest(int index) { break; } } + + + SetPushMsg(WRITETYPE::RUNCFG, "FanFreqLowLimit", to_string(11), iFLOAT); //runcfg test + SetPushMsg(WRITETYPE::INFRAREDTEMPCFG, "ReflectTempAssist", to_string(11), iFLOAT); //runcfg test } @@ -349,4 +355,4 @@ void DataHandle::PurifierTest() { printf("STARTAUTODEOXYGEN is called...\n"); SetPushMsg(PURIFIERFUNC, to_string(STOPAUTODEOXYGEN)); printf("STOPAUTODEOXYGEN is called...\n"); -} \ No newline at end of file +} diff --git a/TestClient/DataManage/RWData.h b/TestClient/DataManage/RWData.h index b9ce20f..6398e0a 100644 --- a/TestClient/DataManage/RWData.h +++ b/TestClient/DataManage/RWData.h @@ -39,6 +39,8 @@ enum READTYPE { /********************配置信息******************/ PARAMLIMITCFGPARAM, //paramlimit配置参数 EXTCFGPARAM, + RUNCFGPARAM, //runcfg 参数 + INFRAREDTEMPCFGPARAM, //InfraredTempCfg 参数 MOLDCFGPARAM, LOADCFGPARAM, @@ -69,6 +71,7 @@ enum DATATYPE { iCHAR, iUCHAR, iWORD, + iDOUBLE, UNKNOW, }; @@ -109,12 +112,14 @@ enum WRITETYPE { /********************配置信息******************/ PARAMLIMITCFG, EXTCFG, + RUNCFG, + INFRAREDTEMPCFG, LOADPARAM, //装载参数 SCANCTRLFUNC, //振镜控制函数 - REQUEST, //获取配置信息 test用 + REQUEST = 100, //获取配置信息 test用 }; struct WriteData {