Procházet zdrojové kódy

1、添加配置:是否启用自动重连UB530、重连周期;
2、定时重连UB530。

scbc.sat2 před 5 roky
rodič
revize
3712162f1b

+ 6 - 0
SATHelper/SATHelper/Global.cpp

@@ -432,6 +432,12 @@ namespace Global
 		GetPrivateProfileString(_T("SATService"), _T("ServicePort"), NULL, szValue, MAX_PATH, szConfigpath);
 		g_Config.strServicePort = szValue;
 		memset(szValue, 0, MAX_PATH);
+
+		// 是否开启SATHelper自动重连功能;
+		g_Config.bAutoReconnect = GetPrivateProfileInt(_T("UB530"), _T("AutoReconnect"),  0, szConfigpath);
+
+		// 重连周期:分钟为单位;
+		g_Config.nReconnectCycle = GetPrivateProfileInt(_T("UB530"), _T("ReconnectCycle"), 60, szConfigpath);
 	}
 
 	BOOL GetOrientation(IN Image* pImg)

+ 4 - 0
SATHelper/SATHelper/Global.h

@@ -70,6 +70,10 @@ namespace Global
 		std::string strActuator;
 		std::string strServiceIP;
 		std::string strServicePort;		
+
+		// UB530
+		bool bAutoReconnect;			// 是否启用自动重连;
+		int  nReconnectCycle;			// 重连周期;
 	}STConfig, * pSTConfig;
 
 	//////////////////////////////////////////////////////////////////////////

+ 8 - 3
SATHelper/SATHelper/SATHelper.ini

@@ -2,11 +2,11 @@
 ;4.0路径
 redratpath=C:\Python27\Tools\RedRatHub-V4.28\RedRatHubCmd.exe
 ;是否使用通用遥控信号
-generics=1
+generics=0
 ;信号集路径
 signal=D:\SAT\resource\RCU
 ;使用的信号集;
-use-signal=RC311
+use-signal=G_AP_6122A_0722_BT
 
 [SATService]
 ;用户名
@@ -20,4 +20,9 @@ Actuator=SAT-Admin
 ;如果是本机,ip可不填;
 ServiceIP=
 ;端口号;
-ServicePort=5599
+ServicePort=5699
+
+
+[UB530]
+AutoReconnect=1
+ReconnectCycle=1

+ 2 - 2
SATHelper/SATHelper/SATHelper.rc

@@ -510,7 +510,7 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,0,0,1
+ FILEVERSION 2,4,39,2
  PRODUCTVERSION 2,0,0,1
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
@@ -528,7 +528,7 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "自动化测试小组"
             VALUE "FileDescription", "SATHelper"
-            VALUE "FileVersion", "2.0.0.1"
+            VALUE "FileVersion", "2.4.39.2"
             VALUE "InternalName", "SATHelper.exe"
             VALUE "LegalCopyright", "自动化测试小组。  保留所有权利。"
             VALUE "OriginalFilename", "SATHelper.exe"

+ 20 - 0
SATHelper/SATHelper/UB530View.cpp

@@ -294,6 +294,7 @@ void CUB530View::OnInitialUpdate()
 // 	// 创建截图线程;
 // 	std::thread t(CaptureImageThread, this);
 // 	t.detach();
+	SetTimer(1, 5000, NULL);
 }
 
 
@@ -921,6 +922,25 @@ void CUB530View::OnTimer(UINT_PTR nIDEvent)
 
 		}
 	}
+	else if (nIDEvent == 1)
+	{
+		// 自动重连处理;
+		// 1、等待线程完成截图? 如果已经处于卡死状态下,不好!
+		if ( Global::g_Config.bAutoReconnect )
+		{
+			static CTime lastTime = CTime::GetCurrentTime();
+			CTime curTime = CTime::GetCurrentTime();
+			if ((curTime - lastTime).GetMinutes() >= Global::g_Config.nReconnectCycle)
+			{
+				HwUninitialize();
+				HwInitialize();
+
+				// 重置时间;
+				lastTime = CTime::GetCurrentTime();
+			}
+		}
+
+	}
 
 	CView::OnTimer(nIDEvent);
 }