From 3069c032027eeea7a14fa9f462440bb2d802d9a9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期一, 11 一月 2021 14:25:09 +0800
Subject: [PATCH] 20210111-合并代码
---
HDL_ON/DAL/DriverLayer/Packet.cs | 104 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 75 insertions(+), 29 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs
index 6164b0e..1723234 100644
--- a/HDL_ON/DAL/DriverLayer/Packet.cs
+++ b/HDL_ON/DAL/DriverLayer/Packet.cs
@@ -91,6 +91,14 @@
}
//澶勭悊鎺ユ敹鍒扮殑鏁版嵁
UdpPacket_DataProcessing(subnetID, deviceID, command, usefulBytes);
+#if DEBUG
+ string ddd = "";
+ foreach(var bb in usefulBytes)
+ {
+ ddd += bb + ",";
+ }
+ MainPage.Log(ddd);
+#endif
//澶勭悊鏄惁瑕侀噸鍙戞暟鎹�
ManagerReceive(subnetID, deviceID, command, usefulBytes);
}
@@ -122,18 +130,18 @@
{
if (updataObj.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0])
{
- if (updataObj.functionType != FunctionType.RGB)
+ if (updataObj.spk != SPK.LightRGB)
{
updataObj.trait_on_off.curValue = receiveBytes[2] > 0 ? "on" : "off";
if (updataObj.trait_on_off.curValue.ToString() == "on")
{
- switch (updataObj.functionType)
+ switch (updataObj.spk)
{
- case FunctionType.Fan:
+ case SPK.ElectricFan:
(updataObj as Fan).openLevel = receiveBytes[2];
updataObj.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2];
break;
- case FunctionType.Dimmer:
+ case SPK.LightDimming:
(updataObj as Light).brightness = receiveBytes[2];
updataObj.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%";
break;
@@ -143,15 +151,15 @@
RoomPage.UpdataStates(updataObj);
FunctionPage.UpdataStates(updataObj);
ClassificationPage.UpdataInfo(updataObj);
- switch (updataObj.functionType)
+ switch (updataObj.spk)
{
- case FunctionType.Relay:
+ case SPK.LightSwitch:
RelayPage.UpdataState(updataObj as Light);
break;
- case FunctionType.Dimmer:
+ case SPK.LightDimming:
DimmerPage.UpdataStates(updataObj as Light);
break;
- case FunctionType.Fan:
+ case SPK.ElectricFan:
FanPage.UpdataState(updataObj as Fan);
break;
}
@@ -166,7 +174,7 @@
var light = FunctionList.List.lights.Find((obj) => obj.bus.SubnetID == subnetID && obj.bus.DeviceID == deviceID && obj.bus.LoopId == (i + 1));
if (light != null)
{
- if (light.functionType != FunctionType.RGB)
+ if (light.spk != SPK.LightRGB)
{
light.trait_on_off.curValue = receiveBytes[light.bus.LoopId] == 0 ? "off" : "on";
if (light.trait_on_off.curValue.ToString() == "on")
@@ -178,12 +186,12 @@
RoomPage.UpdataStates(light);
FunctionPage.UpdataStates(light);
ClassificationPage.UpdataInfo(light);
- switch (light.functionType)
+ switch (light.spk)
{
- case FunctionType.Relay:
+ case SPK.LightSwitch:
RelayPage.UpdataState(light);
break;
- case FunctionType.Dimmer:
+ case SPK.LightDimming:
DimmerPage.UpdataStates(light);
break;
}
@@ -205,12 +213,12 @@
RoomPage.UpdataStates(fan);
FunctionPage.UpdataStates(fan);
ClassificationPage.UpdataInfo(fan);
- switch (fan.functionType)
+ switch (fan.spk)
{
- case FunctionType.Fan:
+ case SPK.ElectricFan:
FanPage.UpdataState(fan);
break;
- case FunctionType.Socket:
+ case SPK.ElectricSocket:
break;
}
@@ -224,7 +232,7 @@
{
if (rgb.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0])
{
- if (rgb.functionType == FunctionType.RGB)
+ if (rgb.spk == SPK.LightRGB)
{
rgb.trait_on_off.curValue = receiveBytes[1] > 0 ? "on" : "off";
if (receiveBytes[1] > 0)
@@ -285,15 +293,15 @@
FunctionPage.UpdataStates(curtain);
HomePage.UpdataFunctionStates(curtain);
ClassificationPage.UpdataInfo(curtain);
- switch (curtain.functionType)
+ switch (curtain.spk)
{
- case FunctionType.Curtain:
+ case SPK.CurtainSwitch:
CurtainModulePage.UpdataState(curtain);
break;
- case FunctionType.MotorCurtain:
+ case SPK.CurtainTrietex:
MotorCurtainPage.UpdataState(curtain);
break;
- case FunctionType.RollingShutter:
+ case SPK.CurtainRoller:
RollingShutterPage.UpdataState(curtain);
break;
}
@@ -439,31 +447,50 @@
}
break;
case Command.ReadDeviceLoopInfoACK:
- FunctionType dt = (FunctionType)(11 * 256 + receiveBytes[1]);
+ //FunctionType dt = (FunctionType)(11 * 256 + receiveBytes[1]);
string tag = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2];
foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience)
{
+ byte sensorType = 0;
+ switch (sensor.spk)
+ {
+ case SPK.SensorTemperature:
+ sensorType = 2;
+ break;
+ case SPK.SensorHumidity:
+ sensorType = 3;
+ break;
+ case SPK.SensorTVOC:
+ sensorType = 5;
+ break;
+ case SPK.SensorPm25:
+ sensorType = 6;
+ break;
+ case SPK.SensorCO2:
+ sensorType = 7;
+ break;
+ }
if (sensor.bus != null)
{
- if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus.SubnetID == subnetID &&
+ if (sensorType == receiveBytes[1] && sensor.bus.SubnetID == subnetID &&
sensor.bus.DeviceID == deviceID && sensor.bus.LoopId == receiveBytes[2])
{
- switch (dt)
+ switch (sensor.spk)
{
- case FunctionType.Temp:
+ case SPK.SensorTemperature:
byte[] tempBytes = new byte[] { receiveBytes[24], receiveBytes[25], receiveBytes[26], receiveBytes[27] };
sensor.values = Math.Round(BitConverter.ToSingle(tempBytes, 0), 1);
break;
- case FunctionType.Humidity:
+ case SPK.SensorHumidity:
sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10;
break;
- case FunctionType.TVOC:
+ case SPK.SensorTVOC:
sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100;
break;
- case FunctionType.PM25:
+ case SPK.SensorPm25:
sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]);
break;
- case FunctionType.CO2:
+ case SPK.SensorCO2:
sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]);
break;
}
@@ -476,9 +503,28 @@
string tag1 = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2];
foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience)
{
+ byte sensorType = 0;
+ switch (sensor.spk)
+ {
+ case SPK.SensorTemperature:
+ sensorType = 2;
+ break;
+ case SPK.SensorHumidity:
+ sensorType = 3;
+ break;
+ case SPK.SensorTVOC:
+ sensorType = 5;
+ break;
+ case SPK.SensorPm25:
+ sensorType = 6;
+ break;
+ case SPK.SensorCO2:
+ sensorType = 7;
+ break;
+ }
if (sensor.bus != null)
{
- if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus.SubnetID == subnetID &&
+ if (sensorType == receiveBytes[1] && sensor.bus.SubnetID == subnetID &&
sensor.bus.DeviceID == deviceID && sensor.bus.LoopId == receiveBytes[2])
{
//0淇濈暀 1鏃犵鍙�4Byte鏁村舰 2鏈夌鍙�4Byte鏁村舰 3Float褰紙浠B憋級
--
Gitblit v1.8.0