public AppCommon.APPErrors Start() { m_frameNumber = 1; m_running = true; m_fgControl = new FrameGrabberControl(); while (m_running) { SLog.Instance().Write(AppCommon.MODULES.MANAGER_MODULE, "Start frame: " + m_frameNumber); if (m_fgControl.Start(m_config.num1, m_config.num2, m_fgEvent) == AppCommon.APPErrors.STATUS_FG_PENDING) { bool b; if ((b = m_fgEvent.WaitOne(m_config.FrameGrabberMaxTimeout)) == false) { if (m_running == false) { return(AppCommon.APPErrors.STATUS_OK); } return(AppCommon.APPErrors.STATUS_FG_TIMEOUT); } if (m_running == false) { return(AppCommon.APPErrors.STATUS_OK); } m_fgBuffer = m_fgControl.RowData; SLog.Instance().Write(AppCommon.MODULES.FG_MODULE, "Got row data to pass to IP size of: " + m_fgControl.BufferLength); } m_frameNumber++; } return(AppCommon.APPErrors.STATUS_OK); }