//对解出的帧,分命令进行处理 private void CmdProcess(Package resp) { switch (resp.CMD) { case CmdEnum.CMD_INVENTORY: if ((InvReqFlg == false) && (AntiReqFlg == false) && (AutoReadHandler != null) && (resp.DataLen == UIDLEN)) { AutoReadEventArgs args = new AutoReadEventArgs(); args.comm.ReaderID = resp.ReaderID; args.comm.addr = AddrStr; args.comm.port = port_baud; args.ant = resp.Ant; for (int i = 0; i < UIDLEN; i++) { args.UID[i] = resp.Datas[i]; } AutoReadHandler.BeginInvoke(this, args, null, null); return; } else if ((AntiReqFlg == true) && (resp.DataLen == UIDLEN)) { AntiResult.add(resp.Datas, resp.Ant); return; } break; case CmdEnum.CMD_GPI_TRRIGER: if (GPITriggerHandler != null) { GPITriggerEventArgs args = new GPITriggerEventArgs(); args.comm.ReaderID = resp.ReaderID; args.comm.addr = AddrStr; args.comm.port = port_baud; if (resp.DataLen == 0) //兼容前期未返回端口号的读写器软件 { args.Gpi = GpiEnum.GPI_1; } else { args.Gpi = (GpiEnum)resp.Datas[0]; } GPITriggerHandler.BeginInvoke(this, args, null, null); } return; default: break; } lock (Resp) { if (!WaitHeartBeatCmdResp || resp.CMD != HeartBeatCmd) { Resp.copy(resp); } else { HeartBeatResp.copy(resp); } } }
internal AutoReadInitializer(bool readInEventLoop) { this.AutoReadHandler = new AutoReadHandler(readInEventLoop); }
public AutoReadInitializer(bool readInEventLoop) { _autoReadHandler = new AutoReadHandler(readInEventLoop); }