亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hcieventpacketproc.cpp

?? 藍牙協議HCI層指令發送,主要用于測試HCI以下的代碼及RF部分測試.
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
 uint8        u8LMP_Version,
 uint32        u16ManufacturerName,
 uint8        u16LMP_Subversion
)*/

uint8    HCI_EventsInterfaceProcFunctions::ReadRemoteVersionInformationCompleteEvent(CHCI_EventPacket& rHCI_EventPacket)
{
  CString Temp; int n;
  CString EventCode;
  CString Status;
  CString ConHandle;
  CString LMP_Version;
  CString ManName ;
  CString LMP_SubVersion;
  CString ParamStr;
  char buf1[10] = {'\0'},buf2[10] = {'\0'},buf3[10] = {'\0'},buf4[10] = {'\0'},buf5[10] = {'\0'};
  char ErrorDef[40] = {'\0'};

  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  uint8 ParamLength= rHCI_EventPacket.GetParmLen();

  sReadRemoteVersionInformationCompleteEvent* psReadRemoteVersion = (sReadRemoteVersionInformationCompleteEvent*)rHCI_EventPacket.GetHCI_EventPacketParam();

  Temp.Format ("%.2X", EventIndex ); 
  EventCode.Format    ("\tEvent Code:                  [1]  %s\n", Temp );  
  
  if(psReadRemoteVersion->Status) {
    g_pChildFrame->ErrorDef((char *)(&psReadRemoteVersion->Status), ErrorDef); 
 	Temp.Format ("%.2X   - %s", psReadRemoteVersion->Status, ErrorDef);
  }else
    Temp.Format ("%.2X",psReadRemoteVersion->Status); 

  Status.Format       ("\tStatus:                      [%d]  %s\n",sizeof(psReadRemoteVersion->Status), Temp );

  Temp.Format ("%-.4X", psReadRemoteVersion->ConnectionHandle);  n = Temp.GetLength(); 
  ConHandle.Format    ("\tConnectionHandle:            [%d]  %s\n",sizeof(psReadRemoteVersion->ConnectionHandle), Temp );

  BT_itoa(&psReadRemoteVersion->u8LMP_Version ,1, buf3);
  Temp.Format ("%s", buf3);  n = Temp.GetLength(); 
  LMP_Version.Format  ("\tLMP_Version:                 [%d]  %s\n",sizeof(psReadRemoteVersion->u8LMP_Version), Temp );
 
  //BT_itoa(&psReadRemoteVersion->u16ManufacturerName ,2, buf4);
  Temp.Format ("%-.4X", psReadRemoteVersion->u16ManufacturerName);  n = Temp.GetLength(); 
  ManName.Format      ("\tManufacturer_Name:           [%d]  %s\n",sizeof(psReadRemoteVersion->u16ManufacturerName), Temp );

  //BT_itoa(&psReadRemoteVersion->u16LMP_Subversion ,2, buf5);
  Temp.Format ("%-.4X", psReadRemoteVersion->u16LMP_Subversion);  n = Temp.GetLength(); 
  LMP_SubVersion.Format("\tLMP_SubVersion:              [%d]  %s\n",sizeof(psReadRemoteVersion->u16LMP_Subversion), Temp );

  ParamStr = EventCode + Status	+ ConHandle	+ LMP_Version + ManName + LMP_SubVersion ;
  g_pChildFrame->ParamListForOutput(ParamStr);
  
  
  return true; 
}

//   /*teHCI_EVENT_ERROR_CODE teStatus,
//   tConnectionHandle  ConnectionHandle,
//   uint8        u8Flags,
//   uint8        u8ServiceType,
//   uint32        u32TokenRate,
//   uint32        u32PeakBW,
//   uint32        u32Latency,
//   uint32        u32DelayVariation
//   )*/

