From 304dca51c28183a9dfc192c6b93ea1c00bdd5d97 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 01 七月 2020 15:00:40 +0800
Subject: [PATCH] 添加了写入功能类型
---
ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs | 67 ++++++++++++++++++++-------------
1 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs
index a54bbe8..bb2cbff 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WirelessUdpSearchForm.cs
@@ -26,9 +26,9 @@
/// </summary>
private bool newGatewayGetting = false;
/// <summary>
- /// 缃戝叧妫�娴嬩腑
+ /// 缃戝叧鎼滅储涓�
/// </summary>
- private string isGatewayChecking = "0";
+ private bool isGatewaySearching = true;
#endregion
@@ -70,6 +70,8 @@
//鍒濆鍖栬繛鎺ョ殑鍋囨兂鍔ㄧ敾鏁堟灉
this.InitConcetionAnimete();
+ //寮�鍚綉鍏虫娴嬬殑绾跨▼
+ this.StartCheckGatewayThread();
}
/// <summary>
@@ -236,10 +238,6 @@
string strMsg = btnMsg.Text;
HdlThreadLogic.Current.RunThread(() =>
{
- //娓呯┖鍏ㄩ儴鍒楄〃
- HdlGatewayLogic.Current.ClearAllRealGateway();
- ZigBee.Common.Application.IsSearchingGateway = true;
-
int index = 1;
//璁℃椂鏃堕棿
int timeCount = 0;
@@ -253,25 +251,6 @@
//5绉掑悗娓呯┖缃戝叧鍒楄〃
HdlGatewayLogic.Current.ClearAllRealGateway();
ZigBee.Common.Application.IsSearchingGateway = true;
- }
- if (timeCount % 4 == 0 && timeCount >= 10)
- {
- lock (isGatewayChecking)
- {
- if (isGatewayChecking != "1")
- {
- isGatewayChecking = "1";
- HdlThreadLogic.Current.RunThread(async () =>
- {
- //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏�
- await this.CheckZbGatewayAndSetRow();
- lock (isGatewayChecking)
- {
- isGatewayChecking = "0";
- }
- });
- }
- }
}
if (timeCount % 2 == 0)
{
@@ -297,6 +276,9 @@
System.Threading.Thread.Sleep(500);
}
+ //鎼滅储缁撴潫
+ this.isGatewaySearching = false;
+
if (timeOut <= 0)
{
HdlThreadLogic.Current.RunMain(() =>
@@ -324,11 +306,42 @@
#region 鈻� 缃戝叧妫�娴媉__________________________
/// <summary>
+ /// 寮�鍚綉鍏虫娴嬬殑绾跨▼
+ /// </summary>
+ private void StartCheckGatewayThread()
+ {
+ this.isGatewaySearching = true;
+ HdlThreadLogic.Current.RunThread(async () =>
+ {
+ int count = 0;
+ while (this.Parent != null && this.isGatewaySearching == true)
+ {
+ //姣�2绉掓娴嬫悳绱㈠埌鐨勭綉鍏�
+ System.Threading.Thread.Sleep(500);
+ count++;
+ if (count < 4)
+ {
+ //涓昏涓轰簡蹇竴鐐硅兘澶熶腑鏂繖涓嚎绋�
+ continue;
+ }
+ count = 0;
+
+ await this.CheckZbGatewayAndSetRow();
+
+ if (this.newGatewayGetting == true)
+ {
+ //鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋�
+ break;
+ }
+ }
+ });
+ }
+
+ /// <summary>
/// 妫�娴嬫悳绱㈠埌鐨勭綉鍏�
/// </summary>
private async Task<bool> CheckZbGatewayAndSetRow()
{
- var listCheck = new HashSet<string>();
for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
{
var way = ZbGateway.GateWayList[i];
@@ -386,7 +399,7 @@
this.newGatewayGetting = true;
}
- if (mode == GatewayBindMode.First)
+ if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
{
//鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛�
Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);
--
Gitblit v1.8.0