Exemplo n.º 1
0
        void Events_ReadNotify(object sender, Events.ReadEventArgs e)
        {
            try
            {
                Dictionary<string, KTR.IRFID.TagData> lstTags = new Dictionary<string, IRFID.TagData>();

                Symbol.RFID3.TagData[] readTags = objMotorolaReader.Actions.GetReadTags(8000);
                foreach (Symbol.RFID3.TagData tag in readTags)
                {
                    KTR.IRFID.TagData tempTag = new IRFID.TagData();
                    tempTag.RFID_HEX = tag.TagID;
                    tempTag.SourceAntenna = tag.AntennaID.ToString();
                    tempTag.ReadRSSI = (int)tag.PeakRSSI;
                    tempTag.ReadTime = DateTime.Now;
                    tempTag.SourceReader = this.rdrInfo.HostName;

                    lstTags[tempTag.RFID_HEX] = tempTag;

                }

                List<KTR.IRFID.TagData> tagDataToSend = new List<IRFID.TagData>();
                tagDataToSend.AddRange(lstTags.Values);

                ReadEventArgs resArgs = new ReadEventArgs();
                resArgs.Tags = tagDataToSend;
                resArgs.TimeStamp = DateTime.Now;
                onTagReadRaised(resArgs);

            }
            catch (Exception ex)
            {

            }
        }
Exemplo n.º 2
0
        public override List<KTR.IRFID.TagData> ReadTag(int millisecondTimeOut)
        {
            try
            {
                if (!objMotorolaReader.IsConnected)
                    throw new Exception("Reader is offline");
                bool flag = false;

                if (!this.inventoryInProgress)
                {
                    StartTagInventory();
                }
                Thread.Sleep(millisecondTimeOut);
                if (this.inventoryInProgress && flag)
                {
                    StopTagInventory();
                }
                Dictionary<string, KTR.IRFID.TagData> lstTags = new Dictionary<string, IRFID.TagData>();

                Symbol.RFID3.TagData[] readTags = objMotorolaReader.Actions.GetReadTags(8000);

                foreach (Symbol.RFID3.TagData tag in readTags)
                {
                    KTR.IRFID.TagData tempTag = new IRFID.TagData();
                    tempTag.RFID_HEX = tag.TagID;
                    tempTag.SourceAntenna = tag.AntennaID.ToString();
                    tempTag.ReadRSSI = (int)tag.PeakRSSI;
                    tempTag.ReadTime = DateTime.Now;
                    tempTag.SourceReader = this.rdrInfo.HostName;

                    lstTags[tempTag.RFID_HEX] = tempTag;

                }

                List<KTR.IRFID.TagData> tagDataToSend = new List<IRFID.TagData>();
                tagDataToSend.AddRange(lstTags.Values);
                return tagDataToSend;
            }

            catch (Exception ex)
            {
                throw new Exception("Unable to start inventory. " + ex.Message);
            }
        }