From 627093aca723d4bfb971b97c828e8b3a22dbda78 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 17 七月 2020 17:26:19 +0800
Subject: [PATCH] 2020-07-17-1
---
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