HCI的数据格式
HCI数据是以小端字节序存储的;
小端字节序:低位数据存放在内存低地址处
大端字节序:高位字节数据存放在内存低地址处
1. 命令:
OGF:不同组的命令,有不同的OGF
Link Control commands, the OGF is defined as 0x01.
Link Policy commands, the OGF is defined as 0x02. 这两个OGF下的命令是和对端设备有关的命令
Control and Baseband commands, the OGF is defined as 0x03.
Informational Parameters commands, the OGF is defined as 0x04. 这两个OGF下的命令是和本端设备有关的命令
status parameters commands, the OGF is defined as 0x05.
Testing commands, the OGF is defined as 0x06.
LE Controller commands, the OGF code is defined as 0x08.
vendor-specific debug commands,The OGF code is defined as 0x3F.
OCF:代表不同OGF下的命令标号,是唯一的
如Link Control commands下的inquiry command,其OCF为0x0001,所以Opcode[0] = OCF & 0XFF,Opcode[1] = OCF>>8 | OGF<<2
2. ACL数据:
只要牵扯到上层数据,都是走HCI的ACL数据;
Handle:只要和对端设备建立起来接,就将有一个connect handle,用这个handle表示对端设备
PB Flag:拆包合包用的,怎么判断要拆包?
通过READ_BUFFER_SIZE读会芯片的承受能力,如果上层数据大于芯片的承受能力,就要拆包
BC Flag:广播标志,点对点的方式
3. SCO数据:
Connection_Handle:SCO或eSCO的连接句柄
Packet_Status_Flag:
注:SCO不一定是走HCI,一般都是和AP的PCM相连,通过pcm引脚传输音频
4. 事件:
Event Code:每一个事件就有一个Event Code。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具