Exemplo n.º 1
0
        public void LoadProcessMethod(XmlDocument xmlDoc, ProcessMethodConfigData configData)
        {
            configData.ProcessMode = GetEnum(xmlDoc, "ProcessMode", configData.ProcessMode);
            configData.PauseAfterReprobeSpecific = GetBool(xmlDoc, "ProcessPauseAfterReprobeSpecific", configData.PauseAfterReprobeSpecific);

            LoadPass(xmlDoc, configData.Pass);

            LoadUp(xmlDoc, configData.UnitProbe);
            LoadSup(xmlDoc, configData.SmartUnitProbe);
            LoadSp(xmlDoc, configData.SampleProbe);
            LoadCp(xmlDoc, configData.ClassProbe);
            LoadEp(xmlDoc, configData.EdgeProbe);
            LoadSsp(xmlDoc, configData.SmartSampleProbe);
            LoadFp(xmlDoc, configData.FlexibleProbe);

            LoadMapEdit(xmlDoc, configData.MapEdit);
            LoadAoi(xmlDoc, configData.Aoi);

            LoadEi(xmlDoc, configData.EdgeInk);
            LoadSi(xmlDoc, configData.SmartInk);
        }
        private void SaveMethods(XmlDocument xmlDoc, ProcessMethodConfigData configData)
        {
            XmlOldMethods xmlMethods = new XmlOldMethods();

            xmlMethods.IsSupNeverTouchOutsideWafer = configData.SmartUnitProbe.NeverTouchOutsideWafer;
            xmlMethods.SupMaxTouchdownsOnDie = configData.SmartUnitProbe.MaxTouchdownsOnDie;
            xmlMethods.IsAutoSpToUp = configData.SampleProbe.SpToUpEnabled;
            xmlMethods.IsEpWafer = configData.EdgeProbe.WaferEdgeEnabled;
            xmlMethods.IsEpPcMark = configData.EdgeProbe.PcMarkEdgeEnabled;
            xmlMethods.SspMode = configData.SmartSampleProbe.Mode;
            xmlMethods.IsSspSingleFirstRow = configData.SmartSampleProbe.SingleFirstRowEnabled;
            xmlMethods.IsCpSingleChessboard = configData.ClassProbe.SingleChessboardEnabled;
            xmlMethods.IsSspSingleChessboard = configData.SmartSampleProbe.SingleChessboardEnabled;
            xmlMethods.IsSspMultiFirstRow = configData.SmartSampleProbe.MultiFirstRowEnabled;
            xmlMethods.IsCpMultiChessboard = configData.ClassProbe.MultiChessboardEnabled;
            xmlMethods.IsSspMultiChessboard = configData.SmartSampleProbe.MultiChessboardEnabled;

            xmlMethods.IsAoiGoodDieCounter = configData.Aoi.GoodDieCounterEnabled;

            xmlMethods.SaveConfig(xmlDoc);

            XmlOldMapEdit xmlMapEdit = new XmlOldMapEdit();

            xmlMapEdit.EnableMapEdit = configData.MapEdit.Enabled;
            xmlMapEdit.ReplaceBinValue = configData.MapEdit.ReplaceBinValue;

            xmlMapEdit.SaveConfig(xmlDoc);

            XmlOldFpMethods xmlFpMethods = new XmlOldFpMethods();

            xmlFpMethods.Enabled = configData.FlexibleProbe.Enabled;
            xmlFpMethods.StartProcessMethodsList = new List<ProcessMethod>(configData.FlexibleProbe.StartMethods);
            xmlFpMethods.EndProcessMethodsList = new List<ThresholdYield>(configData.FlexibleProbe.EndMethods);

            xmlFpMethods.SaveConfig(xmlDoc);
        }
        private void LoadMethods(XmlDocument xmlDoc, ProcessMethodConfigData configData)
        {
            XmlOldMethods xmlMethods = new XmlOldMethods();
            xmlMethods.LoadConfig(xmlDoc);

            configData.SmartUnitProbe.NeverTouchOutsideWafer = xmlMethods.IsSupNeverTouchOutsideWafer;
            configData.SmartUnitProbe.MaxTouchdownsOnDie = xmlMethods.SupMaxTouchdownsOnDie;
            configData.SampleProbe.SpToUpEnabled = xmlMethods.IsAutoSpToUp;
            configData.EdgeProbe.WaferEdgeEnabled = xmlMethods.IsEpWafer;
            configData.EdgeProbe.PcMarkEdgeEnabled = xmlMethods.IsEpPcMark;
            configData.SmartSampleProbe.Mode = xmlMethods.SspMode;
            configData.ClassProbe.SingleFirstRowEnabled =
            configData.SmartSampleProbe.SingleFirstRowEnabled = xmlMethods.IsSspSingleFirstRow;
            configData.ClassProbe.SingleChessboardEnabled = xmlMethods.IsCpSingleChessboard;
            configData.SmartSampleProbe.SingleChessboardEnabled = xmlMethods.IsSspSingleChessboard;
            configData.ClassProbe.MultiFirstRowEnabled =
            configData.SmartSampleProbe.MultiFirstRowEnabled = xmlMethods.IsSspMultiFirstRow;
            configData.ClassProbe.MultiChessboardEnabled = xmlMethods.IsCpMultiChessboard;
            configData.SmartSampleProbe.MultiChessboardEnabled = xmlMethods.IsSspMultiChessboard;

            configData.Aoi.GoodDieCounterEnabled = xmlMethods.IsAoiGoodDieCounter;

            XmlOldMapEdit xmlMapEdit = new XmlOldMapEdit();
            xmlMapEdit.LoadConfig(xmlDoc);

            configData.MapEdit.Enabled = xmlMapEdit.EnableMapEdit;
            configData.MapEdit.ReplaceBinValue = xmlMapEdit.ReplaceBinValue;

            XmlOldFpMethods xmlFpMethods = new XmlOldFpMethods();
            xmlFpMethods.LoadConfig(xmlDoc);

            configData.FlexibleProbe.Enabled = xmlFpMethods.Enabled;
            configData.FlexibleProbe.ClearStartMethodsList();
            configData.FlexibleProbe.AddRangeStartMethodsList(xmlFpMethods.StartProcessMethodsList);
            configData.FlexibleProbe.ClearEndMethodsList();
            configData.FlexibleProbe.AddRangeEndMethodsList(xmlFpMethods.EndProcessMethodsList);
        }
