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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hci_acldataproc.cpp

?? 藍(lán)牙協(xié)議HCI層指令發(fā)送,主要用于測(cè)試HCI以下的代碼及RF部分測(cè)試.
?? CPP
字號(hào):

//--------------------------------------------------------------- %FILH_BEG% --
//
//  Project:		$$ProjectName
//
//  File name:		HCIDataPacket.cpp
//  Author:			
//  Description:	  
//
//  Revision History:
//  $Log: $
//
//  Rev 1.02  02/22/01 Ek .Modified UnpaqAclEvent() function to handle Acl Packet Format for USB 
//                         properly by decrementing the buffer pointer by 1 Byte to make up for
//                         Uart's TPL byte.
//  Rev 1.01  12/22/00 Ek .Added UnpaqAclEvent(char* AclHeaderBuf, CString& ParamStr) function
//                         to decipher Acl Event.
//            12/18/00    .Changed CHCI_ACLDataProcessor::ParseHCI_ACLData return value from uint8
//                          to tDataParseStatus type to match with other function call
//  Rev 1.00  15 July 2000 Initial release
//    
//
//  Copyright (c) TelenComm Corporation  2000   -   All rights reserved    
//--------------------------------------------------------------- %FILH_END% 
//------------------------------------------------------------------------------
//
//  Includes
//
//------------------------------------------------------------------------------
#include "..\..\..\stdafx.h"
#include "..\..\..\BTHost.h"

#include "..\..\Common\Common.h"
#include "..\..\Data\Inc\HCI_ACLDataProc.h"
#include "..\..\..\comm\SerialCommunication.h"

extern  UINT g_ComPortFlag;	// Used for Serial or USB device Selection
//------------------------------------------------------------------------------
//
//  Declarations
//
//------------------------------------------------------------------------------
                        
//uint8  CHCI_ACLDataProcessor::ParseHCI_ACLData(CHCI_ACLDataPacket& HCI_DataPacket)
CHCI_ACLDataProcessor::tDataParseStatus  CHCI_ACLDataProcessor::ParseHCI_ACLData(CHCI_ACLDataPacket& HCI_DataPacket)
{
  if (HCI_DataPacket.GetParmLen() != (HCI_DataPacket.GetPacketLen() -4))
  {
    // Wrong parameter total length, send error meesage
	TRACE("E001/ParseHCI_ACLData(): Wrong parameter size");

    return ePARAMETER_SIZE_MISMATCH;
  }
  else
  {
      ProcessHCI_ACLData(HCI_DataPacket);
  }
  return ePARSING_OK;
}

uint8  CHCI_ACLDataProcessor::ProcessHCI_ACLData(CHCI_ACLDataPacket& HCI_DataPacket)
{
  FILE *fp;
  CString Msg;

  tConnectionHandle ConnectionHandle = HCI_DataPacket.GetConnectionHandle();
  int ComPortNo = g_odTheBTHostApp.GetCurComPortNo();

  char buf[10] ={'\0'};
  itoa(ConnectionHandle, buf, 10);
  CString str;
  str.Format("%s%s\n"," Connection Handle: ",buf);

  if((fp = fopen(g_pBTHostView1->BTHostLogFile,"a")) == NULL)
  {
    Msg.Format(Msg ," Can't Open %s", g_pBTHostView1->BTHostLogFile);
    AfxMessageBox(Msg);
  }
  fprintf(fp, str);

  (*g_odTheBTHostApp.m_DisplayTextFuncPtrArr[ComPortNo])(str,RESPONSEVIEW);

  char* pRdBufDataSeek = HCI_DataPacket.pGetData();
  int RxPktLen= HCI_DataPacket.GetParmLen();

  FOR_LOOP(i,0,RxPktLen)
  {
    char *p = (pRdBufDataSeek+i);
    char c = *p;

    if( c >=0 && c<=9)
      c += '0';
    else if( c >=0xa && c<=0xf)
      c += 'a' - 0xa;
    else
      c = 'X';
    *p = c;
  }

  CString strReadString(pRdBufDataSeek,RxPktLen );
  strReadString.Format("%s%s%s\n","Data Received: ",strReadString);
  (*g_odTheBTHostApp.m_DisplayTextFuncPtrArr[ComPortNo])(strReadString,RESPONSEVIEW);


  return true;
}
//------------------------------------------------------------------------------
// End of HCI_ACLDataProc.cpp

