协议
AdvertisedPeripheral
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
在通告期间有效的协议。调用方可以关闭协议以停止通告。如果系统因任何原因在内部停止通告,则协议将关闭,以便将此情况传达给客户端。
OnConnected
当通过 fuchsia.bluetooth.le/Peripheral.Advertise 启用可连接广播时,如果远程 LE 中心连接到此外围设备,则会调用此方法。进行此调用时,系统已暂停通告,并且在收到响应之前不会继续。
返回的 fuchsia.bluetooth.le/Connection 协议可用于与对等设备进行交互。它还表示外围设备对连接的所有权:客户端可以丢弃协议以请求断开连接。同样,系统会关闭协议,以指示与对等方的连接已丢失。
- 请求
peer发起连接的中心设备的相关信息。 - 请求
connection表示连接。
- 响应:应发送空响应,以确认连接并恢复通告(用于流控制)。
请求
| 名称 | 类型 |
|---|---|
peer |
Peer
|
connection |
client_end:Connection
|
响应
<EMPTY>
AdvertisingHandle
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
在广告投放期间有效的功能。调用方可以关闭句柄以停止通告。如果系统因任何原因在内部停止通告,则句柄将关闭,以便将此情况传达给客户端。
中部
在 fuchsia.bluetooth.le/central.fidl 中定义
关联
连接到具有给定标识符的对等设备。
请求的 fuchsia.bluetooth.le/Connection 表示客户端对与对等方的 LE 连接的兴趣。关闭通道会移除兴趣,但如果另一个客户端持有与同一对等方的有效 fuchsia.bluetooth.le/Connection,则可能不会导致断开连接。
如果与对等设备的连接丢失或发生错误,系统将关闭 fuchsia.bluetooth.le/Connection handle。
服务器可能会在出错时发送以下墓志铭:
-
INVALID_ARGS:部分参数无效。 -
ALREADY_BOUND:此中央设备已与对等设备建立连接。应使用现有连接。 -
NOT_CONNECTED:无法建立连接。 -
CONNECTION_RESET:对等方已断开连接。 -
request
id要发起连接的对等端的标识符。 -
request
options用于配置连接的选项。 -
请求
handle句柄,在连接期间保持有效。
请求
| 名称 | 类型 |
|---|---|
id |
fuchsia.bluetooth/PeerId
|
options |
ConnectionOptions
|
handle |
server_end:Connection
|
ConnectPeripheral
创建与具有给定标识符的外围设备的连接。
返回 status 中操作的状态。
成功后,gatt_client 将被绑定,并可用于 GATT 客户端角色过程。如果失败,gatt_client 将关闭,status 将指示错误。
已弃用 - 请改用 Connect
请求
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
options |
ConnectionOptions
|
gatt_client |
server_end:fuchsia.bluetooth.gatt/Client
|
响应
| 名称 | 类型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
CreateConnectedIsochronousGroup
使用指定参数创建新的连接同步组 (CIG)。此操作仅在连接中以中心角色操作时有效。
如果在明确移除 CIG 之前关闭了中央通道,则该组将被移除并断开连接。
如果失败,则返回错误代码,请参阅 CreateCigError。成功后,返回由主机分配的唯一 ID。
请求
| 名称 | 类型 |
|---|---|
payload |
CentralCreateConnectedIsochronousGroupRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
Central_CreateConnectedIsochronousGroup_Result
|
DisconnectPeripheral
断开此 Central 与具有给定标识符的外围设备的连接。
已弃用
请求
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
响应
| 名称 | 类型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
GetPeripheral
此方法未由 Fuchsia 核心堆栈实现 - TODO(https://fxbug.dev/42087303)
根据唯一标识符,返回系统从之前的扫描、连接和/或绑定过程中了解到的单个外围设备的相关信息。如果无法识别 identifier,则返回 null。
已弃用
请求
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
响应
| 名称 | 类型 |
|---|---|
peripheral |
RemoteDevice?
|
GetPeripherals
返回系统通过之前的扫描、连接和/或绑定过程已知的外围设备列表。可以根据已知存在于外围设备上的服务 UUID 过滤结果。
此方法仅返回外围设备(即可连接的设备)。
已弃用
请求
| 名称 | 类型 |
|---|---|
service_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
响应
| 名称 | 类型 |
|---|---|
peripherals |
vector<RemoteDevice>
|
ListenL2cap
为传入频道注册监听器。注册表将分配一个对本地设备而言唯一的 PSM 值,并打开一个 ChannelListener 以接受传入通道。在极少数情况下,如果所有 PSM 都已分配,此调用将失败并返回 ZX_ERR_NO_RESOURCES。
请注意,服务发现或通告的方法由服务或协议定义,因此调用方负责将分配的 PSM 传达给所有客户端。
请求
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnDeviceDiscovered
针对在扫描会话期间发现的每个外围设备/广播器调用。rssi 包含生成此事件的通告数据包的接收信号强度(如果有)。
已弃用
响应
| 名称 | 类型 |
|---|---|
device |
RemoteDevice
|
OnPeripheralDisconnected
当此中央设备与具有给定标识符的外围设备的连接终止时调用。
已弃用
响应
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
OnScanStateChanged
在扫描状态发生变化时调用,例如,当扫描会话因调用 Central.StopScan() 或其他意外情况而终止时。
已弃用
响应
| 名称 | 类型 |
|---|---|
scanning |
bool
|
扫描
扫描附近的 LE 外围设备和广播设备。如果无法启动扫描,result_watcher 将关闭并显示墓志铭。
一个中央客户端一次只能有一个活跃扫描。因此,一次只能有一个扫描请求处于未完成状态。 对 Scan 的其他调用将失败。
扫描会话的生命周期与提供的 result_watcher 协议相关联。如果频道关闭,扫描将停止。
扫描开始后,可以使用 fuchsia.bluetooth.le/ScanResultWatcher 监控扫描结果。
- request
options用于配置扫描会话的选项。 - 请求
result_watcher协议,该协议在此扫描会话期间保持有效。
- 响应:系统将发送空响应,以确认扫描已停止。
服务器可能会在出错时发送以下墓志铭:
- 错误
ALREADY_EXISTS:扫描已在进行中。每个Central协议仅允许 1 次主动扫描。 - 错误
INVALID_ARGS:部分扫描options无效。请参阅ScanOptions文档。 - 错误
INTERNAL:发生内部错误,无法启动扫描。
请求
| 名称 | 类型 |
|---|---|
options |
ScanOptions
|
result_watcher |
server_end:ScanResultWatcher
|
响应
<EMPTY>
StartScan
启动扫描会话,以查找附近的外围设备和广播设备。系统会通过 CentralDelegate.OnDeviceDiscovered() 报告发现的设备。如果扫描会话已在进行中,filter 将替换现有会话的过滤器。
如果 filter 为 null 或空(即其所有字段均未填充),则系统会针对找到的所有可检测到的设备通知委托。不建议这样做;客户端通常应至少按 filter.service_uuids、filter.service_data 和/或 filter.manufacturer_identifier 之一过滤结果。
已弃用 - 请改用“扫描”
请求
| 名称 | 类型 |
|---|---|
filter |
ScanFilter?
|
响应
| 名称 | 类型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
StopScan
终止之前启动的扫描会话。
已弃用
请求
<EMPTY>
SyncToPeriodicAdvertising
同步到周期性广播序列。报告将通过 PeriodicAdvertisingSync 协议传送。
请求
| 名称 | 类型 |
|---|---|
payload |
CentralSyncToPeriodicAdvertisingRequest
|
ChannelListener
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
表示接受传入频道请求的服务或协议。 关联的 PSM 的传入通道请求将通过此协议进行连接。关闭此协议还会停止接受任何传入的通道请求,但现有的已建立通道不会受到影响。此外,一旦此协议关闭,实现就可以自由地重复使用之前为此实例分配的 PSM。
接受
请求
| 名称 | 类型 |
|---|---|
channel |
client_end:fuchsia.bluetooth/Channel
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelListener_Accept_Result
|
已连接
在每次成功建立传入通道连接时调用。
请求
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerConnectedRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelListener_Connected_Result
|
ChannelListenerRegistry
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
表示能够在面向连接的通道上注册和接受传入连接。
ListenL2cap
为传入频道注册监听器。注册表将分配一个对本地设备而言唯一的 PSM 值,并打开一个 ChannelListener 以接受传入通道。在极少数情况下,如果所有 PSM 都已分配,此调用将失败并返回 ZX_ERR_NO_RESOURCES。
请注意,服务发现或通告的方法由服务或协议定义,因此调用方负责将分配的 PSM 传达给所有客户端。
请求
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
ChannelOffloadExt
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
bt.Channel 的协议扩展。这通常由特权客户端提供或提供给特权客户端,并附带 bt.Channel。此协议可以在 StartOffload 返回之前或之后关闭,不会产生任何影响。
StartOffload
必须在 Channel.Receive() 之前调用 StartOffload。分流通道将向对等方提供 0 个 RX 积分,以防止对等方在分流处理器准备就绪之前发送数据。此方法最多可调用一次。
系统可能会返回以下错误:
- 错误
BAD_STATE:Channel.Receive() 已被调用,或 StartOffload() 已被调用。 - 错误
INTERNAL:发生内部错误,无法卸载频道。
请求
| 名称 | 类型 |
|---|---|
payload |
ChannelOffloadExtStartOffloadRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelOffloadExt_StartOffload_Result
|
CodecDelay
在 fuchsia.bluetooth.le/codec_delay.fidl 中定义
此协议使我们能够检索控制器本地延迟值。它不应单独使用,而应组合到需要访问此信息的协议中。
GetCodecLocalDelayRange
检索使用提供的流属性指定的编解码器的控制器延迟时间范围。
成功后,返回允许的最小和最大延迟时间。
如果不支持读取延迟时间,则返回 ZX_ERR_NOT_SUPPORTED。 对于所有其他故障,返回 ZX_ERR_INTERNAL。
请求
| 名称 | 类型 |
|---|---|
payload |
CodecDelayGetCodecLocalDelayRangeRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
CodecDelay_GetCodecLocalDelayRange_Result
|
ConnectedIsochronousGroup
在 fuchsia.bluetooth.le/iso.fidl 中定义
EstablishStreams
连接一个或多个等时流。每个 CIS 都是与参数中指定的对等方建立的。成功启动操作后,系统会在 IsochronousStream 上发送 OnEstablished() 事件。
一次只能有一个 EstablishStreams 调用处于活动状态。在另一个通道处于待处理状态时调用 EstablishStreams 会导致通道关闭并显示 ZX_ERR_BAD_STATE。
如果发生错误,则不会建立任何 CIS,并且系统会返回相应的 EstablishStreamsError 代码。
否则,此调用会在每个指定的 CIS 连接后返回。
请求
| 名称 | 类型 |
|---|---|
payload |
ConnectedIsochronousGroupEstablishStreamsRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ConnectedIsochronousGroup_EstablishStreams_Result
|
移除
移除此 CIG。关联的直播将会关闭。在所有关联的流都已关闭且群组已被移除后,此协议将关闭。
请求
<EMPTY>
连接
在 fuchsia.bluetooth.le/peer.fidl 中定义
表示与对等体连接的协议。这可用于与 GATT 服务交互并建立 L2CAP 通道。
此功能的生命周期与它所代表的 LE 连接的生命周期相关联。如果没有其他客户端持有与同一对等端的连接,则关闭通道会导致断开连接。
AcceptCis
接受来自具有指定 CIG/CIS 值的对等设备的未来 CIS 请求。所有未明确允许的 CIS 请求都将被拒绝。
提供的 IsochronousStream 将用于未来通知已建立的连接。
主机可以同时等待多个传入连接,但每个连接都必须具有对此连接而言唯一的 CIG/CIS 值组合。
如果在此连接中我们不充当外围设备角色,connection_stream 将关闭,并显示 ZX_ERR_NOT_SUPPORTED 墓志铭。
如果我们已经在等待具有相同 CIG/CIS 值组合的其他连接,则 connection_stream 将关闭,并显示 ZX_ERR_INVALID_ARGS 墓志铭。
请求
| 名称 | 类型 |
|---|---|
payload |
ConnectionAcceptCisRequest
|
AcceptPeriodicAdvertisingSyncTransfer
接受来自对等设备的下一个定期广播同步传输。当主持人准备好接受转移时,系统会发送回复。一次只能有一个待处理请求。
请求
| 名称 | 类型 |
|---|---|
payload |
ConnectionAcceptPeriodicAdvertisingSyncTransferRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
Connection_AcceptPeriodicAdvertisingSyncTransfer_Result
|
ConnectL2cap
连接到 L2CAP LE 面向连接的通道。
请求
| 名称 | 类型 |
|---|---|
payload |
ConnectionConnectL2capRequest
|
GetCodecLocalDelayRange
检索使用提供的流属性指定的编解码器的控制器延迟时间范围。
成功后,返回允许的最小和最大延迟时间。
如果不支持读取延迟时间,则返回 ZX_ERR_NOT_SUPPORTED。 对于所有其他故障,返回 ZX_ERR_INTERNAL。
请求
| 名称 | 类型 |
|---|---|
payload |
CodecDelayGetCodecLocalDelayRangeRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
CodecDelay_GetCodecLocalDelayRange_Result
|
RequestGattClient
服务器可能会在出错时发送以下墓志铭:
ZX_ERR_ALREADY_BOUND:客户端服务器已绑定到此连接协议。应使用现有客户端。
请求
| 名称 | 类型 |
|---|---|
client |
server_end:fuchsia.bluetooth.gatt2/Client
|
TransferPeriodicAdvertisingSync
将由 sync_id 标识的周期性通告序列的同步信息发送到已连接的对等设备。
请求
| 名称 | 类型 |
|---|---|
payload |
ConnectionTransferPeriodicAdvertisingSyncRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
Connection_TransferPeriodicAdvertisingSync_Result
|
IsochronousStream
在 fuchsia.bluetooth.le/iso.fidl 中定义
OnEstablished
当 CIS 建立时(由中央设备通过 ConnectedIsochronousGroup/EstablishStreams 发起,或由外围设备通过 Connection/AcceptCis 发起),提供通知。
响应
| 名称 | 类型 |
|---|---|
payload |
IsochronousStreamOnEstablishedRequest
|
读取
从已建立并设置的输出(控制器 => 主机)ISO 流接收数据。旨在与挂起获取模式搭配使用。
可以在 ISO 数据流建立和设置之前调用,但只有在设置完成并收到数据后才会返回。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
payload |
IsochronousStream_Read_Result
|
SetupDataPath
使用指定参数创建等时数据路径。目前仅支持带内 (HCI) ISO 传输。
如果已为此方向创建 ISO 流,则返回 ZX_ERR_ALREADY_EXISTS。
如果在接受 CIS 请求之前在外围设备上发出,则返回 ZX_ERR_BAD_STATE。
如果编解码器参数无效或超出控制器支持的范围,则返回 ZX_ERR_INVALID_ARGS。
请求
| 名称 | 类型 |
|---|---|
payload |
IsochronousStreamSetupDataPathRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
IsochronousStream_SetupDataPath_Result
|
写入
将数据发送到已建立的 ISO 流(主机 => 控制器)。
如果遇到任何错误,则返回 ZX_ERR_INTERNAL。
请求
| 名称 | 类型 |
|---|---|
payload |
IsochronousStreamWriteRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
IsochronousStream_Write_Result
|
PeriodicAdvertisingSync
在 fuchsia.bluetooth.le/periodic.fidl 中定义
当同步未能建立或丢失时,由服务器关闭。
取消
服务器将结束同步,然后关闭协议。 如果其他客户端同步到同一周期性通告,则同步不会取消。 您也可以通过在客户端关闭协议来取消同步。
请求
<EMPTY>
OnError
在无法建立同步或同步丢失(在 OnEstablished 之后)时发送。发送此事件后,协议将关闭。
响应
| 名称 | 类型 |
|---|---|
error |
PeriodicAdvertisingSyncError
|
OnEstablished
在建立同步时发送一次。
响应
| 名称 | 类型 |
|---|---|
payload |
PeriodicAdvertisingSyncOnEstablishedRequest
|
SyncToSubevents
同步到此周期性广播的子事件。
- error FAILED: The synchronization failed.
请求
| 名称 | 类型 |
|---|---|
payload |
PeriodicAdvertisingSyncSyncToSubeventsRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
PeriodicAdvertisingSync_SyncToSubevents_Result
|
WatchAdvertisingReport
返回后续广告报告。挂起,直到收到下一个通告。 一次只能有一个待处理的调用。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
payload |
PeriodicAdvertisingSync_WatchAdvertisingReport_Result
|
外围设备
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
广告
开始作为 LE 外围设备持续通告。如果无法启动通告,则 advertised_peripheral 将关闭并返回错误。
此方法的调用次数不受限制。如需重新配置通告,请先关闭原始通告,然后在返回空响应后启动新通告。
如果客户端关闭其 fuchsia.bluetooth.le/AdvertisedPeripheral 通道端,通告将停止。如果句柄在请求完成之前关闭,则通告可能会在终止之前短暂启用。AdvertisedPeripheral 的生命周期受 Peripheral 协议的生命周期限制,但未来可能会发生变化 (https://fxbug.dev/42157682)。
- request
parameters配置通告实例时使用的参数。 - 请求
advertised_peripheral协议,该协议在此广告会话期间保持有效。
- 响应:当广告成功停止时(由于
advertised_peripheral协议的发布),系统会发送空响应。为防止出现类似的重叠通告以及因通告资源有限而导致的暂时性错误,建议您在再次调用Advertise之前等待响应。
- error 如果发生错误,
advertised_peripheral将关闭,并返回PeripheralError。
请求
| 名称 | 类型 |
|---|---|
parameters |
AdvertisingParameters
|
advertised_peripheral |
client_end:AdvertisedPeripheral
|
响应
| 名称 | 类型 |
|---|---|
payload |
Peripheral_Advertise_Result
|
ListenL2cap
为传入频道注册监听器。注册表将分配一个对本地设备而言唯一的 PSM 值,并打开一个 ChannelListener 以接受传入通道。在极少数情况下,如果所有 PSM 都已分配,此调用将失败并返回 ZX_ERR_NO_RESOURCES。
请注意,服务发现或通告的方法由服务或协议定义,因此调用方负责将分配的 PSM 传达给所有客户端。
请求
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnPeerConnected
当通过 fuchsia.bluetooth.le/Peripheral.StartAdvertising 启用可连接通告时,如果远程 LE 中心发起与此外围设备的连接,则会传送事件。
返回的 fuchsia.bluetooth.le/Connection 句柄可用于与对等设备进行交互。它还表示外围设备对连接的所有权:客户端可以丢弃句柄以请求断开连接。同样,系统会关闭句柄,以指示与对等端的连接已断开。
- 请求
peer发起连接的中心设备的相关信息。 - 请求
connection表示连接。
已弃用 - 请改用 AdvertisedPeripheral.OnConnected
响应
| 名称 | 类型 |
|---|---|
peer |
Peer
|
connection |
client_end:Connection
|
StartAdvertising
开始作为 LE 外围设备进行通告。系统会发送一个空响应,以指示通告已成功启动。如果无法启动通告,则响应将包含 fuchsia.bluetooth.le/PeripheralError。
此方法可以调用任意次数,并且可以连续调用以重新配置通告参数。不过,只有最新的 fuchsia.bluetooth.le/AdvertisingHandle 仍然有效。
fuchsia.bluetooth.le/Peripheral 的实例一次只能有一个有效通告。客户端必须获取多个 Peripheral 实例,才能同时进行多项通告。
如果客户端关闭其 fuchsia.bluetooth.le/AdvertisingHandle 通道端,通告将停止。如果句柄在请求完成之前关闭,则通告会在终止之前短暂启用。
- request
parameters:配置通告实例时使用的参数。 - 请求
handle句柄,该句柄在此通告会话期间保持有效。
- error 如果无法启动通告,则返回 fuchsia.bluetooth.le/PeripheralError。在这种情况下,
handle将关闭。
已弃用
请求
| 名称 | 类型 |
|---|---|
parameters |
AdvertisingParameters
|
handle |
server_end:AdvertisingHandle
|
响应
| 名称 | 类型 |
|---|---|
payload |
Peripheral_StartAdvertising_Result
|
PrivilegedCentral
在 fuchsia.bluetooth.le/central.fidl 中定义
Central 协议的特权版本,提供套接字分流等高级功能。由于此协议包含敏感信息和功能,因此只能路由到受信任的系统组件。
关联
连接到具有给定标识符的对等设备。
请求的 fuchsia.bluetooth.le/Connection 表示客户端对与对等方的 LE 连接的兴趣。关闭通道会移除兴趣,但如果另一个客户端持有与同一对等方的有效 fuchsia.bluetooth.le/Connection,则可能不会导致断开连接。
如果与对等设备的连接丢失或发生错误,系统将关闭 fuchsia.bluetooth.le/Connection handle。
服务器可能会在出错时发送以下墓志铭:
-
INVALID_ARGS:部分参数无效。 -
ALREADY_BOUND:此中央设备已与对等设备建立连接。应使用现有连接。 -
NOT_CONNECTED:无法建立连接。 -
CONNECTION_RESET:对等方已断开连接。 -
request
id要发起连接的对等端的标识符。 -
request
options用于配置连接的选项。 -
请求
handle句柄,在连接期间保持有效。
请求
| 名称 | 类型 |
|---|---|
id |
fuchsia.bluetooth/PeerId
|
options |
ConnectionOptions
|
handle |
server_end:Connection
|
ConnectPeripheral
创建与具有给定标识符的外围设备的连接。
返回 status 中操作的状态。
成功后,gatt_client 将被绑定,并可用于 GATT 客户端角色过程。如果失败,gatt_client 将关闭,status 将指示错误。
已弃用 - 请改用 Connect
请求
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
options |
ConnectionOptions
|
gatt_client |
server_end:fuchsia.bluetooth.gatt/Client
|
响应
| 名称 | 类型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
CreateConnectedIsochronousGroup
使用指定参数创建新的连接同步组 (CIG)。此操作仅在连接中以中心角色操作时有效。
如果在明确移除 CIG 之前关闭了中央通道,则该组将被移除并断开连接。
如果失败,则返回错误代码,请参阅 CreateCigError。成功后,返回由主机分配的唯一 ID。
请求
| 名称 | 类型 |
|---|---|
payload |
CentralCreateConnectedIsochronousGroupRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
Central_CreateConnectedIsochronousGroup_Result
|
DisconnectPeripheral
断开此 Central 与具有给定标识符的外围设备的连接。
已弃用
请求
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
响应
| 名称 | 类型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
GetPeripheral
此方法未由 Fuchsia 核心堆栈实现 - TODO(https://fxbug.dev/42087303)
根据唯一标识符,返回系统从之前的扫描、连接和/或绑定过程中了解到的单个外围设备的相关信息。如果无法识别 identifier,则返回 null。
已弃用
请求
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
响应
| 名称 | 类型 |
|---|---|
peripheral |
RemoteDevice?
|
GetPeripherals
返回系统通过之前的扫描、连接和/或绑定过程已知的外围设备列表。可以根据已知存在于外围设备上的服务 UUID 过滤结果。
此方法仅返回外围设备(即可连接的设备)。
已弃用
请求
| 名称 | 类型 |
|---|---|
service_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
响应
| 名称 | 类型 |
|---|---|
peripherals |
vector<RemoteDevice>
|
ListenL2cap
为传入频道注册监听器。注册表将分配一个对本地设备而言唯一的 PSM 值,并打开一个 ChannelListener 以接受传入通道。在极少数情况下,如果所有 PSM 都已分配,此调用将失败并返回 ZX_ERR_NO_RESOURCES。
请注意,服务发现或通告的方法由服务或协议定义,因此调用方负责将分配的 PSM 传达给所有客户端。
请求
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnDeviceDiscovered
针对在扫描会话期间发现的每个外围设备/广播器调用。rssi 包含生成此事件的通告数据包的接收信号强度(如果有)。
已弃用
响应
| 名称 | 类型 |
|---|---|
device |
RemoteDevice
|
OnPeripheralDisconnected
当此中央设备与具有给定标识符的外围设备的连接终止时调用。
已弃用
响应
| 名称 | 类型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
OnScanStateChanged
在扫描状态发生变化时调用,例如,当扫描会话因调用 Central.StopScan() 或其他意外情况而终止时。
已弃用
响应
| 名称 | 类型 |
|---|---|
scanning |
bool
|
扫描
扫描附近的 LE 外围设备和广播设备。如果无法启动扫描,result_watcher 将关闭并显示墓志铭。
一个中央客户端一次只能有一个活跃扫描。因此,一次只能有一个扫描请求处于未完成状态。 对 Scan 的其他调用将失败。
扫描会话的生命周期与提供的 result_watcher 协议相关联。如果频道关闭,扫描将停止。
扫描开始后,可以使用 fuchsia.bluetooth.le/ScanResultWatcher 监控扫描结果。
- request
options用于配置扫描会话的选项。 - 请求
result_watcher协议,该协议在此扫描会话期间保持有效。
- 响应:系统将发送空响应,以确认扫描已停止。
服务器可能会在出错时发送以下墓志铭:
- 错误
ALREADY_EXISTS:扫描已在进行中。每个Central协议仅允许 1 次主动扫描。 - 错误
INVALID_ARGS:部分扫描options无效。请参阅ScanOptions文档。 - 错误
INTERNAL:发生内部错误,无法启动扫描。
请求
| 名称 | 类型 |
|---|---|
options |
ScanOptions
|
result_watcher |
server_end:ScanResultWatcher
|
响应
<EMPTY>
StartScan
启动扫描会话,以查找附近的外围设备和广播设备。系统会通过 CentralDelegate.OnDeviceDiscovered() 报告发现的设备。如果扫描会话已在进行中,filter 将替换现有会话的过滤器。
如果 filter 为 null 或空(即其所有字段均未填充),则系统会针对找到的所有可检测到的设备通知委托。不建议这样做;客户端通常应至少按 filter.service_uuids、filter.service_data 和/或 filter.manufacturer_identifier 之一过滤结果。
已弃用 - 请改用“扫描”
请求
| 名称 | 类型 |
|---|---|
filter |
ScanFilter?
|
响应
| 名称 | 类型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
StopScan
终止之前启动的扫描会话。
已弃用
请求
<EMPTY>
SyncToPeriodicAdvertising
同步到周期性广播序列。报告将通过 PeriodicAdvertisingSync 协议传送。
请求
| 名称 | 类型 |
|---|---|
payload |
CentralSyncToPeriodicAdvertisingRequest
|
PrivilegedPeripheral
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
外围设备协议的特权版本。 此协议应仅路由到可信组件和系统组件。使用此协议将使客户端能够突破正常的隐私限制,这可能会泄露有关设备位置或所有者的信息。
文档中会注明泄露信息的使用场景,并将其标记为只能通过 PrivilegedPeripheral 使用,如果通过 Peripheral 使用,则会出错。
广告
开始作为 LE 外围设备持续通告。如果无法启动通告,则 advertised_peripheral 将关闭并返回错误。
此方法的调用次数不受限制。如需重新配置通告,请先关闭原始通告,然后在返回空响应后启动新通告。
如果客户端关闭其 fuchsia.bluetooth.le/AdvertisedPeripheral 通道端,通告将停止。如果句柄在请求完成之前关闭,则通告可能会在终止之前短暂启用。AdvertisedPeripheral 的生命周期受 Peripheral 协议的生命周期限制,但未来可能会发生变化 (https://fxbug.dev/42157682)。
- request
parameters配置通告实例时使用的参数。 - 请求
advertised_peripheral协议,该协议在此广告会话期间保持有效。
- 响应:当广告成功停止时(由于
advertised_peripheral协议的发布),系统会发送空响应。为防止出现类似的重叠通告以及因通告资源有限而导致的暂时性错误,建议您在再次调用Advertise之前等待响应。
- error 如果发生错误,
advertised_peripheral将关闭,并返回PeripheralError。
请求
| 名称 | 类型 |
|---|---|
parameters |
AdvertisingParameters
|
advertised_peripheral |
client_end:AdvertisedPeripheral
|
响应
| 名称 | 类型 |
|---|---|
payload |
Peripheral_Advertise_Result
|
ListenL2cap
为传入频道注册监听器。注册表将分配一个对本地设备而言唯一的 PSM 值,并打开一个 ChannelListener 以接受传入通道。在极少数情况下,如果所有 PSM 都已分配,此调用将失败并返回 ZX_ERR_NO_RESOURCES。
请注意,服务发现或通告的方法由服务或协议定义,因此调用方负责将分配的 PSM 传达给所有客户端。
请求
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
响应
| 名称 | 类型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnPeerConnected
当通过 fuchsia.bluetooth.le/Peripheral.StartAdvertising 启用可连接通告时,如果远程 LE 中心发起与此外围设备的连接,则会传送事件。
返回的 fuchsia.bluetooth.le/Connection 句柄可用于与对等设备进行交互。它还表示外围设备对连接的所有权:客户端可以丢弃句柄以请求断开连接。同样,系统会关闭句柄,以指示与对等端的连接已断开。
- 请求
peer发起连接的中心设备的相关信息。 - 请求
connection表示连接。
已弃用 - 请改用 AdvertisedPeripheral.OnConnected
响应
| 名称 | 类型 |
|---|---|
peer |
Peer
|
connection |
client_end:Connection
|
StartAdvertising
开始作为 LE 外围设备进行通告。系统会发送一个空响应,以指示通告已成功启动。如果无法启动通告,则响应将包含 fuchsia.bluetooth.le/PeripheralError。
此方法可以调用任意次数,并且可以连续调用以重新配置通告参数。不过,只有最新的 fuchsia.bluetooth.le/AdvertisingHandle 仍然有效。
fuchsia.bluetooth.le/Peripheral 的实例一次只能有一个有效通告。客户端必须获取多个 Peripheral 实例,才能同时进行多项通告。
如果客户端关闭其 fuchsia.bluetooth.le/AdvertisingHandle 通道端,通告将停止。如果句柄在请求完成之前关闭,则通告会在终止之前短暂启用。
- request
parameters:配置通告实例时使用的参数。 - 请求
handle句柄,该句柄在此通告会话期间保持有效。
- error 如果无法启动通告,则返回 fuchsia.bluetooth.le/PeripheralError。在这种情况下,
handle将关闭。
已弃用
请求
| 名称 | 类型 |
|---|---|
parameters |
AdvertisingParameters
|
handle |
server_end:AdvertisingHandle
|
响应
| 名称 | 类型 |
|---|---|
payload |
Peripheral_StartAdvertising_Result
|
ScanResultWatcher
在 fuchsia.bluetooth.le/central.fidl 中定义
表示主动扫描过程。此协议在扫描期间保持有效,可用于获取扫描结果。客户端可以关闭协议以停止扫描。如果系统停止了扫描,则协议将以墓志铭 CANCELED 关闭,以将此情况传达给客户端。
观看
返回满足 ScanOptions 中指示的过滤条件的所有 LE 对等设备的列表。第一个响应会立即返回匹配的已发现对等设备。只有在自上次调用以来扫描或更新了对等方时,后续调用才会收到响应。如果在一次调用已处于待处理状态时错误地发送了对 Watch 的第二次调用,则扫描将被取消,协议将被关闭。
- 响应
updated自上次调用 Watch() 以来添加或更新的对等方。
请求
<EMPTY>
响应
| 名称 | 类型 |
|---|---|
updated |
vector<Peer>
|
STRUCTS
AdvertisingDataDeprecated
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
表示由广播器或外围设备通告的通告和扫描响应数据。
已弃用 - 请改用 AdvertisingData
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
name |
fuchsia.bluetooth/DeviceName
|
设备的名称。 |
无默认应用 |
tx_power_level |
fuchsia.bluetooth/Int8?
|
广告中报告的无线电传输功率级别。 |
无默认应用 |
appearance |
fuchsia.bluetooth/UInt16?
|
广告中报告的外观。 |
无默认应用 |
service_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
通告中报告的服务 UUID 的列表。 |
无默认应用 |
service_data |
vector<ServiceDataEntry>?
|
通告中包含的服务数据。 |
无默认应用 |
manufacturer_specific_data |
vector<ManufacturerSpecificDataEntry>?
|
制造商特定数据条目。 |
无默认应用 |
solicited_service_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
通告中请求的服务 UUID。外围设备可以邀请公开特定服务的中心设备使用服务请求连接到它们。 |
无默认应用 |
uris |
vector<string>?
|
通告数据包中包含的 URI。 这些是完整的 URI(会自动进行编码/解码) |
无默认应用 |
ChannelListener_Accept_Response
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
<EMPTY>
ChannelListener_Connected_Response
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
<EMPTY>
ConnectedIsochronousGroup_EstablishStreams_Response
在 fuchsia.bluetooth.le/iso.fidl 中定义
<EMPTY>
Connection_AcceptPeriodicAdvertisingSyncTransfer_Response
在 fuchsia.bluetooth.le/peer.fidl 中定义
<EMPTY>
Connection_TransferPeriodicAdvertisingSync_Response
在 fuchsia.bluetooth.le/peer.fidl 中定义
<EMPTY>
IsochronousStream_SetupDataPath_Response
在 fuchsia.bluetooth.le/iso.fidl 中定义
<EMPTY>
IsochronousStream_Write_Response
在 fuchsia.bluetooth.le/iso.fidl 中定义
<EMPTY>
ManufacturerData
在 fuchsia.bluetooth.le/advertising_data.fidl 中定义
fuchsia.bluetooth.le/AdvertisingData 的 manufacturer_data 字段中的条目。
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
company_id |
uint16
|
无默认应用 | |
data |
vector<uint8>:252
|
无默认应用 |
ManufacturerSpecificDataEntry
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
已弃用 - 请改用 ManufacturerData
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
company_id |
uint16
|
无默认应用 | |
data |
vector<uint8>
|
无默认应用 |
PeriodicAdvertisingSyncId
在 fuchsia.bluetooth.le/periodic.fidl 中定义
系统用于标识 PeriodicAdvertisingSync 的 64 位唯一值。
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
value |
uint64
|
无默认应用 |
PeriodicAdvertisingSync_SyncToSubevents_Response
在 fuchsia.bluetooth.le/periodic.fidl 中定义
<EMPTY>
Peripheral_Advertise_Response
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
<EMPTY>
Peripheral_StartAdvertising_Response
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
<EMPTY>
RemoteDevice
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
表示远程低功耗蓝牙设备。RemoteDevice 可以表示中心设备、广播设备或外围设备,具体取决于接收它的 API。
已弃用 - 请改用 Peer
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
在当前系统上唯一标识此设备的标识符。 |
无默认应用 |
connectable |
bool
|
此设备是否可连接。不可连接的设备通常扮演 LE 广播者角色。 |
无默认应用 |
rssi |
fuchsia.bluetooth/Int8?
|
此设备最近一次的已知 RSSI(如果已知)。 |
无默认应用 |
advertising_data |
AdvertisingDataDeprecated?
|
如果此设备是广播器或外围设备,则由其广播的广告数据。 |
无默认应用 |
ScanFilter
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
扫描期间使用的过滤参数。只有在发现的外围设备或广播设备满足所有提供的过滤参数时,系统才会向应用报告该设备。系统会忽略 null 字段。
已弃用 - 请改用 Filter
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
service_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
根据通告的服务 UUID 进行过滤。通告 |
无默认应用 |
service_data_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
根据包含给定 UUID 之一的服务数据进行过滤。 |
无默认应用 |
manufacturer_identifier |
fuchsia.bluetooth/UInt16?
|
根据制造商数据中存在的公司标识符进行过滤。如果设置了此过滤条件参数,则通告载荷必须包含具有所提供公司标识符的制造商特定数据,才能满足此过滤条件。 |
无默认应用 |
connectable |
fuchsia.bluetooth/Bool?
|
根据设备是否可连接进行过滤。例如,如果客户端仅对可连接的外围设备感兴趣,则可以将此值设置为 true。同样,客户端可以通过将此值设置为 false 来仅扫描广播器。 |
无默认应用 |
name_substring |
fuchsia.bluetooth/DeviceName
|
根据广播设备名称的一部分过滤结果。 |
无默认应用 |
max_path_loss |
fuchsia.bluetooth/Int8?
|
根据无线电波的路径损耗过滤结果。与此过滤条件匹配的设备必须满足以下条件:
|
无默认应用 |
ServiceData
在 fuchsia.bluetooth.le/advertising_data.fidl 中定义
fuchsia.bluetooth.le/AdvertisingData 的 service_data 字段中的条目。
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
uuid |
fuchsia.bluetooth/Uuid
|
无默认应用 | |
data |
vector<uint8>:252
|
无默认应用 |
ServiceDataEntry
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
已弃用 - 请改用 ServiceData
| 字段 | 类型 | 说明 | 默认 |
|---|---|---|---|
uuid |
fuchsia.bluetooth/UuidString
|
无默认应用 | |
data |
vector<uint8>
|
无默认应用 |
枚举
AdvertisingModeHint strict
类型:uint8
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
客户端可以通过指定模式来指明通告数据包的传输速率。在为控制器配置通告间隔和窗口参数时,该模式会向系统提供提示。
该模式会影响扫描器或中心设备发现外围设备的速度,但可能会对功耗产生不利影响。虽然系统会尝试遵循客户端的请求,但无法保证一定会这样做。
| 名称 | 值 | 说明 |
|---|---|---|
VERY_FAST |
1 |
以非常短的间隔和窗口进行通告,以便快速发现,但代价是功耗较高。这对应于 1M PHY 上的 30-60 毫秒间隔和编码 PHY 上的 90-180 毫秒间隔。 |
快捷 |
2 |
以较短的间隔和窗口进行通告,耗电量低于 |
慢 |
3 |
以适中的间隔和窗口进行通告。这对应于 1M PHY 上的 1-1.2 秒和编码 PHY 上的 3 秒。 |
CentralError strict
类型:uint32
在 fuchsia.bluetooth.le/central.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
已中止 |
1 |
请求已中止。 |
IN_PROGRESS |
2 |
请求已在处理中。 |
INVALID_PARAMETERS |
3 |
提供的参数无效。 |
失败 |
4 |
由于硬件或系统错误,无法启动通告。 |
CigFramingOptions strict
类型:uint32
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
无框 |
0 |
|
FRAMED |
1 |
灵活 CigPacking
类型:uint32
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
依序 |
0 |
|
交错 |
1 |
CreateCigError flexible
类型:uint32
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
未知 |
1 |
由于发生了与下面定义的其他错误无关的未知或未指明的错误,因此无法创建 CIG。 |
NOT_ENOUGH_RESOURCES |
2 |
无法创建 CIG,因为这会超出可用资源。 |
INVALID_PARAMETERS |
3 |
无法创建 CIG,因为为 CIG 或一个或多个 CIS 提供给 CreateCig 的参数无效。 新增:NEXT
|
EstablishStreamsError 灵活
类型:uint32
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
NOT_SUPPORTED |
1 |
控制器不支持具有为其指定的参数的 CIS。 |
DUPLICATE_CIS |
2 |
在一次调用中多次指定了同一 CIS。 |
CIS_ALREADY_ESTABLISHED |
3 |
指定的一个或多个 CIS 已存在。 |
PEER_NOT_CONNECTED |
4 |
CIS 参数中指定的一个或多个对等设备未连接。 |
PEER_PARAMETERS_OUT_OF_RANGE |
5 |
在创建 CIG 时提供了预期对等方,并且请求的一个或多个对等方不满足该集合决定的 CIG 参数。 新增:31
|
IsoPacketStatusFlag strict
类型:uint8
在 fuchsia.bluetooth.le/iso.fidl 中定义
指示从等时通道接收的数据有效性的标志。
| 名称 | 值 | 说明 |
|---|---|---|
VALID_DATA |
0 |
有效数据。已正确接收完整的 SDU。 |
DATA_WITH_POSSIBLE_ERRORS |
1 |
数据可能无效。收到的一个或多个分片可能包含错误,或者数据包的一部分可能缺失。 |
LOST_DATA |
2 |
数据包的部分内容未正确接收。 |
PeriodicAdvertisingSyncError 灵活
类型:uint32
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
INITIAL_SYNCHRONIZATION_FAILED |
0 |
|
SYNCHRONIZATION_LOST |
1 |
|
NOT_SUPPORTED_LOCAL |
2 |
|
NOT_SUPPORTED_REMOTE |
3 |
PeriodicAdvertisingSyncTransferError 灵活
类型:uint32
在 fuchsia.bluetooth.le/peer.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
失败 |
0 |
|
INVALID_SYNC_ID |
1 |
|
TRANSFER_ALREADY_PENDING |
2 |
|
NOT_SUPPORTED_LOCAL |
3 |
|
NOT_SUPPORTED_REMOTE |
4 |
PeripheralError strict
类型:uint32
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
| 名称 | 值 | 说明 |
|---|---|---|
NOT_SUPPORTED |
1 |
当前硬件不支持所请求的操作或参数。 |
ADVERTISING_DATA_TOO_LONG |
2 |
提供的通告数据在编码后超出了允许的最大长度。 |
SCAN_RESPONSE_DATA_TOO_LONG |
3 |
提供的扫描响应数据在编码后超出了允许的最大长度。 |
INVALID_PARAMETERS |
4 |
请求的参数无效。 |
已中止 |
5 |
开始通告的请求已中止,例如通过发出带有新参数的新请求。 |
失败 |
6 |
由于硬件或系统错误,无法启动通告。 |
灵活的 PhysicalLayer
类型:uint8
在 fuchsia.bluetooth.le/phy.fidl 中定义
LE 无线电传输的物理层配置。
| 名称 | 值 | 说明 |
|---|---|---|
LE_1M |
1 |
1 兆位 PHY 是原始和默认 PHY,具有均衡的吞吐量和范围。 |
LE_2M |
2 |
2 兆位 PHY 支持提高吞吐量,但会缩短覆盖范围。 |
LE_CODED |
3 |
Coded PHY 通过使用增强型错误检测和纠正功能来增加最大范围,但代价是吞吐量降低。 |
TABLES
AcceptedChannelParameters
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
在监听新通道连接时用于接受通道的一组参数。
请参阅 ChannelListenerRegistry/ListenL2cap。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
accepted_channel_modes |
vector<fuchsia.bluetooth/ChannelMode>
|
收听时应接受的所有频道模式。必须至少包含一个声道模式,否则调用将失败并显示 |
2 |
max_packet_size |
uint16
|
接收时支持的数据包大小上限。 可选。如果未提供,则大小将由蓝牙系统决定。我们不保证所选尺寸一定有货。 |
AdvertisingData
在 fuchsia.bluetooth.le/advertising_data.fidl 中定义
表示由 LE 外围设备或广播器传输的广告和扫描响应数据。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
name |
fuchsia.bluetooth/DeviceName
|
设备的全称或简称。 |
2 |
appearance |
fuchsia.bluetooth/Appearance
|
设备的外观。 |
3 |
tx_power_level |
int8
|
已弃用 - 请改用 include_tx_power_level。此值将被忽略。 |
4 |
service_uuids |
vector<fuchsia.bluetooth/Uuid>
|
服务 UUID。 |
5 |
service_data |
vector<ServiceData>
|
服务数据条目。 |
6 |
manufacturer_data |
vector<ManufacturerData>
|
制造商特定数据条目。 |
7 |
uris |
vector<string:278>
|
表示要通告的 URI 的字符串,如 IETF STD 66 中所定义。每个条目都应是 UTF-8 字符串,包括架构。如需了解详情,请参阅:
|
8 |
include_tx_power_level |
bool
|
指示当前 TX 功率级别是否应包含在通告数据中。 |
9 |
resolvable_set_identifier |
array<uint8, 6>
|
将对等方标识为属于协调集。 此参数的解析和生成在“Coordinated Set Identification Service Specification”中定义。 新增:24
|
10 |
broadcast_name |
string:128
|
扫描设备上的界面可以使用广播名称字符串来显示有关可用广播源的信息。 具有相同广播名称的多台设备可能会传输相同的数据,从而允许设备选择其中一台。长度至少为 4 个 Unicode 字符,且不超过 32 个字符。 在公共广播配置文件规范中定义。 新增:24
|
AdvertisingParameters
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
表示用于配置通告的参数。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
data |
AdvertisingData
|
将在广播数据包的数据部分中编码的字段。 必须填写此字段。 |
2 |
scan_response |
AdvertisingData
|
要在扫描响应数据包中发送的字段。在不支持通告数据长度扩展的平台上,客户端可以使用此功能发送通告数据包中无法容纳的其他数据。 如果存在,通告将被配置为可扫描。 |
3 |
mode_hint |
AdvertisingModeHint
|
所需的广告频率。请参阅 fuchsia.bluetooth.le/AdvertisingModeHint。 如果不存在,则默认为 fuchsia.bluetooth.le/AdvertisingModeHint.SLOW。 |
4 |
connectable |
bool
|
如果存在且为 true,则控制器将广播可连接的通告,从而允许远程 LE 中心发起与外围设备的连接。如果为 false 或不存在,则通告将不可连接。 已弃用 - 建议在新代码中使用 connection_options 字段。 |
5 |
connection_options |
ConnectionOptions
|
如果存在,控制器将广播可连接的通告,以便对等设备发起与外围设备的连接。 |
6 |
advertising_procedure |
AdvertisingProcedure
|
指定要使用的通告类型(例如,旧版、扩展等)。 如果不存在,我们会默认使用旧版通告,以保持与蓝牙 5.0 之前的设备的最佳兼容性。如需了解详情,请参阅 AdvertisingProcedure 中的字段说明。 新增:24
|
7 |
address_type |
fuchsia.bluetooth/AddressType
|
如果未启用隐私保护,地址类型将始终为公开。 如果启用了隐私保护,并且客户端没有特权,则地址将是随机的私有地址(可解析或不可解析)。请求公共地址的非特权客户端将返回错误。 如果启用了隐私保护功能,并且客户端具有特权,则客户端可以请求任何地址类型,否则将默认使用随机专用地址。 如果未设置此字段,地址类型将为公共或随机,具体取决于系统中是否启用了隐私保护。 新增:24
|
BroadcastIsochronousGroupInfo
在 fuchsia.bluetooth.le/iso.fidl 中定义
描述 LE 音频广播等时组 (BIG) 的“BIGInfo”参数。 缺少要作为 fxbug.dev/429213165 的一部分添加的字段。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
streams_count |
uint8
|
此组中的广播等时流数量。 |
2 |
max_sdu_size |
uint16
|
同步 SDU 的大小上限。 |
3 |
phy |
PhysicalLayer
|
用于传输数据的 PHY。 |
4 |
encryption |
bool
|
指示 BIG 是否已加密。 |
BroadcastIsochronousGroupInfoReport
在 fuchsia.bluetooth.le/periodic.fidl 中定义
随周期性广播一起收到的 BIGInfo 报告。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
info |
BroadcastIsochronousGroupInfo
|
|
2 |
timestamp |
zx/Time
|
主机收到报告时的时间戳。 |
CentralCreateConnectedIsochronousGroupRequest 资源
在 fuchsia.bluetooth.le/central.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
cig_parameters |
CigParameters
|
必需。CIG 的参数。 |
2 |
cis_requested_parameters |
vector<CisRequestedParameters>:31
|
必需。必须至少包含一个 CIS。 |
3 |
cig |
server_end:ConnectedIsochronousGroup
|
必需。要连接的 ConnectedIsochronousGroup 协议。 |
CentralSyncToPeriodicAdvertisingRequest 资源
在 fuchsia.bluetooth.le/central.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
peer_id |
fuchsia.bluetooth/PeerId
|
传输定期通告的对等设备的标识符,通过 |
2 |
advertising_sid |
uint8
|
用于同步的通告的通告 SID。此信息可在标准扫描结果 ( |
3 |
sync |
server_end:PeriodicAdvertisingSync
|
成功同步后,系统会发送 |
4 |
config |
PeriodicAdvertisingSyncConfiguration
|
Central_CreateConnectedIsochronousGroup_Response
在 fuchsia.bluetooth.le/central.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
cig_id |
uint8
|
由主机分配的唯一 CIG_ID。 |
ChannelListenerConnectedRequest 资源
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
channel |
client_end:fuchsia.bluetooth/Channel
|
必填。 |
2 |
ext_offload |
client_end:ChannelOffloadExt
|
通道分流扩展。请参阅 ChannelOffloadExt。 仅适用于特权客户端,使其能够启动频道分流。 |
ChannelListenerRegistryListenL2capRequest 资源
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
parameters |
AcceptedChannelParameters
|
通道本地端接受的参数。 |
2 |
listener |
client_end:ChannelListener
|
要打开的通道监听器协议。 |
ChannelListenerRegistry_ListenL2cap_Response
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
psm |
Psm
|
由注册管理机构分配的 PSM。保证在 PSM 值的 |
ChannelOffloadExtStartOffloadRequest
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|
ChannelOffloadExt_StartOffload_Response
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
offload_parameters |
fuchsia.bluetooth/L2capChannelOffloadParameters
|
CigParameters
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
sdu_interval_c_to_p |
uint32
|
连续 SDU 开始之间的时间间隔(中心 => 外围,以微秒为单位)。这是所用编解码器的功能。 必填。 |
2 |
sdu_interval_p_to_c |
uint32
|
连续 SDU 的开始时间之间的间隔(外围设备 => 中心设备,以微秒为单位)。这是所用编解码器的功能。 必填。 |
3 |
packing |
CigPacking
|
排列多个 CIS 的子事件的首选方法。控制器可能会忽略此参数。 可选。如果未指定,系统将使用 SEQUENTIAL。 |
4 |
framing |
CigFramingOptions
|
指定在数据帧中包含时间偏移值。 可选。如果未指定,系统将使用 UNFRAMED。 |
5 |
max_transport_latency_c_to_p |
uint16
|
控制器之间的最大延迟时间(以毫秒为单位,中央 => 外围)。 必填。 |
6 |
max_transport_latency_p_to_c |
uint16
|
控制器之间的最大延迟时间(外围设备 => 中心设备),以毫秒为单位。 必填。 |
7 |
expected_peers |
vector<fuchsia.bluetooth/PeerId>
|
预期或计划加入此 CIG 的对等方(如果已知)。这可用于优化参数,但可能会限制可连接到群组的对等设备集。 可选。 新增:31
|
CisEstablishedParameters
在 fuchsia.bluetooth.le/iso.fidl 中定义
为单个 CIS 建立的配置。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
cig_sync_delay |
zx/Duration
|
CIG 事件中所有 CIS 的 PDU 传输时间上限。 范围为 [234, 8388607] 微秒。 此字段始终存在。 |
2 |
cis_sync_delay |
zx/Duration
|
在 CIG 事件中传输指定 CIS 的 PDU 的最长时间。范围为 [234, 8388607] 微秒。 此字段始终存在。 |
3 |
max_subevents |
uint8
|
每个 CIS 事件中的子事件数量上限。 此字段始终存在。 |
4 |
iso_interval |
zx/Duration
|
两个连续 CIS 锚点之间的时间,范围为 [5ms, 4s] 此字段始终存在。 |
5 |
central_to_peripheral_params |
CisUnidirectionalParams
|
中心设备 => 外围设备传输的参数(如果适用)。 如果数据流包含从中央设备到外围设备的同步数据传输,则此字段会显示。 |
6 |
peripheral_to_central_params |
CisUnidirectionalParams
|
外围设备 => 中心设备传输的参数(如果适用)。 如果数据流包含从外围设备到中心设备的同步数据传输,则此字段会显示。 |
CisParameters
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
cis_id |
uint8
|
要建立的流的 ID(之前已传递给 Connection/CreateCig())。必填。 |
2 |
id |
fuchsia.bluetooth/PeerId
|
提供等时数据流另一端的外围设备。 必填。 |
CisRequestedParameters 资源
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
cis_id |
uint8
|
用于在 CIG 中唯一标识数据流的 ID。在单个创建请求中,所有 |
2 |
connection_stream |
server_end:IsochronousStream
|
将用于对数据流执行操作的通道。 必填。 |
3 |
max_sdu_size_outgoing |
uint16
|
SDU 大小上限(中心设备 => 外围设备)。这是所用编解码器的功能。单向流应将未使用的方向设置为 0。 可选。如果未提供,则将使用值 0(单向) |
4 |
max_sdu_size_incoming |
uint16
|
SDU 大小上限(外围设备 => 中心设备)。这是所用编解码器的功能。单向流应将未使用的方向设置为 0。 可选。如果未提供,则将使用值 0(单向) |
CisUnidirectionalParams
在 fuchsia.bluetooth.le/iso.fidl 中定义
与已建立的 CIS 中单个传输方向相关的参数。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
transport_latency |
zx/Duration
|
传输延迟时间,范围为 [234, 8388607] 微秒 此字段始终存在。 |
2 |
burst_number |
uint8
|
此方向传输的突发数量。 此字段始终存在。 |
3 |
flush_timeout |
uint8
|
每个载荷的刷新超时,以 ISO 间隔的倍数表示。 此字段始终存在。 |
CodecDelayGetCodecLocalDelayRangeRequest
在 fuchsia.bluetooth.le/codec_delay.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
logical_transport_type |
fuchsia.bluetooth/LogicalTransportType
|
正在使用的逻辑传输类型。目前仅支持 LE 传输机制(CIS 或 BIS)。必填。 |
2 |
data_direction |
fuchsia.bluetooth/DataDirection
|
指示数据流的方向。必填。 |
3 |
codec_attributes |
fuchsia.bluetooth/CodecAttributes
|
通过无线方式使用的编解码器。必填。 |
CodecDelay_GetCodecLocalDelayRange_Response
在 fuchsia.bluetooth.le/codec_delay.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
min_controller_delay |
zx/Duration
|
指定配置的控制器延迟时间下限,范围为 [0, 4] 秒。 始终在成功时提供。 |
2 |
max_controller_delay |
zx/Duration
|
指定配置的最大控制器延迟时间,范围为 [0, 4] 秒。 始终在成功时提供。 |
ConnectedIsochronousGroupEstablishStreamsRequest
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
cis_params |
vector<CisParameters>:31
|
必填。 |
ConnectionAcceptCisRequest 资源
在 fuchsia.bluetooth.le/peer.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
cig_id |
uint8
|
包含所请求 CIS 的 CIG 的标识符。必填。 |
2 |
cis_id |
uint8
|
所请求 CIS 的标识符。必填。 |
3 |
connection_stream |
server_end:IsochronousStream
|
串流建立后,服务器将在此通道上调用 IsochronousStream::OnCisEstablished()。必填。 如果此通道的客户端端关闭,则相应 CIG/CIS 组合的请求将被拒绝,直到/除非使用相同的 CIG/CIS 参数再次调用 AcceptCis()。 |
ConnectionAcceptPeriodicAdvertisingSyncTransferRequest 资源
在 fuchsia.bluetooth.le/peer.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
sync |
server_end:PeriodicAdvertisingSync
|
建立同步后,系统会发送 |
2 |
config |
PeriodicAdvertisingSyncConfiguration
|
ConnectionConnectL2capRequest 资源
在 fuchsia.bluetooth.le/peer.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
parameters |
fuchsia.bluetooth/ChannelParameters
|
通道本地端的参数。 |
2 |
channel |
server_end:fuchsia.bluetooth/Channel
|
要打开的通道协议。 |
3 |
psm |
Psm
|
要连接的远程端的 PSM。 |
4 |
ext_offload |
server_end:ChannelOffloadExt
|
通道分流扩展。请参阅 fuchsia.bluetooth.le/ChannelOffloadExt。
只有特权客户端才能分流通道。此协议将对其他客户关闭。客户端还必须调用 新增:31
|
ConnectionOptions
在 fuchsia.bluetooth.le/connection_options.fidl 中定义
表示由创建低功耗连接的 FIDL 协议按连接设置的参数。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
bondable_mode |
bool
|
如果为 true,则连接在可绑定模式下运行。这意味着,如果对等设备也处于可绑定模式,则配对将形成绑定,或在断开连接后保持绑定。如果不存在,则连接默认为可绑定模式。如果为 false,则连接在不可绑定模式下运行,这意味着本地设备仅允许不形成绑定的配对。 |
2 |
service_filter |
fuchsia.bluetooth/Uuid
|
如果存在此字段,则连接后执行的服务发现仅限于与此字段匹配的主要服务。否则,默认情况下会发现所有可用服务。 |
ConnectionTransferPeriodicAdvertisingSyncRequest
在 fuchsia.bluetooth.le/peer.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
sync_id |
PeriodicAdvertisingSyncId
|
必填。 |
2 |
service_data |
uint16
|
要随同步一起发送的应用特定数据。 可选。 默认值:0 |
扩展
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|
过滤
在 fuchsia.bluetooth.le/central.fidl 中定义
扫描期间使用的过滤参数。发现的对等设备只有在满足所有当前过滤条件参数时,才与过滤条件匹配。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
service_uuid |
fuchsia.bluetooth/Uuid
|
根据通告的服务 UUID 进行过滤。 |
2 |
service_data_uuid |
fuchsia.bluetooth/Uuid
|
根据包含给定 UUID 的服务数据进行过滤。 |
3 |
manufacturer_id |
uint16
|
根据制造商数据中存在的制造商标识符进行过滤。如果设置了此过滤条件参数,则通告载荷必须包含具有所提供公司标识符的制造商特定数据,才能满足此过滤条件。您可以在以下网址找到制造商标识符:https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers/ |
4 |
connectable |
bool
|
根据设备是否可连接进行过滤。例如,如果客户端仅对外围设备感兴趣,则可以将其设置为 true。同样,客户端可以通过将此值设置为 false 来仅扫描广播器。 |
5 |
name |
fuchsia.bluetooth/DeviceName
|
根据广播设备名称的一部分过滤结果。 允许子字符串匹配。 |
6 |
max_path_loss |
int8
|
根据无线电波的路径损耗过滤结果。与此过滤条件匹配的设备必须满足以下条件:
注意:此字段是使用在扫描过程中从通告和扫描响应数据中获取的 RSSI 和 TX 功率信息计算得出的。 请勿将其与使用“路径损耗报告”功能获取的有效连接信息混淆。 |
7 |
solicitation_uuid |
fuchsia.bluetooth/Uuid
|
根据服务 UUID 按服务请求进行过滤。 服务请求是指,如果对等方提供我们想要使用的服务,则邀请对等方进行连接。 添加:26
|
IsochronousStreamOnEstablishedRequest
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
result |
zx/Result
|
ZX_ERR_INTERNAL 结果表示控制器收到了请求,但无法建立数据流。 |
2 |
established_params |
CisEstablishedParameters
|
如果成功建立了数据流,此字段将始终显示。 |
IsochronousStreamSetupDataPathRequest
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
data_direction |
fuchsia.bluetooth/DataDirection
|
数据流向。 必填。 |
2 |
codec_attributes |
fuchsia.bluetooth/CodecAttributes
|
指定无线传输中使用的编码格式。 必填。 |
3 |
controller_delay |
zx/Duration
|
提供的延迟时间必须在控制器支持的范围内,且不得超过 4 秒。 必填。 |
IsochronousStreamWriteRequest
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
data |
vector<uint8>:4095
|
数据帧本身。 |
IsochronousStream_Read_Response
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
data |
vector<uint8>
|
数据帧本身。 必填。 |
2 |
sequence_number |
uint16
|
与帧关联的序列号。 必填。 |
3 |
status_flag |
IsoPacketStatusFlag
|
数据包的状态标志(由控制器报告)。 必填。 |
4 |
timestamp |
zx/Duration
|
接收时间戳,由控制器报告。 可选。 |
旧版
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|
对等节点
在 fuchsia.bluetooth.le/peer.fidl 中定义
表示可能充当广播器、外围设备或中心角色的低功耗蓝牙对等设备。对等设备的角色取决于它是从中央协议还是外围协议获取的。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
id |
fuchsia.bluetooth/PeerId
|
在当前系统上唯一标识此对等方。 此字段始终存在。 |
2 |
connectable |
bool
|
此对等节点是否可连接。不可连接的对等设备通常处于 LE 广播器角色。 此字段始终存在。 |
3 |
rssi |
int8
|
此对等设备的最后观测信号强度。此字段仅针对正在广播的对等方显示。如果对等设备未进行通告,RSSI 可能会过时。 注意:此字段不应与当前连接到系统的对等设备的“连接 RSSI”混淆。 |
4 |
advertising_data |
AdvertisingData
|
已弃用 - 请改用“data” |
5 |
name |
fuchsia.bluetooth/DeviceName
|
此对等方的名称。名称通常在扫描过程中获取,并可在连接后的名称发现过程中进行更新。 如果名称已知,则此字段存在。 |
6 |
data |
ScanData
|
此对等设备广播的通告和扫描响应数据中的信息。如果存在,则包含上次从对等设备收到的通告数据。 |
7 |
bonded |
bool
|
此对等设备是否已绑定。 此字段始终存在。 |
8 |
last_updated |
zx/Time
|
系统单调时钟的值,在上次更新此对等方时(例如,由于收到通告)测量。 此字段始终存在。 |
9 |
advertising_sid |
uint8
|
广告 SID 的值。 范围:0x00 至 0x0F 新增:25
|
10 |
periodic_advertising_interval |
uint16
|
定期广播的间隔。 此字段的存在表示周期性通告序列与此通告相关联。 范围:0x0006 到 0xFFFF 时间:N × 1.25 毫秒 新增:25
|
PeriodicAdvertisingReport
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
rssi |
int8
|
广告报告的信号强度。 |
2 |
data |
ScanData
|
随此报告发送的广告数据载荷。 |
3 |
event_counter |
uint16
|
收到通告数据包的事件的事件计数器。此信息可用于回复举报。 |
4 |
subevent |
uint8
|
报告的子事件编号。仅当在子事件中收到数据包时才存在。 |
5 |
timestamp |
zx/Time
|
主机收到报告时的时间戳。 |
PeriodicAdvertisingSyncConfiguration
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
filter_duplicates |
bool
|
滤除重复的广告报告。 可选。 默认值:true |
PeriodicAdvertisingSyncOnEstablishedRequest
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
id |
PeriodicAdvertisingSyncId
|
在 Connection.TransferPeriodicAdvertisingSync 中使用。 |
2 |
subevents_count |
uint8
|
此周期性通告包含的子事件数量。 |
3 |
peer_id |
fuchsia.bluetooth/PeerId
|
|
4 |
service_data |
uint16
|
仅针对同步转移作业显示。随转移作业收到的应用专用数据。 |
5 |
advertising_sid |
uint8
|
|
6 |
phy |
PhysicalLayer
|
|
7 |
periodic_advertising_interval |
uint16
|
以间隔单位保留,因为配置文件使用此字段时不会更改。 范围:0x0006 到 0xFFFF 时间:N × 1.25 毫秒 |
PeriodicAdvertisingSyncSyncToSubeventsRequest
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
subevents |
vector<uint8>:128
|
要同步到的子事件编号列表。 |
PeriodicAdvertisingSync_WatchAdvertisingReport_Response
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
reports |
vector<SyncReport>
|
ScanData
在 fuchsia.bluetooth.le/peer.fidl 中定义
从对等设备广播的通告和扫描响应数据中获取的信息。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
tx_power |
int8
|
广播和/或可扫描对等设备报告的无线电发射功率级别。 注意:请勿将此字段与当前连接到系统的对等设备的“连接 TX 功率级别”混淆,后者是通过“传输功率报告”功能获取的。 |
2 |
appearance |
fuchsia.bluetooth/Appearance
|
设备的外观。 |
3 |
service_uuids |
vector<fuchsia.bluetooth/Uuid>
|
服务 UUID。 |
4 |
service_data |
vector<ServiceData>
|
服务数据条目。 |
5 |
manufacturer_data |
vector<ManufacturerData>
|
制造商特定数据条目。 |
6 |
uris |
vector<string:278>
|
表示要通告的 URI 的字符串,如 IETF STD 66 中所定义。每个条目都应是 UTF-8 字符串,包括架构。如需了解详情,请参阅 https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml,了解允许的 scheme; 注意:蓝牙广播会通过无线方式压缩 scheme,以节省空间。请参阅 https://www.bluetooth.com/specifications/assigned-numbers/uri-scheme-name-string-mapping。 |
7 |
timestamp |
zx/Time
|
收到此扫描数据时的单调时间。 |
8 |
resolvable_set_identifier |
array<uint8, 6>
|
将对等方标识为属于协调集。 此参数的解析和生成在“Coordinated Set Identification Service Specification”中定义。 新增:31
|
9 |
broadcast_name |
string:128
|
扫描设备上的界面可以使用广播名称字符串来显示有关可用广播源的信息。 具有相同广播名称的多台设备可能会传输相同的数据,从而允许设备选择其中一台。长度至少为 4 个 Unicode 字符,且不超过 32 个字符。 在公共广播配置文件规范中定义。 新增:31
|
ScanOptions
在 fuchsia.bluetooth.le/central.fidl 中定义
扫描期间使用的参数。
| 序数 | 字段 | 类型 | 说明 |
|---|---|---|---|
1 |
filters |
vector<Filter>
|
扫描期间使用的过滤条件列表。系统会报告满足其中任何过滤条件的外围设备。必须至少指定 1 个过滤条件。 虽然不建议这样做,但需要报告所有外围设备的客户端可以指定空过滤条件。 |
UNIONS
AdvertisingProcedure flexible
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
legacy |
Legacy
|
使用旧版通告数据包进行通告。所有设备都应该能够发现此类数据包。 |
2 |
extended |
Extended
|
使用扩展广告数据包进行通告。与旧版通告数据包相比,扩展通告数据包允许通告的数据量要大得多(每个 PDU 251 字节,而旧版为 31 字节)。扩展广播数据包在广播链中最多支持 1,650 字节,但只有使用蓝牙 5.0+ 的较新设备才能检测到它们。 并非所有产品都支持扩展广播数据包。如果请求了该功能但不受支持,则会返回 PeripheralError::NOT_SUPPORTED。 |
Central_CreateConnectedIsochronousGroup_Result strict
在 fuchsia.bluetooth.le/central.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Central_CreateConnectedIsochronousGroup_Response
|
|
2 |
err |
CreateCigError
|
ChannelListenerRegistry_ListenL2cap_Result strict
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ChannelListenerRegistry_ListenL2cap_Response
|
|
2 |
err |
zx/Status
|
ChannelListener_Accept_Result strict
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ChannelListener_Accept_Response
|
|
3 |
framework_err |
internal
|
ChannelListener_Connected_Result strict
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ChannelListener_Connected_Response
|
|
3 |
framework_err |
internal
|
ChannelOffloadExt_StartOffload_Result strict
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ChannelOffloadExt_StartOffload_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
CodecDelay_GetCodecLocalDelayRange_Result strict
在 fuchsia.bluetooth.le/codec_delay.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
CodecDelay_GetCodecLocalDelayRange_Response
|
|
2 |
err |
zx/Status
|
ConnectedIsochronousGroup_EstablishStreams_Result strict
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
ConnectedIsochronousGroup_EstablishStreams_Response
|
|
2 |
err |
EstablishStreamsError
|
|
3 |
framework_err |
internal
|
Connection_AcceptPeriodicAdvertisingSyncTransfer_Result strict
在 fuchsia.bluetooth.le/peer.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Connection_AcceptPeriodicAdvertisingSyncTransfer_Response
|
|
2 |
err |
PeriodicAdvertisingSyncTransferError
|
Connection_TransferPeriodicAdvertisingSync_Result strict
在 fuchsia.bluetooth.le/peer.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Connection_TransferPeriodicAdvertisingSync_Response
|
|
2 |
err |
PeriodicAdvertisingSyncTransferError
|
IsochronousStream_Read_Result strict
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
IsochronousStream_Read_Response
|
|
3 |
framework_err |
internal
|
IsochronousStream_SetupDataPath_Result strict
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
IsochronousStream_SetupDataPath_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
IsochronousStream_Write_Result strict
在 fuchsia.bluetooth.le/iso.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
IsochronousStream_Write_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
PeriodicAdvertisingSync_SyncToSubevents_Result strict
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
PeriodicAdvertisingSync_SyncToSubevents_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
PeriodicAdvertisingSync_WatchAdvertisingReport_Result strict
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
PeriodicAdvertisingSync_WatchAdvertisingReport_Response
|
|
3 |
framework_err |
internal
|
Peripheral_Advertise_Result strict
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Peripheral_Advertise_Response
|
|
2 |
err |
PeripheralError
|
Peripheral_StartAdvertising_Result strict
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
response |
Peripheral_StartAdvertising_Response
|
|
2 |
err |
PeripheralError
|
SyncReport flexible
在 fuchsia.bluetooth.le/periodic.fidl 中定义
| 序数 | 变体 | 类型 | 说明 |
|---|---|---|---|
1 |
periodic_advertising_report |
PeriodicAdvertisingReport
|
|
2 |
broadcast_isochronous_group_info_report |
BroadcastIsochronousGroupInfoReport
|
常量
| 名称 | 值 | 类型 | 说明 |
|---|---|---|---|
| MAX_BROADCAST_NAME_OCTETS |
128
|
uint8 |
新增:24
|
| MAX_ISO_PACKET_SIZE |
4095
|
uint16 |
ISO 数据包的大小不能超过 12 位无符号整数的最大值。 请参阅蓝牙核心规范版本 6.0 | 第 4 卷,E 部分,第 5.4.5 节 新增:27
|
| MAX_MANUFACTURER_DATA_LENGTH |
252
|
uint8 |
|
| MAX_SERVICE_DATA_LENGTH |
252
|
uint8 |
|
| MAX_STREAMS_IN_GROUP |
31
|
uint8 |
可添加到连接的同步组的连接同步流数量上限。 新增:27
|
| MAX_SUBEVENTS |
128
|
uint8 |
新增:28
|
| MAX_URI_LENGTH |
278
|
uint16 |
别名
| 名称 | 值 | 说明 |
|---|---|---|
| Psm |
uint16 |
接受面向连接的通道连接的服务的标识符。在蓝牙规范中称为(简化的)协议/服务多路复用器。 新增:24
|