示例#1
0
 private void OnTagsReported(ImpinjReader sender, TagReport report)
 {
     foreach (Tag tag in report)
     {
         if (results.Count == maxBufferSize)
         {
             results.RemoveAt(0);
         }
         RFIDResult r = new RFIDResult(sender.Name, seq++, mode, tag);
         r.AnalysisEPC();
         results.Add(r);
         if (logging)
         {
             log.WriteLine(r.makeMeAString());
         }
         if (InvokeRequired)
         {
             Invoke(new MethodInvoker(updateInterface));
         }
     }
 }
示例#2
0
        private void OnTagsReported(ImpinjReader sender, TagReport report)
        {
            foreach (Tag tag in report)
            {
                if (results.Count == maxBufferSize)
                {
                    RFIDResult temp;
                    while (!results.TryDequeue(out temp))
                    {
                        Thread.Sleep(100);
                    }
                }

                RFIDResult r = new RFIDResult(sender.Name, seq++, impinj_mode, tag);
                r.AnalysisEPC();
                results.Enqueue(r);
                if (logging)
                {
                    log.WriteLine(r.makeMeAString());
                }
                newResultEvent(this, EventArgs.Empty);
            }
        }