Esempio n. 1
0
        bool ParseMulReadFrameDataProcess()
        {
            string epc_tmp = "";
            string tid_tmp = "";
            byte[] byte_epc = new byte[64];
            byte[] byte_tid = new byte[64];
            byte[] byte_rssi = new byte[2];
            Int16 rssi;
            int antid;
            DateTime nowTime = DateTime.Now;
            TagInfo tmp = new TagInfo("", 0, 0, 1, nowTime);
            int length = 0;
            int rlength = 0;
            int i;

            length = (g_Revbuf[5] >> 3) * 2;
            rlength = (g_Revbuf[2] << 8) + g_Revbuf[3];

            System.Array.Copy(g_Revbuf, 7, byte_epc, 0, length);
            for (i = 0; i < length; i++)
            {
                epc_tmp += byte_epc[i].ToString("X2");
                if (i < length - 1)
                {
                    epc_tmp += "-";
                }
            }

            if (rlength > (length + 8 + 5))
            {
                System.Array.Copy(g_Revbuf, (7 + length), byte_tid, 0, length);
                for (i = 0; i < (rlength - length - 8 - 5); i++)
                {
                    tid_tmp += byte_tid[i].ToString("X2");
                    if (i < length - 1)
                    {
                        tid_tmp += "-";
                    }
                }
            }

            rssi = (Int16)(g_Revbuf[rlength - 6] << 8);
            rssi += (Int16)(g_Revbuf[rlength - 5]);
            antid = g_Revbuf[rlength - 4];
            tmp.epcid = epc_tmp;
            tmp.tid = tid_tmp;
            tmp.rxrssi = (Int16)(rssi / 10);
            tmp.readcnt = 1;
            tmp.antID = antid;

            AddTagToBuf(tmp);
            //MyInvoke mi = new MyInvoke(UpdataListViewDisp);
            //this.BeginInvoke(mi, new Object[] { m_Tags[tmp.epcid] });

            Thread thread = new Thread(() => UpdataListViewDisp(m_Tags[tmp.epcid]));
            thread.Start();

            return true;
        }
Esempio n. 2
0
        void AddTagToBuf(TagInfo tag)
        {
            string keystr = tag.epcid;

            if (m_Tags.ContainsKey(keystr))
            {
                m_Tags[keystr].readcnt += 1;
                //m_Tags[keystr].epcid = tag.;
                m_Tags[keystr].rxrssi = tag.rxrssi;
                m_Tags[keystr].antID = tag.antID;
                m_Tags[keystr].times = tag.times;
                m_Tags[keystr].tid = tag.tid;
            }
            else
            {
                m_Tags.Add(keystr, tag);
            }
        }
Esempio n. 3
0
        public void UpdataListViewDisp(TagInfo tag)
        {
            //strResult += tag.epcid + " | " + tag.rxrssi + '\n';
            int flag = 0;
            if (strResult != null)
            {
                if (strResult.Contains(tag.epcid.Replace("-", "")) == true)
                {

                    flag = 1;
                }
            }

            if (flag == 0)
            {

                strResult += tag.epcid.Replace("-", "") + '\n';
                
                DIP_RFID.DAL.Common.Utilities.Func.InsertModuleTemp("1", tag.epcid.Replace("-", "").Substring(0,10));
            }
            //foreach (DataRow Dr in dtResult.Rows)
            //{
            //    try
            //    {
            //        if (Dr["TagID"].ToString().ToLower() == Convert.ToString(tag.epcid).ToLower())
            //        {
            //            Dr["RSSI"] = tag.rxrssi.ToString();
            //            Dr["AntID"] = tag.antID.ToString();
            //            Dr["Time"] = tag.times.ToString();
            //            Dr.AcceptChanges();
            //            flag = 1;
            //        }

            //    }
            //    catch (Exception e) { }


            //    if (flag == 0)
            //    {
            //        DataRow newCustomersRow = dtResult.NewRow();
            //        //ListViewItem item = new ListViewItem((listView_Disp.Items.Count + 1).ToString());
            //        newCustomersRow["TagID"] = tag.epcid;
            //        newCustomersRow["AntID"] = tag.antID;
            //        newCustomersRow["RSSI"] = tag.rxrssi;
            //        newCustomersRow["Time"] = tag.times;
            //        dtResult.Rows.Add(newCustomersRow);
            //    }
            //}

        }
Esempio n. 4
0
        public void UpdataListViewDisp(TagInfo tag)
        {
            int flag = 0;

            foreach (DataRow Dr in dtResult.Rows)
            {
                try
                {
                    if (Dr["TagID"].ToString().ToLower() == Convert.ToString(tag.epcid).ToLower())
                    {
                        Dr["RSSI"] = tag.rxrssi.ToString();
                        Dr["AntID"] = tag.antID.ToString();
                        Dr["Time"] = tag.times.ToString();
                        Dr.AcceptChanges();
                        flag = 1;
                    }
                    
                }
                catch (Exception e) { }
                //***------ If want to clear data every x time -----********
                //if (cB_OutLineClear.Checked == true)
                //{
                //    /* 计算离线时间 */
                //    TimeSpan span = DateTime.Now - DateTime.Parse(viewitem.SubItems[6].Text);
                //    if ((span.Seconds >= 4) && (span.Seconds < 8))
                //    {
                //        viewitem.BackColor = Color.Silver;
                //    }
                //    else if (span.Seconds >= 8)
                //    {
                //        RemovedTagNums += int.Parse(viewitem.SubItems[3].Text);
                //        string keystr = tag.epcid;
                //        m_Tags.Remove(keystr);
                //        viewitem.Remove();
                //    }
                //    else
                //    {
                //        viewitem.BackColor = Color.White;
                //    }
                //}
                //***------ If want to clear data every x time -----********

                if (flag == 0)
                {
                    DataRow newCustomersRow = dtResult.NewRow();
                    //ListViewItem item = new ListViewItem((listView_Disp.Items.Count + 1).ToString());
                    newCustomersRow["TagID"] = tag.epcid;
                    newCustomersRow["AntID"] = tag.antID;
                    newCustomersRow["RSSI"] = tag.rxrssi;
                    newCustomersRow["Time"] = tag.times;
                    dtResult.Rows.Add(newCustomersRow);
                }
            }

        }