From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs | 118 +++++++++++++++++++++++++++------------------------------- 1 files changed, 55 insertions(+), 63 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs index 676ac1c..1339b70 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using Shared; @@ -6,6 +7,8 @@ { public partial class RollingShutterPage { + bool inControl = false; + /// <summary> /// 鏇存柊绐楀笜 /// </summary> @@ -17,30 +20,28 @@ return; if (uCurtain.functionType == bodyView.curtain.functionType && uCurtain.sid == bodyView.curtain.sid) { - if (uCurtain.trait_on_off.value.ToString() == "stop") + if (uCurtain.trait_on_off.curValue.ToString() == "stop") + { + bodyView.btnCurtainOpen.IsSelected = false; + bodyView.btnCurtainClose.IsSelected = false; + bodyView.btnCurtainStop.IsSelected = true; + } + else if (uCurtain.trait_on_off.curValue.ToString() == "on") { bodyView.btnCurtainOpen.IsSelected = true; bodyView.btnCurtainClose.IsSelected = false; bodyView.btnCurtainStop.IsSelected = false; } - else if (uCurtain.trait_on_off.value.ToString() == "on") - { - bodyView.btnCurtainOpen.IsSelected = true; - bodyView.btnCurtainClose.IsSelected = false; - bodyView.btnCurtainStop.IsSelected = false; - } - else if (uCurtain.trait_on_off.value.ToString() == "off") + else if (uCurtain.trait_on_off.curValue.ToString() == "off") { bodyView.btnCurtainOpen.IsSelected = false; bodyView.btnCurtainClose.IsSelected = true; bodyView.btnCurtainStop.IsSelected = false; } - if ((DateTime.Now - uCurtain.refreshTime).TotalMilliseconds > 300) + if ((DateTime.Now - uCurtain.refreshTime).TotalMilliseconds > 300 && !bodyView.inControl) { bodyView.controlBar.Progress = bodyView.curtainSeekBar.Progress = Convert.ToInt32(uCurtain.percent); } - - } }); } @@ -58,6 +59,7 @@ { btnFunctionName.Text = btnFunctionName_Out.Text = curtain.name; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = curtain.GetRoomListName(); + curtain.SaveFunctionData(true); }; } /// <summary> @@ -67,8 +69,8 @@ { btnCollection.MouseUpEventHandler += (sender, e) => { - btnCollection.IsSelected = curtain.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; - curtain.SaveFunctionData(); + btnCollection.IsSelected = curtain.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + curtain.SaveFunctionData(true); }; } @@ -82,30 +84,30 @@ btnCurtainClose.IsSelected = true; btnCurtainStop.IsSelected = false; btnCurtainOpen.IsSelected = false; - curtain.trait_on_off.value = "off"; + curtain.trait_on_off.curValue = "off"; curtain.percent = 0; //Control.Send(CommandType_A.write, curtain); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.value.ToString()); - Control.SendWriteCommand(curtain, d); + d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); }; - btnCurtainStop.MouseDownEventHandler = (sender, e) => + //btnCurtainStop.MouseDownEventHandler = (sender, e) => + //{ + // btnCurtainStop.IsSelected = true; + // btnCurtainClose.IsSelected = false; + // btnCurtainOpen.IsSelected = false; + //}; + btnCurtainStop.MouseUpEventHandler = (sender, e) => { btnCurtainStop.IsSelected = true; btnCurtainClose.IsSelected = false; btnCurtainOpen.IsSelected = false; - }; - btnCurtainStop.MouseUpEventHandler = (sender, e) => - { - btnCurtainOpen.IsSelected = true; - btnCurtainClose.IsSelected = false; - btnCurtainStop.IsSelected = false; - curtain.trait_on_off.value = "stop"; + curtain.trait_on_off.curValue = "stop"; //Control.Send(CommandType_A.write, curtain); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.value.ToString()); - Control.SendWriteCommand(curtain, d); + d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); }; btnCurtainOpen.MouseUpEventHandler = (sender, e) => @@ -113,75 +115,65 @@ btnCurtainOpen.IsSelected = true; btnCurtainClose.IsSelected = false; btnCurtainStop.IsSelected = false; - curtain.trait_on_off.value = "on"; + curtain.trait_on_off.curValue = "on"; curtain.percent = 100; //Control.Send(CommandType_A.write, curtain); System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.value.ToString()); - Control.SendWriteCommand(curtain, d); + d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + Control.Ins.SendWriteCommand(curtain, d); }; - DateTime delayTime = DateTime.MinValue; btnMinusSignIcon.MouseUpEventHandler = (sender, e) => { - delayTime = DateTime.MinValue; - //Control.Send(CommandType_A.write, curtain); curtain.percent--; System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add("percent", curtain.percent.ToString()); - Control.SendWriteCommand(curtain, d); + Control.Ins.SendWriteCommand(curtain, d); }; btnPlusSgnIcon.MouseUpEventHandler = (sender, e) => { - delayTime = DateTime.MinValue; - //Control.Send(CommandType_A.write, curtain); curtain.percent++; System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add("percent", curtain.percent.ToString()); - Control.SendWriteCommand(curtain, d); + Control.Ins.SendWriteCommand(curtain, d); }; - - curtainSeekBar.OnProgressChangedEvent = (sender, e) => + curtainSeekBar.OnStartTrackingTouchEvent = (sender, e) => { - controlBar.Progress = curtainSeekBar.Progress; + inControl = true; + }; + curtainSeekBar.OnStopTrackingTouchEvent = (sender, e) => + { + inControl = false; new System.Threading.Thread(() => { - if ((DateTime.Now - delayTime).TotalMilliseconds > 300) - { - delayTime = DateTime.Now; - curtain.percent = e; - //Control.Send(CommandType_A.write, curtain); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("percent", curtain.percent.ToString()); - Control.SendWriteCommand(curtain, d); - curtain.refreshTime = DateTime.Now; - } + curtain.percent = e; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + curtain.refreshTime = DateTime.Now; }) { IsBackground = true }.Start(); }; - controlBar.OnProgressChangedEvent = (sender, e) => + controlBar.OnStartTrackingTouchEvent = (sender, e) => { - curtainSeekBar.Progress = controlBar.Progress; + inControl = true; + }; + controlBar.OnStopTrackingTouchEvent = (sender, e) => + { + inControl = false; new System.Threading.Thread(() => { - MainPage.Log(delayTime.ToLongTimeString()); - if ((DateTime.Now - delayTime).TotalMilliseconds > 300) - { - delayTime = DateTime.Now; - curtain.percent = e; - //Control.Send(CommandType_A.write, curtain); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("percent", curtain.percent.ToString()); - Control.SendWriteCommand(curtain, d); - curtain.refreshTime = DateTime.Now; - } + curtain.percent = e; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("percent", curtain.percent.ToString()); + Control.Ins.SendWriteCommand(curtain, d); + curtain.refreshTime = DateTime.Now; }) { IsBackground = true }.Start(); }; - } } } -- Gitblit v1.8.0