通訊協定
頻道
定義於 fuchsia.bluetooth/channel.fidl
用於傳送/接收封包的雙面管道。這個通訊協定也會
做為保持 Channel
開啟的權杖。關閉這個通訊協定 (並
巴西/EDR 頻道的相關 socket
) 會關閉基礎模型。
頻道。
接收
等待傳入封包的掛鉤。只有一個Receive
可能是待處理狀態
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Channel_Receive_Result
|
傳送
透過管道傳送多個資料封包。只有一個Send
可能是待處理狀態
要求
名稱 | 類型 |
---|---|
packets |
vector<Packet>
|
回應
名稱 | 類型 |
---|---|
payload |
Channel_Send_Result
|
WatchChannelParameters
針對 RFCOMM 管道,這項操作不會傳回,通話會停止運作 無限期。
針對 BR/EDR L2CAP 連線導向的頻道,目前 返回,然後通話會無限期停止。初始管道參數 提供管道為 fuchsia.bluetooth.bredr/Channel。
針對 LE L2CAP 連線導向頻道,第一次呼叫會 就會立即傳回管道遠端端的參數。 後續呼叫會一直維持到 ChannelParameters 變更,也就是 而且會傳回新參數,包括含有 未變更。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Channel_WatchChannelParameters_Result
|
結構
地址
在 fuchsia.bluetooth/address.fidl 中定義的
代表 48 位元的藍牙裝置位址。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
type |
AddressType
|
裝置位址類型。 |
無預設 |
bytes |
uint8[6]
|
裝置位址位元組 (按小端序排列)。 |
無預設 |
布林值
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
value |
bool
|
無預設 |
Channel_Receive_Response
定義於 fuchsia.bluetooth/channel.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
packets |
vector<Packet>
|
無預設 |
Channel_Send_Response
定義於 fuchsia.bluetooth/channel.fidl
<空白>
DeviceClass
定義於 fuchsia.bluetooth/device_class.fidl
「裝置/服務類別」是變數格式欄位,用來定義 藍牙裝置。位元欄位分為名為「主要服務類別」的區段, 「主要裝置類別」和「次要裝置類別」
請勿假設任何應用程式的特定功能或特性 僅根據納入在「主要」或「次要」類別中的裝置。若需更多資訊,請參閲 https://www.bluetooth.com/specifications/assigned-numbers/baseband.
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
value |
uint32
|
無預設 |
錯誤
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰 :改用通訊協定專屬的錯誤列舉
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
error_code |
ErrorCode
|
無預設 | |
protocol_error_code |
uint32
|
無預設 | |
description |
string?
|
無預設 |
HostId
系統用來識別主機轉接器的 64 位元不重複值。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
value |
uint64
|
無預設 |
Int8
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
value |
int8
|
無預設 |
封包
定義於 fuchsia.bluetooth/channel.fidl
來自 遠端對等互連。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
packet |
vector<uint8>
|
無預設 |
PeerId
系統用來識別對等互連裝置的 64 位元不重複值。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
value |
uint64
|
無預設 |
狀態
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰 - 使用通訊協定專屬的錯誤列舉和「error」語法
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
error |
Error?
|
無預設 |
UInt16
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
value |
uint16
|
無預設 |
烏伊德
定義於 fuchsia.bluetooth/uuid.fidl
以藍牙 UUID 以 128 位元標準格式表示。雖然藍牙標準支援 接線傳輸 16 和 32 位元短格式的 UUID,Fchsia FIDL 程式庫需要所有 UUID 以 128 位元的標準格式表示
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
value |
uint8[16]
|
以小端序順序的 UUID 位元組。 |
無預設 |
ENUMS
AddressType 嚴格
類型:uint8
在 fuchsia.bluetooth/address.fidl 中定義的
名稱 | 值 | 說明 |
---|---|---|
公開 |
1 |
LE 公開裝置位址或 |
排名 |
2 |
LE 私人或靜態隨機裝置位址。 |
外觀彈性
類型:uint16
定義於 fuchsia.bluetooth/appearance.fidl
LE Appearance 屬性的可能值,用來說明外部 顯示在高層級的同類應用程式 (請參閱藍牙指派號碼文件: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml) 這類列舉可彈性調整,因為新版裝置可能會使用新的外觀值, 編號文件可能包含其他項目。
名稱 | 值 | 說明 |
---|---|---|
不明 |
0 |
|
手機 |
64 |
|
電腦 |
128 |
|
觀看 |
192 |
|
WATCH_SPORTS |
193 |
|
時鐘 |
256 |
|
顯示形式 |
320 |
|
REMOTE_CONTROL |
384 |
|
EYE_GLASSES |
448 |
|
代碼 |
512 |
|
鑰匙 |
576 |
|
MEDIA_PLAYER |
640 |
|
BARCODE_SCANNER |
704 |
|
溫度控制器 |
768 |
|
THERMOMETER_EAR |
769 |
|
HEART_RATE_SENSOR |
832 |
|
HEART_RATE_SENSOR_BELT |
833 |
|
BLOOD_PRESSURE |
896 |
|
BLOOD_PRESSURE_ARM |
897 |
|
BLOOD_PRESSURE_WRIST |
898 |
|
HID |
960 |
|
HID_KEYBOARD |
961 |
|
HID_MOUSE |
962 |
|
HID_JOYSTICK |
963 |
|
HID_GAMEPAD |
964 |
|
HID_DIGITIZER_TABLET |
965 |
|
HID_CARD_READER |
966 |
|
HID_DIGITAL_PEN |
967 |
|
HID_BARCODE_SCANNER |
968 |
|
GLUCOSE_METER |
1024 |
|
RUNNING_WALKING_SENSOR |
1088 |
|
RUNNING_WALKING_SENSOR_IN_SHOE |
1089 |
|
RUNNING_WALKING_SENSOR_ON_SHOE |
1090 |
|
RUNNING_WALKING_SENSOR_ON_HIP |
1091 |
|
騎自行車 |
1152 |
|
CYCLING_COMPUTER |
1153 |
|
CYCLING_SPEED_SENSOR |
1154 |
|
CYCLING_CADENCE_SENSOR |
1155 |
|
CYCLING_POWER_SENSOR |
1156 |
|
CYCLING_SPEED_AND_CADENCE_SENSOR |
1157 |
|
PULSE_OXIMETER |
3136 |
|
PULSE_OXIMETER_FINGERTIP |
3137 |
|
PULSE_OXIMETER_WRIST |
3138 |
|
WEIGHT_SCALE |
3200 |
|
PERSONAL_MOBILITY |
3264 |
|
PERSONAL_MOBILITY_WHEELCHAIR |
3265 |
|
PERSONAL_MOBILITY_SCOOTER |
3266 |
|
GLUCOSE_MONITOR |
3328 |
|
SPORTS_ACTIVITY |
5184 |
|
SPORTS_ACTIVITY_LOCATION_DISPLAY |
5185 |
|
SPORTS_ACTIVITY_LOCATION_AND_NAV_DISPLAY |
5186 |
|
SPORTS_ACTIVITY_LOCATION_POD |
5187 |
|
SPORTS_ACTIVITY_LOCATION_AND_NAV_POD |
5188 |
AssignCodingFormat 彈性
類型:uint8
定義於 fuchsia.bluetooth/coding_format.fidl
由藍牙 SIG 指定的編碼格式 (請參閱「指派號碼」文件瞭解值): https://www.bluetooth.com/specifications/assigned-numbers/
名稱 | 值 | 說明 |
---|---|---|
U_LAW_LOG |
0 |
|
A_LAW_LOG |
1 |
|
CVSD |
2 |
|
資訊公開 |
3 |
|
LINEAR_PCM |
4 |
|
MSBC |
5 |
|
LC3 |
6 |
|
G_729A |
7 |
ChannelMode 彈性
類型:uint32
定義於 fuchsia.bluetooth/channel.fidl
L2CAP 頻道支援的管道作業模式。
如為 BR/EDR,用於指定偏好和接受的 L2CAP 管道 。如果對等連線拒絕非基本模式,藍牙系統就會 就會試著以基本模式開啟管道
如果是 LE,這個值可用於指定要使用的確切管道模式 (如果 對等點拒絕要求的模式,管道就無法建立。
如需每種模式的說明,請參閱「藍牙規格 v5.4」、「Vol 3」,第 3 部分、第 2.4 節。
名稱 | 值 | 說明 |
---|---|---|
BASIC |
1 |
僅限巴西/EDR。 |
ENHANCED_RETRANSMISSION |
2 |
僅限巴西/EDR。 |
LE_CREDIT_BASED_FLOW_CONTROL |
3 |
僅限 LE。 |
ENHANCED_CREDIT_BASED_FLOW_CONTROL |
4 |
僅限 LE。 |
ConnectionRole 嚴格
類型:uint32
定義於 fuchsia.bluetooth/connection_role.fidl
指的是藍牙裝置 (本機或對等) 在實體通路中的角色。詳情請見 藍牙詞彙指南 瞭解詳情
名稱 | 值 | 說明 |
---|---|---|
領先 |
1 |
定義 BR/EDR 或 「啟動中」使用 LE。 |
追蹤者 |
2 |
與 BR/EDR 或 「廣告」使用 LE。 |
DataDirection 嚴格
類型:uint8
定義於 fuchsia.bluetooth/coding_format.fidl
用於表示串流中的資料方向。請注意,這些值不會對應到常數 例如藍牙核心規格
名稱 | 值 | 說明 |
---|---|---|
輸入 |
1 |
主機 =>控制器 |
輸出 |
2 |
控制器 =>代管者 |
ErrorCode 嚴格
類型:uint32
定義於 fuchsia.bluetooth/deprecated.fidl
已淘汰 - 改用通訊協定專屬的錯誤列舉和 zx.Status
名稱 | 值 | 說明 |
---|---|---|
不明 |
0 |
|
失敗 |
1 |
|
已取消 |
2 |
|
IN_PROGRESS |
3 |
|
TIMED_OUT |
4 |
|
NOT_FOUND |
5 |
|
NOT_SUPPORTED |
6 |
|
BLUETOOTH_NOT_AVAILABLE |
7 |
|
BAD_STATE |
8 |
|
INVALID_ARGUMENTS |
9 |
|
已經 |
10 |
|
PROTOCOL_ERROR |
11 |
LogicalTransportType 彈性
類型:uint8
定義於 fuchsia.bluetooth/coding_format.fidl
可與已編碼資料串流搭配使用的邏輯傳輸類型。請注意,這些值 未對應於藍牙核心規格的常數,也不是 BR/EDR 值 。
名稱 | 值 | 說明 |
---|---|---|
LE_CIS |
1 |
左岸 |
LE_BIS |
2 |
LE BBI |
資料表
ChannelParameters
定義於 fuchsia.bluetooth/channel.fidl
要使用的參數組合,或用於建立 L2CAP 的參數 互動導向管道。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
channel_mode |
ChannelMode
|
選用。 如為巴西/EDR:如未提供,系統會使用基本資料。 LE:如未提供,系統會使用 LE_CREDIT_BASED_FLOW_CONTROL。 |
2 |
max_rx_packet_size |
uint16
|
這個設定檔接受的封包大小上限。必須大於或等於 48。 選用。如未提供,尺寸取決於藍牙 有些人會將 Cloud Storage 視為檔案系統 但實際上不是系統不會針對所選大小提供任何保證。 |
3 |
security_requirements |
SecurityRequirements
|
BR/EDR:最低安全性要求必須連結才能進行 這裡提供的規定將是 嘗試分享的訊息。如為同業 無法提供相關規定,代表管道已關閉。 選用。如未提供,將保證唯一保證 就是加密 LE:請勿使用, |
4 |
flush_timeout |
zx/Duration
|
針對 BR/EDR:清除逾時時間代表 資料封包被捨棄之前,必須在控制器中緩衝處理。 可使用無限量的清除逾時,將封包標示為可清除 而非特定清除逾時時間 範圍:1 毫秒至 1,279 毫秒 (或 ∞)。無條件捨去。 選用。如未提供,則不會發生清除逾時情況,且封包便無法清除。 LE:請勿使用, |
CodecAttributes
定義於 fuchsia.bluetooth/coding_format.fidl
識別可能與資料串流使用的轉碼器及其設定。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
codec_id |
CodecId
|
編碼格式。 必填。 |
2 |
codec_configuration |
vector<uint8>
|
設定資料。 視需要使用 (視所使用的轉碼器而定)。 |
SecurityRequirements
定義於 fuchsia.bluetooth/channel.fidl
存取廣告所宣傳服務的驗證和權限需求。 僅限巴西/EDR。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
authentication_required |
bool
|
如果具有「而且」和「是」屬性,則必須以下列方法驗證實體連結: 攻擊路徑上攻擊者的保護,以存取此服務。如果缺少 不需要驗證 |
2 |
secure_connections_required |
bool
|
如果存在且為 true,實體連結就必須以安全的方式加密 如果主機支援這項服務,就會建立連線金鑰以存取這項服務。 如果主機不支援安全連線,廣告就會失敗。 詳情請參閱「藍牙規格 v5.2, Vol 3, Part C, Sec 5.2.2.8」。 |
VendorCodingFormat
定義於 fuchsia.bluetooth/coding_format.fidl
供應商定義的編碼格式。
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
company_id |
uint16
|
公司 ID (如需關於值的數字,請參閱「指派的號碼」文件) https://www.bluetooth.com/specifications/assigned-numbers/ 這是必要項目。 |
2 |
vendor_id |
uint16
|
供應商定義的轉碼器 ID。 必填。 |
聯合國
Channel_Receive_Result 嚴格
定義於 fuchsia.bluetooth/channel.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Channel_Receive_Response
|
|
3 |
framework_err |
internal
|
Channel_Send_Result 嚴格
定義於 fuchsia.bluetooth/channel.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Channel_Send_Response
|
|
3 |
framework_err |
internal
|
Channel_WatchChannelParameters_Result 嚴格
定義於 fuchsia.bluetooth/channel.fidl
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
ChannelParameters
|
|
3 |
framework_err |
internal
|
CodecId 彈性
定義於 fuchsia.bluetooth/coding_format.fidl
指定編碼格式。
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
assigned_format |
AssignedCodingFormat
|
藍牙 SIG 定義的編碼格式。 |
2 |
vendor_format |
VendorCodingFormat
|
供應商定義的編碼格式。 |
觀測站
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
MAJOR_DEVICE_CLASS_AUDIO_VIDEO |
1024
|
uint32 |
|
MAJOR_DEVICE_CLASS_COMPUTER |
256
|
uint32 |
|
MAJOR_DEVICE_CLASS_HEALTH |
2304
|
uint32 |
|
MAJOR_DEVICE_CLASS_IMAGING |
1536
|
uint32 |
|
MAJOR_DEVICE_CLASS_LAN |
768
|
uint32 |
|
MAJOR_DEVICE_CLASS_MASK |
7936
|
uint32 |
主要裝置類別欄位的常數。主要裝置類別是由位元 12-8 定義。 |
MAJOR_DEVICE_CLASS_MISCELLANEOUS |
0
|
uint32 |
|
MAJOR_DEVICE_CLASS_PERIPHERAL |
1280
|
uint32 |
|
MAJOR_DEVICE_CLASS_PHONE |
512
|
uint32 |
|
MAJOR_DEVICE_CLASS_TOY |
2048
|
uint32 |
|
MAJOR_DEVICE_CLASS_UNCATEGORIZED |
7936
|
uint32 |
|
MAJOR_DEVICE_CLASS_WEARABLE |
1792
|
uint32 |
|
MAX_DEVICE_NAME_LENGTH |
248
|
uint8 |
裝置名稱的長度上限。系統是根據 HCI 和 GAP 選取這個值 規格(v5.2, Vol 4, Part E, 7.3.11 and Vol 3, Part C, 12.1」)。 |
UUID_STRING_REPRESENTATION_LENGTH |
36
|
uint8 |
UUID 的標準字串表示法大小。這個值是根據標準網址 IETF RFC4122 第 3 節中定義的 36 個字元 8-4-4-4-12 格式。 |
ALIASES
名稱 | 值 | 說明 |
---|---|---|
DeviceName |
string [MAX_DEVICE_NAME_LENGTH ] |
藍牙裝置名稱的別名。 |
PeerIdString |
string [16 ] |
已淘汰 - 請改用 fuchsia.bluetooth/PeerId |
UuidString |
string [UUID_STRING_REPRESENTATION_LENGTH ] |
已淘汰 - 請改用 fuchsia.bluetooth/Uuid |