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