用于与蓝牙供应商和传输驱动程序交互的 API。
协议
模拟器
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
用于模拟支持标准蓝牙 HCI 的蓝牙控制器的协议。 表示 bt-emulator 设备协议。一个 bt-emulator 设备用于配置和 发布虚假的 bt-hci 设备。
AddBredrPeer
插入要由此控制器模拟的新 BR/EDR 对等设备。注册后,
可以使用 peer
句柄来驱动和观察虚假对等方的特征。
系统将发送回复以确认已创建虚构对等设备。如果对等节点
(例如,由于 parameters
中缺少必填字段,或由于包含
地址)将关闭 peer
句柄,并且系统将显示错误回复
。
对等方将出现在查询结果中,并根据其
配置(只要 peer
渠道处于打开状态)。模拟器停止模拟此对等设备
何时关闭,这使其不再处于可发现状态,且不对任何
请求。
请求
名称 | 类型 |
---|---|
payload |
PeerParameters
|
响应
名称 | 类型 |
---|---|
payload |
Emulator_AddBredrPeer_Result
|
AddLowEnergyPeer
插入要由此控制器模拟的新 LE 对等设备。注册后,
可以使用 peer
句柄来驱动和观察虚假对等方的特征。
系统将发送回复以确认已创建虚构对等设备。如果对等节点
(例如,由于 parameters
中缺少必填字段,或由于包含
地址)将关闭 peer
句柄,并且系统将显示错误回复
。
对等方将显示在广告报告中,并根据其
配置(只要 peer
渠道处于打开状态)。模拟器停止模拟此对等设备
何时关闭,这使其不再处于可发现状态,且不对任何
请求。
请求
名称 | 类型 |
---|---|
payload |
PeerParameters
|
响应
名称 | 类型 |
---|---|
payload |
Emulator_AddLowEnergyPeer_Result
|
发布
使用提供的 settings
发布 bt-hci 设备。每个模拟器实例只能
管理一台 bt-hci 设备。返回模拟器。HCI_ALREADY_PUBLISHED
如果设备具有
已经发布。
请求
名称 | 类型 |
---|---|
payload |
EmulatorSettings
|
响应
名称 | 类型 |
---|---|
payload |
Emulator_Publish_Result
|
WatchControllerParameters
控制器参数状态的挂起 get 模式在状态 更改。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Emulator_WatchControllerParameters_Result
|
WatchLeScanStates
返回链路层 LE 扫描过程的最新状态向量。 此方法会在自上次调用以来至少发生一次状态更改时返回 该方法的另一个示例。
在给定时间,对此方法的多次调用可能会未完成。系统将在 在扫描状态发生变化时立即做出响应。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Emulator_WatchLeScanStates_Result
|
WatchLegacyAdvertisingStates
返回链路层 LE 旧版的最低状态到最新状态的矢量 。此方法会在至少发生一次状态变化时返回 自此客户端上次调用该方法以来。
在给定时间,对此方法的多次调用可能会未完成。系统将在 在扫描状态发生变化时立即做出响应。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Emulator_WatchLegacyAdvertisingStates_Result
|
HCI
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
ConfigureSco
使用指定的参数为 SCO 连接配置 HCI。 在 SCO 通道上发送/接收数据之前,必须调用此方法。 如果当前供应商或传输不支持 SCO,则返回 ZX_ERR_NOT_SUPPORTED
请求
名称 | 类型 |
---|---|
coding_format |
ScoCodingFormat
|
encoding |
ScoEncoding
|
sample_rate |
ScoSampleRate
|
响应
名称 | 类型 |
---|---|
payload |
Hci_ConfigureSco_Result
|
OpenAclDataChannel
打开双向 HCI ACL 数据通道。 如果渠道已经打开,则返回 ZX_ERR_ALREADY_BOUND。
请求
名称 | 类型 |
---|---|
channel |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
Hci_OpenAclDataChannel_Result
|
OpenCommandChannel
打开用于发送 HCI 命令的双向 HCI 命令通道,并 来接收事件数据包若渠道被触发,则返回 ZX_ERR_ALREADY_BOUND 已打开。
请求
名称 | 类型 |
---|---|
channel |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
Hci_OpenCommandChannel_Result
|
OpenIsoDataChannel
在提供的句柄上打开一个通道,用于发送和接收等时数据包。 如果打开 hci 渠道时出错或 hci 出现,则 Zircon 渠道会关闭。 频道已与另一个 zircon 通道的标识名相关联。 如果当前供应商或传输系统不支持 ISO,则返回 ZX_ERR_NOT_SUPPORTED 如果渠道已经打开,则返回 ZX_ERR_ALREADY_BOUND。
请求
名称 | 类型 |
---|---|
channel |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
Hci_OpenIsoDataChannel_Result
|
OpenScoDataChannel
在提供的标识名上打开一个 SCO 频道。Zircon 通道 会在打开 hci 渠道出错或 hci 时关闭 频道已与另一个 zircon 通道的标识名相关联。 如果当前供应商或传输不支持 SCO,则返回 ZX_ERR_NOT_SUPPORTED 如果渠道已经打开,则返回 ZX_ERR_ALREADY_BOUND。
请求
名称 | 类型 |
---|---|
channel |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
Hci_OpenScoDataChannel_Result
|
OpenSnoopChannel
打开仅限输出的渠道,用于监控 HCI 流量。 每条消息的格式为:[1 个八位字节标志] [n 个八位字节载荷] 标志八位字节是一个定义了以下值的位字段:
- 0x00:载荷表示从主机发送到 控制器。
- 0x01:载荷表示控制器发送的事件数据包。 如果渠道已经打开,则返回 ZX_ERR_ALREADY_BOUND。
请求
名称 | 类型 |
---|---|
channel |
handle<channel>
|
响应
名称 | 类型 |
---|---|
payload |
Hci_OpenSnoopChannel_Result
|
ResetSco
释放活跃 SCO 连接占用的资源。必须调用 当 SCO 连接关闭时触发。 如果当前供应商或传输不支持 SCO,则返回 ZX_ERR_NOT_SUPPORTED
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Hci_ResetSco_Result
|
HciTransport
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
AckReceive
请求
<空>
ConfigureSco
建立 SCO 连接。一次只能配置 1 个 SCO 连接。
请求
名称 | 类型 |
---|---|
payload |
HciTransportConfigureScoRequest
|
OnReceive
确认之前可以发送多个数据包事件。每个数据包都必须
已向 AckReceive
确认。服务器应限制待处理确认的数量
以免频道溢出建议最多添加 10 个未确认的数据包。如果命令或
客户端收到 SCO 数据包后,客户端应关闭协议。
响应
名称 | 类型 |
---|---|
payload |
ReceivedPacket
|
发送
多个“Send”可同时处于待处理状态。 最好限制待处理调用的数量以避免溢出。 建议最多添加 10 个待处理的通话。 如果服务器收到事件或 SCO 数据包,服务器应关闭该协议。
请求
名称 | 类型 |
---|---|
payload |
SentPacket
|
响应
名称 | 类型 |
---|---|
payload |
HciTransport_Send_Result
|
对等节点
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
用于驱动虚构对等设备状态的协议。
AssignConnectionStatus
为控制器分配 HCI status
,以响应连接请求。
适用于所有连续的 HCI_Create_Connection 和 HCI_LE_Create_Connection 命令。通过
以空响应确认。
请求
名称 | 类型 |
---|---|
status |
HciError
|
响应
名称 | 类型 |
---|---|
payload |
Peer_AssignConnectionStatus_Result
|
EmulateDisconnectionComplete
模拟断开连接。如果对等设备未连接,则不执行任何操作。
请求
<空>
EmulateLeConnectionComplete
模拟 LE 连接事件。如果对等端已连接,则不执行任何操作。通过
role
参数用于确定链路层连接角色。
请求
名称 | 类型 |
---|---|
role |
fuchsia.bluetooth/ConnectionRole
|
SetDeviceClass
设置在设备运行期间针对此对等设备的查询响应中报告的设备类别
发现。如果对等端不是 BR/EDR,服务器将关闭并显示 ZX_ERR_NOT_SUPPORTED
墓碑。
请求
名称 | 类型 |
---|---|
value |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
Peer_SetDeviceClass_Result
|
SetLeAdvertisement
请求
名称 | 类型 |
---|---|
payload |
PeerSetLeAdvertisementRequest
|
响应
名称 | 类型 |
---|---|
payload |
Peer_SetLeAdvertisement_Result
|
SetServiceDefinitions
设置可通过服务发现协议发现的对等方服务。如果
对等端不是 BR/EDR,服务器将以 ZX_ERR_NOT_SUPPORTED
墓碑关闭。
请求
名称 | 类型 |
---|---|
service_definitions |
vector<fuchsia.bluetooth.bredr/ServiceDefinition>[32]
|
响应
名称 | 类型 |
---|---|
payload |
Peer_SetServiceDefinitions_Result
|
WatchConnectionStates
返回最少到最近的控制器连接状态的矢量。 此方法会在自上次调用该方法以来发生了状态更改时返回 方法。
在给定时间,对此方法的多次调用可能会未完成。系统将在 在扫描状态发生变化时立即做出响应。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Peer_WatchConnectionStates_Result
|
ScoConnection
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
AckReceive
请求
<空>
OnReceive
确认之前可以发送多个数据包事件。每个数据包都必须
已向 AckReceive
确认。服务器应限制待处理确认的数量
以免频道溢出建议最多添加 10 个未确认的数据包。
响应
名称 | 类型 |
---|---|
packet |
vector<uint8>[258]
|
发送
多个“Send”可同时处于待处理状态。 最好限制待处理调用的数量以避免溢出。 建议最多添加 10 个待处理的通话。
请求
名称 | 类型 |
---|---|
packet |
vector<uint8>[258]
|
响应
名称 | 类型 |
---|---|
payload |
ScoConnection_Send_Result
|
停止
服务器会在收到 Stop
后关闭协议。这对于
同步(例如,在配置另一个 ScoConnection
之前)。
请求
<空>
信息收集
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
AcknowledgePackets
最多已收到 sequence
个确认数据包。
请求
名称 | 类型 |
---|---|
sequence |
uint64
|
OnDroppedPackets
在收到 AcknowledgePackets
后,如果数据包在下列时间之后被丢弃,服务器会发送一次
最后 OnObservePacket
。
响应
名称 | 类型 |
---|---|
payload |
SnoopOnDroppedPacketsRequest
|
OnObservePacket
数据包已传输/接收。在 出现故障。如果客户端等待时间过长,允许服务器丢弃数据包 确认数据包。
响应
名称 | 类型 |
---|---|
payload |
SnoopOnObservePacketRequest
|
供应商
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
BtVendor 协议可由供应商驱动程序实现,以支持功能询问 和供应商命令编码
EncodeCommand
对供应商 HCI 命令进行编码并返回编码的命令。
如需了解可能的命令和参数,请参阅 VendorCommand
。
- 错误
ZX_ERR_NOT_SUPPORTED
不支持该命令。 - error
ZX_ERR_INVALID_ARGS
命令的参数无效。
请求
名称 | 类型 |
---|---|
payload |
VendorCommand
|
响应
名称 | 类型 |
---|---|
payload |
Vendor_EncodeCommand_Result
|
GetFeatures
返回此控制器支持的供应商功能。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Vendor_GetFeatures_Result
|
OpenHci
已弃用。 打开控制器的 HCI 协议。在 已初始化。 如果已经连接其他客户端,则返回 ALREADY_BOUND。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Vendor_OpenHci_Result
|
OpenHciTransport
打开控制器的 HciTransport 协议。在 已初始化。 如果已经连接其他客户端,则返回 ALREADY_BOUND。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Vendor_OpenHciTransport_Result
|
OpenSnoop
打开传输驱动程序的 Snoop 协议。 如果已经连接其他客户端,则返回 ALREADY_BOUND。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
Vendor_OpenSnoop_Result
|
VirtualController
在 fuchsia.hardware.bluetooth/virtual.fidl 中定义
用于生成虚拟蓝牙设备。
CreateEmulator
创建子设备,并返回创建的子设备的名称。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
VirtualController_CreateEmulator_Result
|
CreateLoopbackDevice
创建使用 BT HCI UART 的虚拟蓝牙串行设备 协议。 如果出现错误,Zircon 通道将关闭。
请求
名称 | 类型 |
---|---|
payload |
VirtualControllerCreateLoopbackDeviceRequest
|
结构体
Emulator_AddBredrPeer_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
<空>
Emulator_AddLowEnergyPeer_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
<空>
Emulator_Publish_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
<空>
Emulator_WatchLeScanStates_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
states |
vector<LeScanState>
|
无默认设置 |
Emulator_WatchLegacyAdvertisingStates_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
states |
vector<LegacyAdvertisingState>
|
无默认设置 |
HciTransport_Send_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Hci_ConfigureSco_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Hci_OpenAclDataChannel_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Hci_OpenCommandChannel_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Hci_OpenIsoDataChannel_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Hci_OpenScoDataChannel_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Hci_OpenSnoopChannel_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Hci_ResetSco_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
Peer_AssignConnectionStatus_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
<空>
Peer_SetDeviceClass_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
<空>
Peer_SetLeAdvertisement_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
<空>
Peer_SetServiceDefinitions_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
<空>
Peer_WatchConnectionStates_Response
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
states |
vector<ConnectionState>
|
无默认设置 |
ScoConnection_Send_Response
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
<空>
ScoPacket
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
packet |
vector<uint8>[258]
|
无默认设置 |
Vendor_EncodeCommand_Response
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
encoded |
vector<uint8>[16]
|
无默认设置 |
Vendor_OpenHciTransport_Response 资源
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
channel |
HciTransport
|
无默认设置 |
Vendor_OpenHci_Response 资源
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
channel |
Hci
|
无默认设置 |
Vendor_OpenSnoop_Response 资源
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
channel |
Snoop
|
无默认设置 |
VirtualController_CreateEmulator_Response
在 fuchsia.hardware.bluetooth/virtual.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
name |
string[32]?
|
无默认设置 |
精英
ConnectionState 柔性环境
类型:uint32
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
已连接 |
1 |
|
已断开连接 |
2 |
EmulatorError flexible
类型:uint32
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
可为模拟器范围的配置生成的错误代码。
名称 | 值 | 说明 |
---|---|---|
失败 |
1 |
|
HCI_ALREADY_PUBLISHED |
2 |
EmulatorPeerError flexible
类型:uint32
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
为操纵虚构对等体的函数生成的错误代码。
名称 | 值 | 说明 |
---|---|---|
ADDRESS_REPEATED |
1 |
|
PARAMETERS_INVALID |
2 |
|
NOT_FOUND |
3 |
HciConfig 柔性
类型:uint32
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
预设 HCI 配置。
名称 | 值 | 说明 |
---|---|---|
DUAL_MODE |
1 |
在 LMP 功能中同时支持 BR/EDR 和 LE。 |
LE_ONLY |
2 |
将支持的功能和 HCI 命令限制为仅 LE 所需的功能和 HCI 命令。 |
HciError 柔性
类型:uint8
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
定义了蓝牙控制器可报告的 HCI 协议错误代码列表。这些 值取自蓝牙核心规范 v5.4 第 2 卷,D 部分,第 1.3 节
名称 | 值 | 说明 |
---|---|---|
成功 |
0 |
|
UNKNOWN_COMMAND |
1 |
|
UNKNOWN_CONNECTION_ID |
2 |
|
HARDWARE_FAILURE |
3 |
|
PAGE_TIMEOUT |
4 |
|
AUTHENTICATION_FAILURE |
5 |
|
PIN_OR_KEY_MISSING |
6 |
|
MEMORY_CAPACITY_EXCEEDED |
7 |
|
CONNECTION_TIMEOUT |
8 |
|
CONNECTION_LIMIT_EXCEEDED |
9 |
|
SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED |
10 |
|
CONNECTION_ALREADY_EXISTS |
11 |
|
COMMAND_DISALLOWED |
12 |
|
CONNECTION_REJECTED_LIMITED_RESOURCES |
13 |
|
CONNECTION_REJECTED_SECURITY |
14 |
|
CONNECTION_REJECTED_BAD_BD_ADDR |
15 |
|
CONNECTION_ACCEPT_TIMEOUT_EXCEEDED |
16 |
|
UNSUPPORTED_FEATURE_OR_PARAMETER |
17 |
|
INVALID_HCICOMMAND_PARAMETERS |
18 |
|
REMOTE_USER_TERMINATED_CONNECTION |
19 |
|
REMOTE_DEVICE_TERMINATED_CONNECTION_LOW_RESOURCES |
20 |
|
REMOTE_DEVICE_TERMINATED_CONNECTION_POWER_OFF |
21 |
|
CONNECTION_TERMINATED_BY_LOCAL_HOST |
22 |
|
REPEATED_ATTEMPTS |
23 |
|
PAIRING_NOT_ALLOWED |
24 |
|
UNKNOWN_LMP_PDU |
25 |
|
UNSUPPORTED_REMOTE_FEATURE |
26 |
|
SCO_OFFSET_REJECTED |
27 |
|
SCO_INTERVAL_REJECTED |
28 |
|
SCO_AIR_MODE_REJECTED |
29 |
|
INVALID_LMP_OR_LL_PARAMETERS |
30 |
|
UNSPECIFIED_ERROR |
31 |
|
UNSUPPORTED_LMP_OR_LL_PARAMETER_VALUE |
32 |
|
ROLE_CHANGE_NOT_ALLOWED |
33 |
|
LMP_OR_LL_RESPONSE_TIMEOUT |
34 |
|
LMP_ERROR_TRANSACTION_COLLISION |
35 |
|
LMP_PDU_NOT_ALLOWED |
36 |
|
ENCRYPTION_MODE_NOT_ACCEPTABLE |
37 |
|
LINK_KEY_CANNOT_BE_CHANGED |
38 |
|
REQUESTED_QOS_NOT_SUPPORTED |
39 |
|
INSTANT_PASSED |
40 |
|
PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED |
41 |
|
DIFFERENT_TRANSACTION_COLLISION |
42 |
|
RESERVED0 |
43 |
|
QOS_UNACCEPTABLE_PARAMETER |
44 |
|
QOS_REJECTED |
45 |
|
CHANNEL_CLASSIFICATION_NOT_SUPPORTED |
46 |
|
INSUFFICIENT_SECURITY |
47 |
|
PARAMETER_OUT_OF_MANDATORY_RANGE |
48 |
|
RESERVED1 |
49 |
|
ROLE_SWITCH_PENDING |
50 |
|
RESERVED2 |
51 |
|
RESERVED_SLOT_VIOLATION |
52 |
|
ROLE_SWITCH_FAILED |
53 |
|
EXTENDED_INQUIRY_RESPONSE_TOO_LARGE |
54 |
|
SECURE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST |
55 |
|
HOST_BUSY_PAIRING |
56 |
|
CONNECTION_REJECTED_NO_SUITABLE_CHANNEL_FOUND |
57 |
|
CONTROLLER_BUSY |
58 |
|
UNACCEPTABLE_CONNECTION_PARAMETERS |
59 |
|
DIRECTED_ADVERTISING_TIMEOUT |
60 |
|
CONNECTION_TERMINATED_MIC_FAILURE |
61 |
|
CONNECTION_FAILED_TO_BE_ESTABLISHED |
62 |
|
MAC_CONNECTION_FAILED |
63 |
|
COARSE_CLOCK_ADJUSTMENT_REJECTED |
64 |
|
TYPE0_SUBMAP_NOT_DEFINED |
65 |
|
UNKNOWN_ADVERTISING_IDENTIFIER |
66 |
|
LIMIT_REACHED |
67 |
|
OPERATION_CANCELLED_BY_HOST |
68 |
|
PACKET_TOO_LONG |
69 |
|
TOO_LATE |
70 |
|
TOO_EARLY |
71 |
LegacyAdvertisingType 严格
类型:uint8
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
蓝牙核心规范 v5.4,第 4 卷,E 部分,7.8.5 中的 LE 旧版广告类型。
名称 | 值 | 说明 |
---|---|---|
ADV_IND |
0 |
可连接且可扫描。 |
ADV_DIRECT_IND |
1 |
可连接、高占空比、定向。 |
ADV_SCAN_IND |
2 |
可扫描,未定向。 |
ADV_NONCONN_IND |
3 |
不可连接、未定向 |
SCAN_RSP |
4 |
扫描回复 |
PacketDirection 严格
类型:uint32
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
HOST_TO_CONTROLLER |
1 |
|
CONTROLLER_TO_HOST |
2 |
ScoCodingFormat 柔性
类型:uint8
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
CVSD |
1 |
|
MSBC |
2 |
ScoEncoding 柔性环境
类型:uint8
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
BITS_8 |
1 |
|
BITS_16 |
2 |
ScoSampleRate 柔性环境
类型:uint8
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
KHZ_8 |
1 |
|
KHZ_16 |
2 |
VendorAclDirection 柔性环境
类型:uint8
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
来源 |
1 |
|
接收器 |
2 |
VendorAclPriority 柔性
类型:uint8
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
NORMAL |
1 |
|
高 |
2 |
表格
AclBufferSettings
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
HCI ACL 数据流控制参数。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
data_packet_length |
uint16
|
ACL 帧 MTU(以字节为单位)。 |
2 |
total_num_data_packets |
uint8
|
控制器可以缓冲的 ACL 帧数上限。 |
AdvertisingData
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
data |
vector<uint8>[31]
|
AndroidVendorSupport
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
指明是否支持 Android 供应商扩展 如果为空,则表示支持 Android HCI 扩展,但版本未指定。 应使用 LE 获取供应商功能命令检测版本。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
major_version |
uint8
|
|
2 |
minor_version |
uint8
|
ControllerParameters
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
内含蓝牙控制器和基带参数,可由主机写入,但无法写入 属于特定程序类别(如下文中所定义)。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
local_name |
string[248]
|
用于链路层名称发现过程的本地名称。此参数仅适用于 用于 BR/EDR 传输。在 LE 中,本地名称以广告参数的形式提供, 。 |
2 |
device_class |
fuchsia.bluetooth/DeviceClass
|
本地“设备类别”用于 BR/EDR 问询程序中。 |
EmulatorSettings
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
模拟器使用的控制器设置。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
address |
fuchsia.bluetooth/Address
|
|
2 |
hci_config |
HciConfig
|
支持的 HCI 命令配置。默认值为“ |
3 |
extended_advertising |
bool
|
如果支持 5.0 扩展广告功能,则为 true。默认值为“false”。 |
4 |
acl_buffer_settings |
AclBufferSettings
|
ACL-U 数据缓冲区设置。默认值为
data_packet_length [数据数据包长度]:1024
total_num_data_packets:5
如果 |
5 |
le_acl_buffer_settings |
AclBufferSettings
|
LE-U ACL 数据缓冲区设置。默认值为 data_packet_length [数据数据包长度]:251 total_num_data_packets:5 |
HciTransportConfigureScoRequest 资源
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
coding_format |
ScoCodingFormat
|
必填。 |
2 |
encoding |
ScoEncoding
|
必填。 |
3 |
sample_rate |
ScoSampleRate
|
必填。 |
4 |
connection |
server_end<ScoConnection>
|
必填。 |
LeScanState
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
表示 LE 扫描状态。如果已配置扫描参数,则这些字段会显示。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
enabled |
bool
|
如果已启用扫描,则为 true。 |
2 |
active |
bool
|
如果已启用扫描,则为 true。否则,扫描将处于被动状态。 |
3 |
interval |
uint16
|
扫描间隔和窗口参数。这些是在蓝牙控制器中定义的 “timeslices”其中 1 个切片 = 0.625 毫秒。有效值范围为 0x4(2.5 毫秒)至 0x4000 (10.24) ms)。 |
4 |
window |
uint16
|
|
5 |
filter_duplicates |
bool
|
如果已启用重复过滤,则为“true”。 |
6 |
address_type |
fuchsia.bluetooth/AddressType
|
使用的本地设备地址的类型。 |
LegacyAdvertisingState
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
旧版广告的控制器参数。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
enabled |
bool
|
如果已使用 HCI_LE_Set_Advertising_Enable 命令启用广告,则为 True。 此字段始终存在。 |
2 |
type |
LegacyAdvertisingType
|
最近配置的广告类型。此字段始终存在。默认值为 fuchsia.hardware.bluetooth/LegacyAdvertisingType.ADV_IND. |
3 |
address_type |
fuchsia.bluetooth/AddressType
|
用于通告的 LE 地址类型。此字段始终存在。默认值为 fuchsia.bluetooth/AddressType.PUBLIC. |
4 |
interval_min |
uint16
|
主机指定的通告间隔范围参数。仅在已配置时显示。 |
5 |
interval_max |
uint16
|
|
6 |
advertising_data |
AdvertisingData
|
任何已配置的通告和扫描响应数据。仅当任一字段不为零时才显示。 |
7 |
scan_response |
AdvertisingData
|
PeerParameters 资源
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
用于模拟对等设备通过 BR/EDR/低功耗传输的行为的参数。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
address |
fuchsia.bluetooth/Address
|
对等体的公开 BR/EDR BD_ADDR 地址。此字段是必填字段。 |
2 |
connectable |
bool
|
如果存在且为 true,对等方将发送可连接的广告并接受连接 请求。如果无法连接,对等端将忽略连接请求。 |
3 |
channel |
server_end<Peer>
|
信道的服务器端绑定到对等协议。 |
PeerSetLeAdvertisementRequest
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
le_address |
fuchsia.bluetooth/Address
|
对等方的 LE 地址。 |
2 |
advertisement |
AdvertisingData
|
广告数据内容。如果不存在,则此对等方发送的广告数据 将为空。 |
3 |
scan_response |
AdvertisingData
|
扫描响应数据内容。如果存在,虚构控制器将生成 可扫描的通告包和扫描响应事件。 |
SnoopOnDroppedPacketsRequest
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
sent |
uint32
|
|
2 |
received |
uint32
|
SnoopOnObservePacketRequest
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
sequence |
uint64
|
单调递增的数据包数量。用于与以下项结合使用的流控制
|
2 |
direction |
PacketDirection
|
|
3 |
packet |
SnoopPacket
|
VendorFeatures
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
供应商支持的功能表。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
acl_priority_command |
bool
|
支持 SetAclPriority 命令 如果缺失,则不支持该命令。 |
2 |
android_vendor_extensions |
AndroidVendorSupport
|
支持 Android 供应商扩展 如果缺失,则表示 Android 供应商扩展不受支持。 |
VendorSetAclPriorityParams
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
connection_handle |
uint16
|
请求优先的 ACL 连接句柄。 |
2 |
priority |
VendorAclPriority
|
|
3 |
direction |
VendorAclDirection
|
数据应优先采用的方向。可能并非所有人都支持 供应商。优先级正常时会被忽略。 |
VirtualControllerCreateLoopbackDeviceRequest 资源
在 fuchsia.hardware.bluetooth/virtual.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
uart_channel |
handle<channel>
|
联合体
Emulator_AddBredrPeer_Result strict
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Emulator_AddBredrPeer_Response
|
|
2 |
err |
EmulatorPeerError
|
|
3 |
framework_err |
internal
|
Emulator_AddLowEnergyPeer_Result 严格
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Emulator_AddLowEnergyPeer_Response
|
|
2 |
err |
EmulatorPeerError
|
|
3 |
framework_err |
internal
|
Emulator_Publish_Result strict
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Emulator_Publish_Response
|
|
2 |
err |
EmulatorError
|
|
3 |
framework_err |
internal
|
Emulator_WatchControllerParameters_Result strict
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
ControllerParameters
|
|
3 |
framework_err |
internal
|
Emulator_WatchLeScanStates_Result strict
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Emulator_WatchLeScanStates_Response
|
|
3 |
framework_err |
internal
|
Emulator_WatchLegacyAdvertisingStates_Result 严格
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Emulator_WatchLegacyAdvertisingStates_Response
|
|
3 |
framework_err |
internal
|
HciTransport_Send_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
HciTransport_Send_Response
|
|
3 |
framework_err |
internal
|
Hci_ConfigureSco_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Hci_ConfigureSco_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenAclDataChannel_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Hci_OpenAclDataChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenCommandChannel_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Hci_OpenCommandChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenIsoDataChannel_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Hci_OpenIsoDataChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenScoDataChannel_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Hci_OpenScoDataChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenSnoopChannel_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Hci_OpenSnoopChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_ResetSco_Result 严格
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Hci_ResetSco_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Peer_AssignConnectionStatus_Result strict
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Peer_AssignConnectionStatus_Response
|
|
3 |
framework_err |
internal
|
Peer_SetDeviceClass_Result strict
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Peer_SetDeviceClass_Response
|
|
3 |
framework_err |
internal
|
Peer_SetLeAdvertisement_Result 严格
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Peer_SetLeAdvertisement_Response
|
|
2 |
err |
EmulatorPeerError
|
|
3 |
framework_err |
internal
|
Peer_SetServiceDefinitions_Result 严格
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Peer_SetServiceDefinitions_Response
|
|
3 |
framework_err |
internal
|
Peer_WatchConnectionStates_Result strict
在 fuchsia.hardware.bluetooth/emulator.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Peer_WatchConnectionStates_Response
|
|
3 |
framework_err |
internal
|
ReceivedPacket 柔性环境
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
主机从控制器收到的数据包。
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
event |
vector<uint8>[257]
|
|
2 |
acl |
vector<uint8>[65539]
|
|
3 |
iso |
vector<uint8>[16387]
|
ScoConnection_Send_Result strict
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
ScoConnection_Send_Response
|
|
3 |
framework_err |
internal
|
SentPacket 柔性环境
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
主机发送到控制器的数据包。
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
command |
vector<uint8>[258]
|
|
2 |
acl |
vector<uint8>[65539]
|
|
3 |
iso |
vector<uint8>[16387]
|
SnoopPacket 柔性环境
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
event |
vector<uint8>[257]
|
|
2 |
command |
vector<uint8>[258]
|
|
3 |
acl |
vector<uint8>[65539]
|
|
4 |
sco |
vector<uint8>[258]
|
|
5 |
iso |
vector<uint8>[16387]
|
VendorCommand 柔性
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
set_acl_priority |
VendorSetAclPriorityParams
|
Vendor_EncodeCommand_Result strict
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Vendor_EncodeCommand_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Vendor_GetFeatures_Result strict
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
VendorFeatures
|
|
3 |
framework_err |
internal
|
Vendor_OpenHciTransport_Result 严格 资源
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Vendor_OpenHciTransport_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Vendor_OpenHci_Result 严格的 资源
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Vendor_OpenHci_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Vendor_OpenSnoop_Result 严格的 资源
在 fuchsia.hardware.bluetooth/vendor.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Vendor_OpenSnoop_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
VirtualController_CreateEmulator_Result strict
在 fuchsia.hardware.bluetooth/virtual.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
VirtualController_CreateEmulator_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
ACL_PACKET_MAX |
65539
|
uint64 |
|
BT_VENDOR_MAX_COMMAND_BUFFER_LEN |
16
|
uint16 |
编码命令可能需要的最大缓冲区长度。 在添加可能需要较大缓冲区的新命令时进行更新。 |
COMMAND_MAX |
258
|
uint64 |
|
EVENT_MAX |
257
|
uint64 |
|
ISO_PACKET_MAX |
16387
|
uint64 |
|
MAX_LEGACY_ADVERTISING_DATA_LENGTH |
31
|
uint8 |
旧版 (4.x) 和扩展 (5.x) 通告 PDU 类型的通告数据 MTU (请参阅核心规范 v5.4,第 4 卷,E 部分,第 7.3.11 和 7.8.54 节)。 |
MAX_LOCAL_NAME_LENGTH |
248
|
uint8 |
使用 HCI_Write_Local_Name 命令分配的本地名称的大小上限(以字节为单位) (请参阅核心规范 v5.4,第 4 卷,E 部分,7.3.11)。 |
MAX_NAME_LENGTH |
32
|
uint32 |
|
MAX_PEER_SERVICES |
32
|
uint8 |
一次可通告的服务记录数上限。 |
SCO_PACKET_MAX |
258
|
uint64 |
服务
HciService
在 fuchsia.hardware.bluetooth/hci.fidl 中定义
名称 | 类型 | 传输 |
---|---|---|
hci |
fuchsia.hardware.bluetooth/Hci
|
频道 |
hci_transport |
fuchsia.hardware.bluetooth/HciTransport
|
频道 |
信息收集 |
fuchsia.hardware.bluetooth/Snoop
|
频道 |