예제 #1
0
        private static void fillList()
        {
            //wait list ready
            m_runningLIst = PrefetchList.getNextReadyList();
            if (m_runningLIst == ListNumber.Undefine)
            {
                m_layersFinishid = PrefetchList.m_lastListReady;
                if (m_layersFinishid)
                {
                    m_state = IntState.Wait;
                }
                return;
            }

            m_layersFinishid = false;

            m_stopWatch.Restart();

            if (m_runningLIst == ListNumber.list1)
            {
                NativeMethods.PCI_Execute_List_1();
            }
            else
            {
                NativeMethods.PCI_Execute_List_2();
            }

            m_currenlList = (Int32)PrefetchList.getLayerNumber(m_runningLIst);
            ;
            m_state = IntState.Work;
        }
예제 #2
0
        private static void WorkState()
        {
            if (m_cardStatus.scanComlete) //wait until escan comlete
            {
                bool finish = PrefetchList.isOneListOnLayer(m_runningLIst);
                PrefetchList.setFree(m_runningLIst);
                m_state = finish ? IntState.Wait : IntState.WaitListReady;
                m_stopWatch.Stop();
                m_timeExecutinLayer = m_stopWatch.Elapsed;
            }

            if (PrefetchList.getNextReadyList() == ListNumber.Undefine)
            {
                m_layersFinishid = PrefetchList.m_lastListReady;
            }
        }