From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:25:59 +0800
Subject: [PATCH] 2024年07月25日17:24:45

---
 HDL_ON/DAL/DriverLayer/Packet.cs |   90 ++++++++++++++++++++++++++++++---------------
 1 files changed, 60 insertions(+), 30 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs
index 19e93d7..dc75315 100644
--- a/HDL_ON/DAL/DriverLayer/Packet.cs
+++ b/HDL_ON/DAL/DriverLayer/Packet.cs
@@ -14,8 +14,9 @@
     {
         /// <summary>
         /// 缂撳啿鍖哄ぇ灏�
+        /// Link鍗忚鐜板湪涓�涓寘鐨勬暟鎹瘮杈冨ぇ锛岀紦鍐插尯澶皬瀛樹笉瀹屽叏閮ㄦ暟鎹� 2023-07-14 16:03:56  wxr
         /// </summary>
-        public const int Size = 1024 + 200;
+        public const int Size = 1024 * 10;
 
         /// <summary>
         /// 鎺ユ敹鍒扮殑鏁版嵁
@@ -53,8 +54,11 @@
         /// </summary>
         public virtual void Manager()
         {
+#if DEBUG
+#else
             try
-            { 
+            {
+#endif
                 //瀵逛簬鎿嶄綔鏁版嵁搴撶殑鏃堕棿姣旇緝闀跨殑锛屽彲浠ュ垱寤哄彟涓�涓嚎绋嬪鐞�
                 if (!"HDLMIRACLE".Equals(Encoding.ASCII.GetString(Bytes, 4, 10)))
                 {
@@ -102,11 +106,15 @@
 #endif
                 //澶勭悊鏄惁瑕侀噸鍙戞暟鎹�
                 ManagerReceive(subnetID, deviceID, command, usefulBytes);
+
+#if DEBUG
+#else
             }
             catch (Exception ex)
             {
                 MainPage.Log($"packet {ex.Message} ");
             }
+#endif
         }
 
         /// <summary>
@@ -118,8 +126,11 @@
         /// <param name="receiveBytes"></param>
         void UdpPacket_DataProcessing(byte subnetID, byte deviceID, Command command, byte[] receiveBytes)
         {
+#if DEBUG
+#else
             try
             {
+#endif
                 switch (command)
                 {
                     case Command.SetSingleLightACK:
@@ -181,7 +192,7 @@
                                     light.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[light.bus.LoopId] == 0 ? "off" : "on");
                                     if (light.trait_on_off.curValue.ToString() == "on")
                                     {
-                                        light.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[i+1].ToString());
+                                        light.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[i + 1].ToString());
                                         light.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%";
                                     }
                                     HomePage.UpdataFunctionStates(light);
@@ -250,7 +261,8 @@
                                     FunctionPage.UpdataStates(lightTeme);
                                     ClassificationPage.UpdataInfo(lightTeme);
                                     RGBPage.UpdataStates(lightTeme);
-                                }else if(lightTeme.spk == SPK.LightCCT)
+                                }
+                                else if (lightTeme.spk == SPK.LightCCT)
                                 {
                                     lightTeme.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] > 0 ? "on" : "off");
                                     if (receiveBytes[1] > 0)
@@ -323,22 +335,32 @@
                                     case SPK.CurtainRoller:
                                         RollingShutterPage.UpdataState(curtain);
                                         break;
+                                    case SPK.CurtainShades:
+                                        VenetianBlindsPage.UpdataState(curtain);
+                                        break;
                                 }
                             }
                         }
                         break;
                     case Command.SetACModeACK:
                     case Command.ReadACModeACK:
-                        foreach (var function in FunctionList.List.GetAcList())
+                        foreach (var function in FunctionList.List.Functions)
                         {
-                            var acFunction = new AC();
-                            if (function.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0])
+                            if (function.bus == null || function.spk != SPK.AcStandard)
                             {
+                                continue;
+                            }
+                            var acFunction = new AC();
+                            if (function.bus.SubnetID == subnetID &&
+                                function.bus.DeviceID == deviceID &&
+                                function.bus.LoopId == receiveBytes[0])
+                            {
+                                Console.WriteLine(function.GetBusId());
                                 function.SetAttrState(FunctionAttributeKey.TempType, receiveBytes[1].ToString());
                                 function.SetAttrState(FunctionAttributeKey.RoomTemp, receiveBytes[2].ToString());
-                                function.SetAttrState(FunctionAttributeKey.OnOff,  receiveBytes[8] == 1 ? "on" : "off");
-                                acFunction.SetMode(receiveBytes[9],function);
-                                acFunction.SetFan(receiveBytes[10],function);
+                                function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[8] == 1 ? "on" : "off");
+                                acFunction.SetMode(receiveBytes[9], function);
+                                acFunction.SetFan(receiveBytes[10], function);
                                 function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[11].ToString());
                                 function.lastState = "";
                                 switch (function.GetAttrState(FunctionAttributeKey.Mode))
@@ -379,7 +401,7 @@
                                 FunctionPage.UpdataStates(function);
                                 HomePage.UpdataFunctionStates(function);
                                 ClassificationPage.UpdataInfo(function);
-                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(function.sid, function.status);
+                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(function);
 
                             }
                         }
@@ -392,7 +414,7 @@
                             {
                                 function.SetAttrState(FunctionAttributeKey.TempType, receiveBytes[2]);
                                 function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] % 2 == 0 ? "off" : "on");
