第一部分:HCI协议(八)具体的HCI command和event(6、DEVICE DISCOVERY 二)

(6)Inquiry Cancel Command

这个命令用来停止搜索

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

举例说明:

Command如下:

0x01:表示HCI Command Packet

0x0402:表示是HCI_Inquiry_Cancel command

指令的OGF是0x01即0000 01

OCF是0x0002即00 0000 0010

所以整个opcode是0000 0100 0000 0010即0x0402

0x00:表示Parameter_Total_Length=0,即参数总长度是0个byte

对应的Event(Command Complete event):

0x04:表示HCI Event Packet

0x0e:表示这个event是command complete event

0x04:表示Parameter_Total_Length即4个byte

0x01:表示Num_HCI_Command_Packets

0x0402:表示是HCI_Inquiry_Cancel command

0x00:表示status是success

(7)Periodic Inquiry Mode Command

这个命令是用来配置BR/EDR Controller的周期搜索模式

Max_Period_Length(2 Octet):表示从这一次搜索开始到下一次搜索开始的最大时间,取值范围0x03 – 0xFFFF,具体时间是1.28s * Max_Period_Length

Min_Period_Length(2 Octet):表示从这一次搜索开始到下一次搜索开始的最小时间,取值范围0x02 – 0xFFFE,具体时间是1.28s * Min_Period_Length ,BR/EDR Controller会从Max_Period_Length和Min_Period_Length两个值之间随机选择一个值作为周期

LAP(3 Octet):Low Address Part,是一个inquiry access code;这个值通常是0x9E8B33(GIAC)

Inquiry_Length(1 Octet):指定搜索时间,范围是0x01 – 0x30,具体的时间是1.28s * Inquiry_Length,如果Extended_Inquiry_Length也设置了,则搜索持续时间可能是1.28s *(Extended_Inquiry_Length + Inquiry_Length)

Num_Responses(1 Octet):在搜索结束前可以接收的最多响应次数,范围是0x01 – 0xFF,如果这个值设置为0x00表示不限制响应次数。

注意:Max_Period_Length > Min_Period_Length > (Inquiry_Length +

Extended_Inquiry_Length)

举例说明(暂时没有)

(8)Exit Periodic Inquiry Mode Command

这个命令用来结束Periodic Inquiry mode,如果当前BR/EDR Controller正在搜索则会停止搜索并且结束Periodic Inquiry mode

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

举例说明:(暂时没有)

(9)Read Inquiry Scan Activity Command

这个命令用来读取Inquiry_Scan_Interval和Inquiry_Scan_Window的值

注意:Inquiry_Scan_Window <= Inquiry_Scan_Interval

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

Inquiry_Scan_Interval(2 Octet):表示两次inquiry scan的时间间隔,取值范围是0x0012 – 0x1000,即Inquiry_Scan_Interval * 0.625ms

Inquiry_Scan_Window(2 Octet):表示inquiry scan持续的时间,取值范围是0x0011 - 0x1000,即Inquiry_Scan_Window * 0.625ms

举例说明:(暂时没有)

(10)Write Inquiry Scan Activity Command

这个命令用来设置Inquiry_Scan_Interval和Inquiry_Scan_Window

参数说明:

Inquiry_Scan_Interval(2 Octet):表示两次inquiry scan的时间间隔,取值范围是0x0012 – 0x1000,即Inquiry_Scan_Interval * 0.625ms

Inquiry_Scan_Window(2 Octet):表示inquiry scan持续的时间,取值范围是0x0011 - 0x1000,即Inquiry_Scan_Window * 0.625ms

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

举例说明:

Command如下:

0x01:表示HCI Command Packet

0x0C1E:表示是HCI_Write_Inquiry_Scan_Activity command

指令的OGF是0x03即0000 11

OCF是0x001E即00 0001 1110

所以整个opcode是0000 1100 0001 1110即0x0C1E

0x04:表示Parameter_Total_Length=4,即参数总长度是4个byte

