![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android BT
leoStack
炼气期~
展开
-
Bluetooth OBEX&PBAP分析 (1)-协议
OBEX 交互交互协议格式opcode (1 Byte)PBAP 支持的操作如下:其对应的值如下:Length (2 Bytes)长度,感觉不需要多余的解释Headers这个比较重要,一条交互协议可能包含多个header。表示基于OBEX的上层应用协议在请求或响应包中传递的附加信息,也是由一系列连续的Tag-Length-Value构造组成:支持的属性header三种常见OpcodeConnectOBEX version number:已编码的OBEX协议版本,当原创 2020-07-22 09:20:31 · 633 阅读 · 1 评论 -
BlueDroid HFP 源码分析笔记(1)
BlueDroid 代码分析对部分代码一眼无法知道运行结果的地方备注。HPF Connect可以理解为闭包吧!将参数和方法打包在一起传入队列中等待执行。最终执行的就是 connect_init(),参数就是bd_addr, connect_init。static bt_status_t connect(RawAddress* bd_addr) { return btif_queue_connect(UUID_SERVCLASS_HF_HANDSFREE, bd_addr, connect_int原创 2020-07-16 14:18:33 · 1874 阅读 · 0 评论 -
Bluetooth L2CAP 学习
信道的概念CID (Channel ID) 在L2CAP层的很重要。其中有一些固定的CID,比如在ACL_U逻辑链路上,0x0001 代表Signaling channel0x0002 代表无连接的信道0x0040~0xFFFF 用于动态分配(主要用于connection-orientation 面向连接)基本的信道类型如下图所示,基本的信道主要是三种:Connection-orientedConnectionless DataL2CAP Signaling其中面向连接的Co原创 2020-07-01 18:36:06 · 747 阅读 · 0 评论 -
Android StateMachine记录
分析例子对StateMachine中例子进行逐步分析其状态切换逻辑图如下: mP1 mP2 / \ mS2 mS1 <-InitState几条重要的概念:1 State方法有enter()/exit() 分别在进入状态的和离开当前状态执行2 状态机初始化的时候,在根节点到初始节点上的节点都会执行enter.且执行顺序是从根节点开始3 在进行状态切换的时候,是从目标节点向上查找跟当前的节点的共同父节点。如图: mP1原创 2020-06-11 19:12:40 · 399 阅读 · 0 评论