bluedroid

byte轻骑兵2 天前
c++·bluedroid
【Bluedroid】init_stack_internal 函数全流程源码解析本文通过对Android蓝牙协议栈Bluedroid init_stack_internal函数进行深度剖析,全面揭示了蓝牙协议栈的初始化机制。通过分析MessageLoopThread、btif_init_bluetooth等核心组件,展示了Bluedroid如何实现线程管理、跨层通信和实时调度。
byte轻骑兵4 天前
c++·hid·bluedroid
【Bluedroid】蓝牙Hid Host get_protocol全流程源码解析本文以Android蓝牙协议栈中get_protocol()函数为入口,深入剖析HID设备协议模式(Boot/Report Protocol)获取的完整流程。通过逐层解析BTIF、BTA、HID Host模块的交互逻辑,揭示协议模式查询的跨层通信机制、HID控制命令的封装策略及L2CAP数据传输的底层实现,重点分析状态校验、异步回调、数据分片等关键技术实现。
byte轻骑兵9 天前
c++·hid·bluedroid
【Bluedroid】蓝牙HID Device virtual_cable_unplug全流程源码解析本文基于Android蓝牙协议栈代码,深入解析HID设备执行虚拟电缆拔出(Virtual Cable Unplug, VCU)的核心流程,涵盖协议交互、状态管理、资源释放三大关键模块。重点剖析以下机制:
byte轻骑兵11 天前
c++·hid·bluedroid
【Bluedroid】蓝牙HID DEVICE 报告发送与电源管理源码解析本文基于Android蓝牙协议栈代码,深度解析HID设备(如键盘、鼠标)从应用层发送输入报告到主机设备的完整流程,涵盖数据封装、通道选择、L2CAP传输、电源管理四大核心模块。通过函数调用链(send_report → BTA_HdSendReport → HID_DevSendReport → hidd_conn_send_data)的逐层分析,重点剖析以下机制:
byte轻骑兵18 天前
android·c++·蓝牙·hid·bluedroid
【Bluedroid】蓝牙HID DEVICE断开连接流程源码分析蓝牙HID(Human Interface Device)的断开连接流程涉及从应用层到协议栈的多层交互。本文通过剖析Android Bluetooth协议栈代码,梳理从上层调用disconnect()到最终物理链路断开的完整流程,涵盖状态检查、消息传递、L2CAP通道关闭、资源清理及回调通知等关键环节。流程中通过事件驱动机制协调各模块,确保安全断开并通知应用层状态变化。
byte轻骑兵18 天前
蓝牙·hid·bluedroid
【Bluedroid】蓝牙 HID 设备服务注册流程源码解析:从初始化到 SDP 记录构建本文围绕蓝牙 HID(人机接口设备)服务注册流程,详细解析从 HID 服务启用、设备初始化、L2CAP 通道注册到 SDP(服务发现协议)记录构建的全流程。通过分析关键函数如btif_hd_service_registration、BTA_HdEnable、HID_DevRegister及HID_DevAddRecord的逻辑,揭示了 HID 设备如何通过协议栈完成注册、配置及发现功能,确保设备可被其他蓝牙主机识别和连接。结合Android Bluedroid代码逻辑与协议规范,阐述了状态机管理、内存分配
byte轻骑兵1 个月前
android·c++·bluedroid
【Bluedroid】蓝牙存储模块配置管理:启动、读写、加密与保存流程解析本文围绕蓝牙存储模块展开,主要解析了蓝牙存储模块(StorageModule)的初始化流程,重点围绕配置文件校验、读取、设备类型修复及加密处理展开。通过工厂重置检测、校验和验证、多源配置加载、设备类型推断修正等步骤,确保配置完整性,并结合延迟保存机制优化存储性能。
奔跑吧 android2 个月前
android·bluetooth·bt·gabeldorsche·gd·aosp13·bluedroid
【android bluetooth 协议分析 01】【HCI 层介绍 1】【hci_packets.pdl 介绍】在 AOSP 的蓝牙协议栈 (Gabeldorsche) 中,hci_packets.pdl 是一个 协议描述语言文件,用于定义 HCI (Host Controller Interface) 层的数据包结构和通信协议。以下是详细解析: