Example #1
0
        private void ShowConfiguration(EM4325Tag.ConfigData cfg)
        {
            string[] cfgStrings;

            cfgStrings = EM4325Tag.ConfigToStrings(cfg);

            foreach (string s in cfgStrings)
            {
                AddLog(s);
            }
        }
Example #2
0
        private void DoGetTags()
        {
            if (!hNur.IsConnected())
            {
                AddLog("Connection required.");
                return;
            }

            NurApi.TagStorage        storage;
            NurApi.InventoryResponse resp;
            int i;

            NurApi.Tag t;

            CurrentTag = null;

            AllTags.Clear();
            TagList.Items.Clear();
            TagLabel.Text = "---";

            try
            {
                hNur.ClearIdBuffer();
                hNur.ClearTags();

                ResetToA();
                resp = hNur.Inventory(2, 4, 0);

                storage = hNur.FetchTags(true);

                for (i = 0; i < resp.numTagsFound; i++)
                {
                    t = storage[i];
                    AllTags.Add(new EM4325Tag(t));
                    TagList.Items.Add(AllTags[i].GetEpcString());
                }

                if (resp.numTagsFound == 1 && SglAutoSel.Checked)
                {
                    TagList.SelectedIndex     = 0;
                    CurrentTag                = AllTags[0];
                    CurrentTag.UseTargetReset = TargetResetChk.Checked;
                    TagLabel.Text             = NurApi.BinToHexString(CurrentTag.mEPC);
                }
            }
            catch (Exception ex)
            {
                AddLog("Inventory error.");
                AddLog("Message: " + ex.Message);
            }
        }
Example #3
0
 private void TagListView_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (TagListView.SelectedItems.Count > 0)
     {
         CurrentTag = AllTags[TagListView.SelectedItems[0].Index];
         CurrentTag.UseTargetReset = TargetResetChk.Checked;
         TagLabel.Text             = NurApi.BinToHexString(CurrentTag.mEPC);
     }
     else
     {
         CurrentTag    = null;
         TagLabel.Text = "---";
     }
 }
Example #4
0
        private void TagList_Click(object sender, EventArgs e)
        {
            int index;

            index = TagList.SelectedIndex;

            if (index >= 0 && index < AllTags.Count)
            {
                CurrentTag = AllTags[index];
                CurrentTag.UseTargetReset = TargetResetChk.Checked;
                TagLabel.Text             = NurApi.BinToHexString(CurrentTag.mEPC);
            }
            else
            {
                CurrentTag    = null;
                TagLabel.Text = "---";
            }
        }
Example #5
0
        private void DoGetTags()
        {
            if (!hNur.IsConnected())
            {
                AddLog("Connection required.");
                return;
            }

            CurrentTag = null;
            AllTags.Clear();
            TagListView.Items.Clear();
            TagLabel.Text = "---";

            try
            {
                ResetToA();

                hNur.ClearTagsEx();



                NurApi.InventoryExParams   invParam;
                NurApi.InventoryExFilter[] invFilters;

                // Disable EPC+DATA mode
                hNur.InventoryReadCtl = false;
                // Configure InventoryExParams for Temperature read
                invParam.inventorySelState = NurApi.SELSTATE_SL;
                invParam.inventoryTarget   = NurApi.INVTARGET_A;
                invParam.Q           = hNur.InventoryQ;
                invParam.rounds      = hNur.InventoryRounds;
                invParam.session     = NurApi.SESSION_S0;
                invParam.transitTime = 0;                 // Disable
                // Configure InventoryExFilter
                invFilters                  = new NurApi.InventoryExFilter[1];
                invFilters[0].action        = NurApi.FACTION_0;
                invFilters[0].address       = 0;
                invFilters[0].bank          = NurApi.BANK_TID;
                invFilters[0].maskData      = new byte[] { 0xE2, 0x80, 0xB0, 0x40 };
                invFilters[0].maskBitLength = (invFilters[0].maskData.Length * 8) - 4;
                invFilters[0].target        = NurApi.SESSION_SL;
                invFilters[0].truncate      = false;
                // Read
                NurApi.InventoryResponse resp = hNur.InventoryEx(ref invParam, invFilters);
                // Fetch tags from the module
                NurApi.TagStorage tagStorage = hNur.FetchTags(true);

                for (int i = 0; i < tagStorage.Count; i++)
                {
                    NurApi.Tag tag = tagStorage[i];
                    AllTags.Add(new EM4325Tag(tag));
                    ListViewItem lvi = new ListViewItem(tag.GetEpcString());
                    lvi.SubItems.Add(tag.rssi.ToString());
                    lvi.SubItems.Add(tag.antennaId.ToString());
                    TagListView.Items.Add(lvi);
                }
                columnHeader_EPC.Width   = -2;
                columnHeader_RSSI.Width  = -2;
                columnHeader_AntID.Width = -2;
            }
            catch (Exception ex)
            {
                AddLog("Inventory error.");
                AddLog("Message: " + ex.Message);
            }
        }