用於與藍牙供應商和傳輸驅動程式互動的 API。
通訊協定
模擬器
定義於 fuchsia.hardware.bluetooth/emulator.fidl
模擬支援標準藍牙 HCI 的藍牙控制器時使用的通訊協定。 代表 Bt-emulator 裝置通訊協定。bt-emulator 裝置用於設定及 發布假的 bt-hci 裝置
AddBredrPeer
插入新的 BR/EDR 對等互連裝置,要由這個控制器模擬。一旦註冊完成
也可使用 peer
控點來驅動及觀察。
系統會傳送回覆,向您確認建立假的對等點。如果無法建立對等互連
已初始化 (例如:parameters
中缺少必填欄位,或因含有
相同的地址) 將關閉 peer
帳號代碼,並收到錯誤回覆
來產生。
該同業會顯示在查詢結果中,並依據
只要 peer
管道開啟即可。模擬器停止模擬此對等互連項目
而管道無法找到您,也無法再回覆
要求。
要求
名稱 | 類型 |
---|---|
payload |
PeerParameters
|
回應
名稱 | 類型 |
---|---|
payload |
Emulator_AddBredrPeer_Result
|
AddLowEnergyPeer
插入新的 LE 對等裝置,以供這個控制器模擬。一旦註冊完成
也可使用 peer
控點來驅動及觀察。
系統會傳送回覆,向您確認建立假的對等點。如果無法建立對等互連
已初始化 (例如:parameters
中缺少必填欄位,或因含有
相同的地址) 將關閉 peer
帳號代碼,並收到錯誤回覆
來產生。
該同業會顯示在廣告報表中,並依據
只要 peer
管道開啟即可。模擬器停止模擬此對等互連項目
而管道無法找到您,也無法再回覆
要求。
要求
名稱 | 類型 |
---|---|
payload |
PeerParameters
|
回應
名稱 | 類型 |
---|---|
payload |
Emulator_AddLowEnergyPeer_Result
|
發布
使用提供的 settings
發布 Bt-hci 裝置。每個 Emulator 執行個體
管理單一 Bt-hci 裝置傳回 Emulator。HCI_ALREADY_PUBLISHED
如果裝置
要求
名稱 | 類型 |
---|---|
payload |
EmulatorSettings
|
回應
名稱 | 類型 |
---|---|
payload |
Emulator_Publish_Result
|
WatchControllerParameters
只有在狀態含有 而自上次回覆不同
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Emulator_WatchControllerParameters_Result
|
WatchLeScanStates
針對連結層 LE 掃描程序,傳回最低狀態的向量。 自上次叫用以來,至少有一項狀態變更時,此方法就會傳回結果 這個方法。
系統可能會在特定時間發出多次呼叫此方法。所有通話將於以下時間後解析: 一旦掃描狀態有變更,就會立即回應。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Emulator_WatchLeScanStates_Result
|
WatchLegacyAdvertisingStates
傳回 LE 舊版連結層狀態最低至最新狀態的向量 廣告程序。這個方法會在至少有一項狀態變更時傳回 自此用戶端上次叫用此方法時起算。
系統可能會在特定時間發出多次呼叫此方法。所有通話將於以下時間後解析: 一旦掃描狀態有變更,就會立即回應。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Emulator_WatchLegacyAdvertisingStates_Result
|
希伯來文
定義於 fuchsia.hardware.bluetooth/hci.fidl
ConfigureSco
使用指定的參數,為 SCO 連線設定 HCI。 必須先呼叫此方法,才能傳送/接收 SCO 管道的資料。 如果目前的供應商或傳輸機制不支援 SCO,則傳回 ZX_ERR_NOT_SUPPORTED 驅動程式。
要求
名稱 | 類型 |
---|---|
coding_format |
ScoCodingFormat
|
encoding |
ScoEncoding
|
sample_rate |
ScoSampleRate
|
回應
名稱 | 類型 |
---|---|
payload |
Hci_ConfigureSco_Result
|
OpenAclDataChannel
開啟雙向 HCI ACL 資料管道。 如果管道已開啟,則傳回 ZX_ERR_ALREADY_BOUND。
要求
名稱 | 類型 |
---|---|
channel |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
Hci_OpenAclDataChannel_Result
|
OpenCommandChannel
開啟雙向 HCI 指令管道來傳送 HCI 指令 接收事件封包如果管道是 ZX_ERR_ALREADY_BOUND,則傳回 ZX_ERR_ALREADY_BOUND 已開啟。
要求
名稱 | 類型 |
---|---|
channel |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
Hci_OpenCommandChannel_Result
|
OpenIsoDataChannel
在提供的帳號代碼上開啟管道,用於傳送和接收異質資料封包。 如果在開啟 hci 管道發生錯誤,或 hci 出現錯誤,Zircon 管道就會關閉 管道已連結另一個 Zircon 管道的帳號代碼。 如果目前的供應商或傳輸元件不支援 ISO,則傳回 ZX_ERR_NOT_SUPPORTED 驅動程式。 如果管道已開啟,則傳回 ZX_ERR_ALREADY_BOUND。
要求
名稱 | 類型 |
---|---|
channel |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
Hci_OpenIsoDataChannel_Result
|
OpenScoDataChannel
在提供的帳號代碼上開啟 SCO 管道。Zircon 管道是 關閉 Slici 管道時發生錯誤或 hci 管道已連結至另一個 Zircon 管道的帳號代碼。 如果目前的供應商或傳輸機制不支援 SCO,則傳回 ZX_ERR_NOT_SUPPORTED 驅動程式。 如果管道已開啟,則傳回 ZX_ERR_ALREADY_BOUND。
要求
名稱 | 類型 |
---|---|
channel |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
Hci_OpenScoDataChannel_Result
|
OpenSnoopChannel
開啟僅供輸出的管道來監控 HCI 流量。 每封郵件的格式如下:[1-octetflag] [n-octet payload] 旗標八位元是位元欄位,並定義了下列值:
- 0x00:裝載代表從主機傳送至主機的指令封包 控制器
- 0x01:酬載代表控制器傳送的事件封包。 如果管道已開啟,則傳回 ZX_ERR_ALREADY_BOUND。
要求
名稱 | 類型 |
---|---|
channel |
handle<channel>
|
回應
名稱 | 類型 |
---|---|
payload |
Hci_OpenSnoopChannel_Result
|
ResetSco
釋出有效 SCO 連線保留的資源。必須呼叫 並在 SCO 連線關閉時啟動 如果目前的供應商或傳輸機制不支援 SCO,則傳回 ZX_ERR_NOT_SUPPORTED 驅動程式。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Hci_ResetSco_Result
|
HciTransport
定義於 fuchsia.hardware.bluetooth/hci.fidl
AckReceive
要求
<空白>
ConfigureSco
建立 SCO 連線。一次只能設定 1 個 SCO 連線。
要求
名稱 | 類型 |
---|---|
payload |
HciTransportConfigureScoRequest
|
OnReceive
您可以在確認前傳送多個封包事件。每個封包都必須
與 AckReceive
確認。伺服器應限制待處理確認數量
才能避免管道流量建議最多設為 10 個未確認的封包。如果指令或
用戶端接收 SCO 封包,用戶端應關閉通訊協定。
回應
名稱 | 類型 |
---|---|
payload |
ReceivedPacket
|
傳送
你可以將多個傳送規則同時設為待處理狀態。 限制待處理呼叫的數量,以免溢位。 建議最多選擇 10 通待處理通話。 如果伺服器接收到事件或 SCO 封包,伺服器就應關閉通訊協定。
要求
名稱 | 類型 |
---|---|
payload |
SentPacket
|
回應
名稱 | 類型 |
---|---|
payload |
HciTransport_Send_Result
|
對等節點
定義於 fuchsia.hardware.bluetooth/emulator.fidl
用於驅動假對等裝置狀態的通訊協定。
AssignConnectionStatus
指派 HCI status
,讓控制器產生連線要求來回應。
適用於所有連續 HCI_Create_Connection 和 HCI_LE_Create_Connection 指令。
程序得到空白回應。
要求
名稱 | 類型 |
---|---|
status |
HciError
|
回應
名稱 | 類型 |
---|---|
payload |
Peer_AssignConnectionStatus_Result
|
EmulateDisconnectionComplete
模擬連線中斷情形。如果對等點未連線,則不會執行任何動作。
要求
<空白>
EmulateLeConnectionComplete
模擬 LE 連線事件。如果對等點已連線,就不會有任何動作。
role
參數會決定連結層連線角色。
要求
名稱 | 類型 |
---|---|
role |
fuchsia.bluetooth/ConnectionRole
|
SetDeviceClass
設定裝置期間,此裝置在查詢回覆中回報的裝置類別
探索。如果對等點並非 BR/EDR,伺服器將透過 ZX_ERR_NOT_SUPPORTED
關閉
先生所說。
要求
名稱 | 類型 |
---|---|
value |
uint32
|
回應
名稱 | 類型 |
---|---|
payload |
Peer_SetDeviceClass_Result
|
SetLeAdvertisement
要求
名稱 | 類型 |
---|---|
payload |
PeerSetLeAdvertisementRequest
|
回應
名稱 | 類型 |
---|---|
payload |
Peer_SetLeAdvertisement_Result
|
SetServiceDefinitions
設定使用者可透過服務探索通訊協定偵測到的對等互連服務。如果
對等點不是 BR/EDR,伺服器將透過 ZX_ERR_NOT_SUPPORTED
組合符號關閉。
要求
名稱 | 類型 |
---|---|
service_definitions |
vector<fuchsia.bluetooth.bredr/ServiceDefinition>[32]
|
回應
名稱 | 類型 |
---|---|
payload |
Peer_SetServiceDefinitions_Result
|
WatchConnectionStates
傳回最新控制器連線狀態的向量。 如果上次叫用此內容後發生狀態變更,此方法就會傳回 方法。
系統可能會在特定時間發出多次呼叫此方法。所有通話將於以下時間後解析: 一旦掃描狀態有變更,就會立即回應。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Peer_WatchConnectionStates_Result
|
ScoConnection
定義於 fuchsia.hardware.bluetooth/hci.fidl
AckReceive
要求
<空白>
OnReceive
您可以在確認前傳送多個封包事件。每個封包都必須
與 AckReceive
確認。伺服器應限制待處理確認數量
才能避免管道流量建議最多設為 10 個未確認的封包。
回應
名稱 | 類型 |
---|---|
packet |
vector<uint8>[258]
|
傳送
你可以將多個傳送規則同時設為待處理狀態。 限制待處理呼叫的數量,以免溢位。 建議最多選擇 10 通待處理通話。
要求
名稱 | 類型 |
---|---|
packet |
vector<uint8>[258]
|
回應
名稱 | 類型 |
---|---|
payload |
ScoConnection_Send_Result
|
停止
收到 Stop
後,伺服器會關閉通訊協定。這對於使用者
同步處理 (例如設定另一個 ScoConnection
前)。
要求
<空白>
窺探
定義於 fuchsia.hardware.bluetooth/hci.fidl
AcknowledgePackets
已最多收到 sequence
個確認封包。
要求
名稱 | 類型 |
---|---|
sequence |
uint64
|
OnDroppedPackets
如果封包自以下日期起遭到捨棄,則伺服器在收到 AcknowledgePackets
後傳送 1 次
最後一個OnObservePacket
。
回應
名稱 | 類型 |
---|---|
payload |
SnoopOnDroppedPacketsRequest
|
OnObservePacket
封包已傳輸/接收。可以在 。如果用戶端花費太多時間 才能確認封包
回應
名稱 | 類型 |
---|---|
payload |
SnoopOnObservePacketRequest
|
供應商
定義於 fuchsia.hardware.bluetooth/vendor.fidl
廠商驅動程式可能會實作 BtVendor 通訊協定,藉此支援功能檢查 以及廠商指令編碼
EncodeCommand
將供應商 HCI 指令編碼,然後傳回編碼指令。
如要瞭解可用的指令和參數,請參閱 VendorCommand
。
- 錯誤
ZX_ERR_NOT_SUPPORTED
不支援這個指令。 - 錯誤
ZX_ERR_INVALID_ARGS
指令的參數無效。
要求
名稱 | 類型 |
---|---|
payload |
VendorCommand
|
回應
名稱 | 類型 |
---|---|
payload |
Vendor_EncodeCommand_Result
|
GetFeatures
傳回此控制器支援的供應商功能。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Vendor_GetFeatures_Result
|
OpenHci
已淘汰。 開啟控制器的 HCI 通訊協定。這場通話可能會遭到封鎖,直到 控制器已初始化。 如果其他用戶端已連線,則傳回 ALREADY_BOUND。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Vendor_OpenHci_Result
|
OpenHciTransport
開啟控制器的 HciTransport 通訊協定。這場通話可能會遭到封鎖,直到 控制器已初始化。 如果其他用戶端已連線,則傳回 ALREADY_BOUND。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Vendor_OpenHciTransport_Result
|
OpenSnoop
開啟傳輸驅動程式庫的 Snoop 通訊協定。 如果其他用戶端已連線,則傳回 ALREADY_BOUND。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Vendor_OpenSnoop_Result
|
VirtualController
定義於 fuchsia.hardware.bluetooth/virtual.fidl
用於產生虛擬藍牙裝置。
CreateEmulator
建立孩童裝置,並傳回已建立的孩子名稱。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
VirtualController_CreateEmulator_Result
|
CreateLoopbackDevice
建立虛擬藍牙序列裝置,和 BT HCI UART 交談 處理特定控點上的通訊協定 發生錯誤時,Zircon 管道已關閉。
要求
名稱 | 類型 |
---|---|
payload |
VirtualControllerCreateLoopbackDeviceRequest
|
結構
Emulator_AddBredrPeer_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
<空白>
Emulator_AddLowEnergyPeer_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
<空白>
Emulator_Publish_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
<空白>
Emulator_WatchLeScanStates_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
states |
vector<LeScanState>
|
無預設 |
Emulator_WatchLegacyAdvertisingStates_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
states |
vector<LegacyAdvertisingState>
|
無預設 |
HciTransport_Send_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Hci_ConfigureSco_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Hci_OpenAclDataChannel_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Hci_OpenCommandChannel_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Hci_OpenIsoDataChannel_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Hci_OpenScoDataChannel_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Hci_OpenSnoopChannel_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Hci_ResetSco_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
Peer_AssignConnectionStatus_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
<空白>
Peer_SetDeviceClass_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
<空白>
Peer_SetLeAdvertisement_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
<空白>
Peer_SetServiceDefinitions_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
<空白>
Peer_WatchConnectionStates_Response
定義於 fuchsia.hardware.bluetooth/emulator.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
states |
vector<ConnectionState>
|
無預設 |
ScoConnection_Send_Response
定義於 fuchsia.hardware.bluetooth/hci.fidl
<空白>
ScoPacket
定義於 fuchsia.hardware.bluetooth/hci.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
packet |
vector<uint8>[258]
|
無預設 |
Vendor_EncodeCommand_Response
定義於 fuchsia.hardware.bluetooth/vendor.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
encoded |
vector<uint8>[16]
|
無預設 |
Vendor_OpenHciTransport_Response 資源
定義於 fuchsia.hardware.bluetooth/vendor.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
channel |
HciTransport
|
無預設 |
Vendor_OpenHci_Response 資源
定義於 fuchsia.hardware.bluetooth/vendor.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
channel |
Hci
|
無預設 |
Vendor_OpenSnoop_Response 資源
定義於 fuchsia.hardware.bluetooth/vendor.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
channel |
Snoop
|
無預設 |
VirtualController_CreateEmulator_Response
定義於 fuchsia.hardware.bluetooth/virtual.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
name |
string[32]?
|
無預設 |
ENUMS
ConnectionState 彈性
類型:uint32
定義於 fuchsia.hardware.bluetooth/emulator.fidl
名稱 | 值 | 說明 |
---|---|---|
已連線 |
1 |
|
連線中斷 |
2 |
EmulatorError 彈性
類型:uint32
定義於 fuchsia.hardware.bluetooth/emulator.fidl
可針對全模擬器設定產生的錯誤代碼。
名稱 | 值 | 說明 |
---|---|---|
失敗 |
1 |
|
HCI_ALREADY_PUBLISHED |
2 |
EmulatorPeerError 彈性
類型:uint32
定義於 fuchsia.hardware.bluetooth/emulator.fidl
為操控假對等體的函式產生的錯誤代碼。
名稱 | 值 | 說明 |
---|---|---|
ADDRESS_REPEATED |
1 |
|
PARAMETERS_INVALID |
2 |
|
NOT_FOUND |
3 |
HciConfig 彈性
類型:uint32
定義於 fuchsia.hardware.bluetooth/emulator.fidl
預設 HCI 設定。
名稱 | 值 | 說明 |
---|---|---|
DUAL_MODE |
1 |
同時支援 LMP 功能中的 BR/EDR 和 LE。 |
LE_ONLY |
2 |
限制支援的功能和 HCI 指令,僅適用於 LE 所需的功能。 |
HciError 彈性
類型:uint8
定義於 fuchsia.hardware.bluetooth/emulator.fidl
定義藍牙控制器可回報的 HCI 通訊協定錯誤代碼清單。這些 這些值取自藍牙核心規格 v5.4、Vol 2、D 部分、1.3 節
名稱 | 值 | 說明 |
---|---|---|
成功 |
0 |
|
UNKNOWN_COMMAND |
1 |
|
UNKNOWN_CONNECTION_ID |
2 |
|
HARDWARE_FAILURE |
3 |
|
PAGE_TIMEOUT |
4 |
|
AUTHENTICATION_FAILURE |
5 |
|
PIN_OR_KEY_MISSING |
6 |
|
MEMORY_CAPACITY_EXCEEDED |
7 |
|
CONNECTION_TIMEOUT |
8 |
|
CONNECTION_LIMIT_EXCEEDED |
9 |
|
SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED |
10 |
|
CONNECTION_ALREADY_EXISTS |
11 |
|
COMMAND_DISALLOWED |
12 |
|
CONNECTION_REJECTED_LIMITED_RESOURCES |
13 |
|
CONNECTION_REJECTED_SECURITY |
14 |
|
CONNECTION_REJECTED_BAD_BD_ADDR |
15 |
|
CONNECTION_ACCEPT_TIMEOUT_EXCEEDED |
16 |
|
UNSUPPORTED_FEATURE_OR_PARAMETER |
17 |
|
INVALID_HCICOMMAND_PARAMETERS |
18 |
|
REMOTE_USER_TERMINATED_CONNECTION |
19 |
|
REMOTE_DEVICE_TERMINATED_CONNECTION_LOW_RESOURCES |
20 |
|
REMOTE_DEVICE_TERMINATED_CONNECTION_POWER_OFF |
21 |
|
CONNECTION_TERMINATED_BY_LOCAL_HOST |
22 |
|
REPEATED_ATTEMPTS |
23 |
|
PAIRING_NOT_ALLOWED |
24 |
|
UNKNOWN_LMP_PDU |
25 |
|
UNSUPPORTED_REMOTE_FEATURE |
26 |
|
SCO_OFFSET_REJECTED |
27 |
|
SCO_INTERVAL_REJECTED |
28 |
|
SCO_AIR_MODE_REJECTED |
29 |
|
INVALID_LMP_OR_LL_PARAMETERS |
30 |
|
UNSPECIFIED_ERROR |
31 |
|
UNSUPPORTED_LMP_OR_LL_PARAMETER_VALUE |
32 |
|
ROLE_CHANGE_NOT_ALLOWED |
33 |
|
LMP_OR_LL_RESPONSE_TIMEOUT |
34 |
|
LMP_ERROR_TRANSACTION_COLLISION |
35 |
|
LMP_PDU_NOT_ALLOWED |
36 |
|
ENCRYPTION_MODE_NOT_ACCEPTABLE |
37 |
|
LINK_KEY_CANNOT_BE_CHANGED |
38 |
|
REQUESTED_QOS_NOT_SUPPORTED |
39 |
|
INSTANT_PASSED |
40 |
|
PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED |
41 |
|
DIFFERENT_TRANSACTION_COLLISION |
42 |
|
RESERVED0 |
43 |
|
QOS_UNACCEPTABLE_PARAMETER |
44 |
|
QOS_REJECTED |
45 |
|
CHANNEL_CLASSIFICATION_NOT_SUPPORTED |
46 |
|
INSUFFICIENT_SECURITY |
47 |
|
PARAMETER_OUT_OF_MANDATORY_RANGE |
48 |
|
RESERVED1 |
49 |
|
ROLE_SWITCH_PENDING |
50 |
|
RESERVED2 |
51 |
|
RESERVED_SLOT_VIOLATION |
52 |
|
ROLE_SWITCH_FAILED |
53 |
|
EXTENDED_INQUIRY_RESPONSE_TOO_LARGE |
54 |
|
SECURE_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST |
55 |
|
HOST_BUSY_PAIRING |
56 |
|
CONNECTION_REJECTED_NO_SUITABLE_CHANNEL_FOUND |
57 |
|
CONTROLLER_BUSY |
58 |
|
UNACCEPTABLE_CONNECTION_PARAMETERS |
59 |
|
DIRECTED_ADVERTISING_TIMEOUT |
60 |
|
CONNECTION_TERMINATED_MIC_FAILURE |
61 |
|
CONNECTION_FAILED_TO_BE_ESTABLISHED |
62 |
|
MAC_CONNECTION_FAILED |
63 |
|
COARSE_CLOCK_ADJUSTMENT_REJECTED |
64 |
|
TYPE0_SUBMAP_NOT_DEFINED |
65 |
|
UNKNOWN_ADVERTISING_IDENTIFIER |
66 |
|
LIMIT_REACHED |
67 |
|
OPERATION_CANCELLED_BY_HOST |
68 |
|
PACKET_TOO_LONG |
69 |
|
TOO_LATE |
70 |
|
TOO_EARLY |
71 |
Legacy AdvertisingType 嚴格
類型:uint8
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Bluetooth Core 規格 v5.4、Vol 4、 Part E、7.8.5 的 LE 舊版廣告類型。
名稱 | 值 | 說明 |
---|---|---|
ADV_IND |
0 |
可連線且可掃描。 |
ADV_DIRECT_IND |
1 |
可連線的高任務循環。 |
ADV_SCAN_IND |
2 |
方便瀏覽、未導向。 |
ADV_NONCONN_IND |
3 |
無法連線、未導向 |
SCAN_RSP |
4 |
掃描回覆 |
PacketDirection 嚴格
類型:uint32
定義於 fuchsia.hardware.bluetooth/hci.fidl
名稱 | 值 | 說明 |
---|---|---|
HOST_TO_CONTROLLER |
1 |
|
CONTROLLER_TO_HOST |
2 |
ScoCodingFormat 彈性
類型:uint8
定義於 fuchsia.hardware.bluetooth/hci.fidl
名稱 | 值 | 說明 |
---|---|---|
CVSD |
1 |
|
MSBC |
2 |
ScoEncoding 彈性
類型:uint8
定義於 fuchsia.hardware.bluetooth/hci.fidl
名稱 | 值 | 說明 |
---|---|---|
BITS_8 |
1 |
|
BITS_16 |
2 |
ScoSampleRate 彈性
類型:uint8
定義於 fuchsia.hardware.bluetooth/hci.fidl
名稱 | 值 | 說明 |
---|---|---|
KHZ_8 |
1 |
|
KHZ_16 |
2 |
VendorAclDirection 彈性
類型:uint8
定義於 fuchsia.hardware.bluetooth/vendor.fidl
名稱 | 值 | 說明 |
---|---|---|
來源 |
1 |
|
接收器 |
2 |
VendorAclPriority 彈性
類型:uint8
定義於 fuchsia.hardware.bluetooth/vendor.fidl
名稱 | 值 | 說明 |
---|---|---|
NORMAL |
1 |
|
高 |
2 |
資料表
AclBufferSettings
定義於 fuchsia.hardware.bluetooth/emulator.fidl
HCI ACL 資料流量控制參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
data_packet_length |
uint16
|
ACL 框架 MTU,以位元組為單位。 |
2 |
total_num_data_packets |
uint8
|
控制器可緩衝的 ACL 頁框數量上限。 |
AdvertisingData
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
data |
vector<uint8>[31]
|
AndroidVendorSupport
定義於 fuchsia.hardware.bluetooth/vendor.fidl
表示支援 Android 供應商擴充功能 如果空白,系統支援 Android HCI 擴充功能,但未指定版本。 應使用 LE Get Vendor Capabilities 指令偵測到版本。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
major_version |
uint8
|
|
2 |
minor_version |
uint8
|
ControllerParameters
定義於 fuchsia.hardware.bluetooth/emulator.fidl
包含藍牙控制器和可由主機寫入但無法寫入的基本頻帶參數 屬於特定程序類別 (如下圖所示)。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
local_name |
string[248]
|
用於連結層名稱探索程序的本地名稱。這個參數僅適用於 進行 BR/EDR 運輸在 LE 中,當地名稱會是廣告參數, 導入 GATT。 |
2 |
device_class |
fuchsia.bluetooth/DeviceClass
|
本地的「裝置類別」在 BR/EDR 查詢程序中使用的方法。 |
EmulatorSettings
定義於 fuchsia.hardware.bluetooth/emulator.fidl
模擬器使用的控制器設定。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
address |
fuchsia.bluetooth/Address
|
|
2 |
hci_config |
HciConfig
|
支援的 HCI 指令設定。預設為「 |
3 |
extended_advertising |
bool
|
如果支援 5.0 擴充廣告功能,則為「是」。預設值為「false」。 |
4 |
acl_buffer_settings |
AclBufferSettings
|
ACL-U 資料緩衝區設定。預設為
data_packet_length:1024 年
total_num_data_packets:5
如果 |
5 |
le_acl_buffer_settings |
AclBufferSettings
|
LE-U ACL 資料緩衝區設定。預設為 data_packet_length:251 total_num_data_packets:5 |
HciTransportConfigureScoRequest 資源
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
coding_format |
ScoCodingFormat
|
必填。 |
2 |
encoding |
ScoEncoding
|
必填。 |
3 |
sample_rate |
ScoSampleRate
|
必填。 |
4 |
connection |
server_end<ScoConnection>
|
必填。 |
LeScanState
定義於 fuchsia.hardware.bluetooth/emulator.fidl
代表 LE 掃描狀態。如果已設定掃描參數,則會出現欄位。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
enabled |
bool
|
如果掃描已啟用,則為「是」。 |
2 |
active |
bool
|
如果已啟用掃描功能,則為「是」。否則掃描作業屬於被動模式。 |
3 |
interval |
uint16
|
掃描間隔和視窗參數。這是藍牙控制器中的 「timeslices」其中 1 個切片 = 0.625 毫秒。有效值範圍介於 0x4 (2.5 毫秒) 至 0x4000 (10.24) 之間 毫秒)。 |
4 |
window |
uint16
|
|
5 |
filter_duplicates |
bool
|
如果已啟用複製篩選功能,則為「是」。 |
6 |
address_type |
fuchsia.bluetooth/AddressType
|
所用本機裝置位址的類型。 |
LegacyAdvertisingState
定義於 fuchsia.hardware.bluetooth/emulator.fidl
舊版廣告的控制器參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
enabled |
bool
|
如果已透過 HCI_LE_Set_Advertising_Enable 指令啟用廣告,則為 True。 一律提供這個欄位。 |
2 |
type |
LegacyAdvertisingType
|
最新設定的廣告類型。一律提供這個欄位。預設為 fuchsia.hardware.bluetooth/LegacyAdvertisingType.ADV_IND. |
3 |
address_type |
fuchsia.bluetooth/AddressType
|
用於廣告的 LE 位址類型。一律提供這個欄位。預設為 fuchsia.bluetooth/AddressType.PUBLIC. |
4 |
interval_min |
uint16
|
主機指定的廣告間隔範圍參數。只有在已設定的情況下才會顯示。 |
5 |
interval_max |
uint16
|
|
6 |
advertising_data |
AdvertisingData
|
任何已設定的廣告及掃描回應資料。只有在其中一個欄位不是零時才會顯示。 |
7 |
scan_response |
AdvertisingData
|
PeerParameters 資源
定義於 fuchsia.hardware.bluetooth/emulator.fidl
用於模擬同業在 BR/EDR/低功耗傳輸上行為的參數。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
address |
fuchsia.bluetooth/Address
|
同業的公開 BR/EDR BD_ADDR 地址。這是必填欄位。 |
2 |
connectable |
bool
|
如果設為「true」,對等互連就會傳送可連線的廣告並接受連線 要求。如果無法連線,對等點會忽略連線要求。 |
3 |
channel |
server_end<Peer>
|
繫結至對等通訊協定的管道端端。 |
PeerSetLeAdvertisementRequest
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
le_address |
fuchsia.bluetooth/Address
|
對等點的 LE 位址。 |
2 |
advertisement |
AdvertisingData
|
廣告資料內容。沒有的話,表示此同業傳送的廣告資料 將空白 |
3 |
scan_response |
AdvertisingData
|
掃描回應資料內容。算繪時,假控制器會 可掃描的廣告封包及掃描回應事件。 |
SnoopOnDroppedPacketsRequest
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
sent |
uint32
|
|
2 |
received |
uint32
|
SnoopOnObservePacketRequest
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
sequence |
uint64
|
封包數量單純增加。用於流量控制
|
2 |
direction |
PacketDirection
|
|
3 |
packet |
SnoopPacket
|
VendorFeatures
定義於 fuchsia.hardware.bluetooth/vendor.fidl
供應商支援的功能表。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
acl_priority_command |
bool
|
支援 SetAclPriority 指令 如未顯示,則不支援該指令。 |
2 |
android_vendor_extensions |
AndroidVendorSupport
|
支援 Android 供應商擴充功能 如果缺少這些資訊,則不支援 Android 供應商擴充功能。 |
VendorSetAclPriorityParams
定義於 fuchsia.hardware.bluetooth/vendor.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
connection_handle |
uint16
|
要求優先處理的 ACL 連線處理常式。 |
2 |
priority |
VendorAclPriority
|
|
3 |
direction |
VendorAclDirection
|
方向資料應優先使用。可能完全不支援 供應商。優先順序為一般時忽略。 |
VirtualControllerCreateLoopbackDeviceRequest 資源
定義於 fuchsia.hardware.bluetooth/virtual.fidl
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
uart_channel |
handle<channel>
|
聯合國
Emulator_AddBredrPeer_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Emulator_AddBredrPeer_Response
|
|
2 |
err |
EmulatorPeerError
|
|
3 |
framework_err |
internal
|
模擬器_AddLowEnergyPeer_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Emulator_AddLowEnergyPeer_Response
|
|
2 |
err |
EmulatorPeerError
|
|
3 |
framework_err |
internal
|
Emulator_Publish_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Emulator_Publish_Response
|
|
2 |
err |
EmulatorError
|
|
3 |
framework_err |
internal
|
Emulator_WatchControllerParameters_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ControllerParameters
|
|
3 |
framework_err |
internal
|
Emulator_WatchLeScanStates_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Emulator_WatchLeScanStates_Response
|
|
3 |
framework_err |
internal
|
Emulator_WatchLegacy AdvertisingStates_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Emulator_WatchLegacyAdvertisingStates_Response
|
|
3 |
framework_err |
internal
|
HciTransport_Send_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
HciTransport_Send_Response
|
|
3 |
framework_err |
internal
|
Hci_ConfigureSco_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Hci_ConfigureSco_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenAclDataChannel_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Hci_OpenAclDataChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenCommandChannel_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Hci_OpenCommandChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenIsoDataChannel_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Hci_OpenIsoDataChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenScoDataChannel_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Hci_OpenScoDataChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_OpenSnoopChannel_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Hci_OpenSnoopChannel_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Hci_ResetSco_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Hci_ResetSco_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Peer_AssignConnectionStatus_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Peer_AssignConnectionStatus_Response
|
|
3 |
framework_err |
internal
|
Peer_SetDeviceClass_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Peer_SetDeviceClass_Response
|
|
3 |
framework_err |
internal
|
Peer_SetLe Advertisingment_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Peer_SetLeAdvertisement_Response
|
|
2 |
err |
EmulatorPeerError
|
|
3 |
framework_err |
internal
|
Peer_SetServiceDefinitions_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Peer_SetServiceDefinitions_Response
|
|
3 |
framework_err |
internal
|
Peer_WatchConnectionStates_Result 嚴格
定義於 fuchsia.hardware.bluetooth/emulator.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Peer_WatchConnectionStates_Response
|
|
3 |
framework_err |
internal
|
ReceivedPacket 彈性
定義於 fuchsia.hardware.bluetooth/hci.fidl
主機從控制器接收的封包。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
event |
vector<uint8>[257]
|
|
2 |
acl |
vector<uint8>[65539]
|
|
3 |
iso |
vector<uint8>[16387]
|
ScoConnection_Send_Result 嚴格
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ScoConnection_Send_Response
|
|
3 |
framework_err |
internal
|
SentPacket 彈性
定義於 fuchsia.hardware.bluetooth/hci.fidl
由主機傳送至控制器的封包。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
command |
vector<uint8>[258]
|
|
2 |
acl |
vector<uint8>[65539]
|
|
3 |
iso |
vector<uint8>[16387]
|
SnoopPacket 彈性
定義於 fuchsia.hardware.bluetooth/hci.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
event |
vector<uint8>[257]
|
|
2 |
command |
vector<uint8>[258]
|
|
3 |
acl |
vector<uint8>[65539]
|
|
4 |
sco |
vector<uint8>[258]
|
|
5 |
iso |
vector<uint8>[16387]
|
VendorCommand 彈性
定義於 fuchsia.hardware.bluetooth/vendor.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
set_acl_priority |
VendorSetAclPriorityParams
|
Vendor_EncodeCommand_Result 嚴格
定義於 fuchsia.hardware.bluetooth/vendor.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Vendor_EncodeCommand_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Vendor_GetFeatures_Result 嚴格
定義於 fuchsia.hardware.bluetooth/vendor.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
VendorFeatures
|
|
3 |
framework_err |
internal
|
Vendor_OpenHciTransport_Result 嚴格 資源
定義於 fuchsia.hardware.bluetooth/vendor.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Vendor_OpenHciTransport_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Vendor_OpenHci_Result 嚴格 資源
定義於 fuchsia.hardware.bluetooth/vendor.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Vendor_OpenHci_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Vendor_OpenSnoop_Result 嚴格 資源
定義於 fuchsia.hardware.bluetooth/vendor.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Vendor_OpenSnoop_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
VirtualController_CreateEmulator_Result 嚴格
定義於 fuchsia.hardware.bluetooth/virtual.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
VirtualController_CreateEmulator_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
觀測站
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
ACL_PACKET_MAX |
65539
|
uint64 |
|
BT_VENDOR_MAX_COMMAND_BUFFER_LEN |
16
|
uint16 |
經過編碼的指令可能需要的緩衝區長度上限。 在新增可能需要較大緩衝區的新指令時更新。 |
COMMAND_MAX |
258
|
uint64 |
|
EVENT_MAX |
257
|
uint64 |
|
ISO_PACKET_MAX |
16387
|
uint64 |
|
MAX_LEGACY_ADVERTISING_DATA_LENGTH |
31
|
uint8 |
舊版 (4.x) 和延伸 (5.x) 廣告 PDU 類型的廣告資料 MTU 請參閱核心規格 v5.4、Vol 4、第 E 部分、第 7.3.11 和 7.8.54 節。 |
MAX_LOCAL_NAME_LENGTH |
248
|
uint8 |
使用 HCI_Write_Local_Name 指令指派的本機名稱大小上限 (以位元組為單位) (請參閱《Core 規格 v5.4, Vol 4, Part E, 7.3.11」)。 |
MAX_NAME_LENGTH |
32
|
uint32 |
|
MAX_PEER_SERVICES |
32
|
uint8 |
可一次通告的服務記錄數量上限。 |
SCO_PACKET_MAX |
258
|
uint64 |
服務
HciService
定義於 fuchsia.hardware.bluetooth/hci.fidl
名稱 | 類型 | 傳輸 |
---|---|---|
hci |
fuchsia.hardware.bluetooth/Hci
|
頻道 |
hci_transport |
fuchsia.hardware.bluetooth/HciTransport
|
頻道 |
窺探 |
fuchsia.hardware.bluetooth/Snoop
|
頻道 |