协议
AdvertisedPeripheral
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
在通告期间有效的协议。调用方可以关闭 停止通告的协议。如果系统在内部停止通告 出于任何原因,此协议将关闭,以便将此情况传达给 客户端。
OnConnected
当远程 LE 中央设备连接到此外围设备时调用: 通过 Google Analytics fuchsia.bluetooth.le/Peripheral.Advertise.发出此调用后 系统已暂停广告,并且在广告发布之前不会继续 收到响应。
返回的 fuchsia.bluetooth.le/Connection 协议可用于 与对等方进行交互它还表示外围设备对 连接:客户端可以丢弃协议 断开。同样,系统会关闭该协议 表示与对等方的连接已断开。
- 请求
peer
启动 连接。 - 请求
connection
表示连接。
- 应发送空响应,以确认 连接并恢复通告(用于流控制)。
请求
名称 | 类型 |
---|---|
peer |
Peer
|
connection |
Connection
|
响应
<空>
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
:对等连接已断开连接。 -
请求
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
|
DisconnectPeripheral
根据指定标识符断开此中央设备与外围设备的连接。
已弃用
请求
名称 | 类型 |
---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
响应
名称 | 类型 |
---|---|
status |
fuchsia.bluetooth/Status
|
GetPeripheral
此方法不是通过 Fuchsia 核心堆栈实现的 - TODO(https://fxbug.dev/42087303)
返回系统从上一次扫描中已知的单个外围设备的信息。
连接和/或绑定过程。如果存在以下情况,则返回 null
系统无法识别identifier
。
已弃用
请求
名称 | 类型 |
---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
响应
名称 | 类型 |
---|---|
peripheral |
RemoteDevice?
|
GetPeripherals
返回系统已知的外围设备列表(通过之前的扫描、连接和 和/或绑定程序。您可根据已知 位于外围设备上。
此方法仅返回外围设备(即可连接的设备)。
已弃用
请求
名称 | 类型 |
---|---|
service_uuids |
vector<string>?
|
响应
名称 | 类型 |
---|---|
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 可用于监控扫描结果。
- 请求
options
用于配置扫描会话的选项。 - 请求
result_watcher
在该时间段内仍然有效的协议 。
- 响应 系统将发送空响应 停止。
服务器可能会误发以下墓碑:
- 错误
ALREADY_EXISTS
:扫描已在进行中。每Central
协议只允许进行 1 次有效扫描。 - 错误
INVALID_ARGS
:部分扫描options
无效。请参阅ScanOptions
文档。 - 错误
INTERNAL
:发生了内部错误,无法进行扫描 。
请求
名称 | 类型 |
---|---|
options |
ScanOptions
|
result_watcher |
server_end<ScanResultWatcher>
|
响应
<空>
StartScan
为附近的外围设备和广播机构启动扫描会话。发现的设备将
通过 CentralDelegate.OnDeviceDiscovered() 报告。如果扫描会话已在进行中,
“filter
”将替换现有会话的过滤器。
如果 filter
为 null 或空(即未填充其任何字段),则委托
会在找到的所有可检测到设备时收到通知。但我们不建议您这样做;客户
通常应至少按 filter.service_uuids
、
filter.service_data
和/或 filter.manufacturer_identifier
。
已弃用 - 请改用“扫描”
请求
名称 | 类型 |
---|---|
filter |
ScanFilter?
|
响应
名称 | 类型 |
---|---|
status |
fuchsia.bluetooth/Status
|
StopScan
终止之前启动的扫描会话。
已弃用
请求
<空>
ChannelListener
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
表示接受传入通道请求的服务或协议。 关联的 PSM 的传入通道请求将通过此 协议。关闭此协议也将停止接受任何传入消息 频道请求,但现有的频道不会受到影响。 此外,此协议关闭后,可随意 重复使用之前为此实例分配的 PSM。
接受
请求
名称 | 类型 |
---|---|
channel |
fuchsia.bluetooth/Channel
|
响应
名称 | 类型 |
---|---|
payload |
ChannelListener_Accept_Result
|
ChannelListenerRegistry
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
表示在 连接导向型信道。
ListenL2cap
为传入的频道注册监听器。域名注册管理机构将分配一个
PSM 值对于本地设备是唯一的,并打开一个
ChannelListener 用于接受传入的频道。在极有可能
如果已分配所有 PSM,则此调用将失败,并显示
ZX_ERR_NO_RESOURCES
。
请注意,服务发现或通告的方法由 服务或协议,因此调用方需负责 将已分配的 PSM 传达给任何客户端。
请求
名称 | 类型 |
---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
响应
名称 | 类型 |
---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
CodecDelay
在 fuchsia.bluetooth.le/codec_delay.fidl 中定义
该协议允许我们检索控制器本地延迟值。它并非旨在 但可以由需要访问此信息的协议组成。
GetCodecLocalDelayRange
检索通过提供的流指定的编解码器的控制器延迟范围 属性。
成功时,返回允许的最小和最大延迟。
如果不支持读取延迟,则返回 ZX_ERR_NOT_SUPPORTED。 对于所有其他故障,返回 ZX_ERR_INTERNAL。
请求
名称 | 类型 |
---|---|
payload |
CodecDelayGetCodecLocalDelayRangeRequest
|
响应
名称 | 类型 |
---|---|
payload |
CodecDelay_GetCodecLocalDelayRange_Result
|
连接
在 fuchsia.bluetooth.le/peer.fidl 中定义
表示与对等方的连接的协议。此 ID 可用于与 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
|
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>
|
IsochronousStream
在 fuchsia.bluetooth.le/iso.fidl 中定义
OnEstablished
在中心发起 CIS 后,提供通知 (来自 CigServer::CreateCis())或外设(来自 CisRequestManager::Accept())。
响应
名称 | 类型 |
---|---|
payload |
IsochronousStreamOnEstablishedRequest
|
已读
从已建立且 设置。可与悬挂式球状图案搭配使用。
可在已建立和设置 ISO 数据流之前调用,但不会调用 直到相关设备完成设置并收到数据后才会返回。
请求
<空>
响应
名称 | 类型 |
---|---|
payload |
IsochronousStream_Read_Result
|
SetupDataPath
使用指定参数创建等时数据路径。仅限带内 (HCI) ISO 传输方式。
如果已创建 ISO 流,则返回 ZX_ERR_ALREADY_EXISTS 。
如果在发出 CIS 请求之前在外围设备上发出,则返回 ZX_ERR_BAD_STATE 接受。
如果编解码器参数无效或不在 控制器支持的范围。
请求
名称 | 类型 |
---|---|
payload |
IsochronousStreamSetupDataPathRequest
|
响应
名称 | 类型 |
---|---|
payload |
IsochronousStream_SetupDataPath_Result
|
外围设备
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
广告
开始作为 LE 外围设备连续进行广播。如果广告无法
启动,系统将关闭advertised_peripheral
,并显示错误
返回的值。
此方法可以调用任意次数。要重新配置 先关闭原始通告,然后再启动 在返回空响应后创建新的通告。
如果客户端结束 fuchsia.bluetooth.le/AdvertisedPeripheral 频道, 广告就会停止投放。如果标识名在请求之前关闭 广告可能会暂时启用 已终止。通告外设的生命周期受 但将来可能会更改 (https://fxbug.dev/42157682).
- 请求
parameters
配置通告时使用的参数 实例。 - 请求
advertised_peripheral
对 广告会话的时长。
- 响应当广告被触发时,
已成功停止(由于
advertised_peripheral
的发布) 协议)。为防止出现重叠的类似广告和暂时性的 导致资源有限的错误、等待响应的操作 建议在再次调用Advertise
之前使用。
- 错误:如果出现错误,系统将关闭
advertised_peripheral
,并显示 系统将返回PeripheralError
。
请求
名称 | 类型 |
---|---|
parameters |
AdvertisingParameters
|
advertised_peripheral |
AdvertisedPeripheral
|
响应
名称 | 类型 |
---|---|
payload |
Peripheral_Advertise_Result
|
ListenL2cap
为传入的频道注册监听器。域名注册管理机构将分配一个
PSM 值对于本地设备是唯一的,并打开一个
ChannelListener 用于接受传入的频道。在极有可能
如果已分配所有 PSM,则此调用将失败,并显示
ZX_ERR_NO_RESOURCES
。
请注意,服务发现或通告的方法由 服务或协议,因此调用方需负责 将已分配的 PSM 传达给任何客户端。
请求
名称 | 类型 |
---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
响应
名称 | 类型 |
---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnPeerConnected
当远程 LE 中央设备发起与此外围设备的连接时传递的事件 通过 Google Analytics fuchsia.bluetooth.le/Peripheral.StartAdvertising.
返回的 fuchsia.bluetooth.le/Connection 句柄可用于与 对等设备它还表示外围设备在连接上的所有权:客户端 请求断开连接的句柄。同样,系统会关闭句柄 表示与对等方的连接已断开。
- 请求
peer
发起连接的中央设备的相关信息。 - 请求
connection
表示连接。
已弃用 - 请改用 AdvertisedPeripheral.OnConnected
响应
名称 | 类型 |
---|---|
peer |
Peer
|
connection |
Connection
|
StartAdvertising
开始作为 LE 外围设备进行通告。系统会发送空响应以指明 已成功启动。如果无法启动通告,则响应将 包含 fuchsia.bluetooth.le/PeripheralError。
此方法可以被调用任意次数,并且可以连续调用 重新配置通告参数。不过,只有 fuchsia.bluetooth.le/AdvertisingHandle 仍然有效。
一个 fuchsia.bluetooth.le/Peripheral 实例只能在 。客户端必须获得多个外设实例才能同时执行多个 广告。
如果客户端关闭 fuchsia.bluetooth.le/AdvertisingHandle 通道的终点, 广告就会停止投放。如果在请求完成之前关闭句柄 在其终止前会短暂地启用该广告投放服务。
- 请求
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
,以便将此信息传达给
客户端。
观看
返回满足中指示的过滤器的所有 LE 对等体的列表
ScanOptions
。第一个响应将返回所发现的匹配项
对等节点只有在对等方发出数据时,后续调用才会收到响应
自上次调用以来已经过扫描或更新。如果第二次调用
Watch
被错误发送,而一个调用已在等待处理,则扫描
系统将会取消该协议,并关闭此协议。
- 响应
updated
个自上次添加或更新的对等设备 对 Watch() 的调用。
请求
<空>
响应
名称 | 类型 |
---|---|
updated |
vector<Peer>
|
结构体
AdvertisingDataDeprecated
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
表示广播或外围设备通告的通告和扫描响应数据。
已弃用 - 改用 AdvertisingData
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
name |
fuchsia.bluetooth/DeviceName
|
设备的名称。 |
无默认设置 |
tx_power_level |
fuchsia.bluetooth/Int8?
|
广告中报告的无线电传输功率电平。 |
无默认设置 |
appearance |
fuchsia.bluetooth/UInt16?
|
Admet 中报告的外观。 |
无默认设置 |
service_uuids |
vector<string>?
|
通告中报告的服务 UUID 列表。 |
无默认设置 |
service_data |
vector<ServiceDataEntry>?
|
广告中包含的服务数据。 |
无默认设置 |
manufacturer_specific_data |
vector<ManufacturerSpecificDataEntry>?
|
制造商专属数据条目。 |
无默认设置 |
solicited_service_uuids |
vector<string>?
|
在通告中请求的服务 UUID。外围设备可以邀请 公开某些服务,以通过服务请求与他们进行连接。 |
无默认设置 |
uris |
vector<string>?
|
通告包中包含的 URI。 这些是完整的 URI(会自动进行编码/解码) |
无默认设置 |
ChannelListener_Accept_Response
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
<空>
IsochronousStream_SetupDataPath_Response
在 fuchsia.bluetooth.le/iso.fidl 中定义
<空>
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>
|
无默认设置 |
Peripheral_Advertise_Response
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
<空>
Peripheral_StartAdvertising_Response
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
<空>
RemoteDevice
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
表示远程蓝牙低功耗设备。RemoteDevice 可以代表中央设备 广播或外围设备。
已弃用 - 请改用 Peer
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
用于在当前系统上唯一标识此设备的标识符。 |
无默认设置 |
connectable |
bool
|
此设备是否可连接。不可连接的设备通常 LE 广播员角色。 |
无默认设置 |
rssi |
fuchsia.bluetooth/Int8?
|
此设备最近一次的已知 RSSI(如果已知)。 |
无默认设置 |
advertising_data |
AdvertisingDataDeprecated?
|
通告由此设备广播的数据(如果此设备是广播或外围设备)。 |
无默认设置 |
ScanFilter
在 fuchsia.bluetooth.le/types_deprecated.fidl 中定义
过滤在扫描期间使用的参数。系统会报告发现的外围设备或广播设备 仅当应用满足所提供的所有过滤器参数时,才会将其应用于应用。Null 字段将 已忽略。
已弃用 - 请改用过滤器
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
service_uuids |
vector<string>?
|
根据通告的服务 UUID 进行过滤。至少通告
|
无默认设置 |
service_data_uuids |
vector<string>?
|
根据包含某个给定 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 严格
类型:uint8
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
客户端可以通过指定模式来指示通告包的传输速率。通过 模式会在为控制器配置通告间隔和 。
模式会影响扫描仪或中央设备发现外围设备的速度;无论 可能会对功耗产生不利影响。尽管系统会尽量尊重客户的 但系统无法保证一定会做到这一点
名称 | 值 | 说明 |
---|---|---|
VERY_FAST |
1 |
以极短的时间间隔和时间范围进行广告宣传,以更快获得用户发现的机会,但代价是 功耗。这相当于 100 万个 PHY 上的 30 至 60 毫秒的时间间隔,以及 编码 PHY。 |
快捷 |
2 |
使用比 |
慢 |
3 |
以适中的时间间隔和窗口投放广告。这对应于 100 万个 PHY 和 3 个 1-1.2 秒 。 |
CentralError 严格
类型:uint32
在 fuchsia.bluetooth.le/central.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
中止 |
1 |
请求已取消。 |
IN_PROGRESS |
2 |
请求已在处理中。 |
INVALID_PARAMETERS |
3 |
提供的参数无效。 |
失败 |
4 |
由于硬件或系统错误,无法启动广告。 |
IsoPacketStatusFlag 严格
类型:uint8
在 fuchsia.bluetooth.le/iso.fidl 中定义
指示从等时通道接收的数据有效性的标志。
名称 | 值 | 说明 |
---|---|---|
VALID_DATA |
0 |
数据有效。已正确接收完整的 SDU。 |
DATA_WITH_POSSIBLE_ERRORS |
1 |
数据可能无效。收到的一个或多个片段可能包含错误, 数据包可能丢失 |
LOST_DATA |
2 |
数据包的某些部分未正确接收。 |
PeripheralError 严格
类型: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 |
由于硬件或系统错误,无法启动广告。 |
表
AcceptedChannelParameters
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
在监听新频道时用于接受频道的参数集 连接。
请参阅 ChannelListenerRegistry/ListenL2cap。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
accepted_channel_modes |
vector<fuchsia.bluetooth/ChannelMode>
|
聆听时应接受的所有声道模式。必须包含
至少一种信道模式,否则通话会失败并显示
|
2 |
max_packet_size |
uint16
|
支持的接收数据包大小上限。 可选。如果未提供,大小将由蓝牙决定 系统。对于所选尺寸,我们不提供任何保证。 |
AdvertisingData
在 fuchsia.bluetooth.le/advertising_data.fidl 中定义
表示由 LE 外围设备或 电视台。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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>
|
表示要通告的 URI 的字符串,如 IETF STD 66 中所定义。 每个条目都应是包含架构的 UTF-8 字符串。如需了解详情,请参阅:
|
8 |
include_tx_power_level |
bool
|
指示广告数据中是否应包含当前 TX 功率电平。 |
AdvertisingParameters
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
表示用于配置通告的参数。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
data |
AdvertisingData
|
将在通告包的数据区编码的字段。 必须填写此字段。 |
2 |
scan_response |
AdvertisingData
|
要在扫描响应数据包中发送的字段。客户端可以使用它向 无法容纳在非 Google 平台上的广告包内的额外数据 支持广告数据长度扩展。 如果存在,则会将广告配置为可扫描。 |
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 中的字段说明 信息。 添加时间:HEAD
|
ChannelListenerRegistryListenL2capRequest 资源
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
parameters |
AcceptedChannelParameters
|
频道本地端可接受的参数。 |
2 |
listener |
ChannelListener
|
要打开的频道监听器协议。 |
ChannelListenerRegistry_ListenL2cap_Response
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
psm |
Psm
|
由注册表分配的 PSM。保证符合 |
CisEstablishedParameters
在 fuchsia.bluetooth.le/iso.fidl 中定义
为单个 CIS 建立的配置。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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 定位点之间的时间,范围为 [5 毫秒, 4 秒] 此字段始终存在。 |
5 |
central_to_peripheral_params |
CisUnidirectionalParams
|
中央 => 的参数外围设备传输(如果适用)。 如果数据流包括来自 位于外围设备的中心。 |
6 |
peripheral_to_central_params |
CisUnidirectionalParams
|
外围设备参数 =>中央传输(如适用)。 如果数据流包括来自 位于中央的外围设备。 |
CisUnidirectionalParams
在 fuchsia.bluetooth.le/iso.fidl 中定义
与已建立的 CIS 中的单一传输方向相关的参数。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
transport_latency |
zx/Duration
|
传输延迟时间,范围为 [234, 8388607] 微秒 此字段始终存在。 |
2 |
burst_number |
uint8
|
此方向传输的突发编号。 此字段始终存在。 |
3 |
flush_timeout |
uint8
|
每个有效负载的刷新超时,以 ISO 间隔的倍数表示。 此字段始终存在。 |
CodecDelayGetCodecLocalDelayRangeRequest
在 fuchsia.bluetooth.le/codec_delay.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
min_controller_delay |
zx/Duration
|
指定配置的控制器的最短延迟时间,范围为 [0, 4] 秒。 成功时始终提供。 |
2 |
max_controller_delay |
zx/Duration
|
指定配置的控制器延迟上限,范围为 [0, 4] 秒。 成功时始终提供。 |
ConnectionAcceptCisRequest 资源
在 fuchsia.bluetooth.le/peer.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
cig_id |
uint8
|
包含所请求 CIS 的 CIG 的标识符。必填。 |
2 |
cis_id |
uint8
|
所请求 CIS 的标识符。必填。 |
3 |
connection_stream |
server_end<IsochronousStream>
|
建立流后,服务器将调用 IsochronousStream::OnCis 建立 ed()。必填。 如果此渠道的客户端关闭,则相应 CIG/CIS 的请求 组合将被拒绝,直到/除非使用 参数对 AcceptCis() 再次调用 相同的 CIG/CIS 参数。 |
ConnectionConnectL2capRequest 资源
在 fuchsia.bluetooth.le/peer.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
parameters |
fuchsia.bluetooth/ChannelParameters
|
频道本地端的参数。 |
2 |
channel |
server_end<fuchsia.bluetooth/Channel>
|
要打开的通道协议。 |
3 |
psm |
Psm
|
要连接的远程端的 PSM。 |
ConnectionOptions
在 fuchsia.bluetooth.le/connection_options.fidl 中定义
表示由创建 低功耗连接。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
bondable_mode |
bool
|
如果为 true,连接会在可绑定模式下运行。这意味着配对将形成键 或在连接断开后继续保留(如果对等体也处于可绑定模式)。如果不存在, 则连接默认处于可绑定模式。如果设置为 false,则连接会在非 可绑定模式,这意味着本地设备仅允许未形成绑定的配对。 |
2 |
service_filter |
fuchsia.bluetooth/Uuid
|
如果存在,则仅限于在连接后执行的服务发现 与此字段匹配的服务。否则,系统会默认发现所有可用服务。 |
扩展
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|
过滤
在 fuchsia.bluetooth.le/central.fidl 中定义
过滤在扫描期间使用的参数。已发现的对等体仅与 如果满足当前的所有过滤器参数,则过滤该过滤器。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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 功率信息计算得出 从通告和扫描响应数据中获取。 请勿将其与活动连接的信息混淆 使用“路径损失报告”获取的功能。 |
IsochronousStreamOnEstablishedRequest
在 fuchsia.bluetooth.le/iso.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
result |
zx/Status
|
ZX_ERR_INTERNAL 的结果表示控制器收到了请求 但无法建立数据流。 |
2 |
established_params |
CisEstablishedParameters
|
如果成功建立流,此字段将始终存在。 |
IsochronousStreamSetupDataPathRequest
在 fuchsia.bluetooth.le/iso.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
data_direction |
fuchsia.bluetooth/DataDirection
|
数据传输的方向。 必填。 |
2 |
codec_attributes |
fuchsia.bluetooth/CodecAttributes
|
指定无线下载编码格式。 必填。 |
3 |
controller_delay |
zx/Duration
|
提供的延迟时间必须在控制器支持的范围内,并且不应 超过 4 秒。 必填。 |
IsochronousStream_Read_Response
在 fuchsia.bluetooth.le/iso.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
data |
vector<uint8>
|
数据帧本身。 必填。 |
2 |
sequence_number |
uint16
|
与帧关联的序列号。 必填。 |
3 |
status_flag |
IsoPacketStatusFlag
|
数据包的状态标记,由控制器报告。 必填。 |
4 |
timestamp |
zx/Duration
|
接收时间戳,由控制器报告。 可选。 |
旧版
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
Ordinal | 字段 | 类型 | 说明 |
---|
对等节点
在 fuchsia.bluetooth.le/peer.fidl 中定义
表示可以在广播器、外围设备或中央设备中运行的蓝牙低功耗对等设备 角色。对等方的角色取决于获取来源是中央协议还是外设协议。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
id |
fuchsia.bluetooth/PeerId
|
在当前系统上唯一标识此对等设备。 此字段始终存在。 |
2 |
connectable |
bool
|
此对等设备是否可连接。不可连接的对等设备通常位于 LE 中 广播员角色。 此字段始终存在。 |
3 |
rssi |
int8
|
上次观测到的此对等设备的信号强度。此字段仅适用于 正在广播如果对等设备尚未进行通告,则 RSSI 可能会过时。 注意:此字段不应与“连接 RSSI”混淆另一个 Pod 目前 连接到系统。 |
4 |
advertising_data |
AdvertisingData
|
已弃用 - 请改用“data” |
5 |
name |
fuchsia.bluetooth/DeviceName
|
此对等设备的名称。该名称通常是在扫描过程中获取的, 在连接后的名称发现过程中更新。 如果名称已知,此字段就会显示。 |
6 |
data |
ScanData
|
来自此对等方广播和扫描响应数据广播的信息。如果存在, 包含上次从对等端收到的通告数据。 |
7 |
bonded |
bool
|
此对等设备是否已绑定。 此字段始终存在。 |
8 |
last_updated |
zx/Time
|
系统单调时钟的值,在该对等端测量。 上次更新时间(例如,由于收到广告)。 此字段始终存在。 |
ScanData
在 fuchsia.bluetooth.le/peer.fidl 中定义
从对等方广播和扫描响应数据广播获取的信息。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
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>
|
表示要通告的 URI 的字符串,如 IETF STD 66 中所定义。 每个条目都应是包含架构的 UTF-8 字符串。如需了解详情,请参阅 请访问 https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml,查看允许的 schemes; 注意:蓝牙通告通过无线方式压缩架构以节省空间。请参阅 https://www.bluetooth.com/specifications/assigned-numbers/uri-scheme-name-string-mapping. |
7 |
timestamp |
zx/Time
|
收到此扫描数据的单调时间。 |
ScanOptions
在 fuchsia.bluetooth.le/central.fidl 中定义
扫描期间使用的参数。
Ordinal | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
filters |
vector<Filter>
|
可在扫描期间使用的过滤器列表。满足 这些过滤条件中的 1 个。必须至少指定 1 个过滤条件。 要求所有外围设备 可以指定空的过滤条件。 |
联合体
AdvertisingProcedure 灵活
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
legacy |
Legacy
|
使用旧版通告包进行通告。所有设备都应能 来发现此类数据包 |
2 |
extended |
Extended
|
使用扩展的通告包进行通告。扩展广播 数据包允许通告的数据量要远远大于 旧通告包(31 字节,而每个 PDU 为 251 字节)。扩展 每个通告包在通告链中支持高达 1,650 个字节, 但只有使用蓝牙 5.0 及以上版本的新型设备才能检测到它们。 并非所有解决方案都支持扩展通告包 产品。在收到请求时,系统将返回 PeripheralError::NOT_SUPPORTED 且不受支持。 |
ChannelListenerRegistry_ListenL2cap_Result 严格
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
ChannelListenerRegistry_ListenL2cap_Response
|
|
2 |
err |
zx/Status
|
ChannelListener_Accept_Result 严格
在 fuchsia.bluetooth.le/l2cap.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
ChannelListener_Accept_Response
|
|
3 |
framework_err |
internal
|
CodecDelay_GetCodecLocalDelayRange_Result strict
在 fuchsia.bluetooth.le/codec_delay.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
CodecDelay_GetCodecLocalDelayRange_Response
|
|
2 |
err |
zx/Status
|
IsochronousStream_Read_Result 严格
在 fuchsia.bluetooth.le/iso.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
IsochronousStream_Read_Response
|
|
3 |
framework_err |
internal
|
IsochronousStream_SetupDataPath_Result 严格
在 fuchsia.bluetooth.le/iso.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
IsochronousStream_SetupDataPath_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Peripheral_Advertise_Result 严格
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Peripheral_Advertise_Response
|
|
2 |
err |
PeripheralError
|
Peripheral_StartAdvertising_Result 严格
在 fuchsia.bluetooth.le/peripheral.fidl 中定义
Ordinal | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Peripheral_StartAdvertising_Response
|
|
2 |
err |
PeripheralError
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
MAX_MANUFACTURER_DATA_LENGTH |
252
|
uint8 |
|
MAX_SERVICE_DATA_LENGTH |
252
|
uint8 |
|
MAX_URI_LENGTH |
278
|
uint16 |
ALIASES
名称 | 值 | 说明 |
---|---|---|
Psm |
uint16 |
接受面向连接的信道的服务的标识符 连接。称为(简化的)协议/服务多路复用器 。 添加时间:HEAD
|