第一部分:HCI协议(八)具体的HCI command和event(5、CONTROLLER CONFIGURATION 一)
5、CONTROLLER CONFIGURATION
这里只记录常用的几个command和event(LE的先不记录)
(1)Read Local Name Command
这个command用来获取BR/EDR Controller中存储的设备的名字
Local Name是一个248 octets长度的UTF-8编码的字符串,如果Local Name长度不足248 octets,则最后用空字符0x00结束,名字的顺序就是按照获取数据的顺序(例如收到的数据是0x31 0x32 0x33;则名字就是123(1、2、3对应的ASCII码分别是0x31、0x32、0x33))
返回参数说明:
Status(1 Octet):0x00表示success;0x01-0xFF error code
Local_Name(248 Octet):本地设备名
举例说明:
Command如下:
0x01:表示HCI Command Packet
0x0C14:表示是HCI_Read_Local_Name command
指令的OGF是0x03即0000 11
OCF是0x0014即00 0001 0100
所以整个opcode是0000 1100 0001 0100即0x0C14
0x00:表示Parameter_Total_Length=0,即没有参数
对应的Event(Command Complete event):
0x04:表示HCI Event Packet
0x0e:表示这个event是command complete event
0xFC:表示Parameter_Total_Length即252个byte
0x01:表示Num_HCI_Command_Packets
0x0C14:表示是HCI_Read_Local_Name command
0x00:表示status是success
剩下的248个byte表示的是设备名字,因为都是0x00,所以这个设备的名字是一个空字符串
(2)Write Local Name Command
这个command用来设置BR/EDR Controller的名字
参数说明
Local Name(248 Octet):要设置的本地设备名
返回参数说明:
Status(1 Octet):0x00表示success;0x01-0xFF error code
举例说明:
Command如下:
0x01:表示HCI Command Packet
0x0C13:表示是HCI_Write_Local_Name command
指令的OGF是0x03即0000 11
OCF是0x0013即00 0001 0011
所以整个opcode是0000 1100 0001 0011即0x0C13
0xf8:表示Parameter_Total_Length=248,即参数总长度是248个byte
后面的248个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
0x0C13:表示是HCI_Write_Local_Name command
0x00:表示status是success