void CHCI_ACLDataProcessor::UnpaqAclEvent(char* AclHeaderBuf, CString& ParamStr)
{
	CString AclStr,str,Temp;
	char* cp ; 
	uint16 tval16 = 0;
	uint8  tval8  = 0;
    uint8  UartHeader;
	uint16 ConHandle;
	uint8  PacketBoundary;
	uint8  BroadCast;
	uint16 AclDataLen;
	uint16 L2CapLen;
	uint16 L2CapChanID;

	//strcpy(str, g_aPktBuf+(L2CapHeader*2));
	// ACL Packet Format
	// 02 00 20 09 00 05 00 0000
	// --	----- -----	----- ----
	//


    // For USB there is no first byte for UartHeader, to make an adjusment we decremnet cp by 2
    if(g_ComPortFlag == USB_PORT)
        cp = AclHeaderBuf -2;   
    else
        cp = AclHeaderBuf;

	UartHeader = 0x02;
	sscanf(cp + 2, "%4X",&tval16);  tval8 = (tval16 & 0x000F );
	uint16 val = tval16 >> 8; 
	ConHandle  = (val << 4) + tval8;										// Connection handle is 12 Bits
	tval16 = tval8 = 0;
	sscanf(cp + 4, "%2X",&tval8);   PacketBoundary = (tval8 >> 4) & 0x3 ;	// Packet Boundry is 2 Bits
	sscanf(cp + 4,"%2X",&tval8);    BroadCast  = (tval8 >> 6) & 0x3;		// Broadcast Flag is 2 Bits

	sscanf(cp + 6, "%4X",&tval16);  
	AclDataLen = ((tval16 & 0xFF) << 8) + ((tval16 & 0xFF00) >> 8) & 0xFFFF;// Data Length is 2Bytes

	sscanf(cp +10, "%4X",&tval16);
	L2CapLen   = ((tval16 & 0xFF) << 8) + ((tval16 & 0xFF00) >> 8) & 0xFFFF;// Data Length is 2Bytes
 
	sscanf(cp +14, "%4X",&tval16);
	L2CapChanID= ((tval16 & 0xFF) << 8) + ((tval16 & 0xFF00) >> 8) & 0xFFFF;// Data Length is 2Bytes

    // For USB ther is no first byte for UartHeader
    if(g_ComPortFlag != USB_PORT)
    {
      Temp.Empty();
	  Temp.Format		   ("\tUART Tl Header:              [1]  %-.2X\n",UartHeader);
    }
    ParamStr += Temp;		Temp.Empty();
	Temp.Format		       ("\tConnection Handle:           [2]  %-.4X\n",ConHandle);
	ParamStr += Temp;		Temp.Empty();

	CString pBound,bCast;
	if(PacketBoundary == 0)
	    pBound.Format("%-.2X  Reserved For Future",PacketBoundary);
  	else if(PacketBoundary == 1)
	    pBound.Format("%-.2X  Continuing Packet",PacketBoundary);
	else if(PacketBoundary == 2)
	    pBound.Format("%-.2X  First Packet",PacketBoundary);
  	else if(PacketBoundary == 3)
  	    pBound.Format("%-.2X  Reserved For Future",PacketBoundary);
	else
	    pBound = " ";

	if(BroadCast == 0)
	    bCast.Format ("%-.2X  Point To Point", BroadCast);  
	else if(BroadCast == 1)
	    bCast.Format ("%-.2X  Active Broadcast", BroadCast);  
	else if(BroadCast == 2)
	    bCast.Format ("%-.2X  Piconet Broadcast", BroadCast);  
	else if(BroadCast == 3)
	    bCast.Format ("%-.2X  Reserved For Future", BroadCast);  
	else
	    bCast = " ";

	Temp.Format		   ("\tPacket Boundry Flag:         [<1] %s\n",pBound);
	ParamStr += Temp;		Temp.Empty();
	Temp.Format		   ("\tBroadcast Flag:              [<1] %s\n",bCast);
	ParamStr += Temp;		Temp.Empty();
	Temp.Format		   ("\tDataLen:                     [2]  %-.4X\n",AclDataLen);
	ParamStr += Temp;		Temp.Empty();
	Temp.Format		   ("\tL2Cap Length:                [2]  %-.4X\n",L2CapLen);
	ParamStr += Temp;		Temp.Empty();
	Temp.Format		   ("\tL2Cap Channel ID:            [2]  %-.4X\n",L2CapChanID);
	ParamStr += Temp;		Temp.Empty();

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩在线| 欧美一级日韩免费不卡| 国产精品人妖ts系列视频| 懂色av一区二区三区免费观看| 亚洲国产高清aⅴ视频| 91麻豆蜜桃一区二区三区| 一区二区成人在线视频| 日韩一区二区在线观看视频| 国产麻豆91精品| 国产精品美女久久久久高潮| 在线观看视频欧美| 久久精品噜噜噜成人av农村| 国产视频亚洲色图| 日本久久一区二区| 麻豆一区二区99久久久久| 国产精品视频yy9299一区| 欧美亚洲综合另类| 精品一区二区三区免费播放| 亚洲视频一二三区| 欧美一区二区成人| 成人av免费网站| 日韩中文字幕区一区有砖一区 | 91亚洲午夜精品久久久久久| 亚洲高清在线视频| 国产日产欧美一区二区三区| 欧美性xxxxxxxx| 国产久卡久卡久卡久卡视频精品| 一区二区三区成人| 亚洲精品一区二区三区99| 色综合久久中文字幕综合网| 另类小说一区二区三区| 亚洲天堂久久久久久久| 精品少妇一区二区三区在线播放| av一二三不卡影片| 免费观看久久久4p| 亚洲欧美日韩国产综合在线| 精品国产一区久久| 欧美少妇性性性| 国产黑丝在线一区二区三区| 亚洲va欧美va天堂v国产综合| 国产色综合一区| 91精品国产福利在线观看| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 中文字幕的久久| 日韩欧美视频在线 | 51精品秘密在线观看| 成人av手机在线观看| 久久国产精品色| 五月婷婷久久综合| 亚洲日本va午夜在线影院| 久久女同性恋中文字幕| 欧美剧情片在线观看| 91蜜桃视频在线| 国产成人鲁色资源国产91色综 | 伊人色综合久久天天人手人婷| 久久久91精品国产一区二区三区| 欧美日韩国产一级片| 91麻豆国产精品久久| 成人免费毛片片v| 国产精品一区二区在线看| 免费观看30秒视频久久| 日韩国产欧美一区二区三区| 亚洲成人免费观看| 亚洲1区2区3区4区| 亚洲一区二区三区四区在线免费观看 | 国产欧美一区二区精品忘忧草 | 91在线视频官网| 丁香天五香天堂综合| 国产精品综合久久| 国产精品小仙女| 国产成人免费视频精品含羞草妖精| 麻豆久久久久久| 七七婷婷婷婷精品国产| 蜜桃久久av一区| 久久av老司机精品网站导航| 蜜臀a∨国产成人精品| 久久精品国产精品亚洲精品| 免费成人结看片| 激情五月激情综合网| 国产乱码精品1区2区3区| 国产成人日日夜夜| 99久久伊人久久99| 99精品桃花视频在线观看| av一区二区不卡| 91国产成人在线| 欧美日本免费一区二区三区| 3d动漫精品啪啪| 欧美大白屁股肥臀xxxxxx| 久久午夜色播影院免费高清| 国产精品色呦呦| 亚洲欧美日韩在线| 亚洲午夜私人影院| 美女在线视频一区| 国产69精品久久久久毛片| av不卡在线播放| 色婷婷综合五月| 91精品国产麻豆国产自产在线| 91精品国产综合久久久久久久久久| 日韩精品一区二区三区在线| 久久精品在这里| 亚洲欧美激情一区二区| 亚洲123区在线观看| 麻豆91在线播放免费| 国产二区国产一区在线观看| 91色乱码一区二区三区| 欧美绝品在线观看成人午夜影视| 精品免费视频一区二区| 中文字幕中文字幕中文字幕亚洲无线| 亚洲综合成人网| 极品少妇xxxx精品少妇| 91一区二区在线| 日韩欧美一级二级| √…a在线天堂一区| 日韩和欧美的一区| 粉嫩aⅴ一区二区三区四区五区| 91国产免费看| 久久久国际精品| 亚洲一区视频在线观看视频| 国产曰批免费观看久久久| 色网站国产精品| 久久综合九色综合97婷婷| 一区二区三区中文在线| 国产一二精品视频| 欧美日韩一二三| 国产精品成人免费| 蜜臀a∨国产成人精品| 日本韩国欧美在线| 久久久久久久免费视频了| 亚洲电影在线免费观看| 成人激情小说乱人伦| 91精品国产福利| 一区二区三区欧美日韩| 国产成人综合精品三级| 欧美一区二区黄色| 亚洲激情自拍视频| 波多野结衣在线一区| 精品国产伦一区二区三区观看体验| 樱桃国产成人精品视频| 成人禁用看黄a在线| 2020国产精品自拍| 人人精品人人爱| 欧美男女性生活在线直播观看| 中文字幕成人av| 国产精品一二三四| 精品日韩av一区二区| 三级精品在线观看| 欧美亚洲图片小说| 亚洲欧美国产毛片在线| 成人综合婷婷国产精品久久免费| 日韩视频中午一区| 免费在线观看视频一区| 欧美日本韩国一区| 亚洲一区二区三区在线播放| 色婷婷亚洲婷婷| 亚洲精品国产a| 色婷婷av一区二区三区大白胸| 国产精品久久久久三级| 国产成人免费在线观看不卡| xfplay精品久久| 极品销魂美女一区二区三区| 欧美成人精品3d动漫h| 蜜臀久久99精品久久久画质超高清| 欧美日韩大陆一区二区| 午夜在线成人av| 欧美日韩国产不卡| 日本午夜精品视频在线观看 | 激情成人综合网| 精品日韩在线一区| 国产一区二区导航在线播放| 国产亚洲综合在线| 国产乱子轮精品视频| 26uuu成人网一区二区三区| 国产麻豆成人精品| 国产精品久线在线观看| 95精品视频在线| 亚洲图片自拍偷拍| 欧美一区午夜视频在线观看| 精品伊人久久久久7777人| 久久综合色天天久久综合图片| 国产精品中文字幕欧美| 国产精品电影一区二区三区| 在线亚洲人成电影网站色www| 亚洲大片在线观看| 精品捆绑美女sm三区| 国产精品综合在线视频| 亚洲欧美日韩中文字幕一区二区三区 | 久久久久久久久久电影| 懂色一区二区三区免费观看 | 日韩欧美电影一区| 激情欧美一区二区三区在线观看| 久久九九99视频| 91香蕉国产在线观看软件| 亚洲免费毛片网站| 欧美一二三区精品| 成人国产精品视频| 亚洲第一主播视频| 久久青草欧美一区二区三区| 一本色道亚洲精品aⅴ| 免费在线一区观看| 中文字幕一区二区三区蜜月 |