public ReceivedInfo(byte[] buff) : base(buff) { if (base.buff.Length >= 1) { tagData = new RxdTagData(); epclen = buff[0]; if (buff.Length > epclen) { tagData.EPC = new byte[epclen]; Array.Copy(buff, 1, tagData.EPC, 0, epclen); } if (buff.Length > epclen + 2) { tagData.Antenna = (ant = buff[epclen + 1]); if (buff.Length == epclen + 4) { tagData.Hub = (hub = buff[epclen + 2]); tagData.Port = (port = buff[epclen + 3]); } else if (buff.Length == epclen + 5) { tagData.Hub = (hub = buff[epclen + 2]); tagData.Port = (port = buff[epclen + 3]); tagData.RSSI = (rssi = buff[epclen + 4]); } else { tagData.RSSI = (rssi = buff[epclen + 2]); } } } }
private void tagInventoryRecv(string readerName, RxdTagData tagData) { if (tagData.Antenna == curAntNO) { string text = Util.ConvertbyteArrayToHexstring(tagData.EPC); if (!string.IsNullOrEmpty(text)) { lock (lockObj) { if (tagList.ContainsKey(text)) { Dictionary <string, int> dictionary = tagList; string key = text; dictionary[key]++; } else { tagList.Add(text, 1); } if (!preReadPort.Contains(tagData.Port)) { preReadPort.Add(tagData.Port); } } } } }
public TagReadRecord(RxdTagData newData) { lock (new Object()) { RawRead = newData; } }
public ReceivedInfo(byte[] buff) : base(buff) { tagData = new RxdTagData(); if (buff.Length > 1) { tagData.EPC = new byte[buff.Length - 1]; Array.Copy(buff, 1, tagData.EPC, 0, tagData.EPC.Length); } }
public void Update(RxdTagData mergeData) { DateTime now = DateTime.Now.ToLocalTime(); TimeSpan timediff = now - this.TimeStamp.ToUniversalTime(); if (0 <= timediff.TotalMilliseconds) { RawRead = mergeData; this.TimeStamp = now; this.readCount += 1; } OnPropertyChanged(null); }
public void Log(string msg, RxdTagData tagData) { Console.WriteLine(msg); Log(string.Format("EPC:{0}" + "\r\nTID:{1}" + "\r\nUser:{2}" + "\r\nReserved:{3}" + "\r\nAnetnna:{4}" + "\r\nRSSI:{5}", ByteFormat.ToHex(tagData.EPC, "", " "), ByteFormat.ToHex(tagData.TID, "", " "), ByteFormat.ToHex(tagData.User, "", " "), ByteFormat.ToHex(tagData.Reserved, "", " "), tagData.Antenna, tagData.RSSI)); }
public void Add(RxdTagData addData) { lock (new Object()) { string key = null; if (IsUniqueByteTID == false) { key = ByteFormat.ToHex(addData.EPC, "", " "); //if only keying on EPCID } else { key = string.Format("epc={0}, tid={1}", ByteFormat.ToHex(addData.EPC, "", " "), ByteFormat.ToHex(addData.TID, "", " ")); } UniqueTagCounts = 0; TotalTagCounts = 0; if (!EpcIndex.ContainsKey(key)) { logUtils.Log(string.Format("Add {0}", key)); TagReadRecord value = new TagReadRecord(addData); value.SerialNumber = (uint)EpcIndex.Count + 1; value.TimeStamp = DateTime.Now.ToLocalTime(); value.ReadCount = 1; _tagList.Add(value); EpcIndex.Add(key, value); UpdateTagCount(EpcIndex); } else { EpcIndex[key].Update(addData); UpdateTagCount(EpcIndex); } } }
public ReceivedInfo(byte[] buff) : base(buff) { tagData = new RxdTagData(); int num = 0; if (buff.Length >= 1) { epcLen = buff[num]; num++; } if (buff.Length >= 1 + epcLen) { tagData.EPC = new byte[epcLen]; Array.Copy(buff, num, tagData.EPC, 0, epcLen); num += epcLen; } if (buff.Length >= 1 + num) { tidLen = buff[num]; num++; } if (buff.Length >= num + tidLen) { tagData.TID = new byte[tidLen]; Array.Copy(buff, num, tagData.TID, 0, tidLen); num += tidLen; } if (buff.Length >= 1 + num) { userLen = buff[num]; num++; } if (buff.Length >= num + userLen) { tagData.User = new byte[userLen]; Array.Copy(buff, num, tagData.User, 0, userLen); num += userLen; } if (buff.Length >= 1 + num) { resvLen = buff[num]; num++; } if (buff.Length >= num + resvLen) { tagData.Reserved = new byte[resvLen]; Array.Copy(buff, num, tagData.Reserved, 0, resvLen); num += resvLen; } if (buff.Length >= num + 2) { tagData.Antenna = (ant = buff[num]); if (buff.Length == num + 3) { tagData.Hub = (hub = buff[num + 1]); tagData.Port = (port = buff[num + 2]); } else if (buff.Length == num + 4) { tagData.Hub = (hub = buff[num + 1]); tagData.Port = (port = buff[num + 2]); tagData.RSSI = (rssi = buff[num + 3]); } else { tagData.RSSI = (rssi = buff[num + 1]); } } }