uint8    HCI_EventsInterfaceProcFunctions::QosSetupCompleteEvent(CHCI_EventPacket& rHCI_EventPacket)
{
  CString Temp; int n;
  CString EventCode;
  CString Status;
  CString ConHandle;
  CString Flags;
  CString ServiceType ;
  CString TokenRate;
  CString PeakBW;
  CString Latency;
  CString DelayVariation;
  CString ParamStr;
  char buf1[15] = {'\0'},buf2[10] = {'\0'},buf3[10] = {'\0'},buf4[10] = {'\0'};
  char buf5[15] = {'\0'},buf6[15] = {'\0'},buf7[15] = {'\0'},buf8[15] = {'\0'};
  char ErrorDef[40] = {'\0'};
  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  uint8 ParamLength= rHCI_EventPacket.GetParmLen();

  sQosSetupCompleteEvent* psQosSetup = (sQosSetupCompleteEvent*)rHCI_EventPacket.GetHCI_EventPacketParam();

  Temp.Format ("%.2X", EventIndex ); 
  EventCode.Format    ("\tEvent Code:                  [1]  %s\n", Temp );  
  
  if(psQosSetup->Status) {
    g_pChildFrame->ErrorDef((char *)(&psQosSetup->Status), ErrorDef); 
 	Temp.Format ("%.2X   - %s", psQosSetup->Status, ErrorDef);
  }else
    Temp.Format ("%.2X",psQosSetup->Status); 

  Status.Format       ("\tStatus:                      [%d]  %s\n",sizeof(psQosSetup->Status), Temp );

  Temp.Format ("%-.4X", psQosSetup->ConnectionHandle);  n = Temp.GetLength(); 
  ConHandle.Format    ("\tConnectionHandle:            [%d]  %s\n",sizeof(psQosSetup->ConnectionHandle), Temp );

  BT_itoa(&psQosSetup->u8Flags ,1, buf3);
  Temp.Format ("%s", buf3);  n = Temp.GetLength(); 
  Flags.Format        ("\tFlags:                       [%d]  %s\n",sizeof(psQosSetup->u8Flags), Temp );
 
  BT_itoa(&psQosSetup->u8ServiceType ,1, buf4);
  Temp.Format ("%s", buf4);  n = Temp.GetLength(); 
  ServiceType.Format  ("\tSeviceType:                  [%d]  %s\n",sizeof(psQosSetup->u8ServiceType), Temp );

  for(int i =0; i < 15; i++) buf1[i] = '\0';
  BT_itoa(&psQosSetup->u32TokenRate ,4, buf1);
  BT_ReverseStr(buf1, buf5);

  Temp.Format ("%s", buf5);  n = Temp.GetLength(); 
  TokenRate.Format    ("\tTokenRate:                   [%d]  %s\n",sizeof(psQosSetup->u32TokenRate), Temp );

  for(i =0; i < 15; i++) buf1[i] = '\0';
  BT_itoa(&psQosSetup->u32PeakBW ,4, buf1);
  BT_ReverseStr(buf1, buf6);

  Temp.Format ("%s", buf6);  n = Temp.GetLength(); 
  PeakBW.Format       ("\tPeakBW:                      [%d]  %s\n",sizeof(psQosSetup->u32PeakBW), Temp );

  for(i =0; i < 15; i++) buf1[i] = '\0';
  BT_itoa(&psQosSetup->u32Latency ,4, buf1);
  BT_ReverseStr(buf1, buf7);

  Temp.Format ("%s", buf7);  n = Temp.GetLength(); 
  Latency.Format      ("\tLatency:                     [%d]  %s\n",sizeof(psQosSetup->u32Latency), Temp );

  for(i =0; i < 15; i++) buf1[i] = '\0';
  BT_itoa(&psQosSetup->u32DelayVariation ,4, buf1);
  BT_ReverseStr(buf1, buf8);

  Temp.Format ("%s", buf8);  n = Temp.GetLength(); 
  DelayVariation.Format("\tDelay Variation:             [%d]  %s\n",sizeof(psQosSetup->u32DelayVariation), Temp );

  
  ParamStr = EventCode + Status	+ ConHandle	+ Flags + ServiceType + TokenRate + PeakBW + Latency + DelayVariation ;
  g_pChildFrame->ParamListForOutput(ParamStr);
  
  
 return true;
}
//------------------------------------------------------------------------------
//
//  5.2.14 Command Complete Event
//
//------------------------------------------------------------------------------


uint8    HCI_EventsInterfaceProcFunctions::CommandCompleteEvent(CHCI_EventPacket& rHCI_EventPacket)
{
  int n;
  int Index;
 
  CString Temp;
  CString Status;
  CString CPacketAll;
  CString EventCode;
  CString OpCodeStr;
  CString ParamStr;
  CString UartTlStr;

  sCommandCompleteEvent *psCmdCompEv;
  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  psCmdCompEv = (sCommandCompleteEvent*)rHCI_EventPacket.GetHCI_EventPacketParam();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  uint8 UartTl     = rHCI_EventPacket.GetUartTl();
  uint8 ParamLen   = rHCI_EventPacket.GetParmLen();
  g_NumHciCommandPackets = psCmdCompEv->NumHCI_CmdPkts;
  int MaxNoOfCmds =0;

  uint16 OpCode = (psCmdCompEv->u8CommandOpcode[1] << 8 )+(psCmdCompEv->u8CommandOpcode[0]);
  //uint16 OpCode = (uint16)psCmdCompEv->u16CommandOpcode;

  //msg.Format("Testing:[%X][%X]\n", (*psCmdCompEv),g_NumHciCommandPackets);//OpCode );
  //g_pChildFrame->ParamListForOutput(msg);

  int CmdType = GET_OGF(OpCode);

  if (CmdType == 0x3F)
	  CmdType = 0x7 ; //;eVEND_SPEC_CMD		// EK Vendor Specific Command
  
  if(CmdType >=1 && CmdType <= 7)	//Change the limit from 6 to 3F
  {
    Index = g_pHCIProcessor->FindHCICommandType(OpCode);
    if(Index != -1)
    {

      CHCIBaseCmdProcessor::tHCICommandTableItem*   pHCICommandTable = (g_pHCIProcessor->CmdTypeTable[CmdType]).CmdTable;      
      pHCICommandTable[Index].CmdRetParamFunction((char *)(++psCmdCompEv)); 

      if (g_ComPortFlag != USB_PORT)
      {
        Temp.Format ("%.2X", UartTl ); n = Temp.GetLength(); // Return Number of Characters
        UartTlStr.Format  ("\tUART Tl Header:              [1]  %s\n", Temp );  
      }
      Temp.Format ("%.2X", EventIndex ); n = Temp.GetLength(); // Return Number of Characters
      EventCode.Format  ("\tEvent Code:                  [1]  %s\n", Temp );  

      Temp.Format ("%.2X", ParamLen ); n = Temp.GetLength(); // Return Number of Characters
      ParamStr.Format   ("\tParamLen:                    [1]  %s\n", Temp );  

      Temp.Format ("%.2X",g_NumHciCommandPackets); n = Temp.GetLength(); // Return Number of Characters
      CPacketAll.Format ("\tNum HCI Command Packets:     [1]  %s\n", Temp );  

      Temp.Format ("%-.4X", OpCode ); n = Temp.GetLength(); // Return Number of Characters
      OpCodeStr.Format  ("\tOpCode:                      [2]  %s\n", Temp );  

 
      ParamStr = UartTlStr + EventCode + ParamStr + CPacketAll + OpCodeStr + Status; 
	  
      //g_ComReadListCritSec[ComPortNo].Lock();
  	  //g_omSerialResponseStringList[ComPortNo].AddTail(ParamStr);
  	  //g_ComReadListCritSec[ComPortNo].Unlock();
      //PostMessage(g_pChildFrame->GetSafeHwnd(),WM_SERIAL_READ_OPN_OVER,ComPortNo ,0);
      g_pChildFrame->ParamListForOutput(ParamStr);	  
	  
      return true;
    }

  }
  //MessageBox(NULL,"Wrong command code in Command Complete Event packet","Error",MB_OK|MB_ICONWARNING);
  return false;
}
//------------------------------------------------------------------------------
//
//  5.2.15 Command Status Event
//
//------------------------------------------------------------------------------

uint8    HCI_EventsInterfaceProcFunctions::CommandStatusEvent(CHCI_EventPacket& rHCI_EventPacket)
{
 
  CString Temp;
  CString StatusStr;
  CString CPacketAll;
  CString EventCode;
  CString ParamStr;
  char    ErrorDef[60]= {'\0'};
  struct  sCommandStatusEventParams
  {
    uint8  teStatus;
    uint8  u8NumHCICommandPackets;
    uint16  u16CommandOpcode;
  }*psCommandStatusEventParams;
 
//  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  psCommandStatusEventParams = (sCommandStatusEventParams*)rHCI_EventPacket.GetHCI_EventPacketParam();
  UCHAR Status = psCommandStatusEventParams->teStatus;

  g_NumHciCommandPackets = psCommandStatusEventParams->u8NumHCICommandPackets;
  uint16 OpCode = psCommandStatusEventParams->u16CommandOpcode;
  int Index;       //= GET_OCF(opcode);
  int CmdType = GET_OGF(OpCode);

  if (CmdType == 0x3F)
	  CmdType = 0x07; //eVEND_SPEC_CMD;		// EK Vendor Specific Command

  if(CmdType >=1 && CmdType <= 7)
  {
    Index = g_pHCIProcessor->FindHCICommandType(OpCode);
    if(Index != -1)
    {

      CHCIBaseCmdProcessor::tHCICommandTableItem*   pHCICommandTable = (g_pHCIProcessor->CmdTypeTable[CmdType]).CmdTable;
	  pHCICommandTable[Index].CmdRetParamFunction((char *)(psCommandStatusEventParams));  
	  //pHCICommandTable[Index].CmdRetParamFunction((char *)(++psCommandStatusEventParams));

  
	  if(Status) {
		g_pChildFrame->ErrorDef((char *)(psCommandStatusEventParams), ErrorDef); 
 	    Temp.Format ("%.2X   - %s", Status, ErrorDef);
	  }else
        Temp.Format ("%.2X", Status);
      StatusStr.Format ("\tStatus:                      [1]  %s\n", Temp ); 

	  Temp.Format ("%.2X", EventIndex ); //n = Temp.GetLength(); // Return Number of Characters
      EventCode.Format ("\tEvent Code:                  [1]  %s\n", Temp );  

      Temp.Format ("%.2X", g_NumHciCommandPackets ); //n = Temp.GetLength(); 
      CPacketAll.Format("\tCommand Packets Allowed:     [1]  %s\n",Temp);

      ParamStr = StatusStr + EventCode  + CPacketAll; 
	  
      //g_ComReadListCritSec[ComPortNo].Lock();
  	  //g_omSerialResponseStringList[ComPortNo].AddTail(ParamStr);
  	  //g_ComReadListCritSec[ComPortNo].Unlock();
      //PostMessage(g_pChildFrame->GetSafeHwnd(),WM_SERIAL_READ_OPN_OVER,ComPortNo ,0); 

      g_pChildFrame->ParamListForOutput(ParamStr);	
	  
      return true;
    }

  }
  MessageBox(NULL,"Wrong command code in Command status Event packet","Error",MB_OK|MB_ICONWARNING);
  return false;
}

//------------------------------------------------------------------------------
//
//  5.2.16 Hardware Error Event
//
//------------------------------------------------------------------------------


uint8    HCI_EventsInterfaceProcFunctions::HardwareErrorEvent(CHCI_EventPacket& rHCI_EventPacket)/*uint8  HardwareCode )*/

