Example #1
0
        public bool WriteTagASCII(string asciiString)
        {
            var tagsInventory = _reader.TagInventory(true, 0x10, Settings.Instance.AntennaByte);

            int status   = -1;
            int tagCount = tagsInventory.Count;

            if (tagCount > 1)
            {
                Display.WriteError("Too Many Tags in Reader Field");
                return(false);
            }

            if (tagCount < 1)
            {
                Display.WriteError("No Tags in Reader Field");
                return(false);
            }

            FedmIscTagHandler_EPC_Class1_Gen2 tag = tagsInventory.Values.First() as FedmIscTagHandler_EPC_Class1_Gen2;

            if (tag != null)
            {
                Display.WriteInformation($"Detected Tag - Writing: {asciiString}");
                status = tag.WriteEPC(HexConverter.ConvertASCIItoHexString(asciiString), "");
            }

            if (status == 0)
            {
                return(true);
            }

            Display.WriteError("Error status code " + status + ": " + _reader.GetStatusText((byte)status));

            return(false);
        }
        private void btn_0xDC_MuxDetect_Click(object sender, System.EventArgs e)
        {
            int back = 0;

            if (checkBoxUhf.Checked)
            {
                umux.SetData(FedmIscFunctionUnitID.FEDM_ISC_FU_TMP_MUX_ADR, uint.Parse(MuxAdr.Text));
                back = umux.SendProtocol(0xDC);
            }
            else
            {
                mux.SetData(FedmIscFunctionUnitID.FEDM_ISC_FU_TMP_MUX_ADR, uint.Parse(MuxAdr.Text));
                back = mux.SendProtocol(0xDC);
            }
            string msg;

            if (back <= 0)
            {
                msg  = "Return value = " + back.ToString() + "\n\n";
                msg += dat.GetErrorText(back);
            }
            else
            {
                msg  = "Return value = 0x" + back.ToString("X") + "\n\n";
                msg += reader.GetStatusText((byte)back);
            }
            MessageBox.Show(msg);
        }
Example #3
0
    private void buttonSearchForLabels_Click(object sender, System.EventArgs e)
    {
        this.listBoxSerialNumber.Items.Clear();

        int back;

        reader.SetData(FedmIscReaderID.FEDM_ISC_TMP_B0_CMD, 0x01);
        reader.SetData(FedmIscReaderID.FEDM_ISC_TMP_B0_MODE, 0x00);

        String[] tagType      = null;
        String[] serialNumber = null;

        try
        {
            back = reader.ResetTable(FedmIscReaderConst.ISO_TABLE);
            back = reader.SendProtocol(0x69);                     // RFReset
            System.Console.Write("RF-Reset: ");
            System.Console.WriteLine(reader.GetErrorText(back));
            back = reader.SendProtocol(0xB0);                     // ISOCmd
            System.Console.Write("Inventory: ");
            if (back < 0)
            {
                System.Console.WriteLine(reader.GetErrorText(back));
            }
            else
            {
                System.Console.WriteLine(reader.GetStatusText((byte)back));
            }
            while (reader.GetLastStatus() == 0x94)                     // more flag set?
            {
                reader.SetData(FedmIscReaderID.FEDM_ISC_TMP_B0_MODE_MORE, 0x01);
                reader.SendProtocol(0xB0);
            }

            int length = reader.GetTableLength(FedmIscReaderConst.ISO_TABLE);
            serialNumber = new String[length];
            tagType      = new String[length];

            Console.WriteLine(reader.GetTableLength(FedmIscReaderConst.ISO_TABLE));
            if (length > 0)
            {
                int i;
                for (i = 0; i < reader.GetTableLength(FedmIscReaderConst.ISO_TABLE); i++)
                {
                    reader.GetTableData(i, FedmIscReaderConst.ISO_TABLE, FedmIscReaderConst.DATA_SNR, out serialNumber[i]);
                    reader.GetTableData(i, FedmIscReaderConst.ISO_TABLE, FedmIscReaderConst.DATA_TRTYPE, out tagType[i]);
                    if (tagType[i].Equals("00"))
                    {
                        tagType[i] = "Philips I-Code1";
                    }
                    if (tagType[i].Equals("01"))
                    {
                        tagType[i] = "Texas Instruments Tag-it HF";
                    }
                    if (tagType[i].Equals("03"))
                    {
                        tagType[i] = "ISO15693 Transponder";
                    }
                    if (tagType[i].Equals("04"))
                    {
                        tagType[i] = "14443A";
                    }
                    if (tagType[i].Equals("05"))
                    {
                        tagType[i] = "14443B";
                    }
                    if (tagType[i].Equals("06"))
                    {
                        tagType[i] = "EPC";
                    }

                    this.listBoxSerialNumber.Items.Add(serialNumber[i] + " - " + tagType[i]);
                }
            }
        }
        catch (Exception ex)
        {
            System.Console.WriteLine(ex.ToString());
        }
    }