/// <summary> /// Reader Function /// </summary> /// <param name="obj"></param> private void readerFunc(object obj) { byte[] uiiLen = new byte[1]; byte[] dataLen = new byte[2]; byte[] Data = new byte[256]; byte[] error = new byte[1]; string uiiStr = ""; DemoPublic.Para para = (DemoPublic.Para)obj; byte[] pwd = para.pwd; byte[] Uii = para.uii; byte bank = para.bank; int addr = para.addr; bool withuii = para.withuii; int uiilen = 2 * ((Uii[0] >> 3) + 1); if (PublicFunction.ReadDataSingleNoCnt(pwd, bank, addr, dataLen, Data, Uii, uiiLen, error)) { System.Media.SystemSounds.Asterisk.Play(); string dataStr = DemoPublic.BytesToHexString(Data, (int)((dataLen[0] << 8) + dataLen[1])); uiiStr = DemoPublic.BytesToHexString(Uii, uiiLen[0]); string a = dataStr; string b = uiiStr.Remove(0, 4); onTagRead.Invoke(b, dataStr); } }
/// <summary> /// Start Tag reading /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public bool startTagReader(byte q) { byte[] Uii = new byte[64]; byte[] pwd = { 0x00, 0x00, 0x00, 0x00 }; DemoPublic.Para para = new DemoPublic.Para(); para.bank = 0x02; para.addr = 0x00; para.pwd = pwd; para.withuii = false; para.uii = Uii; readerFunc((Object)para); return(true); }