コード例 #1
0
ファイル: IO_FD_Main.cs プロジェクト: x893/WDS
 private static FirmwareItem ParseXMLComment(string comment, string filePath)
 {
     try
     {
         ASCIIEncoding encoding = new ASCIIEncoding();
         MemoryStream inStream = new MemoryStream(encoding.GetBytes(comment));
         inStream.Seek(0L, SeekOrigin.Begin);
         XmlDocument document = new XmlDocument();
         document.Load(inStream);
         FirmwareItem item = new FirmwareItem(filePath);
         XmlNode subNode = document.SelectSingleNode("/FirmwareDef/Version/text()");
         if (subNode != null)
             item.version = new FirmwareVersion(subNode.Value.Trim());
         subNode = document.SelectSingleNode("/FirmwareDef/Date/text()");
         if (subNode != null)
             item.date = DateTime.Parse(subNode.Value.Trim(), CultureInfo.InvariantCulture);
         subNode = document.SelectSingleNode("/FirmwareDef/Type/text()");
         if (subNode != null)
             item.type = new FirmwareType(subNode.Value.Trim());
         subNode = document.SelectSingleNode("/FirmwareDef/Name/text()");
         if (subNode != null)
             item.name = subNode.Value.Trim();
         subNode = document.SelectSingleNode("/FirmwareDef/TargetEnvironment/text()");
         if (subNode != null)
             item.targetEnvironment = (FirmwareTargetEnvironment) Enum.Parse(typeof(FirmwareTargetEnvironment), subNode.Value.Trim(), true);
         subNode = document.SelectSingleNode("/FirmwareDef/Description/text()");
         if (subNode != null)
             item.description = subNode.Value.Trim().Replace("\r\n", "<BR>").Replace("\r", "<BR>").Replace("\n", "<BR>");
         subNode = document.SelectSingleNode("/FirmwareDef/Devices");
         ADCRManager.instance().parseCompatibleDevices(item.supportedDeviceList, subNode);
         return item;
     }
     catch (Exception exception)
     {
         GlobalServices.ErrMsg("FirmwareDowload", "Error at ParseXMLComment! \n" + exception.Message);
         GlobalServices.msgBox("Error at ParseXMLComment! \n" + exception.Message, "Error!");
         return null;
     }
 }
コード例 #2
0
ファイル: AppWin_Si4455_RC.cs プロジェクト: x893/WDS
 private bool loadFirmwareCode(FirmwareItem firmware, Difference[] fwChanges)
 {
     Application.DoEvents();
     try
     {
         bool flag = true;
         ((IOPH_DATA) this._ioph).AllowDeviceHandover(this._adtRec);
         Thread.Sleep(100);
         IO_FD_Main main = new IO_FD_Main(this._adtRec);
         if (main.DownloadFirmware(firmware, null, fwChanges) == FirmwareDownloadResult.OK)
         {
             ADTManager.instance().addADTRecord(this._adtRec);
         }
         else
         {
             flag = false;
             MessageBox.Show("Failed to load the appropreate firmware!\nPlease try again!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
         }
         ((IOPH_DATA) this._ioph).ReconnectDevice(this._adtRec);
         return flag;
     }
     catch (Exception exception)
     {
         _log.Error("Failed loading firmware code: " + exception.Message);
         this._ioph.terminate();
         base.Close();
         return false;
     }
 }
コード例 #3
0
ファイル: IO_FD_Main.cs プロジェクト: x893/WDS
        private static IIOFirmwareDownload GetIOFD(ADTRecord adtRecord, FirmwareItem item)
        {
            switch (adtRecord.DeviceInfo.DeviceType.TypeID)
            {
                case DeviceTypeID.SDBC_8:
                    return new IO_FD_SUB8051(adtRecord);

                case DeviceTypeID.LoadBoard:
                    return new IO_FD_LoadBoard(adtRecord);

                case DeviceTypeID.EZLink:
                    return new IO_FD_SUB8051(adtRecord);

                case DeviceTypeID.SRW002:
                    return new IO_FD_SUB8051(adtRecord);

                case DeviceTypeID.SRW006:
                    return new IO_FD_HID(adtRecord);

                case DeviceTypeID.SRW007:
                    return new IO_FD_SUB8051(adtRecord);

                case DeviceTypeID.SRW008:
                    return new IO_FD_SUB8051(adtRecord);

                case DeviceTypeID.SRW009:
                    return new IO_FD_SUB8051(adtRecord);

                case DeviceTypeID.UDP001:
                    if (adtRecord.DeviceInfo.DeviceType.TypeID.ToString() == item.findTargetItemName())
                        return new IO_FD_HID(adtRecord);
                    return new IO_FD_HID_DCP2(adtRecord);

                case DeviceTypeID.ToolStick:
                case DeviceTypeID.LCDBB_F930:
                case DeviceTypeID.WIMB930:
                    return new IO_FD_HID_ToolStick(adtRecord);
            }
            throw new Exception("The board attached is not supported by the Firmware Downloader.");
        }
コード例 #4
0
ファイル: IO_FD_Main.cs プロジェクト: x893/WDS
 public FirmwareDownloadResult DownloadFirmware(FirmwareItem item, UpdateFirmwareCallback callback, Difference[] fwChanges)
 {
     _driver = GetIOFD(_adtRecord, item);
     return _driver.DownloadFirmware(item.firmwareLocation, callback, fwChanges);
 }
コード例 #5
0
ファイル: IO_FD_Main.cs プロジェクト: x893/WDS
 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;
 }
コード例 #6
0
ファイル: Network_Wizard_CP.cs プロジェクト: x893/WDS
 private void MainBoardFirmwareDownloadFailed(FirmwareItem a_item, string a_errorMessage)
 {
     string str = this.getStringResource("txtStep1Text_4");
     str.Replace("xxx", a_item.type.Name + " " + a_item.version.Name);
     this.txtStep1.Text = str + "\r\n" + a_errorMessage;
     this.tabControl.TabPages[2].Enabled = false;
     this.tabControl.TabPages[1].Enabled = true;
     this.tabControl.SelectedTab = this.tabControl.TabPages[1];
     this.btnStep1Abort.Focus();
     this.btnStep2Next.Enabled = false;
 }
コード例 #7
0
ファイル: Network_Wizard_CP.cs プロジェクト: x893/WDS
 private void WirelessNodeFirmwareDownloadFailed(FirmwareItem a_item, string a_errorMessage)
 {
     this.txtStep3.Text = "Download process has failed." + a_errorMessage + "\r\n" + this.getStringResource("txtStep3Text_7");
     this.btnStep4Next.Enabled = true;
     this.btnStep4Prev.Enabled = true;
 }