{
  CString Temp; 
  CString EventCode;
  CString HardwareCode;
  CString ParamStr;
  char buf1[10] = {'\0'};

  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();
  uint8 ParamLength= rHCI_EventPacket.GetParmLen();

  sHardwareErrorEvent* psHardwareError = (sHardwareErrorEvent*)rHCI_EventPacket.GetHCI_EventPacketParam();

  Temp.Format ("%.2X", EventIndex ); 
  EventCode.Format    ("\tEvent Code:                  [1]  %s\n", Temp );  
  
  BT_itoa(&psHardwareError->HardwareCode ,1, buf1);
  Temp.Format ("%s", buf1);   
  HardwareCode.Format ("\tHardware Code:               [%d]  %s\n",sizeof(psHardwareError->HardwareCode), Temp );

  ParamStr = EventCode + HardwareCode	;
  g_pChildFrame->ParamListForOutput(ParamStr);
 
  return true; 
}
uint8    HCI_EventsInterfaceProcFunctions::FlushOccuredEvent(CHCI_EventPacket& rHCI_EventPacket)/*tConnectionHandle ConnectionHandle)*/
{
  CString Temp; 
  CString EventCode;
  CString ConHandle;
  CString ParamStr;
  char buf1[10] = {'\0'};

  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  uint8 EventIndex = rHCI_EventPacket.GetOpCode();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的av在线| 亚洲精品在线观| 日韩你懂的在线播放| 中文字幕在线观看一区| 日韩av中文字幕一区二区三区| 国产成人精品免费看| 欧美色倩网站大全免费| 精品99999| 午夜免费久久看| 91农村精品一区二区在线| 精品欧美久久久| 舔着乳尖日韩一区| 在线视频一区二区三| 亚洲国产成人午夜在线一区| 蜜乳av一区二区三区| 欧美久久久久免费| 1区2区3区欧美| 成人一区二区三区视频| 精品欧美一区二区三区精品久久 | 日本乱人伦aⅴ精品| 国产亚洲婷婷免费| 九九九久久久精品| 在线综合亚洲欧美在线视频| 一二三区精品视频| 在线影院国内精品| 亚洲精品免费在线| 一本到不卡精品视频在线观看| 国产蜜臀97一区二区三区| 国产精品99久久久| 久久精品亚洲麻豆av一区二区| 麻豆精品视频在线观看免费 | 天天操天天干天天综合网| 欧美亚洲愉拍一区二区| 亚洲欧美一区二区三区孕妇| 成人高清av在线| 国产欧美精品在线观看| 成人一区二区三区| 中文字幕视频一区| 91免费精品国自产拍在线不卡| 中文字幕一区二区日韩精品绯色| 99国产精品国产精品久久| 亚洲欧美自拍偷拍| 一本到不卡精品视频在线观看| 亚洲黄色免费电影| 91麻豆精品久久久久蜜臀| 奇米精品一区二区三区在线观看一 | 午夜精品一区在线观看| 欧美高清www午色夜在线视频| 首页亚洲欧美制服丝腿| 精品国产乱码久久久久久闺蜜| 久久99精品久久久久婷婷| 久久精品一级爱片| 91亚洲精品乱码久久久久久蜜桃 | 色婷婷久久99综合精品jk白丝| 一区二区三区不卡视频在线观看 | 91免费国产视频网站| 亚洲国产人成综合网站| 日韩欧美电影一二三| 成人一区二区三区中文字幕| 亚洲综合无码一区二区| 日韩精品在线一区二区| 成人夜色视频网站在线观看| 亚洲精品福利视频网站| 91精品欧美福利在线观看| 国产综合久久久久久久久久久久| 中文字幕日韩一区| 91麻豆精品91久久久久久清纯| 国产乱国产乱300精品| 一区二区欧美精品| 欧美变态tickle挠乳网站| 成人av网址在线| 日韩精品成人一区二区三区| 亚洲国产精品黑人久久久| 欧美三级资源在线| 丁香五精品蜜臀久久久久99网站| 伊人开心综合网| 久久综合久久鬼色| 欧美色综合网站| 国产成人精品一区二区三区网站观看| 亚洲夂夂婷婷色拍ww47| 久久精品人人做| 宅男在线国产精品| 91捆绑美女网站| 国产精品 欧美精品| 日本不卡免费在线视频| 亚洲女同一区二区| 国产亚洲污的网站| 精品少妇一区二区三区视频免付费 | 最新国产成人在线观看| 精品欧美一区二区三区精品久久 | 一本久久精品一区二区| 国产一区二区三区久久久| 亚洲成年人网站在线观看| 国产精品不卡在线观看| 欧美va日韩va| 欧美日韩精品免费| 在线免费精品视频| eeuss鲁一区二区三区| 久久超碰97中文字幕| 亚洲狠狠爱一区二区三区| 专区另类欧美日韩| 国产午夜精品美女毛片视频| 精品理论电影在线| 日韩一二三四区| 欧美老肥妇做.爰bbww| 色婷婷亚洲精品| 91麻豆视频网站| 成人国产精品免费网站| 国产1区2区3区精品美女| 韩国午夜理伦三级不卡影院| 美腿丝袜亚洲一区| 日本不卡的三区四区五区| 日韩经典一区二区| 日韩精品色哟哟| 日韩成人av影视| 青青草国产精品97视觉盛宴 | 欧美大尺度电影在线| 在线电影国产精品| 欧美老人xxxx18| 欧美老年两性高潮| 欧美一区二区三区精品| 日韩免费高清av| 精品国产自在久精品国产| 欧美mv和日韩mv国产网站| 久久综合九色综合欧美98| 久久久91精品国产一区二区精品| 久久先锋影音av鲁色资源网| 国产日韩综合av| 国产精品免费av| 亚洲精品日产精品乱码不卡| 一个色在线综合| 另类中文字幕网| 国产精品一二三在| 91在线精品一区二区三区| 欧美性生交片4| 日韩丝袜美女视频| www久久精品| 亚洲欧洲韩国日本视频| 亚洲福利视频导航| 精品亚洲成a人在线观看| 国产成人午夜精品5599| 99久久99久久精品免费看蜜桃| 在线亚洲+欧美+日本专区| 欧美一卡在线观看| 亚洲国产成人私人影院tom| 亚洲卡通欧美制服中文| 青青草国产精品97视觉盛宴| 成熟亚洲日本毛茸茸凸凹| 色视频成人在线观看免| 91精品国产欧美一区二区18| 国产欧美1区2区3区| 亚洲成人综合视频| 国产精品白丝av| 欧美三级韩国三级日本一级| 日韩一区二区三区四区| 中文字幕一区在线| 日韩国产成人精品| 91在线视频官网| 精品国产成人系列| 亚洲精品高清在线观看| 国产一区二区三区免费在线观看| 日本韩国一区二区| 久久美女高清视频| 洋洋av久久久久久久一区| 国产一区二区调教| 欧美日本视频在线| 最新国产の精品合集bt伙计| 卡一卡二国产精品 | 日韩欧美国产高清| 一区二区三区四区在线免费观看| 精品在线一区二区三区| 欧美视频精品在线观看| 成人欧美一区二区三区黑人麻豆| 久久超碰97人人做人人爱| 色国产综合视频| 中文字幕国产一区| 久久国内精品自在自线400部| 日本丶国产丶欧美色综合| 久久精品一区蜜桃臀影院| 老司机精品视频一区二区三区| av中文字幕不卡| 国产午夜精品一区二区 | 亚洲电影一级片| 91麻豆免费观看| 中文在线一区二区| 国产一级精品在线| 欧美精品一区在线观看| 免费高清成人在线| 欧美丰满高潮xxxx喷水动漫| 亚洲欧美国产77777| 成人aaaa免费全部观看| 国产日韩成人精品| 国产成人自拍在线| 久久综合狠狠综合久久激情 | 成人高清免费观看| 国产欧美日韩卡一| 国产美女av一区二区三区| 欧美电影免费观看高清完整版 | 一区二区欧美视频| 日本高清不卡一区|