Giao diện điều khiển máy chủ (HCI) được dùng để tương tác với tay điều khiển Bluetooth.
Tài liệu này cung cấp danh sách các yêu cầu về HCI của Bluetooth (BT) và Bluetooth Năng lượng thấp (BLE). Mục đích là để các nhà cung cấp ngăn xếp BT lưu trữ và nhà cung cấp tay điều khiển BT tuân thủ các yêu cầu này của nền tảng để sử dụng bộ tính năng được mô tả bên dưới.
Tài liệu này gọi Quy cách Bluetooth Core 5.2 là "quy cách". Bạn có thể xem Thông số kỹ thuật Bluetooth Core 5.2 trên trang web Bluetooth SIG cùng với các tài liệu được thông qua khác.
Tổng quan về thiết kế chung
Cấu hình và chức năng của khối
Là một nền tảng mở, Android có một ma trận các bản phát hành phần mềm, nhà sản xuất thiết bị gốc (OEM), nhà cung cấp cũng như các tính năng của nền tảng và chip.
Để quản lý nhiều chế độ và để quản lý việc di chuyển, tài liệu này mô tả triết lý thiết kế cho phép bộ điều khiển BT hiển thị các chức năng của chúng (ngoài Thông số kỹ thuật Bluetooth Core 5.2 tiêu chuẩn). Sau đó, ngăn xếp BT lưu trữ có thể sử dụng các chức năng này để xác định tính năng nào cần bật.
Hỗ trợ các tiêu chuẩn mở
Một mục tiêu của Android là hỗ trợ các tiêu chuẩn mở sau khi được phê chuẩn trong thông số kỹ thuật Bluetooth. Nếu một tính năng được mô tả dưới đây có sẵn trong các phương thức HCI chuẩn trong một thông số kỹ thuật Bluetooth trong tương lai, chúng tôi sẽ nghiêng về việc sử dụng phương pháp đó làm phương pháp mặc định.
Các chức năng dành riêng cho nhà cung cấp
Lệnh dành riêng cho nhà cung cấp: LE_Get_Vendor_Capabilities_Command
Trường lệnh OpCode (OCF): 0x153
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
NA | Danh sách tham số Lệnh trống |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
max_advt_instances (Không dùng nữa) |
1 octet |
Số lượng phiên bản quảng cáo được hỗ trợ. Đã đặt trước sau phiên bản 0.98. Thông số này không còn được dùng nữa trong thông số kỹ thuật tính năng của Google phiên bản 0.98 trở lên mà thay vào đó là Quảng cáo mở rộng LE có trong thông số kỹ thuật BT phiên bản 5.0 trở lên. |
offloaded_resolution_of_private-address (Không dùng nữa) |
1 octet |
Khả năng của chip BT của RPA. Nếu được một khối hỗ trợ, thì khối đó cần được máy chủ lưu trữ bật. 0 = Không có khả năng 1 = Có khả năng Đã đặt trước sau phiên bản 0.98. Thông số này không còn được dùng trong thông số kỹ thuật tính năng của Google phiên bản 0.98 trở lên mà thay vào đó là Tính năng quyền riêng tư có trong thông số kỹ thuật BT phiên bản 4.2 trở lên. |
total_scan_results_storage |
2 octet | Dung lượng bộ nhớ cho kết quả quét (tính bằng byte) |
max_irk_list_sz |
1 octet | Số mục nhập IRK được hỗ trợ trong phần mềm cơ sở |
filtering_support |
1 octet |
Hỗ trợ lọc trong bộ điều khiển 0 = Không được hỗ trợ 1 = Được hỗ trợ |
max_filter |
1 octet | Số bộ lọc được hỗ trợ |
activity_energy_info_support |
1 octet |
Hỗ trợ báo cáo thông tin về hoạt động và năng lượng 0 = Không có khả năng 1 = Có khả năng |
version_supported |
2 octet |
Chỉ định phiên bản thông số kỹ thuật tính năng của Google được hỗ trợ byte[0] = Số lớn byte[1] = Số nhỏ v1.04 byte[0] = 0x01 byte[1] = 0x04 |
total_num_of_advt_tracked |
2 octet |
Tổng số nhà quảng cáo được theo dõi cho mục đích OnLost /OnFound
|
extended_scan_support |
1 octet | Hỗ trợ khoảng thời gian và cửa sổ quét mở rộng |
debug_logging_supported |
1 octet | Hỗ trợ ghi nhật ký thông tin gỡ lỗi nhị phân từ tay điều khiển |
LE_address_generation_offloading_support (Không dùng nữa) |
1 octet |
0 = Không được hỗ trợ 1 = Được hỗ trợ Được đặt trước sau phiên bản 0.98. Thông số này không còn được dùng trong thông số kỹ thuật tính năng của Google phiên bản 0.98 trở lên mà thay vào đó là Tính năng quyền riêng tư có trong thông số kỹ thuật BT phiên bản 4.2 trở lên. |
A2DP_source_offload_capability_mask |
4 octet |
Mặt nạ bit cho các loại bộ mã hoá và giải mã được hỗ trợ Bit 0 – SBC Bit 1 – AAC Bit 2 – APTX Bit 3 – APTX HD Bit 4 – LDAC Bit 5-31 được đặt trước |
bluetooth_quality_report_support |
1 octet |
Hỗ trợ báo cáo sự kiện Chất lượng Bluetooth 0 = Không có khả năng 1 = Có khả năng |
dynamic_audio_buffer_support |
4 octet |
Hỗ trợ vùng đệm âm thanh động trong tay điều khiển Bluetooth Mặt nạ bit cho các loại bộ mã hoá và giải mã được hỗ trợ Bit 0 – SBC Bit 1 – AAC Bit 2 – APTX Bit 3 – APTX HD Bit 4 – LDAC Bit 5-31 được đặt trước |
a2dp_offload_v2_support |
1 octet |
Hỗ trợ các lệnh giảm tải A2DP v2 trong bộ điều khiển Bluetooth (xem phần Bắt đầu giảm tải A2DP, Dừng giảm tải A2DP) 0 = Không được hỗ trợ 1 = Được hỗ trợ |
Kết quả quét hàng loạt
Mục tiêu thiết kế là cải thiện cách thông báo sự kiện Phản hồi quét Bluetooth LE được phân phối đến máy chủ lưu trữ, nhằm tiết kiệm pin trong máy chủ lưu trữ.
Bằng cách giảm tần suất bộ điều khiển thông báo cho bộ xử lý ứng dụng lưu trữ để quét kết quả, bộ xử lý ứng dụng lưu trữ có thể ở trạng thái rảnh/ngủ lâu hơn. Điều này giúp giảm mức tiêu thụ điện năng trong máy chủ. Tham số trả về total_scan_results_storage
của LE_Get_Vendor_Capabilities_Command
cho biết khả năng lưu trữ kết quả quét của khối.
Tính năng này tập trung vào việc quản lý và định cấu hình cơ sở lưu trữ Kết quả quét LE trong bộ điều khiển Bluetooth. Bộ nhớ này được dùng để tạm thời phân lô dữ liệu quảng cáo, dữ liệu quét và siêu dữ liệu mà bộ điều khiển nhận được để phân phối cho máy chủ lưu trữ sau này.
Phần mềm sẽ hỗ trợ hai loại tính năng tạo lô, có thể được thực hiện đồng thời:
- Đã cắt bớt. Chứa các phần tử thông tin sau: {MAC, TX Power, RSSI, Timestamp}
- Đầy đủ. Chứa các phần tử thông tin sau: {MAC, TX Power, RSSI, Timestamp, Adv Data, Scan Response}
LE_Batch_Scan_Command
OCF: 0x156
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Batch_Scan_opcode |
1 octet |
0x1 – Bật tính năng dành riêng cho khách hàng 0x2 – Đặt tham số Bộ nhớ quét hàng loạt 0x3 – Đặt tham số Quét hàng loạt 0x4 – Đọc tham số Kết quả quét hàng loạt |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này. Việc bật tính năng dành riêng cho khách hàng sẽ không bắt đầu quá trình quét.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Batch_Scan_opcode |
1 octet |
0x1 – Bật tính năng dành riêng cho khách hàng 0x2 – Đặt tham số Bộ nhớ quét hàng loạt 0x3 – Đặt tham số Quét hàng loạt 0x4 – Đọc tham số Kết quả quét hàng loạt |
LE_Batch_Scan_Command: Bật tính năng dành riêng cho khách hàng
OCF phụ: 0x01
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
enable_customer_specific_feature_set |
1 octet |
0x01 – Bật tính năng Quét hàng loạt 0x00 – Tắt tính năng Quét hàng loạt |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Batch_Scan_opcode |
1 octet |
0x1 – Bật tính năng dành riêng cho khách hàng 0x2 – Đặt tham số Bộ nhớ quét hàng loạt 0x3 – Đặt tham số Quét hàng loạt 0x4 – Đọc tham số Kết quả quét hàng loạt |
LE_Batch_Scan_Command: Đặt lệnh con tham số bộ nhớ quét hàng loạt
OCF phụ: 0x02
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Batch_Scan_Full_Max |
1 octet |
Dung lượng lưu trữ tối đa (tính theo %) được phân bổ cho kiểu đầy đủ [Phạm vi: 0-100] |
Batch_Scan_Truncated_Max |
1 octet |
Dung lượng lưu trữ tối đa (tính theo %) được phân bổ cho kiểu bị cắt bớt [Phạm vi: 0-100] |
Batch_Scan_Notify_Threshold |
1 octet |
Thiết lập cấp độ thông báo (theo %) cho từng nhóm bộ nhớ
[Dải ô: 0-100] Việc đặt thành 0 sẽ tắt thông báo. Sự kiện HCI dành riêng cho nhà cung cấp được tạo (Sự kiện phụ vi phạm ngưỡng bộ nhớ) |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Batch_scan_opcode |
1 octet | 0x02 [Đặt tham số Quét hàng loạt] |
LE_Batch_Scan_Command: Đặt lệnh con tham số quét hàng loạt
OCF phụ: 0x03
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Batch_Scan_Mode |
1 octet |
0x00 – Tắt tính năng quét hàng loạt 0x01 – Bật chế độ Rút gọn 0x02 – Bật chế độ Đầy đủ 0x03 – Bật cả chế độ Rút gọn và Đầy đủ |
Duty_cycle_scan_window |
4 octet | Thời gian quét của tính năng Quét hàng loạt (# of slot) |
Duty_cyle_scan_interval |
4 octet | Khoảng thời gian quét hàng loạt (# of slot) |
own_address_type |
1 octet |
0x00 – Địa chỉ thiết bị công khai 0x01 – Địa chỉ thiết bị ngẫu nhiên |
Batch_scan_Discard_Rule |
1 octet |
0 – Loại bỏ quảng cáo cũ nhất 1 – Loại bỏ quảng cáo có RSSI yếu nhất |
Lệnh phụ này sẽ bắt đầu quét hàng loạt, nếu được bật. Trong quy trình quét bị cắt bớt, kết quả được lưu trữ ở dạng bị cắt bớt, trong đó khoá duy nhất cho kiểu bị cắt bớt = {BD_ADDR,
scan_interval}. Điều này có nghĩa là chỉ có một BD_ADDR will
được ghi lại cho mỗi khoảng thời gian quét. Bản ghi cần giữ lại cho chế độ Rút gọn là: {BD_ADDR
, Tx Power, RSSI, Timestamp}
Khi chế độ Đầy đủ được bật, tính năng quét chủ động sẽ được sử dụng và Phản hồi quét sẽ được ghi lại. Khoá duy nhất của kiểu Toàn bộ = {MAC, Gói quảng cáo}, bất kể khoảng thời gian quét. Bản ghi cần lưu cho chế độ Đầy đủ là
{BD_ADDR
, Tx Power, RSSI, Timestamp, Ad packet, Scan
Response}. Ở kiểu Đầy đủ, cùng một gói quảng cáo, khi được thấy nhiều lần trong các khoảng thời gian quét khác nhau, chỉ được ghi lại một lần. Tuy nhiên, ở chế độ Rút gọn, điều quan tâm là chế độ hiển thị của BA_ADDR
trên các khoảng thời gian quét khác nhau (một lần cho mỗi khoảng thời gian quét). RSSI là giá trị trung bình của tất cả các bản sao của một quảng cáo duy nhất trong một khoảng thời gian quét.
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Batch_scan_opcode |
1 octet | 0x03 [Đặt thông số quét hàng loạt] |
LE_Batch_Scan_Command: Đọc lệnh con kết quả quét hàng loạt
OCF phụ: 0x04
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Batch_Scan_Data_read |
1 octet |
0x01 – Dữ liệu ở chế độ bị cắt bớt 0x02 – Dữ liệu ở chế độ đầy đủ |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này. Khi máy chủ phát lệnh này, tất cả kết quả trong bộ điều khiển có thể không vừa với một sự kiện Hoàn tất lệnh. Máy chủ sẽ lặp lại việc đưa ra lệnh này cho đến khi kết quả tương ứng trong sự kiện Command Complete (Hoàn tất lệnh) cho biết 0 trong số bản ghi, cho biết bộ điều khiển không còn bản ghi nào để giao tiếp với máy chủ. Mỗi sự kiện Command Complete (Hoàn tất lệnh) có thể chứa nhiều bản ghi chỉ của một loại dữ liệu (Full (Đầy đủ) hoặc Truncated (Bị cắt bớt)).
Tham chiếu thời gian của tay điều khiển và máy chủ không được đồng bộ hoá. Đơn vị của dấu thời gian là 50 mili giây. Giá trị của dấu thời gian dựa trên thời điểm máy chủ lưu trữ cung cấp Read_Batch_Scan_Results_Sub_cmd
. Nếu thời gian đến của lệnh là T_c
trong phần mềm, thì thời gian thực tế mà dấu thời gian được lấy trong phần mềm là T_fw
. Thời gian báo cáo sẽ là: (T_c
– T_fw
). T_c
và T_fw
nằm trong miền thời gian của chương trình cơ sở. Điều này cho phép máy chủ tính toán thời gian xảy ra sự kiện.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Batch_scan_opcode |
1 octet | 0x03 [Đặt thông số Quét hàng loạt] |
Batch_Scan_data_read |
1 octet | Xác định định dạng (Bị cắt bớt hoặc Đầy đủ) |
num_of_records |
1 octet | Số bản ghi của Batch_Scan_data_read |
format_of_data |
Biến |
Chế độ cắt bớt: Address[0]: 6 octet Address_Type[0]: 1 octet Tx_Pwr[0]: 1 octet RSSI[0] : 1 octet Timestamp[0]: 2 octet [nhiều bản ghi ( num_of_records ) có định dạng trên]Chế độ đầy đủ: Address[0]: 6 octet Address_Type[0]: 1 octet Tx_Pwr[0]: 1 octet RSSI[0]: 1 octet Timestamp[0]: 2 octet Adv packet_len[0]: 1 octet Adv_packet[0]: Adv_packet_len octet Scan_data_resp_len[0]: 1 octet Scan_data_resp[0]: Scan_data_resp octet[nhiều bản ghi có định dạng trên ( num_of_records )]
|
Bộ lọc nội dung gói quảng cáo
Sử dụng tuỳ chọn này để bật/tắt/thiết lập Bộ lọc nội dung gói quảng cáo (APCF) trong tay điều khiển. APCF lọc báo cáo quảng cáo trong trình điều khiển nhưng không lọc quảng cáo định kỳ.
LE_APCF_Command
OCF: 0x157
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
APCF_opcode |
1 octet |
0x00 – APCF Bật 0x01 – APCF Đặt tham số lọc 0x02 – APCF Địa chỉ của trình phát 0x03 – APCF UUID dịch vụ 0x04 – APCF UUID yêu cầu dịch vụ 0x05 – APCF Tên cục bộ 0x06 – APCF Dữ liệu nhà sản xuất 0x07 – APCF Dữ liệu dịch vụ 0x08 – APCF Dịch vụ khám phá phương tiện 0x09 – APCF Bộ lọc loại quảng cáo 0x10 ~ 0xAF – Dành riêng cho mục đích sử dụng trong tương lai 0xB0 ~ 0xDF – Dành riêng cho nhà cung cấp 0xE0 ~ 0xFE – Dành riêng cho mục đích sử dụng trong tương lai 0xFF – APCF Đọc các tính năng mở rộng |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái trả lại hàng |
APCF_opcode |
1 octet |
0x00 – APCF Bật 0x01 – APCF Đặt tham số lọc 0x02 – APCF Địa chỉ của trình phát 0x03 – APCF UUID dịch vụ 0x04 – APCF UUID yêu cầu dịch vụ 0x05 – APCF Tên cục bộ 0x06 – APCF Dữ liệu nhà sản xuất 0x07 – APCF Dữ liệu dịch vụ 0x08 – APCF Dịch vụ khám phá phương tiện 0x09 – APCF Bộ lọc loại quảng cáo 0x10 ~ 0xAF – Dành riêng cho mục đích sử dụng trong tương lai 0xB0 ~ 0xDF – Dành riêng cho nhà cung cấp 0xE0 ~ 0xFE – Dành riêng cho mục đích sử dụng trong tương lai 0xFF – APCF Đọc các tính năng mở rộng |
LE_APCF_Command: Enable_sub_cmd
OCF phụ: 0x00
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_enable |
1 octet |
0x01 – Bật tính năng APCF 0x00 – Tắt tính năng APCF |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x0 – Bật APCF |
APCF_Enable |
1 octet | Bạn có thể thiết lập chế độ bật/tắt thông qua APCF_enable |
LE_APCF_Command: set_filtering_parameters_sub_cmd
Lệnh con này dùng để thêm hoặc xoá thông số kỹ thuật của bộ lọc hoặc xoá danh sách bộ lọc để lọc trên chip.
OCF phụ: 0x01
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá bộ lọc cụ thể cùng với các mục tính năng liên quan trong các bảng khác. Thao tác Xoá sẽ xoá tất cả bộ lọc và các mục liên kết trong các bảng khác. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter-1 ) |
APCF_Feature_Selection |
2 octet |
Mặt nạ bit cho các tính năng đã chọn: Bit 0: Đặt để bật bộ lọc Địa chỉ truyền tin Bit 1: Đặt để bật bộ lọc Thay đổi dữ liệu dịch vụ Bit 2: Đặt để bật tính năng kiểm tra UUID của dịch vụ Bit 3: Đặt để bật tính năng kiểm tra UUID của yêu cầu dịch vụ Bit 4: Đặt để bật tính năng kiểm tra Tên cục bộ Bit 5: Đặt để bật tính năng Kiểm tra dữ liệu của nhà sản xuất Bit 6: Đặt để bật tính năng Kiểm tra dữ liệu dịch vụ Bit 7: Đặt để bật tính năng Kiểm tra dịch vụ khám phá phương tiện Bit 8: Đặt để bật tính năng Kiểm tra loại quảng cáo |
APCF_List_Logic_Type |
2 octet |
Toán tử logic cho mỗi lựa chọn tính năng (mỗi vị trí bit) được chỉ định trong APCF_Feature_Selection .
Chỉ hợp lệ khi một tính năng được bật. Giá trị vị trí bit: 0: HOẶC 1: VÀ Nếu bạn chọn logic "VÀ", thì gói ADV sẽ chỉ vượt qua bộ lọc nếu gói đó chứa TẤT CẢ các mục trong danh sách. Nếu bạn chọn logic "OR", thì gói ADV sẽ vượt qua bộ lọc nếu gói đó chứa bất kỳ mục nhập nào trong danh sách. |
APCF_Filter_Logic_Type |
1 octet |
0x00: HOẶC 0x01: VÀ Lưu ý: Loại logic là KHÔNG ÁP DỤNG cho 3 trường đầu tiên của APCF_Feature_Selection , luôn là logic "VÀ". Các bit này chỉ áp dụng cho 4 trường (Bit 3 – Bit 6) của APCF_Feature_Selection .
|
rssi_high_thresh |
1 octet |
[tính bằng dBm] Nhà quảng cáo chỉ được xem là được nhìn thấy nếu tín hiệu cao hơn ngưỡng RSSI cao. Nếu không, phần mềm sẽ hoạt động như thể chưa bao giờ thấy. |
delivery_mode |
1 octet |
0x00 – immediate 0x01 – on_found 0x02 – batched
|
onfound_timeout |
2 octet |
Chỉ hợp lệ nếu delivery_mode là on_found .[tính bằng mili giây] Thời gian để phần mềm cơ sở lưu lại và thu thập quảng cáo bổ sung trước khi báo cáo. |
onfound_timeout_cnt |
1 octet |
Chỉ hợp lệ nếu delivery_mode là on_found .[count] Nếu một quảng cáo trong onFound vẫn tồn tại trong firmware trong
khoảng thời gian onfound_timeout , thì quảng cáo đó sẽ thu thập một vài
quảng cáo và số lượng được kiểm tra. Nếu số lượng vượt quá onfound_timeout_cnt , thì số lượng đó sẽ được báo cáo OnFound ngay sau đó.
|
rssi_low_thresh |
1 octet |
Chỉ hợp lệ nếu delivery_mode là on_found .[tính bằng dBm] Gói của nhà quảng cáo được coi là không được xem nếu RSSI của gói nhận được không vượt quá ngưỡng RSSI thấp. |
onlost_timeout |
2 octet |
Chỉ hợp lệ nếu delivery_mode là on_found .[tính bằng mili giây] Nếu sau khi được tìm thấy, quảng cáo không được xem liên tục trong khoảng thời gian lost_timeout , thì quảng cáo đó sẽ ngay lập tức được báo cáo là
bị mất.
|
num_of_tracking_entries |
2 octet |
Chỉ hợp lệ nếu delivery_mode là on_found .[count] Tổng số nhà quảng cáo cần theo dõi theo mỗi bộ lọc. |
Các giá trị RSSI phải sử dụng số bổ trợ 2 để biểu thị các giá trị âm.
Máy chủ lưu trữ phải có thể định cấu hình nhiều bộ lọc với APCF_Application_Address_type
được đặt thành 0x02 (đối với tất cả địa chỉ của trình phát) để quản lý nhiều tổ hợp bộ lọc.
Lọc, tạo lô và báo cáo là những khái niệm liên quan với nhau. Mọi quảng cáo và phản hồi quét liên quan sẽ phải trải qua tất cả các bộ lọc, lần lượt từng bộ lọc. Do đó, các hành động thu được (delivery_mode
) liên quan chặt chẽ đến việc lọc. Các chế độ phân phối là: report_immediately
, batch
và onFound
. Giá trị OnLost
liên quan đến OnFound
theo nghĩa là giá trị này sẽ xuất hiện sau OnFound
khi bị mất.
Quy trình xử lý này mô tả mô hình khái niệm:

Khi nhận được khung quảng cáo (hoặc phản hồi quét), khung này sẽ được áp dụng cho tất cả các bộ lọc theo thứ tự tuần tự. Một quảng cáo có thể gây ra báo cáo tức thì dựa trên một bộ lọc và phân lô cùng một quảng cáo do một hành động bộ lọc khác.
Các ngưỡng cấp độ RSSI (cao và thấp) cho phép kiểm soát thời điểm khung hình hiển thị để xử lý bộ lọc, ngay cả khi bộ điều khiển nhận được gói hợp lệ. Trong trường hợp chế độ phân phối được đặt thành ngay lập tức hoặc theo lô, RSSI của một khung sẽ được xem xét để xử lý thêm bộ điều khiển. Các ứng dụng khác nhau cần có hành vi báo cáo và tạo lô khác nhau. Điều này cho phép nhiều ứng dụng báo cáo trực tiếp và/hoặc kết hợp hàng loạt kết quả trong phần mềm cơ sở cùng một lúc. Ví dụ: trường hợp một ứng dụng đang quét hàng loạt và sau đó một ứng dụng khác phát hành một lần quét LE thông thường. Trước khi phát hành một lần quét hàng loạt, khung/ứng dụng sẽ đặt các bộ lọc thích hợp. Sau đó, khi ứng dụng thứ hai phát hành một lần quét thông thường, quá trình tạo lô trước đó sẽ tiếp tục. Tuy nhiên, do quá trình quét thường xuyên, nên về mặt khái niệm, bạn sẽ thêm một bộ lọc rỗng (cùng với tất cả các bộ lọc hiện có) cùng với lệnh quét LE. Các tham số lệnh quét LE sẽ được ưu tiên khi đang hoạt động. Khi tính năng quét LE thông thường bị tắt, trình điều khiển sẽ quay lại quy trình quét hàng loạt trước đó (nếu có).
Chế độ phân phối OnFound
dựa trên các bộ lọc đã định cấu hình. Một tổ hợp kích hoạt hành động của bộ lọc để thành công được coi là thực thể cần theo dõi cho onLost
. Sự kiện tương ứng là sự kiện phụ theo dõi Quảng cáo LE.
Hiệu ứng chuyển đổi OnFound/OnLost
cho một bộ lọc (nếu được bật) sẽ có dạng như sau:

Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x01 – APCF Đặt tham số lọc |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập có sẵn trong bảng bộ lọc |
LE_APCF_Command: broadcast_address_sub_cmd
Lệnh con này dùng để thêm hoặc xoá địa chỉ nhà quảng cáo hoặc xoá danh sách địa chỉ nhà quảng cáo để lọc trên chip.
OCF phụ: 0x02
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá địa chỉ của đài truyền hình được chỉ định trong bộ lọc được chỉ định. Thao tác Xoá sẽ xoá tất cả địa chỉ của đài truyền hình trong bộ lọc đã chỉ định. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter-1 ) |
APCF_Broadcaster_Address |
6 octet | Địa chỉ thiết bị 6 byte để thêm vào hoặc xoá khỏi danh sách địa chỉ của trình phát |
APCF_Application_Address_type |
1 octet |
0x00: Công khai 0x01: Ngẫu nhiên 0x02: Không có (bỏ qua loại địa chỉ) Để lọc báo cáo quảng cáo theo loại địa chỉ nhận dạng (0x02, 0x03). Để nhận báo cáo quảng cáo có loại địa chỉ 0x02 và 0x03, hãy đặt trường này thành 0x02: NA (bỏ qua loại địa chỉ). |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x02 – Địa chỉ của trình phát APCF |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập miễn phí còn trống trong bảng Broadcast Address (Địa chỉ truyền tin) |
LE_APCF_Command: service_uuid_sub_cmd
Lệnh con này dùng để thêm hoặc xoá UUID dịch vụ hoặc xoá danh sách UUID dịch vụ để lọc trên chip.
OCF phụ: 0x03
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá địa chỉ UUID dịch vụ được chỉ định trong bộ lọc được chỉ định. Thao tác Xoá sẽ xoá tất cả UUID dịch vụ trong bộ lọc đã chỉ định. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter -1) |
APCF_UUID |
2,4,16 octet | UUID dịch vụ (16 bit, 32 bit hoặc 128 bit) để thêm vào hoặc xoá khỏi danh sách. |
APCF_UUID_MASK |
2,4,16 octet |
Mặt nạ UUID của dịch vụ (16 bit, 32 bit hoặc 128 bit) để thêm vào danh sách.
Mảng này phải có cùng độ dài với APCF_UUID.
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x03 – UUID dịch vụ APCF |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập miễn phí còn trống trong bảng UUID của dịch vụ |
LE_APCF_Command: solicitation_uuid_sub_cmd
Lệnh con này dùng để thêm hoặc xoá UUID yêu cầu hoặc xoá danh sách UUID yêu cầu để lọc trên chip.
OCF phụ: 0x04
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá địa chỉ UUID của nội dung mời chào trong bộ lọc đã chỉ định. Thao tác Xoá sẽ xoá tất cả UUID của lời mời trong bộ lọc đã chỉ định. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter -1) |
APCF_UUID |
2,4,16 octet | UUID của yêu cầu (16 bit, 32 bit hoặc 128 bit) để thêm vào hoặc xoá khỏi danh sách. |
APCF_UUID_MASK |
2,4,16 octet |
Mặt nạ UUID của yêu cầu (16 bit, 32 bit hoặc 128 bit) để thêm vào danh sách. Chuỗi này phải có cùng độ dài với APCF_UUID .
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x04 – UUID yêu cầu APCF |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập miễn phí còn trống trong bảng UUID của yêu cầu |
LE_APCF_Command: local_name_sub_cmd
Lệnh con này dùng để thêm hoặc xoá chuỗi tên cục bộ hoặc xoá danh sách chuỗi tên cục bộ để lọc trên chip.
OCF phụ: 0x05
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá chuỗi tên cục bộ đã chỉ định trong bộ lọc đã chỉ định. Thao tác xoá sẽ xoá tất cả chuỗi tên cục bộ trong bộ lọc đã chỉ định. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
Kích thước biến |
Chuỗi ký tự cho tên cục bộ. Lưu ý:
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x05 – Tên cục bộ APCF |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập miễn phí còn trống trong bảng Tên địa phương |
LE_APCF_Command: manf_data_sub_cmd
Lệnh con này dùng để thêm hoặc xoá chuỗi dữ liệu nhà sản xuất hoặc để xoá danh sách chuỗi dữ liệu nhà sản xuất để lọc trên chip.
OCF phụ: 0x06
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá chuỗi dữ liệu nhà sản xuất đã chỉ định trong bộ lọc đã chỉ định. Xoá sẽ xoá tất cả chuỗi dữ liệu nhà sản xuất trong bộ lọc đã chỉ định. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
Kích thước biến |
Chuỗi ký tự cho dữ liệu nhà sản xuất. Lưu ý:
|
APCF_ManData_Mask |
Kích thước biến |
Mặt nạ dữ liệu nhà sản xuất để thêm vào danh sách. Chuỗi này phải có cùng độ dài với APCF_LocName_or_ManData_or_SerData .
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x06 – Dữ liệu nhà sản xuất APCF |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập miễn phí còn lại trong bảng Dữ liệu nhà sản xuất |
LE_APCF_Command: service_data_sub_cmd
Lệnh con này dùng để thêm hoặc xoá một chuỗi dữ liệu dịch vụ hoặc xoá danh sách chuỗi dữ liệu dịch vụ để lọc trên chip.
OCF phụ: 0x07
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá chuỗi dữ liệu dịch vụ được chỉ định trong bộ lọc được chỉ định. Thao tác Xoá sẽ xoá tất cả chuỗi dữ liệu dịch vụ trong bộ lọc đã chỉ định. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
Kích thước biến |
Chuỗi ký tự cho dữ liệu dịch vụ. Lưu ý:
|
APCF_LocName_Mandata_or_SerData_Mask |
Kích thước biến |
Mặt nạ dữ liệu dịch vụ cần thêm vào danh sách. Chuỗi này phải có cùng độ dài với APCF_LocName_or_ManData_or_SerData.
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x07 – Dữ liệu dịch vụ APCF |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập miễn phí còn lại cho bảng Dữ liệu dịch vụ |
LE_APCF_Command: ad_type_sub_cmd
Lệnh con này dùng để thêm hoặc xoá một loại AD hoặc xoá danh sách loại AD để lọc trên chip. Sử dụng read_extended_features_sub_cmd
để kiểm tra xem lệnh này có được hỗ trợ hay không.
Khi APCF_AD_DATA_Length
là 0, hãy lọc APCF_AD_TYPE
mà không
so sánh Dữ liệu quảng cáo và Mặt nạ dữ liệu quảng cáo.
Nếu độ dài dữ liệu của gói ADV đã nhận vượt quá AD_DATA_LENGTH
, hãy chỉ so sánh AD_DATA_LENGTH
byte đầu tiên của Dữ liệu AD và bỏ qua dữ liệu còn lại.
OCF phụ: 0x09
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
APCF_Action |
1 octet |
0x00 – Thêm 0x01 – Xoá 0x02 – Xoá Thao tác xoá sẽ xoá loại QUẢNG CÁO đã chỉ định trong bộ lọc đã chỉ định. Thao tác xoá sẽ xoá tất cả các loại QUẢNG CÁO trong bộ lọc đã chỉ định. |
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter -1) |
APCF_AD_TYPE |
1 octet | Loại quảng cáo để thêm hoặc xoá khỏi danh sách. Bỏ qua khi APCF_Action là 0x02 (Xoá) |
APCF_AD_DATA_Length |
1 octet |
0x00 – nghĩa là không lọc nội dung dữ liệu Bỏ qua khi APCF_Action là 0x02 (Xoá)
|
APCF_AD_DATA |
Kích thước biến |
Kích thước biến, dựa trên APCF_AD_DATA_Length Bỏ qua khi APCF_Action là 0x02 (Xoá) |
APCF_AD_DATA_MASK |
Kích thước biến |
Có kích thước biến đổi, dựa trên APCF_AD_DATA_Length Bỏ qua khi APCF_Action là 0x02 (Xoá)Phải có cùng độ dài với APCF_AD_DATA .
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0x09 – Loại quảng cáo APCF |
APCF_Action |
1 octet | APCF_Action của lệnh phản hồi |
APCF_AvailableSpaces |
1 octet | Số mục nhập miễn phí còn lại trong bảng Loại quảng cáo |
LE_APCF_Command: read_extended_features_sub_cmd
Lệnh phụ này dùng để đọc các tính năng APCF mở rộng.
OCF phụ: 0xFF
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Không áp dụng | Tham số lệnh trống. |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
APCF_opcode |
1 octet | 0xFF – APCF_Read_Extended_Features |
APCF_extended_features |
2 octet |
Mặt nạ bit cho các tính năng mở rộng được hỗ trợ:
Giá trị của bit
|
Lệnh thông tin về hoạt động và năng lượng của tay điều khiển
Mục tiêu của thông tin này là để các chức năng hệ thống lưu trữ cấp cao hơn phân tích tổng số hoạt động của tất cả các thành phần, bao gồm cả bộ điều khiển BT và trạng thái vĩ mô của bộ điều khiển đó, cùng với những gì đang diễn ra trong ứng dụng và khung. Để thực hiện việc này, bạn cần có các thông tin sau từ ngăn xếp BT và tay điều khiển:
- Ngăn xếp BT: Báo cáo trạng thái hoạt động vĩ mô hiện tại của tay điều khiển
- Phần mềm: Báo cáo thông tin tổng hợp về hoạt động và năng lượng
Trạng thái macro ngăn xếp máy chủ lưu trữ BT, được xác định ở cấp người dùng:
- Rảnh: [quét trang, quảng cáo LE, quét yêu cầu, quét LE]
- Quét: [paging/inquiry/trying to connect]
- Đang hoạt động: [ACL link on, SCO link ongoing, sniff mode]
Các hoạt động mà bộ điều khiển theo dõi trong suốt thời gian hoạt động là thời gian Tx, thời gian Rx, thời gian rảnh và tổng năng lượng tiêu thụ. Các tệp này sẽ bị xoá khi đọc từ máy chủ lưu trữ.
LE_Get_Controller_Activity_Energy_Info
Đây là lệnh dành riêng cho nhà cung cấp.
OCF: 0x159
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
NA | Tham số lệnh trống |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
total_tx_time_ms |
4 octet | Tổng thời gian thực hiện Tx |
total_rx_time_ms |
4 octet | Tổng thời gian thực hiện Rx |
total_idle_time_ms |
4 octet | Tổng thời gian ở trạng thái rảnh (không phải trạng thái tiết kiệm pin khi ngủ) |
total_energy_used |
4 octet | Tổng năng lượng đã sử dụng [sản phẩm của dòng điện (mA), điện áp (V) và thời gian (ms)] |
Lệnh tham số quét bộ mở rộng LE
Bạn có thể dùng lệnh này để bật khoảng thời gian và cửa sổ quét lớn hơn trong bộ điều khiển. Theo Quy cách BT Core 5.2, khoảng thời gian quét và khoảng thời gian quét có giới hạn trên là 10,24 giây, điều này cản trở các khoảng thời gian quét vượt quá 10,24 giây đối với ứng dụng.
Tài liệu tham khảo cơ sở: Quy cách BT Core 5.2, trang 2493 (Lệnh đặt thông số quét LE)
OCF: 0x15A
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
LE_Ex_Scan_Type |
1 octet |
0x00 – Quét thụ động. Không gửi gói SCAN_REQ (mặc định).0x01 – Quét đang hoạt động. Các gói SCAN_REQ có thể được gửi.
|
LE_Ex_Scan_Interval |
4 octet |
Được xác định là khoảng thời gian từ khi Trình điều khiển bắt đầu lần quét LE gần đây nhất cho đến khi bắt đầu lần quét LE tiếp theo. Phạm vi: 0x0004 đến 0x00FFFFFF Mặc định: 0x0010 (10 mili giây) Thời gian = N * 0,625 mili giây Phạm vi thời gian: 2,5 mili giây đến 10442,25 giây |
LE_Ex_Scan_Window |
4 octet |
Thời lượng quét LE. LE_Scan_Window phải nhỏ hơn hoặc bằng LE_Scan_Interval .
Phạm vi: 0x0004 đến 0xFFFF Mặc định: 0x0010 (10 mili giây) Thời gian = N * 0,625 mili giây Phạm vi thời gian: 2,5 mili giây đến 40,95 giây |
Own_Address_Type |
1 octet |
0x00 – Địa chỉ thiết bị công khai (mặc định) 0x01 – Địa chỉ thiết bị ngẫu nhiên |
LE_Ex_Scan_Filter_Policy |
0x00 – Chấp nhận tất cả gói quảng cáo (mặc định). Các gói quảng cáo được nhắm mục tiêu không được gửi đến thiết bị này sẽ bị bỏ qua. 0x01 – Bỏ qua các gói quảng cáo từ các thiết bị không có trong danh sách Chỉ danh sách trắng. Các gói quảng cáo được định hướng không được gửi đến thiết bị này sẽ bị bỏ qua. |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Lệnh nhận thông tin gỡ lỗi của tay điều khiển
Mục tiêu của phần tử thông tin này là thu thập thông tin gỡ lỗi của tay điều khiển bằng máy chủ, ở dạng tệp nhị phân, để xử lý và phân tích sau. Điều này giúp gỡ lỗi các vấn đề trên thực địa và cung cấp cho kỹ sư một bộ công cụ để ghi lại thông tin nhằm phân tích. Trình điều khiển có thể cung cấp thông tin khi máy chủ yêu cầu thông qua sự kiện (sự kiện con Thông tin gỡ lỗi của trình điều khiển) hoặc tự động khi trình điều khiển muốn. Ví dụ về cách sử dụng có thể là báo cáo thông tin trạng thái phần mềm, thông tin tệp báo lỗi, thông tin ghi nhật ký, v.v.
OCF: 0x15B
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Không áp dụng | Danh sách tham số lệnh trống |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Hỗ trợ giảm tải phần cứng A2DP
Tính năng giảm tải A2DP hỗ trợ giảm tải quá trình mã hoá âm thanh A2DP sang một bộ xử lý âm thanh được đính kèm với Bộ điều khiển BT. Luồng dữ liệu âm thanh đã mã hoá sẽ chuyển trực tiếp từ Bộ xử lý âm thanh đến Bộ điều khiển BT mà không cần đến máy chủ BT. Máy chủ BT vẫn chịu trách nhiệm về cấu hình và kiểm soát phiên A2DP. Có hai phiên bản lệnh. Các lệnh cũ có OCF phụ 0x01-0x02 chỉ hỗ trợ bộ mã hoá và giải mã nguồn mở. Các phiên bản có Sub-OCF 0x03-0x04 không phụ thuộc vào bộ mã hoá và giải mã đã định cấu hình.
OCF: 0x15D
Bắt đầu giảm tải A2DP (cũ)
OCF phụ: 0x01
Sử dụng lệnh này để định cấu hình quá trình giảm tải A2DP và để bắt đầu luồng A2DP.
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Codec |
4 octet |
Chỉ định loại bộ mã hoá và giải mã 0x01 – SBC 0x02 – AAC 0x04 – APTX 0x08 – APTX HD 0x10 – LDAC |
Max_Latency |
2 octet | Độ trễ tối đa được phép (tính bằng mili giây). Giá trị 0 sẽ tắt tính năng xả. |
SCMS-T_Enable |
2 octet |
Octet 0: Cờ cho phép thêm tiêu đề SCMS-T.
Octet 1: Giá trị cho tiêu đề SCMS-T, khi tiêu đề này được bật. |
Sampling_Frequency |
4 octet |
0x01 – 44100 Hz 0x02 – 48000 Hz 0x04 – 88200 Hz 0x08 – 96000 Hz |
Bits_Per_Sample |
1 octet |
0x01 – 16 bit/mẫu 0x02 – 24 bit/mẫu 0x04 – 32 bit/mẫu |
Channel_Mode |
1 octet |
0x01 – Đơn âm 0x02 – Âm thanh nổi |
Encoded_Audio_Bitrate |
4 octet |
Tốc độ bit âm thanh đã mã hoá (tính bằng bit mỗi giây). 0x00000000 – Tốc độ bit âm thanh không được chỉ định / không được sử dụng. 0x00000001 – 0x00FFFFFF – Tốc độ bit âm thanh đã mã hoá tính bằng bit mỗi giây. 0x01000000 – 0xFFFFFFFF – Đã đặt trước. |
Connection_Handle |
2 octet | Tên nhận dạng kết nối của kết nối A2DP đang được định cấu hình |
L2CAP_Channel_ID |
2 octet | Mã nhận dạng kênh L2CAP sẽ được dùng cho kết nối A2DP này |
L2CAP_MTU_Size |
2 octet | Kích thước tối đa của MTU L2CAP chứa các gói âm thanh đã mã hoá |
Codec_Information |
32 octet |
Thông tin dành riêng cho bộ mã hoá và giải mã.
Bộ mã hoá và giải mã SBC:
Tham khảo các phần tử thông tin cụ thể về Bộ mã hoá và giải mã SBC trong A2DP phiên bản 1.3. Bộ mã hoá và giải mã AAC:
Tham khảo các phần tử thông tin cụ thể về Bộ mã hoá và giải mã AAC trong A2DP phiên bản 1.3 Bộ mã hoá và giải mã LDAC:
Octet 0-3: Mã nhà cung cấp
Octet 4-5: Mã bộ mã hoá và giải mã
Octet 6: Chỉ mục tốc độ bit:
Octet 7: Chế độ kênh LDAC Octet 8-31: được đặt trước Tất cả bộ mã hoá và giải mã khác: Octet 0-31: dành riêng |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Sub_Opcode |
1 octet | 0x01 – Bắt đầu giảm tải A2DP |
Bắt đầu giảm tải A2DP
OCF phụ: 0x03
Sử dụng lệnh này để định cấu hình quá trình giảm tải A2DP và để bắt đầu luồng A2DP.
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Connection Handle |
2 octet | Tay cầm của kết nối HCI đang hoạt động |
L2CAP_Channel_ID |
2 octet | Giá trị nhận dạng của Kênh L2CAP được mở để truyền trực tuyến A2DP |
Data_Path_Direction |
1 octet |
0x00 – Đầu ra (Nguồn/Hợp nhất AVDTP) 0x01 – Đầu vào (Bể/Phân tách AVDTP) |
Peer_MTU |
2 octet | Kích thước tối đa của gói L2CAP, được thương lượng với máy ngang hàng. |
CP_Enable_SCMS_T |
1 octet |
0x00 – Tắt Tiêu đề bảo vệ nội dung SCMS-T 0x01 – Bật Tiêu đề bảo vệ nội dung SCMS-T |
CP_Header_SCMS_T |
1 octet |
Khi bạn bật Tiêu đề bảo vệ nội dung SCMS-T (CP_SCMS_T_Enable được đặt thành 0x01), hãy xác định giá trị tiêu đề đứng trước nội dung âm thanh (tham khảo A2DP, mục 3.2.1-2) theo định nghĩa của Số được chỉ định của Bluetooth, mục 6.3.2.Bị bỏ qua khi bạn không bật tính năng Bảo vệ nội dung SCMS-T. |
Vendor_Specific_Parameters_Length |
1 octet |
Độ dài của Thông số dành riêng cho nhà cung cấp, trong phạm vi từ 0 đến 128. Giá trị 0 được sử dụng khi không có thông số bổ sung nào được cung cấp. |
Vendor_Specific_Parameters |
0-128 octet |
Các tham số dành riêng cho nhà cung cấp do Bluetooth Audio HAL cung cấp,
CodecParameters.vendorSpecificParameters[] .
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Sub_Opcode |
1 octet | 0x03 – Bắt đầu giảm tải A2DP |
Dừng giảm tải A2DP (cũ)
OCF phụ: 0x02
Lệnh này dùng để dừng luồng truyền tải A2DP.
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Không áp dụng | Danh sách tham số lệnh trống. |
Không có thông số nào được xác định cho lệnh này.
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Sub_Opcode |
1 octet | 0x02 – Dừng giảm tải A2DP |
Dừng giảm tải A2DP
OCF phụ: 0x04
Lệnh này dùng để dừng luồng truyền tải A2DP.
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Connection Handle |
2 octet | Tay cầm của kết nối HCI đang hoạt động |
L2CAP_Channel_ID |
2 octet | Giá trị nhận dạng của Kênh L2CAP được mở để truyền trực tuyến A2DP |
Data_Path_Direction |
1 octet |
0x00 – Đầu ra (Nguồn/Hợp nhất AVDTP) 0x01 – Đầu vào (Bể/Phân tách AVDTP) |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Sub_Opcode |
1 octet | 0x04 – Dừng giảm tải A2DP |
Lệnh Báo cáo chất lượng Bluetooth
Tính năng lệnh Báo cáo chất lượng Bluetooth khởi động cơ chế trong trình điều khiển Bluetooth để báo cáo các sự kiện Chất lượng Bluetooth cho máy chủ. Bạn có thể bật 4 tuỳ chọn:
- Chế độ giám sát chất lượng: Trình điều khiển định kỳ gửi một sự kiện phụ BQR liên quan đến chất lượng đường liên kết đến máy chủ.
- LSTO sắp diễn ra: Nếu không nhận được gói nào từ thiết bị BT đã kết nối trong thời gian dài hơn một nửa giá trị Thời gian chờ giám sát liên kết (LSTO), thì bộ điều khiển sẽ báo cáo sự kiện LSTO sắp diễn ra cho máy chủ.
- Âm thanh A2DP bị giật: Khi phát hiện các yếu tố gây ra âm thanh bị giật, trình điều khiển sẽ báo cáo sự kiện Âm thanh A2DP bị giật cho máy chủ.
- (e)SCO Voice Choppy (Giọng nói bị giật khi dùng (e)SCO): Khi phát hiện các yếu tố gây ra tình trạng giọng nói bị giật, tay điều khiển sẽ báo cáo sự kiện (e)SCO Voice Choppy (Giọng nói bị giật khi dùng (e)SCO) cho máy chủ.
- Viêm rễ: Sự kiện này do bộ điều khiển gửi đến ngăn xếp khi HAL hoặc bộ điều khiển gặp lỗi nghiêm trọng và cần khởi động lại Bluetooth.
- Theo dõi thông báo LMP/LL: Bộ điều khiển gửi thông báo LMP/LL bắt tay với thiết bị từ xa đến máy chủ.
- Dấu vết lên lịch nhiều hồ sơ/Coex Bluetooth: Bộ điều khiển gửi thông tin lên lịch về việc xử lý nhiều hồ sơ Bluetooth và khả năng cùng tồn tại không dây trong băng tần 2,4 GHz cho máy chủ.
- Cơ chế Thông tin gỡ lỗi của tay điều khiển: Khi được bật, tay điều khiển có thể tự động báo cáo thông tin ghi nhật ký gỡ lỗi thông qua sự kiện phụ thông tin gỡ lỗi của tay điều khiển cho máy chủ.
- Âm thanh bị giật trên LE Audio: Khi phát hiện các yếu tố gây ra âm thanh bị giật, trình điều khiển sẽ báo cáo sự kiện Âm thanh bị giật trên LE Audio cho máy chủ.
-
Chế độ Số liệu thống kê RF nâng cao: Bộ điều khiển báo cáo thông tin liên quan đến số liệu thống kê RF cho máy chủ lưu trữ, hỗ trợ hai trường hợp sử dụng báo cáo:
- Báo cáo định kỳ
- Trình kích hoạt sự kiện (bắt đầu/dừng phát trực tuyến và trình kích hoạt sự kiện về chất lượng đường liên kết).
- BQR_Report_Action của Lệnh báo cáo chất lượng Bluetooth: Máy chủ có thể sử dụng lệnh HCI này để nhận truy vấn một lần cho chế độ giám sát chất lượng, chế độ giám sát năng lượng hoặc chế độ thống kê RF nâng cao.
OCF: 0x15E
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
BQR_Report_Action |
1 octet |
Thao tác thêm / xoá báo cáo về(các) sự kiện chất lượng được đặt trong thông số BQR_Quality_Event_Mask hoặc xoá tất cả.
0x00 – Thêm
Thao tác xoá sẽ xoá(các) báo cáo sự kiện cụ thể về chất lượng. |
BQR_Quality_Event_Mask |
4 octet |
Mặt nạ bit cho báo cáo sự kiện chất lượng đã chọn.
Bit 0: Đặt để bật chế độ giám sát chất lượng. |
BQR_Minimum_Report_Interval |
2 octet |
Xác định khoảng thời gian tối thiểu để báo cáo sự kiện chất lượng cho(các) sự kiện chất lượng đã chọn. Firmware của tay điều khiển không được báo cáo sự kiện tiếp theo trong khoảng thời gian đã xác định. Chế độ cài đặt khoảng thời gian phải tương ứng và dành riêng cho(các) sự kiện chất lượng đang được thêm.
Đơn vị: ms |
BQR_Vendor_Specific_Quality_Event_Mask |
4 octet |
Mặt nạ bit cho báo cáo sự kiện chất lượng dành riêng cho nhà cung cấp đã chọn. Tham số này chỉ hợp lệ khi bạn đặt bit 15 của BQR_Quality_Event_Mask .
Bit 0 ~ 31: Dành riêng. |
BQR_Vendor_Specific_Trace_Mask |
4 octet |
Mặt nạ bit cho báo cáo theo dõi dành riêng cho nhà cung cấp đã chọn. Tham số này chỉ hợp lệ khi bạn đặt bit 31 của BQR_Quality_Event_Mask .
Bit 0 ~ 31: Dành riêng. |
Report_interval_multiple |
4 octet |
Hệ số cho BQR_Minimum_Report_Interval . Khi giá trị này >= 1, Khoảng thời gian báo cáo BQR tuân theo định dạng Khoảng thời gian báo cáo BQR = BQR_Minimum_Report_Interval x Report_interval_multiple. Phần mềm điều khiển không được báo cáo sự kiện tiếp theo trong khoảng thời gian đã xác định. Chế độ cài đặt khoảng thời gian dành riêng cho(các) sự kiện chất lượng được thêm.
Đơn vị: ms BQR_Report_Interval lớn hơn khả năng của trình điều khiển, thì trình điều khiển phải trả về thời gian BQR_Report_Interval tối đa khi hoàn tất lệnh.
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Current_Quality_Event_Mask |
4 octet |
Cho biết chế độ cài đặt mặt nạ bit hiện tại. Bit 0: Chế độ giám sát chất lượng đang bật. Bit 1: Đã bật tính năng báo cáo sự kiện LSTO sắp diễn ra. Bit 2: Đã bật tính năng báo cáo sự kiện Âm thanh A2DP bị giật. Bit 3: Đã bật tính năng báo cáo sự kiện (e)SCO Voice Choppy. Bit 4: Đã bật tính năng báo cáo sự kiện viêm rễ. Bit 5: Chế độ giám sát năng lượng được bật. Bit 6: Đã bật tính năng báo cáo sự kiện âm thanh bị giật LE. Bit 7: Sự kiện kết nối không thành công. Bit 8: Đặt để bật trình kích hoạt sự kiện ở chế độ Advanced RF Stats (Thống kê RF nâng cao). Bit 9: Đặt để bật tính năng báo cáo định kỳ Advanced RF Stats (Thống kê RF nâng cao). Bit 10 ~ 14: Dành riêng. Bit 15: Bật tính năng báo cáo sự kiện chất lượng dành riêng cho nhà cung cấp. Bit 16: Đã bật tính năng theo dõi thông báo LMP/LL. Bit 17: Tính năng theo dõi lịch biểu Bluetooth Đa liên kết/Coex đã được bật. Bit 18: Cơ chế Thông tin gỡ lỗi của tay điều khiển đang bật. Bit 19 ~ 30: Dành riêng. Bit 31: Đã bật tính năng theo dõi dành riêng cho nhà cung cấp. |
Current_Vendor_Specific_Quality_Event_Mask |
4 octet | Cho biết chế độ cài đặt mặt nạ bit hiện tại. |
Current_Vendor_Specific_Trace_Mask |
4 octet | Cho biết chế độ cài đặt mặt nạ bit hiện tại. |
BQR_Report_interval |
4 octet | Cho biết chế độ cài đặt mặt nạ bit hiện tại. |
Current_Vendor_Specific_Trace_Mask |
4 octet |
Chế độ cài đặt của BQR_Report_interval . Đây phải là giá trị tối thiểu giữa BQR_Minimum_Report_Interval * Report_interval_multiple hoặc khoảng thời gian hỗ trợ tối đa của bộ điều khiển. |
Lệnh vùng đệm âm thanh động
Vùng đệm âm thanh động giúp giảm sự cố âm thanh bằng cách thay đổi kích thước vùng đệm âm thanh trong bộ điều khiển Bluetooth dựa trên nhiều tình huống.
OCF: 0x15F
Nhận khả năng thời gian vùng đệm âm thanh
OCF phụ: 0x01
Sử dụng lệnh này để lấy chức năng thời gian bộ đệm âm thanh từ trình điều khiển Bluetooth.
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Không áp dụng | Danh sách tham số Lệnh trống |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Dynamic_Audio_Buffer_opcode |
1 octet | 0x01 – Nhận thời gian vùng đệm âm thanh |
Audio_Codec_Type_Supported |
4 octet |
Mặt nạ bit cho các loại bộ mã hoá và giải mã được hỗ trợ Bit 0 – SBC Bit 1 – AAC Bit 2 – APTX Bit 3 – APTX HD Bit 4 – LDAC Bit 5-31 được đặt trước |
Audio_Codec_Buffer_Default_Time_For_Bit_0 |
2 octet |
Thời gian đệm mặc định của loại bộ mã hoá và giải mã Bit 0 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 0 không được hỗ trợ. Đơn vị: mili giây |
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 |
2 octet |
Thời gian bộ đệm tối đa của loại bộ mã hoá và giải mã Bit 0 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 0 không được hỗ trợ. Đơn vị: mili giây |
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 |
2 octet |
Thời gian đệm tối thiểu của loại bộ mã hoá và giải mã Bit 0 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 0 không được hỗ trợ. Đơn vị: mili giây |
Audio_Codec_Buffer_Default_Time_For_Bit_1 |
2 octet |
Thời gian đệm mặc định của loại bộ mã hoá và giải mã Bit 1 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 1 không được hỗ trợ. Đơn vị: mili giây |
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 |
2 octet |
Thời gian đệm tối đa của loại bộ mã hoá và giải mã Bit 1 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 1 không được hỗ trợ. Đơn vị: mili giây |
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 |
2 octet |
Thời gian đệm tối thiểu của loại bộ mã hoá và giải mã Bit 1 được chỉ định trong thuộc tính Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 1 không được hỗ trợ. Đơn vị: mili giây |
...... | ...... | ...... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 |
2 octet |
Thời gian đệm mặc định của loại bộ mã hoá và giải mã Bit 31 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 31 không được hỗ trợ. Đơn vị: mili giây |
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 |
2 octet |
Thời gian bộ đệm tối đa của loại bộ mã hoá và giải mã Bit 31 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 31 không được hỗ trợ. Đơn vị: mili giây |
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 |
2 octet |
Thời gian đệm tối thiểu của loại bộ mã hoá và giải mã Bit 31 được chỉ định trong
Audio_Codec_Type_Supported. Giá trị này phải là 0 nếu loại bộ mã hoá và giải mã Bit 31 không được hỗ trợ. Đơn vị: mili giây |
Đặt thời gian vùng đệm âm thanh
OCF phụ: 0x02
Sử dụng lệnh này để đặt thời gian bộ đệm âm thanh cho tay điều khiển Bluetooth.
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Audio_Codec_Buffer_Time |
2 octet |
Thời gian bộ đệm âm thanh được yêu cầu cho bộ mã hoá và giải mã đang dùng. Đơn vị: mili giây |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Dynamic_Audio_Buffer_opcode |
1 octet | 0x02 – Đặt thời gian vùng đệm âm thanh |
Audio_Codec_Buffer_Time |
2 octet |
Thời gian đệm âm thanh hiện tại trong bộ điều khiển Bluetooth. Đơn vị: mili giây |
Sự kiện HCI (tuỳ theo nhà cung cấp)
Trong một số trường hợp, bạn phải có các sự kiện HCI dành riêng cho nhà cung cấp. Hãy tham khảo Hình 5.4 trên trang 1897 của Quy cách BT Core 5.2. Thông số sự kiện 0 sẽ luôn chứa mã sự kiện phụ đầu tiên, dựa trên đó, phần còn lại của sự kiện HCI sẽ được giải mã.
Thông số sự kiện | Kích thước | Mục đích |
---|---|---|
HCI_vendor_specific_event_code |
1 octet | 0xFF |
sub_event_code |
1 octet | Mã sự kiện phụ sẽ có kích thước 1 octet, là byte ngay sau Chiều dài thông số trong gói sự kiện HCI. |
Sự kiện phụ vi phạm ngưỡng bộ nhớ
Sự kiện này cho biết ngưỡng bộ nhớ đã bị vi phạm.
Mã sự kiện phụ = 0x54
Tham số sự kiện phụ | Kích thước | Mục đích |
---|---|---|
Không có |
Sự kiện phụ thay đổi trạng thái quảng cáo nhiều LE
Sự kiện này cho biết một thực thể quảng cáo đã thay đổi trạng thái. Hiện tại, sự kiện này chỉ được dùng để cho biết phiên bản quảng cáo nào đã bị dừng do kết nối.
Mã sự kiện phụ = 0x55
Tham số sự kiện phụ | Kích thước | Mục đích |
---|---|---|
Advertising_instance |
1 octet |
Xác định thực thể quảng cáo cụ thể Giá trị hợp lệ là từ 0 đến max_advt_instances -1
|
State_Change_Reason |
1 octet | 0x00: Đã nhận được kết nối |
Connection_handle |
2 octet |
Xác định kết nối đã khiến thực thể advt bị tắt (0xFFFF nếu không hợp lệ)
|
Sự kiện phụ theo dõi quảng cáo LE
Sự kiện này cho biết thời điểm tìm thấy hoặc mất một nhà quảng cáo.
Mã sự kiện phụ = 0x56
Tham số sự kiện phụ | Kích thước | Mục đích |
---|---|---|
APCF_Filter_Index |
1 octet | Chỉ mục bộ lọc (0, max_filter -1) |
Advertiser_State |
1 octet |
0x00: Tìm thấy nhà quảng cáo 0x01: Mất nhà quảng cáo |
Advt_Info_Present |
1 octet |
0x00: Có thông tin nhà quảng cáo (Advt_Info )0x01: Không có thông tin nhà quảng cáo ( Advt_Info )
|
Advertiser_Address |
6 octet | Địa chỉ công khai hoặc địa chỉ ngẫu nhiên |
Advertiser_Address_Type |
1 octet |
0x00: Địa chỉ công khai 0x01: Địa chỉ ngẫu nhiên |
Advt_Info |
Tx_Pwr[0] : 1 octetRSSI[0] : 1 octetTimestamp[0] : 2 octetAdv packet_len[0] : 1 octetAdv_packet[0] : Adv_packet_len octetScan_data_resp_len[0] : 1 octetScan_data_resp[0] : Scan_data_resp octet
|
Sự kiện phụ thông tin gỡ lỗi của tay điều khiển
Bộ điều khiển sử dụng sự kiện này để cung cấp thông tin gỡ lỗi nhị phân cho máy chủ lưu trữ.
Mã sự kiện phụ = 0x57
Tham số sự kiện phụ | Kích thước | Mục đích |
---|---|---|
debug_block_byte_offset_start |
2 octet | Chênh lệch byte của khối gỡ lỗi từ đầu |
last_block |
1 octet |
0x00: Có thêm dữ liệu gỡ lỗi 0x01: Khối nhị phân cuối cùng; không có thêm dữ liệu gỡ lỗi |
cur_pay_load_sz |
2 octet | Kích thước khối nhị phân trong một sự kiện hiện tại |
Debug_Data |
Biến | Dữ liệu gỡ lỗi của cur_payload_sz |
Sự kiện phụ trong Báo cáo chất lượng Bluetooth
Sự kiện này cho biết một trong những điều sau: một sự kiện chất lượng Bluetooth đã xảy ra, bộ điều khiển đã tải dấu vết thông báo LMP/LL và dấu vết lên lịch nhiều đường liên kết/Coex của Bluetooth hoặc bộ điều khiển đã kết xuất dữ liệu thông tin gỡ lỗi.
Mã sự kiện phụ = 0x58 [Quality_Report_Id = 0x01 ~ 0x04, sự kiện liên quan đến Chất lượng đường liên kết]
Tham số sự kiện phụ | Kích thước | Mục đích |
---|---|---|
Quality_Report_Id |
1 octet |
0x01: Báo cáo chất lượng về chế độ giám sát. 0x02: Đang tiếp cận LSTO. 0x03: Âm thanh A2DP bị giật. 0x04: (e)SCO Voice Choppy (Giọng nói (e)SCO bị giật). 0x05 ~ 0x06: Dành riêng. 0x07: Âm thanh LE bị giật. 0x08: Không kết nối được. 0x09 ~ 0xFF: Dành riêng. |
Packet_Types |
1 octet |
0x01: Mã nhận dạng 0x02: Rỗng 0x03: POLL 0x04: FHS 0x05: HV1 0x06: HV2 0x07: HV3 0x08: DV 0x09: EV3 0x0A: EV4 0x0B: EV5 0x0C: 2-EV3 0x0D: 2-EV5 0x0E: 3-EV3 0x0F: 3-EV5 0x11: DH1 0x12: DM3 0x13: DH3 0x14: DM5 0x15: DH5 0x16: AUX1 0x17: 2-DH1 0x18: 2-DH3 0x19: 2-DH5 0x1A: 3-DH1 0x1B: 3-DH3 0x1C: 3-DH5 0x1D ~ 0x50: Dành riêng 0x51: Gói ISO 0x52 ~ 0xFF: Dành riêng |
Connection_Handle |
2 octet | Tay điều khiển kết nối ACL/(e)SCO/ISO. |
Connection_Role |
1 octet |
Vai trò thực hiện cho kết nối. 0x00: Trung tâm 0x01: Ngoại vi 0x02 ~ 0xFF: Dành riêng. |
TX_Power_Level |
1 octet |
Cấp độ truyền năng lượng hiện tại cho Connection_Handle đã chỉ định.
Giá trị này phải giống với giá trị mà bộ điều khiển phản hồi lệnh HCI HCI_Read_Transmit_Power_Level. |
RSSI |
1 octet |
[tính bằng dBm]
Giá trị Chỉ báo cường độ tín hiệu đã nhận (RSSI) cho
Connection_Handle đã chỉ định. |
SNR |
1 octet |
[tính bằng dB]
Giá trị Tỷ lệ tín hiệu trên tạp âm (SNR) cho
Connection_Handle đã chỉ định. |
Unused_AFH_Channel_Count |
1 octet |
Cho biết số lượng kênh không dùng trong AFH_channel_map. 0x4F ~ 0xFF: Đã đặt trước. |
AFH_Select_Unideal_Channel_Count |
1 octet |
Cho biết số lượng kênh bị nhiễu và có chất lượng xấu nhưng vẫn được chọn cho tính năng Tự động điều chỉnh theo tần số. Số lượng kênh tối thiểu được quy định trong thông số kỹ thuật của Bluetooth là 20, vì vậy, ngay cả khi tất cả 79 kênh đều bị can thiệp và có chất lượng kém, bộ điều khiển vẫn cần chọn ít nhất 20 kênh cho AFH. |
LSTO |
2 octet |
Chế độ cài đặt thời gian chờ hiện tại của tính năng giám sát đường liên kết. Thời gian = N * 0,625 mili giây Phạm vi thời gian: 0,625 mili giây đến 40,9 giây |
Connection_Piconet_Clock |
4 octet |
Đồng hồ Piconet cho Connection_Handle đã chỉ định. Giá trị này phải giống với giá trị phản hồi của tay điều khiển đối với lệnh HCI_Read_Clock HCI với tham số "Which_Clock" là 0x01 (Đồng hồ Piconet). Đơn vị: N * 0,3125 mili giây (1 Đồng hồ Bluetooth) |
Retransmission_Count |
4 octet |
Số lần truyền lại kể từ sự kiện gần nhất. Số lượt này sẽ được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
No_RX_Count |
4 octet |
Không có số lượng RX kể từ sự kiện gần đây nhất. Số lượng tăng lên khi không có gói nào được nhận tại khung giờ đã lên lịch hoặc gói đã nhận bị hỏng. Số lượt này sẽ được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
NAK_Count |
4 octet |
Số NAK (Thông báo không xác nhận) kể từ sự kiện gần đây nhất. Số lượt này sẽ được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
Last_TX_ACK_Timestamp |
4 octet |
Dấu thời gian của ACK TX gần đây nhất. Dựa trên Đồng hồ Bluetooth của trung tâm piconet (CLK). Đơn vị: N * 0,3125 mili giây (1 Đồng hồ Bluetooth) |
Flow_Off_Count |
4 octet |
Số lần bộ điều khiển nhận được Flow-off (DỪNG) kể từ sự kiện gần đây nhất. Số lượt này sẽ được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
Last_Flow_On_Timestamp |
4 octet |
Dấu thời gian của Flow-on (GO) gần đây nhất. Dựa trên Đồng hồ Bluetooth của trung tâm piconet (CLK). Đơn vị: N * 0,3125 mili giây (1 Đồng hồ Bluetooth) |
Buffer_Overflow_Bytes |
4 octet |
[tính bằng Byte]
Số lần tràn bộ đệm kể từ sự kiện gần đây nhất. |
Buffer_Underflow_Bytes |
4 octet |
[tính bằng Byte]
Số lần thiếu dữ liệu trong bộ đệm kể từ sự kiện gần đây nhất. |
bdaddr |
6 octet | Địa chỉ thiết bị từ xa |
cal_failed_item_count |
1 octet | Số lượng mục không điều chỉnh được |
TX_Total_Packets |
4 octet | Số lượng gói được gửi đi. |
TX_UnAcked_Packets |
4 octet |
Số lượng gói không nhận được thông báo xác nhận. Số lượt này được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
TX_Flushed_Packets |
4 octet |
Số lượng gói không được gửi qua điểm xả. Số lượt này được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
TX_Last_Subevent_Packets |
4 octet |
Số gói mà Lớp liên kết truyền PDU dữ liệu CIS trong sự kiện phụ cuối cùng của sự kiện CIS. Số lượt này được đặt lại sau khi báo cáo cho máy chủ lưu trữ. Giá trị bằng 0 nếu không có giá trị hợp lệ cho đường liên kết. |
CRC_Error_Packets |
4 octet |
Số lượng gói đã nhận được có lỗi CRC kể từ sự kiện gần đây nhất. Số lượt này được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
RX_Duplicate_Packets |
4 octet |
Số lượng gói trùng lặp (truyền lại) đã nhận được kể từ sự kiện gần đây nhất. Số lượt này được đặt lại sau khi báo cáo cho máy chủ lưu trữ. |
RX_Unreceived_Packets |
4 octet |
Số lượng gói không nhận được giống với tham số của lệnh LE READ ISO Link Quality (xem Thông số kỹ thuật cốt lõi Bluetooth Phiên bản 5.4). Các luồng liên quan là CIS và BIS. Khi giá trị này tăng lên, Lớp liên kết không nhận được tải trọng cụ thể theo điểm xả (trên CIS) hoặc khi kết thúc sự kiện liên kết với tải trọng đó (trên BIS; xem Thông số kỹ thuật cốt lõi Bluetooth Phiên bản 5.4 Tập 6 Phần B, Mục 4.4.6.6). |
Coex_Info_Mask |
2 octet |
Bit 0 – CoexInvolvement: Đặt để cho biết các hoạt động đồng thời bị nghi ngờ có liên quan khi báo cáo này được tạo (ví dụ: A2DP Chops và Approaching LSTO). Bit 1 – WL 2G Radio Active (Đang bật đài phát 2G của WL): Đặt để cho biết Đài phát 2G của WLAN đang hoạt động. Bit 2 – WL 2G Connected (Đã kết nối với WL 2G): Đặt để cho biết WLAN 2G Radio đang hoạt động và đã kết nối. Bit 3 – WL 5G/6G Radio Active (Đang bật đài phát sóng 5G/6G): Đặt để cho biết Đài phát sóng 5G/6G WLAN đang bật. Bit 4-15 – Đã đặt trước |
Tham số dành riêng cho nhà cung cấp | (tổng chiều dài thông số – TBD) * octet | Để nhà cung cấp tay điều khiển có thể lấy thêm các tham số dành riêng cho nhà cung cấp. |
Mã sự kiện phụ = 0x58 [Quality_Report_Id = 0x05, sự kiện Viêm rễ]
Sự kiện này cho biết Bluetooth HAL hoặc tay điều khiển đã gặp lỗi nghiêm trọng và cần ngăn xếp Bluetooth để ghi lại tình huống này và khởi động lại. Trong mọi trường hợp, tay điều khiển phải gửi Root_Inflammation_Event đến ngăn xếp Bluetooth trước khi gửi mảnh đầu tiên của sự kiện thông tin gỡ lỗi.
Thông số Error_Code chứa mã lỗi được báo cáo từ HAL/Bộ điều khiển, 0 nếu đó là lỗi dành riêng cho nhà cung cấp chipset. Vendor_Specific_Error_Code chứa mã lỗi dành riêng cho nhà cung cấp chipset từ HAL/Bộ điều khiển. Bạn nên đặt giá trị này thành 0 nếu tham số Error_Code không phải là 0. Các tham số Error_Code và Vendor_Specific_Error_Code không được cùng bằng 0.
Tham số sự kiện phụ | Kích thước | Mục đích |
---|---|---|
Quality_Report_Id |
1 octet |
0x00 ~ 0x04: Dành riêng. 0x05: Viêm rễ. 0x06 ~ 0xFF: Đã đặt trước. |
Error_Code |
1 octet |
0x00: Bao gồm mã lỗi dành riêng cho nhà cung cấp chipset. 0x01 ~ 0xFF: Đã xảy ra lỗi bộ điều khiển. Xem Bluetooth Spec [Vol 2] (Thông số kỹ thuật Bluetooth [Tập 2]) Phần D, Error Codes (Mã lỗi) để biết danh sách mã lỗi và nội dung mô tả. |
Vendor_Specific_Error_Code |
1 octet |
0x00: Không có mã lỗi cụ thể của nhà cung cấp chipset. 0x01 ~ 0xFF: Mã lỗi dành riêng cho nhà cung cấp chipset. |
Tham số dành riêng cho nhà cung cấp | (Tổng chiều dài tham số – 4) * octet | Để nhà cung cấp tay điều khiển có thể lấy thêm các tham số dành riêng cho nhà cung cấp. |
Mã sự kiện phụ = 0x58 [Quality_Report_Id = 0x11 ~ 0x13, sự kiện liên quan đến Tệp kết xuất nhật ký]
Tham số sự kiện phụ | Kích thước | Mục đích |
---|---|---|
Quality_Report_Id |
1 octet |
0x00 ~ 0x10: Dành riêng. 0x11: Dấu vết tin nhắn LMP/LL. 0x12: Dấu vết lên lịch nhiều đường liên kết/Coex của Bluetooth. 0x13: Tệp kết xuất dữ liệu Thông tin gỡ lỗi của trình điều khiển. 0x14 ~ 0xFF: Dành riêng. |
Connection_Handle |
2 octet | Handle (Tên xử lý) của kết nối. |
Tham số dành riêng cho nhà cung cấp | (Tổng chiều dài tham số – 4) * octet | Định dạng dành riêng cho nhà cung cấp của dấu vết thông báo LMP, dấu vết lên lịch nhiều đường liên kết/Coex của Bluetooth và tệp kết xuất dữ liệu Thông tin gỡ lỗi của tay điều khiển. |
Hỗ trợ nhiều nhà quảng cáo
Dưới đây là các mục tiêu của dịch vụ hỗ trợ nhiều nhà quảng cáo:
-
Khả năng hỗ trợ nhiều quảng cáo (
max_advt_instances
) - Nhiều mức công suất truyền để cho phép phạm vi thay đổi
- Nội dung quảng cáo khác
- Nội dung phản hồi riêng cho từng nhà quảng cáo
- Quyền riêng tư (không thể theo dõi) cho mỗi nhà quảng cáo
- Có thể kết nối
Để giữ cho thông số kỹ thuật này gần với các tiêu chuẩn hiện có, chúng tôi cung cấp các lệnh sau đây dành riêng cho nhà cung cấp. Các API này được lấy từ Quy cách Bluetooth Core 4.1.
LE_Multi_Advt_Command
OCF: 0x154
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
Multi_advt_opcode |
1 octet |
0x01 – Set_Advt_Param_Multi_Sub_Cmd 0x02 – Set_Advt_Data_Multi_Sub_Cmd 0x03 – Set_Scan_Resp_Data_Multi_Sub_Cmd 0x04 – Set_Random_Addr_Multi_Sub_Cmd 0x05 – Set_Advt_Enable_Multi_Sub_Cmd
|
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Multi_advt_opcode |
1 octet |
0x01 – Set_Advt_Param_Multi_Command 0x02 – Set_Advt_Data_Multi_Command 0x03 – Set_Scan_Resp_Data_Multi_Command 0x04 – Set_Random_Addr_Multi_Command 0x05 – Set_Advt_Enable_Multi_Command
|
LE_Multi_Advt_Command: Set_Advt_Param_Multi_Sub_Cmd
Tài liệu tham khảo cơ sở: Tiêu chuẩn Bluetooth Core 4.1, trang 964 (Lệnh tham số quảng cáo đặt LE)
OCF phụ: 0x01
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Advertising_Interval_Min |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Interval_Max |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Type |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Own_Address_Type |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Own_Address |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Direct_Address_Type |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Direct_Address |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Channel_Map |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Adverstising_Filter_Policy |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Instance |
1 octet | Chỉ định phạm vi áp dụng của các tham số trên cho một thực thể |
Tx_power |
1 octet |
Transmit_Power Đơn vị – tính bằng dBm (số nguyên có dấu) Phạm vi (-70 đến +20) |
Tham số Own_Address
có thể là địa chỉ do máy chủ lưu trữ định cấu hình tại thời điểm thiết lập thực thể nhiều quảng cáo này. Điều này cho phép có một địa chỉ riêng tư có thể phân giải tại thời điểm truyền beacon đầu tiên. Quảng cáo trên một thực thể sẽ tiếp tục bất kể kết nối. Ngăn xếp BT của máy chủ có thể đưa ra lệnh để bắt đầu quảng cáo trên một thực thể, sau khi kết nối.
Sự kiện Command Complete (Hoàn tất lệnh) sẽ được tạo cho lệnh này như được chỉ định trong Thông số kỹ thuật Bluetooth Core 4.1, theo lệnh ở trên. Trình điều khiển sẽ phản hồi bằng mã không thành công (thông số không hợp lệ) nếu thực thể quảng cáo hoặc thông số Tx_Power
không hợp lệ.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Multi_advt_opcode |
1 octet | 0x01 [Set_Advt_Param_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Advt_Data_Multi_Sub_Cmd
Tài liệu tham khảo cơ sở: Tiêu chuẩn Bluetooth Core 4.1, trang 969 (Lệnh dữ liệu quảng cáo đặt LE)
OCF phụ: 0x02
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Advertising_Data_Length |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Data |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Instance |
1 octet | Chỉ định phạm vi áp dụng của các tham số trên cho một thực thể |
Sự kiện Command Complete (Hoàn tất lệnh) sẽ được tạo cho lệnh này như được chỉ định trong Thông số kỹ thuật Bluetooth Core 4.1, theo lệnh ở trên. Trình điều khiển sẽ phản hồi bằng mã không thành công nếu thực thể quảng cáo hoặc tham số Tx_Power
không hợp lệ.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Multi_advt_opcode |
1 octet | 0x02 [Set_Advt_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Scan_Resp_Data_Multi_Sub_Cmd
Tài liệu tham khảo cơ sở: Tiêu chuẩn Bluetooth Core 4.1, trang 970 (Lệnh dữ liệu phản hồi quét thiết lập LE)
OCF phụ: 0x03
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Scan_Response_Data_Length |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Scan_Response_Data |
Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Instance |
1 octet | Chỉ định phạm vi áp dụng của các tham số trên cho một thực thể |
Sự kiện Command Complete (Hoàn tất lệnh) sẽ được tạo cho lệnh này như được chỉ định trong Thông số kỹ thuật Bluetooth Core 4.1, theo lệnh ở trên. Trình điều khiển sẽ phản hồi bằng mã không thành công (tham số không hợp lệ) nếu thực thể quảng cáo hoặc tham số Tx_Power
không hợp lệ.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Multi_advt_opcode |
1 octet | 0x03 [Set_Scan_Resp_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Random_Addr_Multi_Sub_Cmd
Tài liệu tham khảo cơ sở: Tiêu chuẩn Bluetooth Core 4.1, trang 963 (Lệnh đặt địa chỉ ngẫu nhiên LE)
OCF phụ: 0x04
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Địa chỉ ngẫu nhiên | Theo thông số kỹ thuật | Theo thông số kỹ thuật |
Advertising_Instance |
1 octet | Chỉ định phạm vi áp dụng của các tham số trên cho một thực thể |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Multi_advt_opcode |
1 octet | 0x04 [Set_Random_Addr_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Advt_Enable_Multi_Sub_Cmd
Tài liệu tham khảo cơ sở: Thông số kỹ thuật Bluetooth Core 4.1, trang 971 (Lệnh bật quảng cáo của LE Set trong thông số kỹ thuật cốt lõi đó)
OCF: 0x05
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Advertising_Enable |
1 octet | Giá trị 1 có nghĩa là bật. Mọi giá trị khác đều có nghĩa là tắt. |
Advertising_Instance |
1 octet | Chỉ định phạm vi áp dụng của các thông số ở trên cho một thực thể. Thực thể 0 có nghĩa là một thực thể HCI tiêu chuẩn. |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Multi_advt_opcode |
1 octet | 0x05 [Set_Advt_Enable_Multi_Sub_Cmd] |
Giải pháp giảm tải địa chỉ riêng tư
Tính năng này phân giải địa chỉ riêng tư trong phần cứng hoặc phần mềm của tay điều khiển, mang lại các lợi ích sau:
- Độ trễ liên quan đến máy chủ lưu trữ trong quá trình phân giải địa chỉ riêng tư
- Tiết kiệm pin bằng cách hạn chế đánh thức máy chủ
LE_Set_RPA_Timeout
OCF: 0x15C
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
LE_local_IRK |
16 octet | IRK của thiết bị cục bộ dùng để tạo(các) địa chỉ ngẫu nhiên có thể phân giải. |
tRPA_min |
2 octet |
Thời gian chờ tối thiểu để tạo RPA tính bằng giây. Bộ điều khiển phải tạo địa chỉ có thể phân giải mới cho mọi sự kiện quảng cáo/quét/kết nối vào hoặc sau thời gian chờ này. Phạm vi hợp lệ: 300-1800 |
tRPA_max |
2 octet |
Thời gian chờ tạo RPA tối đa tính bằng giây. Bộ điều khiển phải tạo địa chỉ có thể phân giải mới cho mọi sự kiện quảng cáo/quét/kết nối vào hoặc trước thời gian chờ này. Phạm vi hợp lệ: tRPA_min -1800
|
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet |
Trạng thái của lệnh. Giá trị trạng thái HCI được đề xuất: 0x00 Thành công 0x01 Lệnh không xác định (nếu không được hỗ trợ) 0x12 Tham số lệnh không hợp lệ (nếu có tham số nào nằm ngoài phạm vi đã cho) |
LE_RPA_offload_Command
OCF: 0x155
Tham số lệnh | Kích thước | Mục đích |
---|---|---|
RPA_offload_opcode |
1 octet |
0x1 – Bật tính năng dành riêng cho khách hàng 0x2 – Thêm IRK vào danh sách 0x3 – Xoá IRK khỏi danh sách 0x4 – Xoá danh sách IRK 0x5 – Đọc mục danh sách IRK |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Event_RPA_offload_opcode |
1 octet |
0x1 – Bật tính năng dành riêng cho khách hàng 0x2 – Thêm IRK vào danh sách 0x3 – Xoá IRK khỏi danh sách 0x4 – Xoá danh sách IRK 0x5 – Đọc mục danh sách IRK |
LE_RPA_offload: Enable_cust_specific_sub_Command
OCF phụ: 0x01
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
enable_customer_specific_feature_set |
1 octet |
0x01 – Bật tính năng RPA được giảm tải 0x00 – Tắt tính năng RPA được giảm tải |
Máy chủ phải bật tính năng giảm tải RPA dựa trên khả năng của chip. Tham khảo LE_Get_Vendor_Capabilities_Command
.
Mỗi khối có thể có một max_irk_list_sz
khác nhau trong phần mềm.
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Event_cust_specific_feature_opcode |
1 octet | 0x01 [Bật tính năng dành riêng cho khách hàng] |
LE_RPA_offload: Add_IRK_to_list_sub_Command
OCF phụ: 0x02
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
LE_IRK |
16 octet | LE IRK (bit LSB đầu tiên) |
Address_Type |
1 octet |
0: Địa chỉ công khai 1: Địa chỉ ngẫu nhiên |
LE_Device_Address |
6 octet | Địa chỉ công khai hoặc ngẫu nhiên được liên kết với IRK (byte 1 LSB) |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Event_cust_specific_feature_opcode |
1 octet | 0x02 [Thêm IRK vào danh sách] |
LE_IrkList_AvailableSpaces |
1 octet | Các mục trong danh sách IRL hiện có sau thao tác hiện tại |
LE_RPA_offload: Remove_IRK_to_list_sub_Command
OCF phụ: 0x03
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Address_Type |
1 octet |
0: Địa chỉ công khai 1: Địa chỉ ngẫu nhiên |
LE_Device_Address |
6 octet | Địa chỉ công khai hoặc ngẫu nhiên liên kết với IRK |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Event_cust_specific_feature_opcode |
1 octet | 0x03 [Xoá IRK khỏi danh sách] |
LE_IrkList_AvailableSpaces |
1 octet | Các mục trong danh sách IRL hiện có sau thao tác hiện tại |
LE_RPA_offload: Clear_IRK_list_sub_Command
OCF phụ: 0x04
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
Không có |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Event_cust_specific_feature_opcode |
1 octet | 0x04 [Xoá danh sách IRK] |
LE_IrkList_AvailableSpaces |
1 octet |
Các mục có trong danh sách IRL sau thao tác hiện tại [max_irk_list_sz]
|
LE_RPA_offload: Read_IRK_list_sub_Command
OCF phụ: 0x05
Tham số lệnh con | Kích thước | Mục đích |
---|---|---|
LE_read_IRK_list_entry-index |
1 octet | Chỉ mục của danh sách IRK [0, max_irk_list_sz-1] |
Hệ thống sẽ tạo một sự kiện Command Complete (Hoàn tất lệnh) cho lệnh này.
Tham số trả về | Kích thước | Mục đích |
---|---|---|
Status |
1 octet | Trạng thái hoàn tất lệnh |
Event_cust_specific_feature_opcode |
1 octet | 0x05 [Đọc mục danh sách IRK] |
LE_Read_IRK_List_entry |
1 octet | Chỉ mục của IRK mà máy chủ lưu trữ muốn đọc lại (kích thước tối đa của danh sách IRK là 32) |
LE_IRK |
16 octet | Giá trị IRK |
Address_Type |
1 octet |
0: Địa chỉ công khai 1: Địa chỉ ngẫu nhiên |
LE_Device_Address |
6 octet | Địa chỉ công khai hoặc địa chỉ ngẫu nhiên được liên kết với IRK |
LE_Resolved_Private_Address |
6 octet | Địa chỉ riêng tư hiện đã được phân giải của IRK này |