コード例 #1
0
        private void btnTagAction_Click(object sender, EventArgs e)
        {
            int  back      = 0;
            uint BlockSize = 0;

            byte[] Data     = null;
            byte[] respData = null;
            Dictionary <string, FedmIscTagHandler> .ValueCollection listTagHandler;

            if (!connected)
            {
                return;
            }

            listTagHandler = TagList.Values;
            foreach (FedmIscTagHandler tag in listTagHandler)
            {
                if (tag is FedmIscTagHandler_ISO15693)
                {
                    FedmIscTagHandler_ISO15693 newTag = (FedmIscTagHandler_ISO15693)tag;
                    Console.WriteLine(newTag.GetTagName());

                    // read data blocks and write same data back to tag
                    back = newTag.ReadMultipleBlocks((uint)4, (uint)4, out BlockSize, out Data);
                    back = newTag.WriteMultipleBlocks(4, 4, 4, Data);
                }
                else if (tag is FedmIscTagHandler_ISO14443)
                {
                    FedmIscTagHandler newTag = null;

                    // execute a select command for MIFARE DESFire
                    // TagSelect creates a new TagHandler object internally
                    newTag = Reader.TagSelect(tag, 9);

                    if (newTag is FedmIscTagHandler_ISO14443_4_MIFARE_DESFire)
                    {
                        FedmIscTagHandler_ISO14443_4_MIFARE_DESFire desfireTag = (FedmIscTagHandler_ISO14443_4_MIFARE_DESFire)newTag;

                        Console.WriteLine(desfireTag.GetTagName());

                        // read version information
                        // use the internal Interface IFlexSoftCrypto
                        back = desfireTag.IFlexSoftCrypto.GetVersion((byte)0, out respData);
                    }
                }
                else if (tag is OBID.TagHandler.FedmIscTagHandler_EPC_Class1_Gen2)
                {
                    FedmIscTagHandler_EPC_Class1_Gen2 newTag = (FedmIscTagHandler_EPC_Class1_Gen2)tag;
                    Console.WriteLine(newTag.GetTagName());

                    // write a new EPC number (without password)
                    back = newTag.WriteEPC("1102030405060708090A0B0C", "");
                }
            }
        }
コード例 #2
0
 private TagData FormatTagHandlerToTagData(FedmIscTagHandler_ISO15693 tag)
 {
     return(new TagData(tag.GetUid(), tag.GetManufacturerName()));       //TODO ToString stuff right?
 }