public List <PlrCrd> CreatedefualtPos() { lock ( key ) { var path = @"D:\03JobPro\2017\011.ISP\CsvData\TLA talko _new Sample\1pos\pos.csv"; var datas = ReadCsv2String(path, ',', order0Dirction: false); List <PlrCrd> crtnlist = new List <PlrCrd>(); for (int i = 0; i < datas.Len(2); i++) { for (int j = 0; j < datas.Len(0) / 2; j++) { var crt = new CrtnCrd(Convert.ToDouble(datas[j * 2][i]), Convert.ToDouble(datas[j * 2 + 1][i])); var plr = crt.ToPolar(); crtnlist.Add(plr as PlrCrd); } } return(crtnlist); } }
public bool ScanManualRun(double [] TargetPosTR, int intervalsec, int count) { OpMaxSpeed(); OpORGMaxSpeed(); // Ref Check -- if (!FlgRefReady) { return(false.Act(x => MessageBox.Show("Set Referance Please"))); } // Home And Check -- //if ( !FlgHomeDone ) if ( !OpHome() ) return false; ///OpHome(); FlgHomeDone = true; // Scan Ready And Check -- if (FlgDarkReady == false) { if (!OpReady(ScanReadyMode.Dark)) { return(false); } } FlgDarkReady = true; var toReflect = FnCalReflections(Darks, Refs, SelectedReflctFactors); var plrpos = new CrtnCrd(TargetPosTR[0], TargetPosTR[1]) .ToPolar() as PlrCrd; var stgMoveRes = new TEither(Stg as IStgCtrl, 12) .Bind(x => x.Act(f => { f.SendAndReady(f.GoAbs + plrpos.Theta.Degree2Pulse().ToPos(Axis.W) + plrpos.Rho.mmToPulse().ToOffPos()); f.SendAndReady(f.Go); }).ToTEither(), "R Stage Move Command Fail"); var moveResLog = stgMoveRes.ToLEither(new double[] { }); lock ( keySingle ) { int curcount = 0; while (FlgCoreSingleScan) { Console.WriteLine("Current Count : {0} , Limit Count : {1}", curcount, count); if (curcount == count) { break; } var currentInten = GetSpectrum(); var reflet = toReflect(currentInten); var thckn = ToThickness( reflet.ToLEither(), SelectedWaves, plrpos) .Item2.Right; evtSngSignal(currentInten, reflet, SelectedWaves, thckn, curcount); Thread.Sleep(intervalsec * 1000); curcount++; } } Console.WriteLine("Complete"); evtSingleMeasureComplete(); FlgCoreSingleScan = false; return(true); }