protected bool LoadMaskSpec() { lock (tempScope) { try { Algorithm.GetSpec(specParameters, "MASKMARGIN(%)", 0, out MaskSpecMax, out MaskSpecMin); return(true); } catch (InnoExCeption ex)//from driver { //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); } catch (Exception error)//from itself { //one way: deal this exception itself InnoExCeption ex = new InnoExCeption(ExceptionDictionary.Code._0x02000, error.StackTrace); //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); //the other way is: should throw exception, rather than the above three code. see below: //throw new InnoExCeption(ExceptionDictionary.Code._0x02000, error.StackTrace); } } }
private bool LoadPNSpec() { try { Algorithm.GetSpec(specParameters, "MaskMargin(%)", 0, out MySpec.SpecMax, out MySpec.TypcalValue, out MySpec.SpecMin); MySpec.AdjustSpecMax = MySpec.SpecMax; MySpec.AdjustSpecMin = MySpec.SpecMin; //Algorithm.GetSpec(specParameters, "JitterRMS(ps)", 0, out MySpec.JitterMax, out MySpec.JitterTypcalValue, out MySpec.JitterMin); return(true); } catch (InnoExCeption ex)//from driver { //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); } catch (Exception error)//from itself { //one way: deal this exception itself InnoExCeption ex = new InnoExCeption(ExceptionDictionary.Code._0x02000, error.StackTrace); //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); //the other way is: should throw exception, rather than the above three code. see below: //throw new InnoExCeption(ExceptionDictionary.Code._0x02000, error.StackTrace); } }
private bool LoadPNSpec() { try { double max, min, target; Algorithm.GetSpec(specParameters, "Crossing(%)", 0, out max, out target, out min); mySpec.SpecMax = max; mySpec.SpecMin = min; mySpec.TypcalValue = target; mySpec.AdjustSpecMax = mySpec.SpecMax * myStruct.SpecMax_PR / 100; mySpec.AdjustSpecMin = mySpec.SpecMin * myStruct.SpecMin_PR / 100; return(true); } catch (InnoExCeption ex)//from driver { //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); } catch (Exception error)//from itself { //one way: deal this exception itself InnoExCeption ex = new InnoExCeption(ExceptionDictionary.Code._0x02000, error.StackTrace); //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); //the other way is: should throw exception, rather than the above three code. see below: //throw new InnoExCeption(ExceptionDictionary.Code._0x02000, error.StackTrace); } }
protected bool RxEyeVecEWTest() { try { scope.pglobalParameters = GlobalParameters; double eyeHeight_15_max, eyeHeight_15_min, eyeWidth_15_max, eyeWidth_15_min, vec_max, vec_min; Algorithm.GetSpec(specParameters, "EyeHeight_15(mV)", 0, out eyeHeight_15_max, out eyeHeight_15_min); Algorithm.GetSpec(specParameters, "EyeWidth_15(ps)", 0, out eyeWidth_15_max, out eyeWidth_15_min); Algorithm.GetSpec(specParameters, "VEC(dB)", 0, out vec_max, out vec_min); testOutputData = new Dictionary <string, double>(); int i = 0; bool result = false; do { testOutputData.Clear(); result = scope.MeasureRxEyeVecEW(ref testOutputData); result = result && (testOutputData["EyeHeight_15(mV)"] <= eyeHeight_15_max) && (testOutputData["EyeHeight_15(mV)"] >= eyeHeight_15_min); result = result && (testOutputData["EyeWidth_15(ps)"] <= eyeWidth_15_max) && (testOutputData["EyeWidth_15(ps)"] >= eyeWidth_15_min); result = result && (testOutputData["VEC(dB)"] <= vec_max) && (testOutputData["VEC(dB)"] >= vec_min); if (result == true) { break; } i++; } while (i < 3); foreach (string key in testOutputData.Keys) { Log.SaveLogToTxt(key + testOutputData[key].ToString("f4")); } return(result); } catch (InnoExCeption ex)//from driver { //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); } catch (Exception error)//from itself { //one way: deal this exception itself InnoExCeption ex = new InnoExCeption(ExceptionDictionary.Code._0xFFFFF, error.StackTrace); //Log.SaveLogToTxt(ex.ID + ": " + ex.Message + "\r\n" + ex.StackTrace); exceptionList.Add(ex); return(false); //the other way is: should throw exception, rather than the above three code. see below: //throw new InnoExCeption(ExceptionDictionary.Code._0xFFFFF, error.StackTrace); } }