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); } }
/// <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); } }
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); }
/// <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); } } }