通訊協定
AdvertisedPeripheral
定義於 fuchsia.bluetooth.le/peripheral.fidl
在廣告期間有效的通訊協定。呼叫端可以關閉通訊協定,停止廣告。如果系統因任何原因內部停止 advertising,通訊協定會關閉,並向用戶端傳達這項資訊。
OnConnected
透過 fuchsia.bluetooth.le/Peripheral.Advertise 啟用可連線的廣告時,如果遠端 LE 中心連線至這個周邊裝置,就會呼叫這個函式。發出這項呼叫時,系統會暫停 advertising,直到收到回應才會繼續。
傳回的 fuchsia.bluetooth.le/Connection 通訊協定可用於與對等互連互動。這也代表周邊裝置對連線的擁有權:用戶端可以捨棄通訊協定,要求中斷連線。同樣地,系統會關閉通訊協定,表示與對等點的連線已中斷。
- 要求
peer啟動連線的中央裝置相關資訊。 - 要求
connection代表連線。
- 回應:應傳送空白回應,確認連線並繼續廣告 (用於流量控制)。
要求
| 名稱 | 類型 |
|---|---|
peer |
Peer
|
connection |
client_end:Connection
|
回應
<EMPTY>
AdvertisingHandle
定義於 fuchsia.bluetooth.le/peripheral.fidl
在廣告放送期間有效的功能。呼叫端可以關閉控制代碼,停止廣告。如果系統因任何原因在內部停止廣告,系統會關閉控制代碼,並將這項資訊傳達給用戶端。
中部
定義於 fuchsia.bluetooth.le/central.fidl
連線
連線至指定 ID 的對等互連。
要求的 fuchsia.bluetooth.le/Connection 代表用戶端對與對等互連裝置的 LE 連線感興趣。關閉管道會移除興趣,但如果另一個用戶端與同一個對等互連裝置有有效的 fuchsia.bluetooth.le/Connection,則可能不會中斷連線。
如果與對等互連的連線中斷或發生錯誤,系統會關閉 fuchsia.bluetooth.le/Connection handle。
伺服器發生錯誤時,可能會傳送下列墓誌銘:
-
INVALID_ARGS:部分參數無效。 -
ALREADY_BOUND:這個 Central 已有與對等互連的連線。應使用現有連線。 -
NOT_CONNECTED:無法建立連線。 -
CONNECTION_RESET:對等互連連線已中斷。 -
request
id要建立連線的對等端 ID。 -
request
options用於設定連線的選項。 -
要求
handle控點,在連線期間內保持有效。
要求
| 名稱 | 類型 |
|---|---|
id |
fuchsia.bluetooth/PeerId
|
options |
ConnectionOptions
|
handle |
server_end:Connection
|
ConnectPeripheral
使用指定 ID 建立與周邊裝置的連線。傳回 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 與指定 ID 周邊裝置的連線。
已淘汰
要求
| 名稱 | 類型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
回應
| 名稱 | 類型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
GetPeripheral
Fuchsia 核心堆疊未實作這個方法 - TODO(https://fxbug.dev/42087303)
根據專屬 ID,傳回系統從先前的掃描、連線和/或繫結程序中得知的單一週邊裝置相關資訊。如果無法辨識 identifier,則傳回空值。
已淘汰
要求
| 名稱 | 類型 |
|---|---|
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。
請注意,服務探索或 advertising 的方法是由服務或通訊協定定義,因此呼叫端有責任將指派的 PSM 傳達給任何用戶端。
要求
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnDeviceDiscovered
在掃描工作階段中,系統會為每個偵測到的周邊裝置/廣播裝置呼叫這個方法。rssi 包含產生此事件的廣告封包接收訊號強度 (如有)。
已淘汰
回應
| 名稱 | 類型 |
|---|---|
device |
RemoteDevice
|
OnPeripheralDisconnected
當這個中央裝置與指定 ID 的周邊裝置連線終止時,系統會呼叫這個方法。
已淘汰
回應
| 名稱 | 類型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
OnScanStateChanged
在掃描狀態變更時呼叫,例如掃描工作階段因呼叫 Central.StopScan() 或其他非預期狀況而終止。
已淘汰
回應
| 名稱 | 類型 |
|---|---|
scanning |
bool
|
掃描
掃描附近的 LE 周邊裝置和廣播裝置。如果無法啟動掃描,result_watcher 將關閉並顯示墓誌銘。
Central 用戶端一次只能執行一項掃描。因此,一次只能有一個掃描要求。如果再次呼叫 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 為空值或空白 (即未填入任何欄位),系統會通知委派代表所有找到的可偵測裝置。不建議這麼做;用戶端通常應依 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。
請注意,服務探索或 advertising 的方法是由服務或通訊協定定義,因此呼叫端有責任將指派的 PSM 傳達給任何用戶端。
要求
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
ChannelOffloadExt
定義於 fuchsia.bluetooth.le/l2cap.fidl
bt.Channel 的通訊協定擴充功能。這通常是由或向特權用戶端提供,並附帶 bt.Channel。無論 StartOffload 是否已傳回,都可以關閉這個通訊協定,不會造成任何影響。
StartOffload
StartOffload 必須在 Channel.Receive() 之前呼叫。卸載的管道會將 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
當中央裝置 (來自 ConnectedIsochronousGroup/EstablishStreams) 或周邊裝置 (來自 Connection/AcceptCis) 啟動 CIS 時,提供通知。
回應
| 名稱 | 類型 |
|---|---|
payload |
IsochronousStreamOnEstablishedRequest
|
閱讀
從已建立並設定的輸出 (控制器 => 主機) ISO 串流接收資料。適合與懸置 GET 模式搭配使用。
可在 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 管道,系統就會停止 advertise。如果在要求完成前關閉控制代碼,廣告可能會短暫啟用,然後終止。AdvertisedPeripheral 的生命週期受限於 Peripheral 通訊協定的生命週期,但日後可能會有變動 (https://fxbug.dev/42157682)。
- request
parameters設定廣告執行個體時使用的參數。 - 要求
advertised_peripheral通訊協定,在本次廣告工作階段期間有效。
- response 廣告成功停止時 (因
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。
請注意,服務探索或 advertising 的方法是由服務或通訊協定定義,因此呼叫端有責任將指派的 PSM 傳達給任何用戶端。
要求
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnPeerConnected
當遠端 LE 中心透過 fuchsia.bluetooth.le/Peripheral.StartAdvertising 啟用可連線廣告,並啟動與這個周邊裝置的連線時,系統會傳送事件。
傳回的 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:如果無法啟動 advertising,則傳回 fuchsia.bluetooth.le/PeripheralError。在這種情況下,
handle將會關閉。
已淘汰
要求
| 名稱 | 類型 |
|---|---|
parameters |
AdvertisingParameters
|
handle |
server_end:AdvertisingHandle
|
回應
| 名稱 | 類型 |
|---|---|
payload |
Peripheral_StartAdvertising_Result
|
PrivilegedCentral
定義於 fuchsia.bluetooth.le/central.fidl
Central 通訊協定的特殊權限版本,提供通訊端卸載等進階功能。由於此通訊協定包含機密資訊和功能,因此只能轉送至受信任的系統元件。
連線
連線至指定 ID 的對等互連。
要求的 fuchsia.bluetooth.le/Connection 代表用戶端對與對等互連裝置的 LE 連線感興趣。關閉管道會移除興趣,但如果另一個用戶端與同一個對等互連裝置有有效的 fuchsia.bluetooth.le/Connection,則可能不會中斷連線。
如果與對等互連的連線中斷或發生錯誤,系統會關閉 fuchsia.bluetooth.le/Connection handle。
伺服器發生錯誤時,可能會傳送下列墓誌銘:
-
INVALID_ARGS:部分參數無效。 -
ALREADY_BOUND:這個 Central 已有與對等互連的連線。應使用現有連線。 -
NOT_CONNECTED:無法建立連線。 -
CONNECTION_RESET:對等互連連線已中斷。 -
request
id要建立連線的對等端 ID。 -
request
options用於設定連線的選項。 -
要求
handle控點,在連線期間內保持有效。
要求
| 名稱 | 類型 |
|---|---|
id |
fuchsia.bluetooth/PeerId
|
options |
ConnectionOptions
|
handle |
server_end:Connection
|
ConnectPeripheral
使用指定 ID 建立與周邊裝置的連線。傳回 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 與指定 ID 周邊裝置的連線。
已淘汰
要求
| 名稱 | 類型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
回應
| 名稱 | 類型 |
|---|---|
status |
fuchsia.bluetooth/Status
|
GetPeripheral
Fuchsia 核心堆疊未實作這個方法 - TODO(https://fxbug.dev/42087303)
根據專屬 ID,傳回系統從先前的掃描、連線和/或繫結程序中得知的單一週邊裝置相關資訊。如果無法辨識 identifier,則傳回空值。
已淘汰
要求
| 名稱 | 類型 |
|---|---|
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。
請注意,服務探索或 advertising 的方法是由服務或通訊協定定義,因此呼叫端有責任將指派的 PSM 傳達給任何用戶端。
要求
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnDeviceDiscovered
在掃描工作階段中,系統會為每個偵測到的周邊裝置/廣播裝置呼叫這個方法。rssi 包含產生此事件的廣告封包接收訊號強度 (如有)。
已淘汰
回應
| 名稱 | 類型 |
|---|---|
device |
RemoteDevice
|
OnPeripheralDisconnected
當這個中央裝置與指定 ID 的周邊裝置連線終止時,系統會呼叫這個方法。
已淘汰
回應
| 名稱 | 類型 |
|---|---|
identifier |
fuchsia.bluetooth/PeerIdString
|
OnScanStateChanged
在掃描狀態變更時呼叫,例如掃描工作階段因呼叫 Central.StopScan() 或其他非預期狀況而終止。
已淘汰
回應
| 名稱 | 類型 |
|---|---|
scanning |
bool
|
掃描
掃描附近的 LE 周邊裝置和廣播裝置。如果無法啟動掃描,result_watcher 將關閉並顯示墓誌銘。
Central 用戶端一次只能執行一項掃描。因此,一次只能有一個掃描要求。如果再次呼叫 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 為空值或空白 (即未填入任何欄位),系統會通知委派代表所有找到的可偵測裝置。不建議這麼做;用戶端通常應依 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 管道,系統就會停止 advertise。如果在要求完成前關閉控制代碼,廣告可能會短暫啟用,然後終止。AdvertisedPeripheral 的生命週期受限於 Peripheral 通訊協定的生命週期,但日後可能會有變動 (https://fxbug.dev/42157682)。
- request
parameters設定廣告執行個體時使用的參數。 - 要求
advertised_peripheral通訊協定,在本次廣告工作階段期間有效。
- response 廣告成功停止時 (因
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。
請注意,服務探索或 advertising 的方法是由服務或通訊協定定義,因此呼叫端有責任將指派的 PSM 傳達給任何用戶端。
要求
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistryListenL2capRequest
|
回應
| 名稱 | 類型 |
|---|---|
payload |
ChannelListenerRegistry_ListenL2cap_Result
|
OnPeerConnected
當遠端 LE 中心透過 fuchsia.bluetooth.le/Peripheral.StartAdvertising 啟用可連線廣告,並啟動與這個周邊裝置的連線時,系統會傳送事件。
傳回的 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:如果無法啟動 advertising,則傳回 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
|
在目前系統中,可明確識別這部裝置的 ID。 |
無預設值 |
connectable |
bool
|
這部裝置是否可連線。不可連線的裝置通常會扮演 LE 廣播器的角色。 |
無預設值 |
rssi |
fuchsia.bluetooth/Int8?
|
這部裝置最後已知的 RSSI (如有)。 |
無預設值 |
advertising_data |
AdvertisingDataDeprecated?
|
如果這部裝置是廣播器或周邊裝置,則為這部裝置廣播的廣告資料。 |
無預設值 |
ScanFilter
定義於 fuchsia.bluetooth.le/types_deprecated.fidl
掃描期間使用的篩選器參數。只有在符合所有提供的篩選器參數時,系統才會向應用程式回報探索到的周邊裝置或廣播器。系統會忽略空值欄位。
已淘汰 - 請改用篩選器
| 欄位 | 類型 | 說明 | 預設 |
|---|---|---|---|
service_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
根據廣告服務 UUID 篩選。如果周邊裝置廣播 |
無預設值 |
service_data_uuids |
vector<fuchsia.bluetooth/UuidString>?
|
根據包含指定 UUID 的服務資料進行篩選。 |
無預設值 |
manufacturer_identifier |
fuchsia.bluetooth/UInt16?
|
根據製造商資料中的公司 ID 進行篩選。如果設定這個篩選器參數,廣告酬載必須包含製造商特定資料,且資料須有提供的公司 ID,才能滿足這個篩選器。 |
無預設值 |
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 |
使用比 |
SLOW |
3 |
請設定適當的廣告間隔和時間範圍。這相當於 1M PHY 上的 1 至 1.2 秒,以及編碼 PHY 上的 3 秒。 |
CentralError strict
類型:uint32
定義於 fuchsia.bluetooth.le/central.fidl
| 名稱 | 值 | 說明 |
|---|---|---|
ABORTED |
1 |
要求已取消。 |
IN_PROGRESS |
2 |
系統已在處理要求。 |
INVALID_PARAMETERS |
3 |
提供的參數無效。 |
失敗 |
4 |
發生硬體或系統錯誤,無法啟動廣告。 |
CigFramingOptions strict
類型:uint32
定義於 fuchsia.bluetooth.le/iso.fidl
| 名稱 | 值 | 說明 |
|---|---|---|
UNFRAMED |
0 |
|
FRAMED |
1 |
CigPacking 彈性
類型:uint32
定義於 fuchsia.bluetooth.le/iso.fidl
| 名稱 | 值 | 說明 |
|---|---|---|
依序 |
0 |
|
INTERLEAVED |
1 |
CreateCigError flexible
類型:uint32
定義於 fuchsia.bluetooth.le/iso.fidl
| 名稱 | 值 | 說明 |
|---|---|---|
不明 |
1 |
發生不明或未指定的錯誤,與下方定義的其他錯誤無關,因此無法建立 CIG。 |
NOT_ENOUGH_RESOURCES |
2 |
建立 CIG 會超出可用資源,因此無法建立。 |
INVALID_PARAMETERS |
3 |
無法建立 CIG,因為提供給 CreateCig 的 CIG 參數或一或多個 CIS 參數無效。 新增: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 |
要求的參數無效。 |
ABORTED |
5 |
啟動廣告的請求已取消,例如發出帶有新參數的新請求。 |
失敗 |
6 |
發生硬體或系統錯誤,無法啟動廣告。 |
PhysicalLayer flexible
類型:uint8
定義於 fuchsia.bluetooth.le/phy.fidl
LE 無線電傳輸的實體層設定。
| 名稱 | 值 | 說明 |
|---|---|---|
LE_1M |
1 |
1 Megabit PHY 是原始和預設的 PHY,具有平衡的處理量和範圍。 |
LE_2M |
2 |
2 Megabit 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
|
指定要使用的 advertising 類型 (例如舊版、擴充等)。 如果沒有,我們會預設為舊版 advertising,以維持與藍牙 5.0 之前裝置的最佳相容性。詳情請參閱 AdvertisingProcedure 中的欄位說明。 新增:24
|
7 |
address_type |
fuchsia.bluetooth/AddressType
|
如果未啟用隱私權,位址類型一律會是公開。 如果啟用隱私權,且用戶端不具備權限,位址會是隨機私人位址 (可解析或不可解析)。如果非特殊權限用戶端要求公開位址,系統會傳回錯誤。 如果啟用隱私權且用戶端具有權限,則可要求任何位址類型,或預設為隨機私人位址。 如未設定這個欄位,位址類型會是公開或隨機,取決於系統是否啟用隱私權。 新增:24
|
BroadcastIsochronousGroupInfo
定義於 fuchsia.bluetooth.le/iso.fidl
描述 LE Audio 廣播等時群組 (BIG) 的「BIGInfo」參數。Missing fields to be added as part of 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
|
傳輸週期性廣告的對等互連 ID,如 |
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 錨點之間的時間,範圍為 [5 毫秒,4 秒] 這個欄位一律會顯示。 |
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 ID。必填。 |
2 |
cis_id |
uint8
|
所要求 CIS 的 ID。必填。 |
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
|
根據製造商資料中的製造商 ID 進行篩選。如果設定這個篩選器參數,廣告酬載必須包含製造商專屬資料和提供的公司 ID,才能滿足這個篩選器。如要查看製造商 ID,請前往 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。 注意:藍牙廣告會透過無線傳輸壓縮結構定義,以節省空間。請參閱 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 彈性
定義於 fuchsia.bluetooth.le/peripheral.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
legacy |
Legacy
|
使用舊版廣告封包進行廣告。所有裝置都應該能偵測到這類封包。 |
2 |
extended |
Extended
|
使用擴充廣告封包進行廣告。與舊版廣告封包相比,擴充廣告封包可廣告的資料量大得多 (每個 PDU 31 位元組與 251 位元組)。擴充廣告封包在廣告鏈中最多支援 1,650 個位元組,但只有使用藍牙 5.0 以上版本的新裝置才能偵測到。 並非所有產品都支援擴充廣告封包。如果要求不支援,則會傳回 PeripheralError::NOT_SUPPORTED。 |
Central_CreateConnectedIsochronousGroup_Result strict
定義於 fuchsia.bluetooth.le/central.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Central_CreateConnectedIsochronousGroup_Response
|
|
2 |
err |
CreateCigError
|
ChannelListenerRegistry_ListenL2cap_Result strict
定義於 fuchsia.bluetooth.le/l2cap.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
ChannelListenerRegistry_ListenL2cap_Response
|
|
2 |
err |
zx/Status
|
ChannelListener_Accept_Result strict
定義於 fuchsia.bluetooth.le/l2cap.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
ChannelListener_Accept_Response
|
|
3 |
framework_err |
internal
|
ChannelListener_Connected_Result strict
定義於 fuchsia.bluetooth.le/l2cap.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
ChannelListener_Connected_Response
|
|
3 |
framework_err |
internal
|
ChannelOffloadExt_StartOffload_Result strict
定義於 fuchsia.bluetooth.le/l2cap.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
ChannelOffloadExt_StartOffload_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
CodecDelay_GetCodecLocalDelayRange_Result strict
定義於 fuchsia.bluetooth.le/codec_delay.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
CodecDelay_GetCodecLocalDelayRange_Response
|
|
2 |
err |
zx/Status
|
ConnectedIsochronousGroup_EstablishStreams_Result strict
定義於 fuchsia.bluetooth.le/iso.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
ConnectedIsochronousGroup_EstablishStreams_Response
|
|
2 |
err |
EstablishStreamsError
|
|
3 |
framework_err |
internal
|
Connection_AcceptPeriodicAdvertisingSyncTransfer_Result strict
定義於 fuchsia.bluetooth.le/peer.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Connection_AcceptPeriodicAdvertisingSyncTransfer_Response
|
|
2 |
err |
PeriodicAdvertisingSyncTransferError
|
Connection_TransferPeriodicAdvertisingSync_Result strict
定義於 fuchsia.bluetooth.le/peer.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Connection_TransferPeriodicAdvertisingSync_Response
|
|
2 |
err |
PeriodicAdvertisingSyncTransferError
|
IsochronousStream_Read_Result strict
定義於 fuchsia.bluetooth.le/iso.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
IsochronousStream_Read_Response
|
|
3 |
framework_err |
internal
|
IsochronousStream_SetupDataPath_Result strict
定義於 fuchsia.bluetooth.le/iso.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
IsochronousStream_SetupDataPath_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
IsochronousStream_Write_Result strict
定義於 fuchsia.bluetooth.le/iso.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
IsochronousStream_Write_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
PeriodicAdvertisingSync_SyncToSubevents_Result strict
定義於 fuchsia.bluetooth.le/periodic.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
PeriodicAdvertisingSync_SyncToSubevents_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
PeriodicAdvertisingSync_WatchAdvertisingReport_Result strict
定義於 fuchsia.bluetooth.le/periodic.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
PeriodicAdvertisingSync_WatchAdvertisingReport_Response
|
|
3 |
framework_err |
internal
|
Peripheral_Advertise_Result strict
定義於 fuchsia.bluetooth.le/peripheral.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Peripheral_Advertise_Response
|
|
2 |
err |
PeripheralError
|
Peripheral_StartAdvertising_Result strict
定義於 fuchsia.bluetooth.le/peripheral.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
1 |
response |
Peripheral_StartAdvertising_Response
|
|
2 |
err |
PeripheralError
|
SyncReport 彈性
定義於 fuchsia.bluetooth.le/periodic.fidl
| 序數 | Variant | 類型 | 說明 |
|---|---|---|---|
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 |
接受連線導向管道連線的服務 ID。在藍牙規格中稱為 (簡化) 通訊協定/服務多工器。 新增:24
|