Esempio n. 1
0
        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);
        }