示例#1
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());
        }
    }