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/Light/RGBPageBLL.cs | 74 +++++++++++++++++++++++++-----------
1 files changed, 51 insertions(+), 23 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
index 708ca09..586b001 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs
@@ -1,4 +1,5 @@
锘縰sing System;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using Shared;
namespace HDL_ON.UI
@@ -18,12 +19,12 @@
return;
if (uFunction.functionType == bodyView.light.functionType && uFunction.sid == bodyView.light.sid)
{
- if (bodyView.onDimmerBar)
+ if (!bodyView.onDimmerBar)
{
bodyView.dimmerBar.Progress = uFunction.brightness;
- bodyView.dimmerBar.ProgressBarColor = uFunction.on_off == 1 ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2;
}
- bodyView.btnSwitch.IsSelected = uFunction.on_off == 1;
+ bodyView.dimmerBar.ProgressBarColor = uFunction.trait_on_off.curValue.ToString() == "on" ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2;
+ bodyView.btnSwitch.IsSelected = uFunction.trait_on_off.curValue.ToString() == "on";
bodyView.btnCurColor.BackgroundColor = (uint)(0xFF000000 + bodyView.light.redColor * 256 * 256 + bodyView.light.greenColor * 256 + bodyView.light.blueColor);
}
}
@@ -42,10 +43,12 @@
LoadSwitchEvent();
LoadEvent_BackCenterColor();
LoadEvent_DimmerBar();
+ LoadEvet_ChangeFadeTime();
//鍥為��鍒锋柊淇℃伅浜嬩欢
actionRefresh = () => {
btnFunctionName.Text = btnFunctionName_Out.Text = light.name;
btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = light.GetRoomListName();
+ //light.SaveFunctionData(true);
};
}
@@ -63,11 +66,10 @@
light.blueColor = e2[2];
colorChangeTime = DateTime.Now;
btnCurColor.BackgroundColor = (uint)(0xFF000000 + light.redColor * 256 * 256 + light.greenColor * 256 + light.blueColor);
- Control.Send("write", this.light);
- }
- else
- {
- MainPage.Log("Skip control rgb!");
+ //Control.Send(CommandType_A.write, this.light);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("color", (light.redColor * 256 * 256 + light.greenColor * 256 + light.blueColor).ToString());
+ Control.Ins.SendWriteCommand(light, d);
}
};
colorPicker.MouseUpEventHandler = (sender, e) =>
@@ -84,8 +86,8 @@
void LoadCollectionEvent()
{
btnCollection.MouseUpEventHandler += (sender, e) => {
- btnCollection.IsSelected = light.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
- DB_ResidenceData.residenceData.SaveResidenceData();
+ btnCollection.IsSelected = light.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected;
+ light.SaveFunctionData(true);
};
}
@@ -94,34 +96,46 @@
/// </summary>
void LoadEvent_DimmerBar()
{
- DateTime dimmerTime = DateTime.MinValue;
- dimmerBar.MouseDownEventHandler = (sender, e)=>{
+ dimmerBar.OnStartTrackingTouchEvent = (sender, e)=>{
onDimmerBar = true;
};
- dimmerBar.MouseUpEventHandler = (sender, e) => {
+ dimmerBar.OnStopTrackingTouchEvent = (sender, e) => {
onDimmerBar = false;
+ light.brightness = dimmerBar.Progress;
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("brightness", light.brightness.ToString());
+ Control.Ins.SendWriteCommand(light, d);
+ light.fadeTime = barFadeTime.Progress;
+ //Control.Send(CommandType_A.write, light);
};
dimmerBar.OnProgressChangedEvent = (sender, e) => {
+ light.fadeTime = 0;
if (!btnSwitch.IsSelected)
{
dimmerBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
}
btnSwitch.IsSelected = e > 0 ? true : false;
light.brightness = e;
- light.on_off = e > 0 ? 1 : 0;
+ light.trait_on_off.curValue = e > 0 ? "on" : "off";
if (e == 0 || e == 100)
{
- Control.Send("write", this.light);
+ //Control.Send(CommandType_A.write, this.light);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("brightness", light.brightness.ToString());
+ Control.Ins.SendWriteCommand(light, d);
}
else
{
- if (dimmerTime.AddMilliseconds(500) < DateTime.Now)
+ if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds)
{
- dimmerTime = DateTime.Now;
+ light.refreshTime = DateTime.Now;
new System.Threading.Thread(() =>
{
- Control.Send("write", light);
+ //Control.Send(CommandType_A.write, light);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("brightness", light.brightness.ToString());
+ Control.Ins.SendWriteCommand(light, d);
})
{ IsBackground = true }.Start();
}
@@ -134,6 +148,17 @@
}
/// <summary>
+ /// 淇敼鐏厜娓愬彉鏃堕棿
+ /// </summary>
+ void LoadEvet_ChangeFadeTime()
+ {
+ barFadeTime.OnProgressChangedEvent = (sender, e) =>
+ {
+ light.fadeTime = e;
+ light.SaveFunctionData(true);
+ };
+ }
+ /// <summary>
/// 鍔犺浇寮�鍏充簨浠�
/// </summary>
void LoadSwitchEvent()
@@ -144,9 +169,10 @@
dimmerBar.ProgressBarColor = btnSwitch.IsSelected ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2;
new System.Threading.Thread(() =>
{
- var light = this.light as Light;
- light.on_off = btnSwitch.IsSelected ? 1 : 0;
- Control.Send("write", this.light);
+ light.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("on_off", light.trait_on_off.curValue.ToString());
+ Control.Ins.SendWriteCommand(light, d);
})
{ IsBackground = true }.Start();
};
@@ -158,9 +184,11 @@
{
btnRestoredPoint.MouseUpEventHandler = (sender, e) =>
{
- light.color = "255255255";
+ light.color = 0xFFFFFF;
btnCurColor.BackgroundColor = 0xFFFFFFFF;
- Control.Send("write", this.light);
+ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
+ d.Add("color", "FFFFFF");
+ Control.Ins.SendWriteCommand(light, d);
};
}
--
Gitblit v1.8.0