0x0800:表示Inquiry_Scan_Interval=0x0800,即0.625 * 2048=1280ms

0x0012:表示Inquiry_Scan_ Window =0x0012,即0.625 * 18 = 11.25ms

对应的Event(Command Complete event):

0x04:表示HCI Event Packet

0x0e:表示这个event是command complete event

0x04:表示Parameter_Total_Length即4个byte

0x01:表示Num_HCI_Command_Packets

0x0C1E:表示是HCI_Write_Inquiry_Scan_Activity command

0x00:表示status是success

(11)Read Inquiry Scan Type Command

这个命令用来获取本地BR/EDR Controller的Inquiry_Scan_Type

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

Inquiry_Scan_Type(1 Octet):0x00表示逐行Scan,0x01表示隔行Scan,默认值是0x00

举例说明:(暂时没有)

(12)Write Inquiry Scan Type Command

这个命令用来配置本地BR/EDR Controller的Inquiry Scan Type

参数说明:

Scan_Type(1 Octet):0x00表示逐行Scan,0x01表示隔行Scan,默认值是0x00

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

举例说明:

Command如下:

0x01:表示HCI Command Packet

0x0C43:表示是HCI_Write_Inquiry_Scan_Type command

指令的OGF是0x03即0000 11

OCF是0x0043即00 0100 0011

所以整个opcode是0000 1100 0100 0011即0x0C43

0x01:表示Parameter_Total_Length=1,即参数总长度是1个byte

0x01:表示Scan_Type=0x01,即隔行scan

对应的Event(Command Complete event):

0x04:表示HCI Event Packet

0x0e:表示这个event是command complete event

0x04:表示Parameter_Total_Length即4个byte

0x01:表示Num_HCI_Command_Packets

0x0C43:表示是HCI_Write_Inquiry_Scan_Type command

0x00:表示status是success

(13)Read Inquiry Mode Command

这个命令用来获取本地BR/EDR Controller 的Inquiry_Mode

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

Inquiry_Mode(1 Octet):搜索模式,0x00表示标准的inquiry result result event

0x01表示inquiry result with RSSI,0x02表示inquiry result with RSSI or Extened inquiry result

举例说明:(暂时没有)

(14)Write Inquiry Mode Command

这个命令用来设置本地BR/EDR Controller 的Inquiry_Mode

参数说明:

Inquiry_Mode(1 Octet):搜索模式,0x00表示标准的inquiry result result event

0x01表示inquiry result with RSSI,0x02表示inquiry result with RSSI or Extened inquiry result

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

举例说明:

Command如下:

0x01:表示HCI Command Packet

0x0C45:表示是HCI_Write_Inquiry_Mode command

指令的OGF是0x03即0000 11

OCF是0x0045即00 0100 0101

所以整个opcode是0000 1100 0100 0101即0x0C45

0x01:表示Parameter_Total_Length=1,即参数总长度是1个byte

0x02:表示Inquiry_Mode =0x02,即示inquiry result with RSSI or Extened inquiry result

对应的Event(Command Complete event):

0x04:表示HCI Event Packet

0x0e:表示这个event是command complete event

0x04:表示Parameter_Total_Length即4个byte

0x01:表示Num_HCI_Command_Packets

0x0C45:表示是HCI_Write_Inquiry_Mode command

0x00:表示status是success

(15)Read Inquiry Response Transmit Power Level Command

这个命令用来获取发送FHS and EIR数据包使用的power level,这个power level可以直接在Tx Power Level EIR data type中使用

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

TX_Power(1 Octet):取值范围-70 ≤ TX_Power ≤ 20

举例说明:(暂时没有)

(16)Write Inquiry Transmit Power Level Command

这个命令用来设置inquiry transmit power level

参数说明:

TX_Power(1 Octet):取值范围-70 ≤ TX_Power ≤ 20

返回参数说明:

Status(1 Octet):0x00表示success;0x01-0xFF error code

举例说明:(暂时没有)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值