Exemple #1
0
 public string ReadUID()
 {
     // throw new NotImplementedException();
     byte[] UIDBytes = null;
     SygoleHFReaderIF.EnumREStatus re = ReaderIF.GetUID(this.readerID, this.rfidCfg, out UIDBytes);
     if (re == SygoleHFReaderIF.EnumREStatus.RW_SUCCESS)
     {
         // string uidStr = System.Text.Encoding.Default.GetString(UIDBytes);
         string uidStr = "";
         for (int i = 0; i < UIDBytes.Count(); i++)
         {
             uidStr += UIDBytes[i].ToString("X2");
         }
         if (uidStr.Substring(0, 4) == "0000")
         {
             uidStr = "";
         }
         ReaderIF.ClearRecvBuffer();
         return(uidStr);
     }
     else
     {
         ReaderIF.ClearRecvBuffer();
         return(string.Empty);
     }
 }
Exemple #2
0
        /// <summary>
        /// 读单块数据
        /// </summary>
        /// <returns></returns>
        public byte[] ReadSBlock(byte blockIndex)
        {
            if (this.rfidCfg == null)
            {
                return(null);
            }
            byte blockBytes = 4;

            if (rfidCfg.BlockBytes == 8)
            {
                blockBytes = 8;
            }


            byte[] ReceiveDatas = new byte[blockBytes];

            byte DataLen = 0;

            // string reStr = "";
            byte[] recvByteArray             = null;
            SygoleHFReaderIF.EnumREStatus re = ReaderIF.ReadSBlock(readerID, this.rfidCfg, blockIndex, ref ReceiveDatas, ref DataLen, ref recvByteArray);
            if (SygoleHFReaderIF.EnumREStatus.RW_SUCCESS == re)
            {
                //reStr = bytes2hexString(ReceiveDatas, DataLen, 1);
                return(ReceiveDatas);
            }
            else
            {
                // Console.WriteLine("读卡失败,返回"+re.ToString());
                return(null);
            }
        }
Exemple #3
0
 public SygoleHFReaderIF.EnumREStatus GetUserCfg(byte rfidID, ref SygoleHFReaderIF.UserConfig cfg)
 {
     SygoleHFReaderIF.EnumREStatus re = SygoleHFReaderIF.EnumREStatus.RW_FAILURE;
     if (ReaderIF != null)
     {
         byte[] recvBytes = null;
         re = ReaderIF.ReadUserCfg(rfidID, ref cfg, ref recvBytes);
     }
     this.rfidCfg = cfg;
     return(re);
 }
Exemple #4
0
        /// <summary>
        /// 连接
        /// </summary>
        /// <returns></returns>
        public bool Connect()
        {
            if (ReaderIF.commType == SygoleHFReaderIF.EnumCommType.URAT)
            {
                byte[] recvBytes = null;
                if (ReaderIF == null || !ReaderIF.IsConnect)
                {
                    return(false);
                }
                SygoleHFReaderIF.UserConfig cfg = null;

                SygoleHFReaderIF.EnumREStatus re = ReaderIF.ReadUserCfg(this.readerID, ref cfg, ref recvBytes);
                int reTryMax = 2;
                int tryCount = 1;
                while (re != SygoleHFReaderIF.EnumREStatus.RW_SUCCESS)
                {
                    if (tryCount > reTryMax)
                    {
                        break;
                    }
                    System.Threading.Thread.Sleep(100);
                    re = ReaderIF.ReadUserCfg(this.readerID, ref cfg, ref recvBytes);
                    tryCount++;
                }
                ReaderIF.ClearRecvBuffer();
                if (re == SygoleHFReaderIF.EnumREStatus.RW_SUCCESS && cfg != null)
                {
                    this.rfidCfg = cfg;
                    isOpened     = true;
                    return(true);
                }
                else
                {
                    isOpened = false;
                    return(false);
                }
            }
            else
            {
                string reStr = "";
                if (!ReaderIF.ConnNet(ref reStr))
                {
                    Console.WriteLine(reStr);
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
        }