old mode 100755
new mode 100644
File was renamed from ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceUpdateLogic.cs |
| | |
| | | using System.Text;
|
| | | using ZigBee.Device;
|
| | |
|
| | | namespace Shared.Phone.UserCenter
|
| | | namespace Shared.Phone |
| | | {
|
| | | /// <summary>
|
| | | /// HDL设备升级的逻辑
|
| | | /// </summary>
|
| | | public class HdlDeviceUpdateLogic : HdlDeviceUpdateCommonLogic
|
| | | public class HdlDeviceUpdateLogic : DeviceUpdateCommon |
| | | {
|
| | | #region ■ 变量声明___________________________
|
| | |
|
| | |
| | | if (this.UpdateStatu == UpdateStatuMode.Wait)
|
| | | {
|
| | | //如果是等待模式,再次点击时,移除列表
|
| | | if (FirmwareUpdateResourse.dicUpdateList.ContainsKey(otaDevice.DeviceAddr) == true)
|
| | | if (HdlFirmwareUpdateResourse.dicUpdateList.ContainsKey(otaDevice.DeviceAddr) == true) |
| | | {
|
| | | FirmwareUpdateResourse.dicUpdateList.Remove(otaDevice.DeviceAddr);
|
| | | HdlFirmwareUpdateResourse.dicUpdateList.Remove(otaDevice.DeviceAddr); |
| | | }
|
| | | //取消
|
| | | this.UpdateStatu = UpdateStatuMode.None;
|
| | |
| | |
|
| | | //进入等待模式
|
| | | this.UpdateStatu = UpdateStatuMode.Wait;
|
| | | FirmwareUpdateResourse.dicUpdateList[otaDevice.DeviceAddr] = this;
|
| | | HdlFirmwareUpdateResourse.dicUpdateList[otaDevice.DeviceAddr] = this; |
| | |
|
| | | //等待中…
|
| | | this.UpdateStatuChangedEvent?.Invoke(0, Language.StringByID(R.MyInternationalizationString.uWaitting));
|
| | |
|
| | | //执行下一个可更新的固件的更新操作
|
| | | HdlFirmwareUpdateLogic.DoUpdateNextFirmware();
|
| | | HdlFirmwareUpdateLogic.Current.DoUpdateNextFirmware(); |
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | this.UpdateStatuChangedEvent?.Invoke(0, Language.StringByID(R.MyInternationalizationString.uDeviceUpdating));
|
| | | this.SetProgressValue(0);
|
| | |
|
| | | FirmwareUpdateResourse.dicUpdateList[otaDevice.DeviceAddr] = this;
|
| | | HdlFirmwareUpdateResourse.dicUpdateList[otaDevice.DeviceAddr] = this; |
| | | //同步进度
|
| | | this.zbGateway.ReportAction += UpdateDeviceProgress;
|
| | | }
|
| | |
| | | this.UpdateStatu = UpdateStatuMode.None;
|
| | |
|
| | | //执行下一个可更新的固件的更新操作
|
| | | HdlFirmwareUpdateLogic.DoUpdateNextFirmware();
|
| | | HdlFirmwareUpdateLogic.Current.DoUpdateNextFirmware(); |
| | | this.UpdateStatuChangedEvent?.Invoke(2, "");
|
| | | };
|
| | | contr.Show();
|
| | |
| | | {
|
| | | System.Threading.Thread.Sleep(3000);
|
| | |
|
| | | string checkKey = Common.LocalDevice.Current.GetDeviceMainKeys(otaDevice.DeviceAddr, otaDevice.DeviceEpoint);
|
| | | string checkKey = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(otaDevice.DeviceAddr, otaDevice.DeviceEpoint); |
| | | HdlGatewayReceiveLogic.Current.AddAttributeEvent("HdlDeviceUpdate" + otaDevice.DeviceAddr, ReceiveComandDiv.A设备属性上报, (report) =>
|
| | | {
|
| | | if (report.DeviceStatusReport.CluterID == (int)Cluster_ID.Ota)
|
| | | {
|
| | | string mainKey = Common.LocalDevice.Current.GetDeviceMainKeys(report.DeviceAddr, report.DeviceEpoint);
|
| | | string mainKey = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(report.DeviceAddr, report.DeviceEpoint); |
| | | if (checkKey == mainKey)
|
| | | {
|
| | | //已经接收得到
|
| | |
| | | });
|
| | |
|
| | | //发送命令
|
| | | HdlDeviceImageInfoLogic.Current.SetFirmwareVersionComand(otaDevice);
|
| | | HdlDeviceAttributeLogic.Current.ReadDeviceFirmwareVersion(otaDevice); |
| | |
|
| | | System.Threading.Thread.Sleep(1500);
|
| | | int count = 12;
|
| | | while (this.IsFinishUpdate == false && count > 0)
|
| | | {
|
| | | HdlDeviceImageInfoLogic.Current.SetFirmwareVersionComand(otaDevice);
|
| | | HdlDeviceAttributeLogic.Current.ReadDeviceFirmwareVersion(otaDevice); |
| | | //等待一下设备信息的反馈
|
| | | System.Threading.Thread.Sleep(2000);
|
| | | count--;
|
| | |
| | | //升级完成
|
| | | this.UpdateStatu = UpdateStatuMode.UpdateFinish;
|
| | |
|
| | | HdlFirmwareUpdateLogic.DoUpdateNextFirmware();
|
| | | HdlFirmwareUpdateLogic.Current.DoUpdateNextFirmware(); |
| | |
|
| | | //设备升级成功!
|
| | | this.UpdateStatuChangedEvent?.Invoke(1, Language.StringByID(R.MyInternationalizationString.uDeviceUpdateSuccess));
|
| | |
| | | //状态变更
|
| | | this.IsFinishUpdate = true;
|
| | | //执行下一个升级
|
| | | HdlFirmwareUpdateLogic.DoUpdateNextFirmware();
|
| | | HdlFirmwareUpdateLogic.Current.DoUpdateNextFirmware(); |
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | //状态变更
|
| | | this.IsFinishUpdate = true;
|
| | | //执行下一个升级
|
| | | HdlFirmwareUpdateLogic.DoUpdateNextFirmware();
|
| | | HdlFirmwareUpdateLogic.Current.DoUpdateNextFirmware(); |
| | | }
|
| | |
|
| | | #endregion
|