Exemplo n.º 4
0
        private string wsConfigVersion = "3.2.6"; // only default value... real value is defined in AssemblyInfo.cs

        #endregion Fields

        #region Constructors

        public ConfigData(string startupDir)
        {
            _childList = new List<IBaseConfigData>();

            DirectoryInfo di = new DirectoryInfo(startupDir);
            string rootMapperDir = di.Parent.FullName;

            _configConfigData = new ConfigConfigData(startupDir);
            _generalConfigData = new GeneralConfigData();
            _dirConfigData = new DirConfigData(rootMapperDir);
            _envGeneralConfigData = new EnvGeneralConfigData();
            _colorConfigData = new ColorConfigData();
            _dialogConfigData = new DialogConfigData();
            _eventConfigData = new EventConfigData(rootMapperDir);
            _wmxmlConfigData = new WmxmlConfigData(rootMapperDir);
            _genesisConfigData = new GenesisConfigData();
            _checkinConfigData = new CheckinConfigData();
            _lotSearchConfigData = new LotSearchConfigData();
            _processMethodConfigData = new ProcessMethodConfigData();
            _customScriptConfigData = new CustomScriptConfigData();
            _newtonConfigData = new NewtonConfigData(rootMapperDir);
            _rtmConfigData = new RtmConfigData(rootMapperDir);
            _probeInTempConfigData = new ProbeInTempConfigData();
            _hotKeysConfigData = new HotKeysConfigData();

            _consecutiveFailConfigData = new ConsecutiveFailConfigData();
            _cutoffConfigData = new CutoffConfigData();
            _kelvinDieConfigData = new KelvinDieConfigData();
            _laserscribeConfigData = new LaserscribeConfigData();
            _reprobeConfigData = new ReprobeConfigData();
            _incompleteProbeConfigData = new IncompleteProbeConfigData();
            _shiftedAlignmentConfigData = new ShiftedAlignmentConfigData();

            _proberConfigData = new ProberConfigData();
            _testerConfigData = new TesterConfigData();

            _lotInfoConfigData = new LotInfoConfigData();

            _childList.Add(_configConfigData as IBaseConfigData);
            _childList.Add(_generalConfigData as IBaseConfigData);
            _childList.Add(_wmxmlConfigData as IBaseConfigData);
            _childList.Add(_envGeneralConfigData as IBaseConfigData);
            _childList.Add(_colorConfigData as IBaseConfigData);
            _childList.Add(_dialogConfigData as IBaseConfigData);
            _childList.Add(_eventConfigData as IBaseConfigData);
            _childList.Add(_dirConfigData as IBaseConfigData);
            _childList.Add(_genesisConfigData as IBaseConfigData);
            _childList.Add(_checkinConfigData as IBaseConfigData);
            _childList.Add(_lotSearchConfigData as IBaseConfigData);
            _childList.Add(_processMethodConfigData as IBaseConfigData);
            _childList.Add(_customScriptConfigData as IBaseConfigData);
            _childList.Add(_newtonConfigData as IBaseConfigData);
            _childList.Add(_rtmConfigData as IBaseConfigData);
            _childList.Add(_probeInTempConfigData as IBaseConfigData);
            _childList.Add(_hotKeysConfigData as IBaseConfigData);

            _childList.Add(_consecutiveFailConfigData as IBaseConfigData);
            _childList.Add(_cutoffConfigData as IBaseConfigData);
            _childList.Add(_kelvinDieConfigData as IBaseConfigData);
            _childList.Add(_laserscribeConfigData as IBaseConfigData);
            _childList.Add(_reprobeConfigData as IBaseConfigData);
            _childList.Add(_incompleteProbeConfigData as IBaseConfigData);
            _childList.Add(_shiftedAlignmentConfigData as IBaseConfigData);
            _childList.Add(_proberConfigData as IBaseConfigData);
            _childList.Add(_testerConfigData as IBaseConfigData);

            _childList.Add(_lotInfoConfigData as IBaseConfigData);

            _configCache = new ConfigCache(this);
        }