From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001 From: lss <316519258@qq.com> Date: 星期五, 12 六月 2020 09:22:04 +0800 Subject: [PATCH] 2020.06.12 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs | 75 ++++++++++++++++++------------------- 1 files changed, 37 insertions(+), 38 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs index a1c6fb9..d98fca7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlFirmwareUpdateLogic.cs @@ -18,38 +18,33 @@ public static void DoUpdateNextFirmware() { //涓嬩竴涓鎵ц鏇存柊鐨勭綉鍏� - HdlGatewayUpdateLogic gwControl = null; - foreach (var contr in FirmwareUpdateResourse.dicGatewayUpdateList.Values) + HdlDeviceUpdateCommonLogic gwControl = null; + //涓嬩竴涓鎵ц鏇存柊鐨勮澶� + HdlDeviceUpdateCommonLogic deviceControl = null; + foreach (var contr in FirmwareUpdateResourse.dicUpdateList.Values) { //濡傛灉鍒殑杩樺湪鍗囩骇涓�,鍒欎笉鍐嶅鐞� if (contr.IsFinishUpdate == false) { return; } - //濡傛灉杩欎釜缃戝叧鏄湪绛夊緟鍒楄〃鐨勮瘽 + //濡傛灉杩欎釜鍦ㄧ瓑寰呭垪琛ㄧ殑璇� if (contr.UpdateStatu == UpdateStatuMode.Wait && gwControl == null) { - //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡 - gwControl = contr; + if (contr.ClassDiv == 1 && gwControl == null) + { + //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡 + gwControl = contr; + } + else if (contr.ClassDiv == 2 && deviceControl == null) + { + //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡 + deviceControl = contr; + } } } - HdlDeviceUpdateLogic deviceControl = null; - foreach (var contr in FirmwareUpdateResourse.dicDeviceUpdateList.Values) - { - //濡傛灉鍒殑杩樺湪鍗囩骇涓�,鍒欎笉鍐嶅鐞� - if (contr.IsFinishUpdate == false) - { - return; - } - //濡傛灉杩欎釜璁惧鏄湪绛夊緟鍒楄〃鐨勮瘽 - if (contr.UpdateStatu == UpdateStatuMode.Wait && deviceControl == null) - { - //涓嬩竴涓崌绾х殑灏辨槸瀹冧簡 - deviceControl = contr; - } - } - HdlThreadLogic.Current.RunMain(() => + HdlThreadLogic.Current.RunThread(() => { if (gwControl != null) { @@ -156,6 +151,13 @@ foreach (var data in verResult.PageData) { + //鍥轰欢鐗堟湰鏄剧ず锛� + //10101 3涓猙yte 鏄剧ず涓猴細ver.1.01.01 + if (data.FirmwareVersion.Length != 6 && data.FirmwareVersion.Length != 5) + { + //闈炴瑙勭殑鍥轰欢鐗堟湰,涓嶅啀鑰冭檻鑼冨洿鍐� + continue; + } //纭欢鍒嗙被 FirmwareHardInfo hardInfo = null; string hardCode = data.HardwareVersion; @@ -189,6 +191,7 @@ info.Name = data.Name; info.HardwareVersion = hardCode; info.ImagType = imgType; + info.CreatedOnUtc = data.CreatedOnUtc; imgTypeInfo.listVeison.Add(info); //鍥轰欢鐨勪俊鎭鐞� DoAdjustFirmwareInformation(info, data.Remarks); @@ -218,6 +221,19 @@ FirmwareVersionInfo newFirInfo = null; foreach (var verInfo in listdata) { + if (verInfo.Name.EndsWith(".bin") == true) + { + //瀹冧笉鏄崌绾у浐浠�, .bin鏄壒娈婄殑 + continue; + } + int testVersion = Convert.ToInt32(verInfo.FirmwareVersion.ToString().PadLeft(6, '0').Substring(2, 2)); + if (testVersion % 2 != 0) + { + //涓棿閭d釜byte涓哄鏁版椂锛屼唬琛ㄦ槸娴嬭瘯鐗堟湰,鍦ㄦ樉绀烘渶鏂扮増鏈椂,涓嶉渶瑕佹樉绀猴紝浣嗘槸鍦ㄥ巻鍙茬増鏈偅閲屽彲浠ユ樉绀� + //涓棿閭d釜byte涓哄伓鏁版椂,浠h〃鏄寮忕増鏈� + continue; + } + if (verInfo.FirmwareVersion > nowVersion) { nowVersion = verInfo.FirmwareVersion; @@ -340,23 +356,6 @@ Info.UpdateContent.AddRange(Arry); } - /// <summary> - /// 灏嗗崄鍏繘鍒惰浆涓哄崄杩涘埗 - /// </summary> - /// <param name="text"></param> - /// <returns></returns> - private static int ConvertHexToInt(string text) - { - if (text.StartsWith("0x")) - { - text = text.Substring(2); - } - try - { - return Convert.ToInt32(text, 16); - } - catch { return -1; } - } #endregion } } -- Gitblit v1.8.0