public static FirmwareItem[] GetFirmwareAvailable(string location, DeviceDescriptor connectedDeviceDescriptor, bool checkFwType, string fwtype, bool a_checkOnlyDevice, FirmwareTargetEnvironment[] targetEnvironmentSet) { if (!Directory.Exists(location)) return new FirmwareItem[0]; if ((connectedDeviceDescriptor.FirmwareType != null) && connectedDeviceDescriptor.FirmwareType.Name.Contains("ENW")) connectedDeviceDescriptor.FirmwareType.Name = connectedDeviceDescriptor.FirmwareType.Name.Replace("ENW", "NWD"); string[] files = Directory.GetFiles(location, "*.whf"); ArrayList list = new ArrayList(); foreach (string str in files) { FirmwareItem firmwareItem = GetFirmwareItem(Path.Combine(location, Path.GetFileName(str))); if (new List<FirmwareTargetEnvironment>(targetEnvironmentSet).Contains(firmwareItem.targetEnvironment)) foreach (CompatibleDeviceDescriptor descriptor in firmwareItem.supportedDeviceList) if (descriptor.IsCompatible(connectedDeviceDescriptor, HwVersion.Upper, FwVersion.Lower, a_checkOnlyDevice) && (firmwareItem.type.Name != "ENW_Slave")) { if (!checkFwType) list.Add(firmwareItem); else if ((checkFwType && (fwtype == null)) && (connectedDeviceDescriptor.FirmwareType.Name == firmwareItem.type.Name)) list.Add(firmwareItem); else if ((checkFwType && (fwtype != null)) && (fwtype == firmwareItem.type.Name)) list.Add(firmwareItem); } } list.Sort(); return (FirmwareItem[]) list.ToArray(typeof(FirmwareItem)); }
private void initProjectList() { this._mainFDControl = new IO_FD_Main(this._adtRec); FirmwareTargetEnvironment[] targetEnvironmentSet = new FirmwareTargetEnvironment[2]; targetEnvironmentSet[0] = FirmwareTargetEnvironment.System; this._firmwareItems = this._mainFDControl.GetFirmwareAvailable(Path.Combine(Application.StartupPath, "Firmware"), targetEnvironmentSet); string name = ""; if (this._selectedProject != null) { name = this._selectedProject.Name; } this.lstSelectProject.Items.Clear(); foreach (Project project in this._projectDescriptor) { if ((this._chipType != "Si4355") || (project.ChipType == this._chipType)) { if (project.LabEvaluation.Enabled) { bool flag = false; foreach (FirmwareItem item in this._firmwareItems) { if (item.name.Contains("Configuration and evaluation")) { project.LabEvaluation.Firmware = item; flag = true; } } if (!flag) { project.LabEvaluation.Enabled = false; } } if (project.FirmwareLoad.Enabled) { bool flag2 = false; foreach (FirmwareItem item2 in this._firmwareItems) { if (project.Name == item2.name) { project.FirmwareLoad.Firmware = item2; flag2 = true; } } if (!flag2) { project.FirmwareLoad.Enabled = false; } } if (((this.cbbModulationSource.SelectedIndex == 0) && ((this.rdbFixedPacketLen.Checked && project.Filter.IsFixedPacketLen) || (this.rdbVariablePacketLen.Checked && project.Filter.IsVariablePacketLen))) || ((this.cbbModulationSource.SelectedIndex == 1) && project.Filter.IsDirectMode)) { ListViewItem item3 = project.getSi4455RcListViewItem(); this.lstSelectProject.Items.Add(item3); } } } if (this.lstSelectProject.Items.Count > 0) { this.lstSelectProject.Items[0].Selected = true; } for (int i = 0; (name != "") && (i < this.lstSelectProject.Items.Count); i++) { if (((Project) this.lstSelectProject.Items[i].Tag).Name == name) { this.lstSelectProject.Items[i].Selected = true; return; } } }
private void initProjectList() { _mainFDControl = new IO_FD_Main(_adtRec); FirmwareTargetEnvironment[] targetEnvironmentSet = new FirmwareTargetEnvironment[2]; targetEnvironmentSet[0] = FirmwareTargetEnvironment.System; _firmwareItems = _mainFDControl.GetFirmwareAvailable(Path.Combine(Application.StartupPath, "Firmware"), targetEnvironmentSet); lstSelectProject.Items.Clear(); foreach (PRO2ProjectDescriptor descriptor in _projectDescriptorList) { bool flag = false; foreach (Chip chip in descriptor.SupportedChips) { if ((chip.ChipType == _chipType) && (chip.ChipRevision == _chipRev)) { flag = true; break; } } if (flag) { bool enabled = descriptor.SaveBatch.Enabled; if (descriptor.ConfigureAndEvaluate.Enabled) { bool flag2 = false; foreach (FirmwareItem item in _firmwareItems) { if (item.name.Contains("Configuration and evaluation")) { descriptor.ConfigureAndEvaluate.Firmware = item; flag2 = true; } } if (!flag2) { descriptor.ConfigureAndEvaluate.Enabled = false; } } if (descriptor.DownloadProject.Enabled) { bool flag3 = false; foreach (FirmwareItem item2 in _firmwareItems) { if (descriptor.Name == item2.name) { descriptor.DownloadProject.Firmware = item2; flag3 = true; } } if (!flag3) { descriptor.DownloadProject.Enabled = false; } } if (descriptor.GenerateSource.Enabled && !Directory.Exists(Path.Combine(Application.StartupPath, Path.Combine(NewWDS.Applications.App_Common.GenerateSourceDialog.GenerateSourceDialog.PROJECT_CONTAINER_DIRECTORY, descriptor.GenerateSource.DirectoryName)))) { descriptor.GenerateSource.Enabled = false; } if ((descriptor.SaveBatch.Enabled || descriptor.ConfigureAndEvaluate.Enabled) || (descriptor.DownloadProject.Enabled || descriptor.GenerateSource.Enabled)) { ListViewItem item3 = descriptor.getSi4460RcaListViewItem(); lstSelectProject.Items.Add(item3); } } } if (lstSelectProject.Items.Count > 0) { lstSelectProject.Items[0].Selected = true; } }
public FirmwareItem[] GetFirmwareAvailable(string location, FirmwareTargetEnvironment[] targetEnvironmentSet) { return GetFirmwareAvailable(location, this._adtRecord.DeviceInfo, false, null, true, targetEnvironmentSet); }
public static bool NewFirmwareExists( string firmwarePath, DeviceDescriptor connectedDeviceDescriptor, bool checkFwType, string fwType, out FirmwareItem newFirmware, FirmwareTargetEnvironment[] targetEnvironmentSet ) { FirmwareItem[] itemArray = GetFirmwareAvailable( firmwarePath, connectedDeviceDescriptor, checkFwType, fwType, true, targetEnvironmentSet ); if (itemArray.Length != 0) { newFirmware = itemArray[itemArray.Length - 1]; if (fwType != null && !(connectedDeviceDescriptor.FirmwareType.Name == fwType)) return true; if (newFirmware.version.VersionNumber > connectedDeviceDescriptor.FirmwareVersion.VersionNumber) return true; } else newFirmware = null; return false; }