public async void StartLineScan(int startposX, int endposX, int speed) { ReadyLineScan(startposX); DataFullScan.LineLimit = 0; InitCount(); SetDir(); await Task.Run(() => { ImgSrcByte = new byte[0]; System.Threading.Thread.Sleep(2000); AcsXYZControl.XMove(endposX); System.Threading.Thread.Sleep(2500); StatusFullScan = FullScanState.Start; }); }
public MainModule() { DalsaMemObj = new DalsaMember(); GrabM = new GrabMana(ImgBasePath); CameraSet = new CameraSetting(); IConnection DalsaConnect = new Connection(); AFMeasrue = new AFCalc(); DataFullScan = new FullScanData(); AcsXYZControl = new AcsContol(); CreateDeviceMana(DalsaConnect); TimerSetting(); StatusFullScan = FullScanState.Wait; FeedBackPos = new double[3]; }
void BeginScanning(int posX, int posY) { //XYStageControler.XYMoveAbsPos(posX, posY); StatusFullScan = FullScanState.Start; //XYStageControler.XYWait2ArriveEpsilon(posX, posY, 80); }
void GrabDoneEventMethod(object sender, SapXferNotifyEventArgs evt) { byte[] buffData = GrabM.DataTransFromBuffer(DalsaMemObj.Buffers); evtRealimg(Buff2Img(buffData, 1)); ScanDirec = ScanDirection.Forward; Console.WriteLine(StatusFullScan.ToString()); #region New switch (StatusFullScan) { case FullScanState.Stop: StatusFullScan = FullScanState.Wait; Freeze(); //evtScanEnd(); break; case FullScanState.Pause: double currentYPos = AcsXYZControl.GetMotorFPos()[1]; AcsXYZControl.YMove(3); AcsXYZControl.Wait2ArriveEpsilon("Y", currentYPos + 3, 0.02); System.Threading.Thread.Sleep(100); // Need Pos Check Later //sjw if (ScanDirec == ScanDirection.Forward) { ScanDirec = ScanDirection.Back; NextXPos = StartP; } else { ScanDirec = ScanDirection.Forward; NextXPos = EndP; } AcsXYZControl.XMove(NextXPos); StatusFullScan = FullScanState.Start; break; case FullScanState.Start: //evtScanStart(); ImgSrcByte = Matrix.Concatenate <byte>(ImgSrcByte, buffData); //SaveFullDat(ImgSrcByte,LineCount,UnitCount,BuffCount); evtFScanImgOnGoing(Buff2Img(ImgSrcByte, BuffCount + 1), LineCount, UnitCount); //evtlineUnitNum(LineCount, UnitCount); // for Watch if (BuffCount == DataFullScan.BuffLimit) { ImgSrcByte = null; ImgSrcByte = new byte[0]; BuffCount = 0; if (UnitCount == DataFullScan.UnitLimit) { UnitCount = 0; if (LineCount == DataFullScan.LineLimit) { StatusFullScan = FullScanState.Stop; break; } else { LineCount += 1; StatusFullScan = FullScanState.Pause; } break; } else { UnitCount += 1; } } else { BuffCount++; } break; } #endregion }