-                                new FloorHeating().SetModeIndex(receiveBytes[3],function);
+                                new FloorHeating().SetModeIndex(receiveBytes[3], function);
 
                                 if (function.Fh_Mode_Temp.ContainsKey("normal"))
                                 {
@@ -469,7 +491,8 @@
                                 if (receiveBytes[9] > 128)
                                 {
                                     indoorTemp = 1 - (receiveBytes[9] - 128);
-                                }else
+                                }
+                                else
                                 {
                                     indoorTemp = receiveBytes[9];
                                 }
@@ -523,8 +546,8 @@
                                     {
                                         case SPK.SensorTemperature:
                                             byte[] tempBytes = new byte[] { receiveBytes[24], receiveBytes[25], receiveBytes[26], receiveBytes[27] };
-                                            sensor.SetAttrState(FunctionAttributeKey.Value,Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString());
-                                            sensor.SetAttrState(sensor.spk,Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString());
+                                            sensor.SetAttrState(FunctionAttributeKey.Value, Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString());
+                                            sensor.SetAttrState(sensor.spk, Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString());
                                             break;
                                         case SPK.SensorHumidity:
                                             sensor.SetAttrState(FunctionAttributeKey.Value, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10).ToString());
@@ -535,8 +558,8 @@
                                             sensor.SetAttrState(sensor.spk, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100).ToString());
                                             break;
                                         case SPK.SensorPm25:
-                                            sensor.SetAttrState(FunctionAttributeKey.Value,Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
-                                            sensor.SetAttrState(sensor.spk,Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
+                                            sensor.SetAttrState(FunctionAttributeKey.Value, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
+                                            sensor.SetAttrState(sensor.spk, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
                                             break;
                                         case SPK.SensorCO2:
                                             sensor.SetAttrState(FunctionAttributeKey.Value, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
@@ -544,7 +567,7 @@
                                             break;
                                     }
                                     EnvironmentalPage.LoadEvent_UpdataStatus(sensor);
-                                //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor);
+                                    //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor);
                                 }
                             }
                         }
@@ -581,17 +604,17 @@
                                     switch (receiveBytes[3])
                                     {
                                         case 1:
-                                            sensor.SetAttrState(FunctionAttributeKey.Value,( (receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString());
-                                            sensor.SetAttrState(sensor.spk,( (receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString());
+                                            sensor.SetAttrState(FunctionAttributeKey.Value, ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString());
+                                            sensor.SetAttrState(sensor.spk, ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString());
                                             break;
                                         case 2:
-                                            sensor.SetAttrState(FunctionAttributeKey.Value,( -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString());
-                                            sensor.SetAttrState(sensor.spk,( -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString());
+                                            sensor.SetAttrState(FunctionAttributeKey.Value, (-1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString());
+                                            sensor.SetAttrState(sensor.spk, (-1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString());
                                             break;
                                         case 3:
                                             byte[] tempBytes = new byte[] { receiveBytes[5], receiveBytes[6], receiveBytes[7], receiveBytes[8] };
-                                            sensor.SetAttrState(FunctionAttributeKey.Value,( Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString());
-                                            sensor.SetAttrState(sensor.spk,( Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString());
+                                            sensor.SetAttrState(FunctionAttributeKey.Value, (Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString());
+                                            sensor.SetAttrState(sensor.spk, (Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString());
                                             break;
                                     }
                                     switch (receiveBytes[4])
@@ -605,8 +628,8 @@
                                             }
                                             break;
                                     }
-                                    
-                                //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor);
+
+                                    //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor);
                                     EnvironmentalPage.LoadEvent_UpdataStatus(sensor);
                                 }
                             }
@@ -644,15 +667,17 @@
                                         function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[1].ToString());
                                         break;
                                     case 5:
-                                        acFunction.SetFan ( receiveBytes[1],function);
+                                        acFunction.SetFan(receiveBytes[1], function);
                                         break;
                                     case 6:
-                                        acFunction.SetMode ( receiveBytes[1],function);
+                                        acFunction.SetMode(receiveBytes[1], function);
                                         break;
 
                                 }
                                 function.lastState = "";
-                                function.lastState += " " + function.GetAttrState(FunctionAttributeKey.SetTemp) + acFunction.GetTempUnitString(function);
+                                function.lastState += acFunction.GetModeAttrText(function.GetAttrState(FunctionAttributeKey.Mode)) +
+                                    acFunction.GetModeAttrText(function.GetAttrState(FunctionAttributeKey.FanSpeed)) +
+                                    " " + function.GetAttrState(FunctionAttributeKey.SetTemp) + acFunction.GetTempUnitString(function);
                                 RoomPage.UpdataStates(function);
                                 FunctionPage.UpdataStates(function);
                                 HomePage.UpdataFunctionStates(function);
@@ -726,11 +751,16 @@
                         }
                         break;
                 }
+
+#if DEBUG
+#else
             }
             catch (Exception ex)
             {
                 MainPage.Log($"Bus Rev Erorr : {ex.Message}");
             }
+#endif
+
         }
         /// <summary>
         /// byte杞�16杩涘埗瀛楃涓�
@@ -799,7 +829,7 @@
                     default:
                         break;
                 }
-                Control_Udp.ReceiveRepeatManager(receiveFlag,usefulBytes);
+                Control_Udp.ReceiveRepeatManager(receiveFlag, usefulBytes);
             }
             catch (Exception ex)
             {

--
Gitblit v1.8.0