Пример #1
0
        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);
        }