private bool ProcessQData(TxDataOut txDataOut, ref bool dataFound) { bool flag = true; dataFound = false; ushort key = txDataOut.CmdOpcode; if (HCIStopWait.CmdChkDict.ContainsKey(key) && HCIStopWait.CmdChkDict[key].StopWait && HCIStopWait.CmdDict.ContainsKey(key)) { HCIStopWait.StopWaitData stopWaitData = HCIStopWait.CmdDict[key]; stopWaitEvent = new HCIStopWait.StopWaitEvent(); stopWaitEvent.CmdName = txDataOut.CmdName; stopWaitEvent.TxOpcode = (HCICmds.HCICmdOpcode)key; stopWaitEvent.ReqEvt = stopWaitData.ReqEvt; stopWaitEvent.RspEvt1 = stopWaitData.RspEvt1; stopWaitEvent.RspEvt2 = stopWaitData.RspEvt2; stopWaitEvent.ExtCmdStat = new HCIStopWait.ExtCmdStat(); stopWaitEvent.ExtCmdStat.MsgComp = stopWaitData.ExtCmdStat.MsgComp; stopWaitEvent.CmdGrp = stopWaitData.CmdGrp; stopWaitEvent.CmdType = txDataOut.CmdType; stopWaitEvent.MsgComp = stopWaitData.MsgComp; stopWaitEvent.TxTime = string.Empty; stopWaitEvent.Tag = txDataOut.Tag; stopWaitEvent.Callback = txDataOut.Callback; if (ShowProgressCallback != null) { ShowProgressCallback(true); } if (DeviceRxStopWaitCallback != null) { DeviceRxStopWaitCallback(true, stopWaitEvent); } stopWaitMsg = true; stopWaitSuccessEvent.Reset(); } txDataOut.Time = DateTime.Now.ToString("hh:mm:ss.fff"); if (stopWaitEvent != null) { stopWaitEvent.TxTime = txDataOut.Time; } if (DeviceTxDataCallback != null) { DeviceTxDataCallback(txDataOut); } dataFound = true; return(flag); }