| | |
| | | var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.Linux, Pra);
|
| | | return result;
|
| | | }
|
| | | else if (levelType == FirmwareLevelType.Coordinator)
|
| | | else if (levelType == FirmwareLevelType.A协调器)
|
| | | {
|
| | | //协调器模块
|
| | | Pra.FirmwareManaFirstType = 1;
|
| | | Pra.FirmwareManaSecondType = 1;
|
| | | Pra.HardwareVersion = HardwareVersion;
|
| | | Pra.DeviceType = imgType;
|
| | | var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.Coordinator, Pra);
|
| | | var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.A协调器, Pra);
|
| | | return result;
|
| | | }
|
| | | else if (levelType == FirmwareLevelType.VirtualDevice)
|
| | | else if (levelType == FirmwareLevelType.A虚拟驱动)
|
| | | {
|
| | | //虚拟设备模块
|
| | | Pra.FirmwareManaFirstType = 1;
|
| | | Pra.FirmwareManaSecondType = 2;
|
| | | Pra.HardwareVersion = HardwareVersion;
|
| | | Pra.DeviceType = imgType;
|
| | | var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.VirtualDevice, Pra);
|
| | | var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.A虚拟驱动, Pra);
|
| | | return result;
|
| | | }
|
| | | else
|
| | |
| | | Pra.FirmwareManaSecondType = null;
|
| | | Pra.HardwareVersion = HardwareVersion;
|
| | | Pra.DeviceType = imgType;
|
| | | var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.ZigbeeDevice, Pra);
|
| | | var result = GetFirmwareVersionAndSetToMemmory(FirmwareLevelType.A设备, Pra);
|
| | | return result;
|
| | | }
|
| | | }
|
| | |
| | | //它不是升级固件, .bin是特殊的
|
| | | continue;
|
| | | }
|
| | | int testVersion = Convert.ToInt32(verInfo.FirmwareVersion.ToString().PadLeft(6, '0').Substring(2, 2));
|
| | | if (testVersion % 2 != 0)
|
| | | {
|
| | | //中间那个byte为奇数时,代表是测试版本,在显示最新版本时,不需要显示,但是在历史版本那里可以显示
|
| | | //中间那个byte为偶数时,代表是正式版本
|
| | | continue;
|
| | | }
|
| | |
|
| | | if (verInfo.FirmwareVersion == nowVersion)
|
| | | {
|
| | | return verInfo;
|
| | |
| | | if (fileData != null)
|
| | | {
|
| | | //本地存放的固件原来的名字(因为设备升级时,它需要识别文件名字里面包含的特殊字符)
|
| | | //key:硬件版本_镜像ID_固件版本 value:固件原来的名字
|
| | | //key:全路径,硬件版本_镜像ID_固件版本 value:固件原来的名字
|
| | | dicFirmwareName = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(fileData);
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | //保存固件
|
| | | var saveFile = System.IO.Path.Combine(firmwareDir, versionData.FileDiv + versionData.HwVersion + "_" + versionData.ImageType + "_" + versionData.FirmwareVersion + ".ota");
|
| | | HdlFileLogic.Current.SaveTextToFile(saveFile, Encoding.UTF8.GetString(byteData));
|
| | | HdlFileLogic.Current.SaveByteToFile(saveFile, byteData);
|
| | | dicFirmwareName[saveFile] = versionFirmware.Name;
|
| | |
|
| | | //进度值
|
| | |
| | | listVersion.Add(new TemplateDeviceVersion
|
| | | {
|
| | | FileDiv = "Device_",
|
| | | levelType = FirmwareLevelType.ZigbeeDevice,
|
| | | levelType = FirmwareLevelType.A设备,
|
| | | HwVersion = device.HwVersion.ToString(),
|
| | | ImageType = device.ImgTypeId.ToString(),
|
| | | FirmwareVersion = device.ImgVersion
|
| | |
| | | listVersion.Add(new TemplateDeviceVersion
|
| | | {
|
| | | FileDiv = "Coordinator_",
|
| | | levelType = FirmwareLevelType.Coordinator,
|
| | | levelType = FirmwareLevelType.A协调器,
|
| | | HwVersion = gateway.CoordinatorHardVersion.ToString(),
|
| | | ImageType = gateway.CoordinatorImageId.ToString(),
|
| | | FirmwareVersion = gateway.CoordinatorFirmwareVersion
|
| | |
| | | listVersion.Add(new TemplateDeviceVersion
|
| | | {
|
| | | FileDiv = "DriveCode_",
|
| | | levelType = FirmwareLevelType.VirtualDevice,
|
| | | levelType = FirmwareLevelType.A虚拟驱动,
|
| | | HwVersion = data.DriveHwVersion.ToString(),
|
| | | ImageType = data.DriveImageType.ToString(),
|
| | | FirmwareVersion = data.DriveFwVersion
|