Example #1
0
        /// <summary>
        /// 连续读取模式: 每当读取到标签将触发事件处理方法
        /// </summary>
        /// <param name="aReadInterval">连续读取 所持续时间[注意:如果持续时长参数为0或者小于0的数值,则表示不通过定时器关闭,而由使用者手动调用关闭方法]</param>
        private void EventRead(int aReadInterval)
        {
            //*****
            //* 设置标签读到后触发的事件处理
            //*****
            if (null == m_TagEventHandler)
            {
                m_TagEventHandler             = new Tag_EventHandlerAdv(BRIReaderEventHandler_Tag);
                m_RFIDReader.EventHandlerTag += m_TagEventHandler;
            }

            //*****
            //* 初始化连续读取持续时间Timer
            //*****
            if (null == m_StopReadTimer)
            {
                m_StopReadTimer       = new Timer();
                m_StopReadTimer.Tick += new EventHandler(TimerTick_StopRead);
            }
            m_StopReadTimer.Enabled  = false;
            m_StopReadTimer.Interval = aReadInterval;

            try
            {
                //该模式下读取到的标签不会去重
                if (m_RFIDReader.StartReadingTags(null, "RSSI ANT", BRIReader.TagReportOptions.EVENTALL))
                //if (m_RFIDReader.StartReadingTags(BRIReader.TagReportOptions.EVENT))//该模式下将不会重复提交已经提交过的标签(去重效果)
                {
                    //[TODO] 记录日志
                    //DisplayMessage("Continuous read with event reporting is started.");
                    m_IsContinuousReadStarted = true;
                    if (aReadInterval > 0)
                    {
                        //开启连续读取时长 Timer
                        m_StopReadTimer.Enabled = true;
                    }
                    else
                    {
                        //如果持续时长参数为0或者小于0的数值  则表示不通过定时器关闭  而由使用者手动调用关闭方法
                        m_StopReadTimer.Enabled = false;
                    }
                }
                else
                {
                    //[TODO] 记录日志
                    //DisplayMessage("Error: Failed to start continuous read with event reporting.");
                }
            }
            catch (Exception ex)
            {
                //[TODO] 记录日志
                //DisplayMessage("Error: Failed to start continuous read with event reporting, exception="+ ex.Message);
            }
        }
Example #2
0
        public void EventRead()
        {
            //*****
            //* Sets up an event handler to handle the tag events. This event
            //* handler only needs to be registered once.
            //*****
            if (null == m_TagEventHandler)
            {
                m_TagEventHandler       = new Tag_EventHandlerAdv(BRIReaderEventHandler_Tag);
                reader.EventHandlerTag += m_TagEventHandler;
            }

            //*****
            //* Sets up a timer to stop the continuous read.
            //*****

/*            if (null == m_StopReadTimer)
 *          {
 *              m_StopReadTimer = new Timer();
 *              m_StopReadTimer.Tick += new EventHandler(TimerTick_StopRead);
 *          }
 *          m_StopReadTimer.Enabled = false;
 *          m_StopReadTimer.Interval = aReadInterval;
 */
            try
            {
                if (reader.StartReadingTags(BRIReader.TagReportOptions.EVENT))
                {
                    m_IsContinuousReadStarted = true;
                    //m_StopReadTimer.Enabled = true; // Start the timer to stop continuous read.
                }
                else
                {
                    MessageBox.Show("Falha ao iniciar leitura contínua!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Falha ao iniciar leitura contínua, erro: " + ex.Message);
            }
        }