الزامات HCI

از «میانای کنترل‌کننده میزبان» (HCI) برای تعامل با کنترل‌کننده بلوتوثی استفاده می‌شود.

این سند فهرستی از الزامات HCI بلوتوث (BT) و بلوتوث کم‌مصرف (BLE) را ارائه می‌دهد. هدف این است که فروشندگان پشته BT میزبان و فروشندگان کنترل‌کننده BT با این الزامات پلاتفرم مطابقت داشته باشند تا بتوانند از مجموعه ویژگی‌های توصیف‌شده در زیر استفاده کنند.

این سند به «مشخصات اصلی بلوتوث ۵.۲» به‌عنوان «مشخصات» اشاره می‌کند. مشخصات Bluetooth Core 5.2 در وب‌سایت Bluetooth SIG به‌همراه سایر اسناد پذیرفته‌شده دردسترس است.

نمای کلی طراحی عمومی

قابلیت‌ها و پیکربندی تراشه

‫Android به‌عنوان یک پلاتفرم باز، ماتریسی از نسخه‌های پخش نرم‌افزار، سازندگان تجهیزات اصلی (OEM)، فروشندگان، و قابلیت‌های پلاتفرم و تراشه دارد.

برای مدیریت چشم‌اندازهای مختلف و مدیریت انتقال‌ها، فلسفه طراحی اجازه دادن به کنترل‌کننده‌های بلوتوث برای آشکار کردن قابلیت‌هایشان (فراتر از «مشخصات استاندارد بلوتوث هسته ۵.۲») در این سند شرح داده شده است. سپس پشته BT میزبان می‌تواند از این قابلیت‌ها برای تعیین اینکه کدام ویژگی‌ها فعال شوند استفاده کند.

پشتیبانی از استانداردهای باز

یکی از اهداف Android پشتیبانی از استانداردهای باز پس‌از تصویب در مشخصات بلوتوث است. اگر ویژگی شرح‌داده‌شده در زیر در روش‌های استاندارد HCI در مشخصات بلوتوث آینده دردسترس قرار گیرد، ما تمایل داریم آن رویکرد را به‌عنوان پیش‌فرض قرار دهیم.

قابلیت‌های مختص ارائه‌دهنده

فرمان مختص ارائه‌دهنده: LE_Get_Vendor_Capabilities_Command

فیلد فرمان OpCode‏ (OCF): ‏ 0x153

پارامتر فرمان اندازه هدف
NA فهرست پارامتر فرمان خالی است

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
max_advt_instances
(منسوخ‌شده)
‫۱ هشت‌تایی تعداد نمونه‌های تبلیغات پشتیبانی‌شده.

پس‌از نسخه ۰.۹۸ رزرو شد.
این پارامتر در مشخصات ویژگی Google نسخه ۰.۹۸ و بالاتر منسوخ شده است و به‌جای آن از LE Extended Advertising موجود در مشخصات BT نسخه ۵.۰ و بالاتر استفاده می‌شود.
offloaded_resolution_of_private-address
(منسوخ‌شده)
‫۱ هشت‌تایی قابلیت تراشه BT در RPA.
اگر تراشه از آن پشتیبانی کند، میزبان باید آن را فعال کند.
‫۰ = ناتوان
‫۱ = توانمند

پس‌از نسخه ۰.۹۸ رزرو شده است.
این پارامتر در مشخصات ویژگی Google نسخه ۰.۹۸ و بالاتر منسوخ شده است و به‌جای آن از ویژگی «حریم خصوصی» موجود در مشخصات نسخه ۴.۲ و بالاتر BT استفاده می‌شود.
total_scan_results_storage ‫۲ هشت‌تایی فضای ذخیره‌سازی برای نتایج اسکن به بایت
max_irk_list_sz ‫۱ هشت‌تایی تعداد ورودی‌های IRK پشتیبانی‌شده در میان‌افزار
filtering_support ‫۱ هشت‌تایی پشتیبانی از فیلتر کردن در کنترل‌کننده
‫۰ = پشتیبانی نمی‌شود
‫۱ = پشتیبانی می‌شود
max_filter ‫۱ هشت‌تایی تعداد فیلترهای پشتیبانی‌شده
activity_energy_info_support ‫۱ هشت‌تایی از گزارش اطلاعات فعالیت و انرژی پشتیبانی می‌کند
0 = قادر نیست
1 = قادر است
version_supported ‫۲ هشت‌تایی نسخه مشخصات ویژگی Google پشتیبانی‌شده را مشخص می‌کند
بایت[۰] = عدد اصلی
بایت[۱] = عدد فرعی

v1.06
بایت[۰] = ۰x۰۱
بایت[۱] = ۰x۰۶

ویژگی‌های اضافه در نسخه‌های زیر:
v1.06:
  • big_set_channel_map_classification_support
  • vendor_connection_handle_min
  • vendor_connection_handle_max
  • connection_proximity_threshold_support
نسخه ۱.۰۵:
  • iso_link_feedback_support
  • BQRv7
  • sniff_offload_support
V1.04:
  • BQRv6
total_num_of_advt_tracked ۲ هشت‌تایی تعداد کل تبلیغ‌کنندگان ردیابی‌شده برای OnLost/OnFound هدف
extended_scan_support ‫۱ هشت‌تایی از بازه و فاصله اسکن گسترده پشتیبانی می‌کند
debug_logging_supported ‫۱ هشت‌تایی از ثبت اطلاعات اشکال‌زدایی باینری از کنترل‌کننده پشتیبانی می‌کند
LE_address_generation_offloading_support
(منسوخ)
‫۱ هشت‌تایی ‫۰ = پشتیبانی نمی‌شود
۱ = پشتیبانی می‌شود

پس‌از نسخه ۰.۹۸ رزرو شده است.
این پارامتر در مشخصات ویژگی Google نسخه ۰.۹۸ و بالاتر منسوخ شده است و به‌جای آن از ویژگی «حریم خصوصی» موجود در مشخصات نسخه ۴.۲ و بالاتر BT استفاده می‌شود.
A2DP_source_offload_capability_mask ‫۴ هشت‌تایی ماسک‌های بیت برای انواع کدک پشتیبانی‌شده
بیت ۰ - SBC
بیت ۱ - AAC
بیت ۲ - APTX
بیت ۳ - APTX HD
بیت ۴ - LDAC
بیت ۵ - Opus
بیت ۶ تا ۳۱ رزرو شده‌اند
bluetooth_quality_report_support ‫۱ هشت‌تایی از گزارش رویدادهای «کیفیت بلوتوث» پشتیبانی می‌کند
۰ = قابلیت ندارد
۱ = قابلیت دارد
dynamic_audio_buffer_support ‫۴ هشت‌تایی از میان‌گیری پویای صوتی در کنترل‌کننده بلوتوث پشتیبانی می‌کند
ماسک‌های بیت برای انواع کدک پشتیبانی‌شده
بیت ۰ - SBC
بیت ۱ - AAC
بیت ۲ - APTX
بیت ۳ - APTX HD
بیت ۴ - LDAC
بیت ۵ - Opus
بیت ۶ تا ۳۱ رزرو شده‌اند
a2dp_offload_v2_support ‫۱ هشت‌تایی از دستورات نسخه ۲ بارگیری A2DP در کنترل‌کننده بلوتوث پشتیبانی می‌کند (به شروع بارگیری A2DP، توقف بارگیری A2DP مراجعه کنید)
‫۰ = پشتیبانی نمی‌شود
‫۱ = پشتیبانی می‌شود
iso_link_feedback_support ‫۱ هشت‌تایی از رویداد ISO Link Feedback پشتیبانی می‌کند
0 = پشتیبانی نمی‌شود
1 = پشتیبانی می‌شود
sniff_offload_support ‫۱ هشت‌تایی از فرمان‌های Sniff Offload در کنترل‌کننده بلوتوث پشتیبانی می‌کند
0 = پشتیبانی نمی‌شود
1 = پشتیبانی می‌شود
big_set_channel_map_classification_support ‫۲ هشت‌تایی از sub_opcode ویژگی «طبقه‌بندی نقشه کانال پخش LE» پشتیبانی می‌کند
بیت ۰ - از sub_opcode 0x01 (تنظیم نقشه کانال BIG با «دستورات اتصال LE ACL») پشتیبانی می‌کند
بیت ۱ تا ۱۵ - رزروشده
مقدار بیت: ۰
۰ = پشتیبانی نمی‌شود
۱ = پشتیبانی می‌شود
vendor_connection_handle_min ‫۲ هشت‌تایی حداقل مقدار دسته‌های اتصال فروشنده را برای رویدادهای فروشنده HCI که ازطریق بسته‌های ACL دریافت شده است گزارش کنید. از دستگیره ۰ برای نشان دادن عدم پشتیبانی از گزارش رویداد فروشنده ازطریق بسته‌های داده ACL استفاده می‌شود.
vendor_connection_handle_max ‫۲ هشت‌تایی گزارش حداکثر مقدار دسته‌های اتصال فروشنده برای رویدادهای فروشنده HCI که ازطریق بسته‌های ACL دریافت شده است. از دستگیره ۰ برای نشان دادن عدم پشتیبانی از گزارش رویداد فروشنده ازطریق بسته‌های داده ACL استفاده می‌شود.
connection_proximity_threshold_support ‫۱ هشت‌تایی آیا تراشه از آستانه مجاورت اتصال پشتیبانی می‌کند
۰ = پشتیبانی نمی‌شود
۱ = پشتیبانی می‌شود

نتایج اسکن دسته‌ای

هدف طراحی این است که نحوه ارائه اعلان‌های رویداد «پاسخ اسکن Bluetooth LE» به میزبان بهبود یابد تا در میزبان صرفه‌جویی در مصرف انرژی شود.

با کاهش دفعاتی که کنترل‌کننده به پردازنده برنامه میزبان اطلاع می‌دهد تا نتایج را اسکن کند، پردازنده برنامه میزبان می‌تواند مدت بیشتری در حالت بیکار/خواب بماند. این کار مصرف برق را در میزبان کاهش می‌دهد. پارامتر برگشت total_scan_results_storage از LE_Get_Vendor_Capabilities_Command نشان‌دهنده قابلیت تراشه برای ذخیره نتایج اسکن است.

این ویژگی بر مدیریت و پیکربندی تسهیلات ذخیره‌سازی «نتایج اسکن کم‌مصرف» در کنترل‌کننده بلوتوث تمرکز دارد. از فضای ذخیره‌سازی برای دسته‌ای کردن موقت داده‌های تبلیغات و داده‌های اسکن و فراداده‌هایی که کنترل‌کننده دریافت می‌کند استفاده می‌شود تا بعداً به میزبان تحویل داده شوند.

سفت‌افزار باید از دو نوع دسته‌بندی پشتیبانی کند که می‌توانند به‌طور هم‌زمان فعال شوند:

  • کوتاه‌شده. حاوی عناصر اطلاعاتی زیر است: {MAC, TX Power, RSSI, Timestamp}
  • کامل. حاوی عناصر اطلاعاتی زیر است: {MAC،‏ TX Power،‏ RSSI، مُهر زمان، Adv Data،‏ Scan Response}

LE_Batch_Scan_Command

OCF: 0x156

پارامتر فرمان اندازه هدف
Batch_Scan_opcode ‫۱ هشت‌تایی ‫0x1 - فعال کردن ویژگی مختص مشتری
‫0x2 - تنظیم پارامترهای «فضای ذخیره‌سازی اسکن دسته‌ای»
‫0x3 - تنظیم پارامترهای «اسکن دسته‌ای»
‫0x4 - خواندن پارامترهای «نتیجه اسکن دسته‌ای»

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد. فعال کردن ویژگی مشتری‌محور باعث شروع اسکن نمی‌شود.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Batch_Scan_opcode ‫۱ هشت‌تایی ‫0x1 - فعال کردن ویژگی مختص مشتری
‫0x2 - تنظیم پارامترهای «فضای ذخیره‌سازی اسکن دسته‌ای»
‫0x3 - تنظیم پارامترهای «اسکن دسته‌ای»
‫0x4 - خواندن پارامترهای «نتیجه اسکن دسته‌ای»

LE_Batch_Scan_Command: فعال کردن ویژگی مختص مشتری

Sub OCF: 0x01

پارامتر زیرفرمان اندازه هدف
enable_customer_specific_feature_set ‫۱ هشت‌تایی 0x01 - فعال کردن ویژگی «اسکن دسته‌ای»
0x00 - غیرفعال کردن ویژگی «اسکن دسته‌ای»

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Batch_Scan_opcode ‫۱ هشت‌تایی ‫0x1 - فعال کردن ویژگی مختص مشتری
‫0x2 - تنظیم پارامترهای «ذخیره‌سازی اسکن دسته‌ای»
‫0x3 - تنظیم پارامترهای «اسکن دسته‌ای»
‫0x4 - خواندن پارامترهای «نتیجه اسکن دسته‌ای»

LE_Batch_Scan_Command: زیرفرمان تنظیم پارامتر فضای ذخیره‌سازی اسکن دسته‌ای

Sub OCF: 0x02

پارامتر زیرفرمان اندازه هدف
Batch_Scan_Full_Max ‫۱ هشت‌تایی حداکثر فضای ذخیره‌سازی (به درصد) اختصاص‌داده‌شده به سبک کامل
[محدوده: ۰-۱۰۰]
Batch_Scan_Truncated_Max ‫۱ هشت‌تایی حداکثر فضای ذخیره‌سازی (به درصد) اختصاص‌داده‌شده به سبک کوتاه
[محدوده: ۰-۱۰۰]
Batch_Scan_Notify_Threshold ‫۱ هشت‌تایی سطح اعلان را (به‌صورت درصد) برای استخر ذخیره‌سازی فردی راه‌اندازی کنید
[محدوده: ۰ تا ۱۰۰]
اگر روی ۰ تنظیم کنید، اعلان غیرفعال می‌شود. رویداد HCI مختص فروشنده تولید می‌شود (رویداد فرعی نقض آستانه ذخیره‌سازی)

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Batch_scan_opcode ‫۱ هشت‌تایی 0x02 [Set Batch Scan parameters]

LE_Batch_Scan_Command: تنظیم زیرفرمان پارامتر اسکن دسته‌ای

Sub OCF: 0x03

پارامتر زیرفرمان اندازه هدف
Batch_Scan_Mode ‫۱ هشت‌تایی 0x00 – اسکن دسته‌ای غیرفعال است
0x01 – حالت کوتاه فعال است
0x02 – حالت کامل فعال است
0x03 – حالت کوتاه و کامل فعال است
Duty_cycle_scan_window ‫۴ هشت‌تایی زمان اسکن «اسکن دسته‌ای» (# از جایگاه)
Duty_cyle_scan_interval ‫۴ هشت‌تایی دوره فاصله زمانی «اسکن دسته‌ای» (تعداد وقت آزاد)
own_address_type ‫۱ هشت‌تایی 0x00 - نشانی عمومی دستگاه
0x01 - نشانی تصادفی دستگاه
Batch_scan_Discard_Rule ‫۱ هشت‌تایی ‫۰ - صرف‌نظر کردن از قدیمی‌ترین آگهی
۱ - صرف‌نظر کردن از آگهی با ضعیف‌ترین RSSI

این زیرفرمان اسکن دسته‌ای را درصورت فعال بودن شروع می‌کند. در اسکن «کوته‌شده»، نتایج به‌صورت کوته‌شده ذخیره می‌شوند که در آن کلید یکتای سبک «کوته‌شده» = {BD_ADDR, scan_interval}. این یعنی فقط یک BD_ADDR will برای هر فاصله اسکن ضبط می‌شود. ثبت برای نگهداری در حالت «کوته‌شده» به‌صورت زیر است: {BD_ADDR، توان انتقالی، قدرت سیگنال دریافتی، مُهر زمان}

وقتی «حالت کامل» فعال باشد، از اسکن فعال استفاده می‌شود و «پاسخ‌های اسکن» ضبط خواهد شد. کلید یکتای «سبک کامل» = {MAC، بسته آگهی}، بدون درنظر گرفتن فاصله اسکن. ثبت برای نگهداری در حالت «کامل» عبارت است از {BD_ADDR، قدرت انتقال، شاخص قدرت سیگنال دریافتی، مُهر زمان، بسته آگهی، پاسخ اسکن}. در سبک «کامل»، بسته AD یکسان، وقتی چندین بار در فاصله‌های زمانی اسکن مختلف دیده می‌شود، فقط یک‌بار ضبط می‌شود. بااین‌حال، در حالت «کوته‌شده»، رؤیت‌پذیری BA_ADDR در فاصله‌های اسکن مختلف موردتوجه است (یک‌بار در هر فاصله اسکن). ‫RSSI مقدار میانگین همه موارد تکراری آگهی یکتا در فاصله اسکن است.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Batch_scan_opcode ‫۱ هشت‌تایی ‫0x03 [تنظیم پارامترهای اسکن دسته‌ای]

LE_Batch_Scan_Command: Read batch scan results subcommand

کد عملیات فرعی: 0x04

پارامتر زیرفرمان اندازه هدف
Batch_Scan_Data_read ‫۱ هشت‌تایی 0x01 - داده‌های حالت کوتاه
0x02 - داده‌های حالت کامل

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد. وقتی میزبان این فرمان را صادر می‌کند، ممکن است همه نتایج در کنترل‌کننده در یک رویداد «تکمیل فرمان» جا نشود. میزبان این فرمان را تکرار می‌کند تا زمانی که نتایج مربوطه در رویداد «تکمیل فرمان» عدد ۰ را در تعداد سوابق نشان دهد، که نشان‌دهنده این است که کنترل‌کننده سوابق بیشتری برای ارسال به میزبان ندارد. هر رویداد «فرمان تکمیل شد» می‌تواند شامل چندین سابقه از فقط یک نوع داده (کامل یا کوتاه‌شده) باشد.

مرجع‌های زمانی کنترل‌کننده و میزبان همگام‌سازی نشده‌اند. واحد مُهر زمان ۵۰ میلی‌ثانیه است. مقدار مُهر زمان براساس زمانی است که Read_Batch_Scan_Results_Sub_cmd توسط میزبان داده می‌شود. اگر زمان رسیدن فرمان در سفت‌افزار T_c باشد، زمان واقعی که مُهر زمان در سفت‌افزار گرفته شده است T_fw است. زمان گزارش‌دهی این خواهد بود: (T_c - T_fw). T_c و T_fw در دامنه زمانی میان‌افزار هستند. این کار به میزبان امکان می‌دهد محاسبه کند رویداد چه مدت پیش رخ داده است.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Batch_scan_opcode ‫۱ هشت‌تایی ‫0x03 [تنظیم پارامترهای اسکن دسته‌ای]
Batch_Scan_data_read ‫۱ هشت‌تایی قالب را مشخص می‌کند (کوتاه‌شده یا کامل)
num_of_records ‫۱ هشت‌تایی تعداد سوابق Batch_Scan_data_read
format_of_data متغیر Truncated Mode:
Address[0]: 6 octets
Address_Type[0]: 1 octet
Tx_Pwr[0]: 1 octet
RSSI[0] : 1 octet
Timestamp[0]: 2 octets
[multiple records (num_of_records) with above format]

Full Mode:
Address[0]: 6 octets
Address_Type[0]: 1 octet
Tx_Pwr[0]: 1 octet
RSSI[0]: 1 octet
Timestamp[0]: 2 octets
Adv packet_len[0]: 1 octet
Adv_packet[0]: Adv_packet_len octets
Scan_data_resp_len[0]: 1 octet
Scan_data_resp[0]: Scan_data_resp octets
[multiple records with above format (num_of_records)]

فیلتر محتوای بسته تبلیغاتی

از این برای فعال/غیرفعال/راه‌اندازی «فیلتر محتوای بسته تبلیغاتی» (APCF) در کنترل‌کننده استفاده کنید. ‫APCF گزارش‌های تبلیغات را در کنترل‌کننده فیلتر می‌کند اما تبلیغات دوره‌ای را فیلتر نمی‌کند.

LE_APCF_Command

OCF: 0x157

پارامتر فرمان اندازه هدف
APCF_opcode ‫۱ هشت‌تایی ‫0x00 - فعال کردن APCF
‫0x01 - تنظیم پارامترهای فیلتر APCF
‫0x02 - نشانی فرستنده APCF
‫0x03 - شناسه جهانی سرویس APCF
‫0x04 - شناسه جهانی درخواست سرویس APCF
‫0x05 - نام محلی APCF
‫0x06 - داده‌های سازنده APCF
‫0x07 - داده‌های سرویس APCF
‫0x08 - سرویس شناسایی انتقال APCF
‫0x09 - فیلتر نوع تبلیغات APCF
‫0x10 ~ 0xAF - برای استفاده در آینده رزرو شده است
‫0xB0 ~ 0xDF - برای فروشنده رزرو شده است
‫0xE0 ~ 0xFE - برای استفاده در آینده رزرو شده است
‫0xFF - خواندن ویژگی‌های گسترده APCF

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت برگرداندن
APCF_opcode ‫۱ هشت‌تایی 0x00 - APCF Enable
0x01 - APCF Set Filtering parameters
0x02 - APCF Broadcaster Address
0x03 - APCF Service UUID
0x04 - APCF Service Solicitation UUID
0x05 - APCF Local Name
0x06 - APCF Manufacturer Data
0x07 - APCF Service Data
0x08 - APCF Transport Discovery Service
0x09 - APCF AD Type Filter
0x10 ~ 0xAF - Reserved for future use
0xB0 ~ 0xDF - Reserved for vendor
0xE0 ~ 0xFE - Reserved for future use
0xFF - APCF Read extended Features

LE_APCF_Command: Enable_sub_cmd

Sub OCF: 0x00

پارامتر زیرفرمان اندازه هدف
APCF_enable ‫۱ هشت‌تایی 0x01 - فعال کردن ویژگی APCF
0x00 - غیرفعال کردن ویژگی APCF

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی 0x0 - APCF Enable (فعال کردن APCF)
APCF_Enable ‫۱ هشت‌تایی فعال/غیرفعال کردن ازطریق APCF_enable تنظیم می‌شود

LE_APCF_Command: set_filtering_parameters_sub_cmd

این زیرفرمان برای افزودن یا حذف مشخصات فیلتر یا پاک کردن فهرست فیلتر برای فیلتر کردن روی تراشه استفاده می‌شود.

Sub OCF: 0x01

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی ‫0x00 - افزودن
‫0x01 - حذف
‫0x02 - پاک کردن
حذف کردن فیلتر خاص را به‌همراه ورودی‌های ویژگی مرتبط در جدول‌های دیگر پاک می‌کند.
«پاک کردن» همه فیلترها و ورودی‌های مرتبط در جدول‌های دیگر را پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی شاخص فیلتر (۰، max_filter-1)
APCF_Feature_Selection ‫۲ هشت‌تایی ماسک‌های بیت برای ویژگی‌های انتخاب‌شده:
بیت ۰: برای فعال کردن فیلتر «نشانی همه‌فرستی» تنظیم شده است
بیت ۱: برای فعال کردن فیلتر «تغییر داده خدمات» تنظیم شده است
بیت ۲: برای فعال کردن بررسی «شناسه جهانی خدمات» تنظیم شده است
بیت ۳: برای فعال کردن بررسی «شناسه جهانی درخواست خدمات» تنظیم شده است
بیت ۴: برای فعال کردن بررسی «نام محلی» تنظیم شده است
بیت ۵: برای فعال کردن بررسی «داده‌های سازنده» تنظیم شده است
بیت ۶: برای فعال کردن بررسی «داده‌های خدمات» تنظیم شده است
بیت ۷: برای فعال کردن بررسی «خدمات شناسایی انتقال» تنظیم شده است
بیت ۸: برای فعال کردن بررسی «نوع تبلیغات» تنظیم شده است
APCF_List_Logic_Type ۲ هشت‌تایی عملگر منطقی برای هر انتخاب ویژگی (موقعیت هر بیت) در APCF_Feature_Selection مشخص شده است.
فقط وقتی ویژگی‌ای فعال باشد معتبر است.
مقدار موقعیت بیت:
۰: یا
۱: و
اگر منطق «و» انتخاب شده باشد، بسته ADV فقط درصورتی از فیلتر عبور می‌کند که همه ورودی‌های فهرست را داشته باشد.
اگر منطق «یا» انتخاب شده باشد، بسته ADV درصورتی از فیلتر عبور می‌کند که حاوی هریک از ورودی‌های فهرست باشد.
APCF_Filter_Logic_Type ‫۱ هشت‌تایی ‫0x00: OR
0x01: AND
توجه: نوع منطق برای سه فیلد اول APCF_Feature_Selection «N/A» (نامربوط) است که همیشه منطق «AND» است. این فقط برای چهار فیلد (بیت ۳ تا بیت ۶) از APCF_Feature_Selection قابل‌اعمال است.
rssi_high_thresh ‫۱ هشت‌تایی [به دسی‌بل میلی‌وات]
تبلیغ‌کننده فقط درصورتی دیده می‌شود که سیگنال بالاتر از آستانه بالای RSSI باشد. درغیراین‌صورت، سفت‌افزار باید طوری رفتار کند که انگار هرگز آن را ندیده است.
delivery_mode ‫۱ هشت‌تایی 0x00 - immediate
0x01 - on_found
0x02 - batched
onfound_timeout ‫۲ هشت‌تایی فقط درصورتی معتبر است که delivery_mode on_found باشد.
[به میلی‌ثانیه]
زمان ماندگاری میان‌افزار و جمع‌آوری تبلیغات اضافی قبل‌از گزارش کردن.
onfound_timeout_cnt ‫۱ هشت‌تایی فقط درصورتی معتبر است که delivery_mode on_found باشد.
[count]
اگر آگهی‌ای در onFound برای مدت onfound_timeout در سفت‌افزار باقی بماند، چند آگهی جمع‌آوری می‌کند و تعداد بررسی می‌شود. اگر تعداد از onfound_timeout_cnt بیشتر شود، OnFound بلافاصله پس‌از آن گزارش می‌شود.
rssi_low_thresh ‫۱ هشت‌تایی فقط درصورتی معتبر است که delivery_mode on_found باشد.
[در dBm]
اگر «شاخص قدرت سیگنال دریافتی» بسته دریافتی بالاتر از آستانه پایین «شاخص قدرت سیگنال دریافتی» نباشد، بسته آگهی‌دهنده به‌عنوان دیده نشده درنظر گرفته می‌شود.
onlost_timeout ‫۲ هشت‌تایی فقط درصورتی معتبر است که delivery_mode on_found باشد.
[به میلی‌ثانیه]
اگر تبلیغی پس‌از پیدا شدن به‌صورت پیوسته برای دوره lost_timeout دیده نشود، بلافاصله به‌عنوان ازدست‌رفته گزارش خواهد شد.
num_of_tracking_entries ‫۲ هشت‌تایی فقط درصورتی معتبر است که delivery_mode on_found باشد.
[count]
تعداد کل تبلیغ‌کنندگان برای پیگیری براساس فیلتر.

مقادیر RSSI باید از مکمل ۲ برای نشان دادن مقادیر منفی استفاده کنند.

میزبان باید بتواند چندین فیلتر را با APCF_Application_Address_type تنظیم‌شده روی 0x02 (برای همه نشانی‌های همه‌فرست) پیکربندی کند تا بتواند ترکیب‌های مختلف فیلتر را مدیریت کند.

فیلتر کردن، دسته‌بندی کردن، و گزارش دادن مفاهیم مرتبط با یکدیگر هستند. هر آگهی و پاسخ اسکن مربوطه باید از همه فیلترها، یکی پس‌از دیگری، عبور کند. بنابراین، کنش‌های حاصل (delivery_mode) ارتباط نزدیکی با فیلتر کردن دارند. حالت‌های ارسال عبارت‌اند از: report_immediately، batch، و onFound. مقدار OnLost به OnFound مرتبط است، به این معنا که درصورت گم شدن، بعداز OnFound خواهد آمد.

این جریان پردازش مدل مفهومی را نشان می‌دهد:

وقتی قاب آگهی (یا پاسخ اسکن) دریافت می‌شود، به همه فیلترها به‌ترتیب اعمال می‌شود. ممکن است تبلیغی براساس یک فیلتر باعث گزارش‌دهی فوری شود و همان تبلیغ براساس کنش فیلتر دیگری دسته‌بندی شود.

آستانه‌های سطح RSSI (بالا و پایین) این امکان را فراهم می‌کند که کنترل کنید قاب چه زمانی برای پردازش فیلتر قابل‌مشاهده باشد، حتی زمانی که کنترل‌کننده بسته معتبری دریافت می‌کند. درصورتی‌که حالت تحویل روی فوری یا دسته‌ای تنظیم شده باشد، RSSI قاب برای پردازش بیشتر کنترل‌کننده درنظر گرفته می‌شود. برنامه‌های مختلف به گزارش‌دهی و رفتار دسته‌ای متفاوت نیاز دارند. این کار به چندین برنامه اجازه می‌دهد گزارش‌دهی مستقیم و/یا دسته‌بندی نتایج را به‌طور هم‌زمان در میان‌افزار داشته باشند. مثال: وقتی اسکن دسته‌ای از یک برنامه فعال است و بعداً اسکن LE معمولی از برنامه دیگری صادر می‌شود. قبل‌از اینکه اسکن دسته‌ای صادر شود، چارچوب/برنامه فیلترهای مناسب را تنظیم می‌کند. بعداً، وقتی برنامه دوم اسکن معمولی انجام می‌دهد، دسته‌بندی قبلی ادامه می‌یابد. بااین‌حال، به‌دلیل اسکن منظم، این کار شبیه به افزودن مفهومی فیلتر تهی (همراه با همه فیلترهای موجود) به‌همراه فرمان اسکن LE است. پارامترهای فرمان اسکن LE درصورت فعال بودن اولویت دارند. وقتی اسکن LE معمولی غیرفعال باشد، کنترل‌کننده به اسکن دسته‌ای قبلی (درصورت وجود) برمی‌گردد.

حالت تحویل OnFound براساس فیلترهای پیکربندی‌شده است. ترکیبی که باعث شود کنش فیلتر موفق شود به‌عنوان نهاد موردنظر برای ردیابی onLost درنظر گرفته می‌شود. رویداد مربوطه زیررویداد ردیابی تبلیغات LE است.

گذار OnFound/OnLost برای فیلتر (درصورت فعال بودن) به این شکل خواهد بود:

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی 0x01 - APCF Set Filtering Parameters
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های دردسترس در جدول فیلترها

LE_APCF_Command: broadcast_address_sub_cmd

از این فرمان فرعی برای افزودن یا حذف نشانی تبلیغ‌کننده یا پاک کردن فهرست نشانی تبلیغ‌کننده برای فیلتر کردن درون‌تراشه‌ای استفاده می‌شود.

Sub OCF: 0x02

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی ‫0x00 - افزودن
‫0x01 - حذف
‫0x02 - پاک کردن
«حذف» نشانی همه‌فرست مشخص‌شده را در فیلتر مشخص‌شده حذف می‌کند.
«پاک کردن» همه نشانی‌های همه‌فرست را در فیلتر مشخص‌شده پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی نمایه فیلتر (۰، max_filter-1)
APCF_Broadcaster_Address ‫۶ هشت‌تایی نشانی دستگاه ۶ بایتی برای افزودن به فهرست نشانی همه‌فرست یا حذف از آن
APCF_Application_Address_type ‫۱ هشت‌تایی ‫0x00: عمومی
‫0x01: تصادفی
‫0x02: ناموجود (نوع نشانی نادیده گرفته می‌شود)
برای فیلتر کردن گزارش‌های تبلیغات با انواع نشانی هویت (0x02،‏ 0x03). برای دریافت گزارش‌های تبلیغاتی با انواع نشانی 0x02 و 0x03، این فیلد را روی 0x02: NA (نوع نشانی را نادیده بگیرید) تنظیم کنید.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی 0x02 - APCF Broadcaster Address
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز در جدول «نشانی همه‌فرستی» دردسترس است

LE_APCF_Command: service_uuid_sub_cmd

از این زیرفرمان برای افزودن یا حذف کردن «شناسه جهانی سرویس» یا پاک کردن فهرست «شناسه جهانی سرویس» برای فیلتر کردن روی تراشه استفاده می‌شود.

Sub OCF: 0x03

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی 0x00 - افزودن
0x01 - حذف
0x02 - پاک کردن
«حذف» نشانی UUID سرویس مشخص‌شده را در فیلتر مشخص‌شده حذف می‌کند.
Clear (پاک کردن) همه UUIDهای سرویس را در فیلتر مشخص‌شده پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی شاخص فیلتر (۰، max_filter-۱)
APCF_UUID ‫۲،‏ ۴،‏ ۱۶ هشت‌تایی شناسه UUID سرویس (۱۶ بیتی، ۳۲ بیتی، یا ۱۲۸ بیتی) برای افزودن به فهرست یا حذف از آن.
APCF_UUID_MASK ‫۲،‏ ۴،‏ ۱۶ هشت‌تایی «پوشش شناسه جهانی سرویس» (۱۶ بیتی، ۳۲ بیتی، یا ۱۲۸ بیتی) برای افزودن به فهرست. باید طول آن با APCF_UUID. یکسان باشد

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی ‫0x03 - شناسه منحصربه‌فرد جهانی سرویس APCF
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز در جدول «شناسه جهانی سرویس» دردسترس است

LE_APCF_Command: solicitation_uuid_sub_cmd

از این فرمان فرعی برای افزودن یا حذف کردن «شناسه منحصربه‌فرد جهانی» درخواست یا پاک کردن فهرست «شناسه منحصربه‌فرد جهانی» درخواست برای فیلتر کردن درون‌تراشه‌ای استفاده می‌شود.

Sub OCF: 0x04

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی ‫0x00 - افزودن
‫0x01 - حذف
‫0x02 - پاک کردن
حذف کردن نشانی UUID درخواست را در فیلتر مشخص‌شده حذف می‌کند.
«پاک کردن» همه شناسه‌های UUID درخواست را در فیلتر مشخص‌شده پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی شاخص فیلتر (۰، max_filter-۱)
APCF_UUID ‫۲،‏ ۴،‏ ۱۶ هشت‌تایی «شناسه جهانی یکتای» درخواست (۱۶ بیتی، ۳۲ بیتی، یا ۱۲۸ بیتی) برای افزودن به فهرست یا حذف از آن.
APCF_UUID_MASK هشت‌تایی ۲، ۴، ۱۶ «پوشش شناسه جهانی درخواست» (۱۶ بیتی، ۳۲ بیتی، یا ۱۲۸ بیتی) برای افزودن به فهرست. طول آن باید با APCF_UUID یکسان باشد.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی ‫0x04 - شناسه منحصربه‌فرد جهانی درخواست APCF
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز در جدول «شناسه جهانی یکتای درخواست» دردسترس است

LE_APCF_Command: local_name_sub_cmd

این زیرفرمان برای افزودن یا حذف رشته نام محلی یا پاک کردن فهرست رشته نام محلی برای فیلتر کردن روی تراشه استفاده می‌شود.

Sub OCF: 0x05

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی 0x00 - افزودن
0x01 - حذف
0x02 - پاک کردن
حذف کردن رشته نام محلی مشخص‌شده را در فیلتر مشخص‌شده حذف می‌کند.
«پاک کردن» همه رشته‌های نام محلی را در فیلتر مشخص‌شده پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی شاخص فیلتر (۰، max_filter-۱)
APCF_LocName_Mandata_or_SerData اندازه متغیر رشته نویسه‌ای برای نام محلی.

نکته‌ها:
  • درحال‌حاضر حداکثر تعداد نویسه‌ها در رشته نام محلی ۲۹ است
  • وقتی کنش «پاک کردن» (0x2) باشد، قابل‌اجرا نیست

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی ‫0x05 - نام محلی APCF
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز در جدول «نام محلی» دردسترس است

LE_APCF_Command: manf_data_sub_cmd

این زیرفرمان برای افزودن یا حذف رشته داده سازنده یا برای پاک کردن فهرست رشته داده سازنده برای فیلتر کردن روی تراشه استفاده می‌شود.

Sub OCF: 0x06

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی ‫0x00 - افزودن
‫0x01 - حذف
‫0x02 - پاک کردن
«حذف» رشته داده‌های سازنده مشخص‌شده را در فیلتر مشخص‌شده حذف می‌کند.
با «پاک کردن»، همه رشته‌های داده سازنده در فیلتر مشخص‌شده پاک خواهد شد.
APCF_Filter_Index ‫۱ هشت‌تایی فیلتر کردن شاخص (۰، max_filter-۱)
APCF_LocName_Mandata_or_SerData اندازه متغیر رشته نویسه‌ای برای داده‌های سازنده.

نکته‌ها:
  • درحال‌حاضر حداکثر تعداد نویسه‌ها در رشته نام محلی ۲۹ است
  • وقتی کنش «پاک کردن» (0x2) باشد، قابل‌اجرا نیست
APCF_ManData_Mask اندازه متغیر ماسک داده‌های تولید برای افزودن به فهرست. باید همان طول APCF_LocName_or_ManData_or_SerData را داشته باشد.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی 0x06 - APCF Manufacturer Data
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز در جدول «داده‌های سازنده» دردسترس است

LE_APCF_Command: service_data_sub_cmd

این زیرفرمان برای افزودن یا حذف رشته داده سرویس یا پاک کردن فهرست رشته داده سرویس برای فیلتر کردن روی تراشه استفاده می‌شود.

کد فرعی OCF: 0x07

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی 0x00 - افزودن
0x01 - حذف
0x02 - پاک کردن
حذف رشته داده سرویس مشخص‌شده را در فیلتر مشخص‌شده حذف می‌کند.
«پاک کردن» همه رشته‌های داده سرویس را در فیلتر مشخص‌شده پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی فیلتر کردن شاخص (۰، max_filter-۱)
APCF_LocName_Mandata_or_SerData اندازه متغیر رشته نویسه‌ای برای داده‌های سرویس.

نکته‌ها:
  • درحال‌حاضر حداکثر تعداد نویسه‌ها در رشته نام محلی ۲۹ است
  • وقتی کنش «پاک کردن» (0x2) باشد، قابل‌اجرا نیست
APCF_LocName_Mandata_or_SerData_Mask اندازه متغیر پوشش داده‌های سرویس برای افزودن به فهرست. باید طول آن با APCF_LocName_or_ManData_or_SerData. یکسان باشد

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی 0x07 - داده‌های سرویس APCF
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز برای جدول «داده‌های سرویس» دردسترس است

LE_APCF_Command: transport_discovery_service_sub_cmd

از این فرمان فرعی برای افزودن یا حذف فیلتر «سرویس شناسایی حمل‌ونقل» (TDS) یا پاک کردن فهرست فیلتر TDS برای فیلتر کردن روی تراشه استفاده می‌شود. از read_extended_features_sub_cmd برای بررسی اینکه این فرمان پشتیبانی می‌شود یا نه استفاده کنید.

کد فرمان فرعی OCF: 0x08

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی ‫0x00 - افزودن
‫0x01 - حذف
‫0x02 - پاک کردن
حذف فیلتر TDS مشخص‌شده را در فیلتر مشخص‌شده حذف می‌کند.
«پاک کردن» همه فیلترهای TDS را در فیلتر مشخص‌شده پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی فیلتر کردن شاخص (۰، max_filter-۱)
Org_ID ‫۱ هشت‌تایی شناسه سازمان که توسط Bluetooth SIG تعریف شده است. وقتی APCF_Action روی 0x02 (پاک) تنظیم شده است، نادیده گرفته می‌شود.
TDS_Flags ‫۱ هشت‌تایی پرچم‌های TDS برای مطابقت. وقتی APCF_Action روی 0x02 (پاک) تنظیم شده است، نادیده گرفته می‌شود.
TDS_Flags_Mask ‫۱ هشت‌تایی پوشش برای پرچم‌های TDS. وقتی APCF_Action برابر با 0x02 (پاک) است، نادیده گرفته شود.
Transport_Data_Length ‫۱ هشت‌تایی طول Transport_Data. وقتی APCF_Action برابر با 0x02 (پاک) است، نادیده گرفته شود.
Transport_Data اندازه متغیر اندازه متغیر، براساس Transport_Data_Length. داده‌های بلوک انتقال برای مطابقت. وقتی APCF_Action روی 0x02 (پاک) تنظیم شده است، نادیده گرفته می‌شود.
Transport_Data_Mask_Length ‫۱ هشت‌تایی طول Transport_Data_Mask. این مقدار باید برابر با Transport_Data_Length باشد. وقتی APCF_Action روی 0x02 (پاک) تنظیم شده است، نادیده گرفته می‌شود.
Transport_Data_Mask اندازه متغیر اندازه متغیر، براساس Transport_Data_Mask_Length. پوشش برای داده‌های بلوک «حمل‌ونقل». باید طول آن با Transport_Data یکسان باشد. وقتی APCF_Action برابر با 0x02 (پاک) است، نادیده گرفته شود.
Meta_Data_Type ‫۱ هشت‌تایی ‫0x00 - نامعتبر
‫0x01 - درهم‌سازی Wi-Fi NAN
وقتی APCF_Action برابر با 0x02 (پاک) است، نادیده گرفته می‌شود.
Meta_Data_Length ‫۱ هشت‌تایی طول Meta_Data. وقتی APCF_Action روی 0x02 (پاک) تنظیم شده است، نادیده گرفته می‌شود.
Meta_Data اندازه متغیر اندازه متغیر، براساس Meta_Data_Length. فراداده برای مطابقت. وقتی APCF_Action برابر با 0x02 (پاک) است، نادیده گرفته شود.

رویداد «فرمان تکمیل شد» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی 0x08 - APCF Transport Discovery Service
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز در جدول فیلتر TDS دردسترس است

LE_APCF_Command: ad_type_sub_cmd

این فرمان فرعی برای افزودن یا حذف نوع AD یا پاک کردن فهرست نوع AD برای فیلتر کردن روی تراشه استفاده می‌شود. از read_extended_features_sub_cmd استفاده کنید تا بررسی کنید این فرمان پشتیبانی می‌شود یا نه.
وقتی APCF_AD_DATA_Length برابر با ۰ است، APCF_AD_TYPE را بدون مقایسه «داده‌های AD» و «ماسک داده‌های AD» فیلتر کنید. اگر طول داده بسته ADV دریافتی از AD_DATA_LENGTH بیشتر باشد، فقط AD_DATA_LENGTH بایت اول داده AD را مقایسه کنید و بقیه داده‌ها را نادیده بگیرید.

Sub OCF: 0x09

پارامتر زیرفرمان اندازه هدف
APCF_Action ‫۱ هشت‌تایی ‫0x00 - افزودن
‫0x01 - حذف
‫0x02 - پاک کردن
حذف نوع AD مشخص‌شده را در فیلتر مشخص‌شده حذف می‌کند.
پاک کردن همه انواع «آگهی» را در فیلتر مشخص‌شده پاک می‌کند.
APCF_Filter_Index ‫۱ هشت‌تایی فیلتر کردن شاخص (۰، max_filter-۱)
APCF_AD_TYPE ‫۱ هشت‌تایی نوع آگهی برای افزودن به فهرست یا حذف از آن. نادیده گرفتن وقتی APCF_Action برابر با 0x02 (پاک کردن) است
APCF_AD_DATA_Length ‫۱ هشت‌تایی ‫0x00 - یعنی محتوای داده فیلتر نشود
وقتی APCF_Action برابر با 0x02 (پاک کردن) باشد، نادیده گرفته می‌شود
APCF_AD_DATA اندازه متغیر اندازه متغیر، براساس APCF_AD_DATA_Length
وقتی APCF_Action برابر با 0x02 (پاک کردن) است نادیده گرفته می‌شود
APCF_AD_DATA_MASK اندازه متغیر اندازه متغیر، براساس APCF_AD_DATA_Length
وقتی APCF_Action برابر با 0x02 (پاک کردن) است، نادیده گرفته می‌شود
باید طول آن با APCF_AD_DATA یکسان باشد.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی ‫0x09 - نوع آگهی APCF
APCF_Action ‫۱ هشت‌تایی پژواک فرمان APCF_Action
APCF_AvailableSpaces ‫۱ هشت‌تایی تعداد ورودی‌های رایگان که هنوز در جدول «نوع آگهی» دردسترس است

LE_APCF_Command: read_extended_features_sub_cmd

از این فرمان فرعی برای خواندن ویژگی‌های گسترده APCF استفاده می‌شود.

Sub OCF: 0xFF

پارامتر زیرفرمان اندازه هدف
نامربوط پارامتر فرمان خالی است.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
APCF_opcode ‫۱ هشت‌تایی 0xFF - APCF_Read_Extended_Features
APCF_extended_features ‫۲ هشت‌تایی

ماسک‌های بیت برای ویژگی‌های گسترده پشتیبانی‌شده:

  • بیت ۰: پشتیبانی از فیلتر «سرویس کشف حمل‌ونقل»
  • بیت ۱: پشتیبانی از فیلتر «نوع آگهی»
  • بیت ۲ تا ۱۵: برای استفاده در آینده رزرو شده است

مقدار بیت

  • 0 = پشتیبانی نمی‌شود
  • ‫۱ = پشتیبانی‌شده

فرمان اطلاعات انرژی و فعالیت کنترل‌کننده

هدف از این اطلاعات این است که عملکردهای سیستم میزبان بالاتر بتوانند فعالیت‌های کلی همه عناصر، ازجمله کنترل‌کننده BT و وضعیت کلان آن را، همراه با آنچه در برنامه‌ها و چارچوب اتفاق می‌افتد تجزیه‌وتحلیل کنند. برای انجام این کار، اطلاعات زیر از پشته BT و کنترل‌کننده لازم است:

  • پشته بلوتوث: وضعیت کلان‌عملیاتی فعلی کنترل‌کننده را گزارش می‌کند
  • سفت‌افزار: گزارش اطلاعات تجمیعی فعالیت و انرژی

وضعیت‌های کلان پشته میزبان بلوتوث، همان‌گونه که در سطح کاربر تعیین شده است:

  • درحالت آماده به‌کار: [اسکن صفحه، تبلیغات LE، اسکن پرسش، اسکن LE]
  • اسکن: [صفحه‌بندی/پرس‌وجو/تلاش برای اتصال]
  • فعال: [پیوند ACL روشن، پیوند SCO درحال انجام، حالت استراق سمع]

فعالیت‌هایی که کنترل‌کننده در طول عمر خود پیگیری می‌کند عبارت‌اند از زمان انتقال، زمان دریافت، زمان بیکاری، و کل انرژی مصرف‌شده. وقتی از میزبان خوانده می‌شوند، پاک می‌شوند.

LE_Get_Controller_Activity_Energy_Info

این فرمان مختص ارائه‌دهنده است.

OCF: 0x159

پارامتر زیرفرمان اندازه هدف
NA پارامترهای فرمان خالی است

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت تکمیل فرمان
total_tx_time_ms ۴ هشت‌تایی کل زمان انجام Tx
total_rx_time_ms ‫۴ هشت‌تایی کل زمان اجرای Rx
total_idle_time_ms ۴ هشت‌تایی کل زمان در حالت بی‌کار (حالت‌های کم‌مصرف غیرخواب)
total_energy_used ‫۴ هشت‌تایی کل انرژی مصرف‌شده [حاصل‌ضرب جریان (میلی‌آمپر)، ولتاژ (ولت)، و زمان (میلی‌ثانیه)]

فرمان پارامترهای اسکن مجموعه گسترده LE

از این فرمان می‌توان برای فعال کردن پنجره و فاصله اسکن بزرگ‌تر در کنترل‌کننده استفاده کرد. طبق «مشخصات اصلی بلوتوث ۵.۲»، پنجره اسکن و فاصله دارای حد بالایی ۱۰٫۲۴ ثانیه است که فواصل اسکن فراتر از ۱۰٫۲۴ ثانیه را برای برنامه‌ها مختل می‌کند.

مرجع پایه: مشخصات BT Core 5.2، صفحه ۲۴۹۳ (فرمان پارامترهای LE Set Scan )

OCF: 0x15A

پارامتر فرمان اندازه هدف
LE_Ex_Scan_Type ‫۱ هشت‌تایی ‫0x00 - اسکن منفعل. هیچ بسته SCAN_REQ نباید ارسال شود (پیش‌فرض).
0x01 - اسکن فعال. ممکن است SCAN_REQ بسته ارسال شود.
LE_Ex_Scan_Interval ‫۴ هشت‌تایی به‌عنوان فاصله زمانی از وقتی که «کنترل‌کننده» آخرین اسکن LE خود را شروع کرد تا وقتی که اسکن LE بعدی را آغاز کرد تعریف می‌شود.
محدوده: 0x0004 تا 0x00FFFFFF
پیش‌فرض: 0x0010 (۱۰ میلی‌ثانیه)
زمان = N * ‏۰٫۶۲۵ میلی‌ثانیه
محدوده زمانی: ۲٫۵ میلی‌ثانیه تا ۱۰۴۴۲٫۲۵ ثانیه
LE_Ex_Scan_Window ۴ هشت‌تایی مدت اسکن LE. ‫LE_Scan_Window باید کمتر از LE_Scan_Interval یا مساوی با آن باشد.
محدوده: 0x0004 تا 0xFFFF
پیش‌فرض: 0x0010 (10 میلی‌ثانیه)
زمان = N * 0.625 میلی‌ثانیه
محدوده زمان: ۲٫۵ میلی‌ثانیه تا ۴۰٫۹۵ ثانیه
Own_Address_Type ‫۱ هشت‌تایی 0x00 - نشانی دستگاه عمومی (پیش‌فرض)
0x01 - نشانی دستگاه تصادفی
LE_Ex_Scan_Filter_Policy 0x00 - پذیرفتن همه بسته‌های تبلیغاتی (پیش‌فرض). بسته‌های تبلیغاتی هدایت‌شده که برای این دستگاه آدرس‌دهی نشده‌اند باید نادیده گرفته شوند.
0x01 - Ignore advertisement packets from devices not in the White List Only list. بسته‌های تبلیغات هدایت‌شده که برای این دستگاه نشانی‌گذاری نشده‌اند نادیده گرفته می‌شوند.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت تکمیل فرمان

فرمان دریافت اطلاعات اشکال‌زدایی کنترل‌کننده

هدف این عنصر اطلاعاتی، دریافت اطلاعات اشکال‌زدایی کنترل‌کننده توسط میزبان، در قالب باینری، برای پس‌پردازش و تجزیه‌وتحلیل است. این کار به اشکال‌زدایی مشکلات میدانی کمک می‌کند و مجموعه‌ای از ابزارها را برای مهندسان فراهم می‌کند تا اطلاعات را برای تجزیه‌وتحلیل ثبت کنند. «کنترل‌کننده» می‌تواند اطلاعات را وقتی میزبان ازطریق رویداد درخواست می‌کند (رویداد فرعی «اطلاعات اشکال‌زدایی کنترل‌کننده») یا به‌صورت خودکار وقتی کنترل‌کننده بخواهد ارائه دهد. برای مثال، از آن می‌توان برای گزارش کردن اطلاعات وضعیت میان‌افزار، اطلاعات تخلیه خرابی، اطلاعات گزارش‌گیری، و غیره استفاده کرد.

OCF: 0x15B

پارامتر فرمان اندازه هدف
موجود نیست فهرست پارامتر فرمان خالی است

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت تکمیل فرمان

پشتیبانی از انتقال بار سخت‌افزار A2DP

ویژگی «واگذاری A2DP» از واگذاری فرایند کدبندی صوتی A2DP به پردازنده صوتی متصل به «کنترل‌کننده بلوتوث» پشتیبانی می‌کند. جاری‌سازی داده‌های صوتی کدبندی‌شده مستقیماً از پردازنده صوتی به کنترل‌کننده بلوتوث منتقل می‌شود، بدون اینکه میزبان بلوتوث درگیر شود. «میزبان بلوتوث» همچنان مسئول پیکربندی و کنترل جلسه A2DP است. دو نسخه از فرمان‌ها دردسترس است. فرمان‌های قدیمی با «زیر OCF 0x01-0x02» فقط از کدک‌های متن‌باز پشتیبانی می‌کنند. نسخه‌های دارای Sub-OCF 0x03-0x04 نسبت‌به کدک پیکربندی‌شده آگنوستیک هستند.

OCF: 0x15D

شروع کردن واگذاری A2DP (قدیمی)

Sub OCF: 0x01

از این فرمان هم برای پیکربندی فرایند واگذاری A2DP و هم برای شروع جاری‌سازی A2DP استفاده کنید.

پارامتر فرمان اندازه هدف
Codec ۴ هشت‌تایی نوع کدک را مشخص می‌کند
0x01 - SBC
0x02 - AAC
0x04 - APTX
0x08 - APTX HD
0x10 - LDAC
0x20 - Opus
Max_Latency ‫۲ هشت‌تایی حداکثر تأخیر مجاز (به میلی‌ثانیه). مقدار صفر، پاک‌سازی را غیرفعال می‌کند.
SCMS-T_Enable ۲ هشت‌تایی اکتت ۰: پرچمی که افزودن سرایند SCMS-T را فعال می‌کند.
  • ‫0x00 - سرایند SCMS-T گنجانده نشده است.
  • 0x01 - سرصفحه SCMS-T اضافه شد.

اکتت ۱: مقدار سرصفحه SCMS-T، زمانی که فعال باشد.

Sampling_Frequency ‫۴ هشت‌تایی ‫0x01 - 44100 هرتز
0x02 - 48000 هرتز
0x04 - 88200 هرتز
0x08 - 96000 هرتز
Bits_Per_Sample ‫۱ هشت‌تایی ‫0x01 - 16 بیت در هر نمونه
0x02 - 24 بیت در هر نمونه
0x04 - 32 بیت در هر نمونه
Channel_Mode ‫۱ هشت‌تایی 0x01 - مونو
0x02 - استریو
Encoded_Audio_Bitrate ‫۴ هشت‌تایی نرخ بیت صدای کدگذاری‌شده برحسب بیت در ثانیه.
0x00000000 - نرخ بیت صدا مشخص نشده است و/یا استفاده نشده است.
0x00000001 - 0x00FFFFFF - نرخ بیت صوتی کدبندی‌شده برحسب بیت در ثانیه.
0x01000000 - 0xFFFFFFFF - رزروشده.
Connection_Handle ‫۲ هشت‌تایی دستگیره اتصال اتصال A2DP درحال پیکربندی است
L2CAP_Channel_ID ‫۲ هشت‌تایی شناسه کانال L2CAP که برای این اتصال A2DP استفاده می‌شود
L2CAP_MTU_Size ‫۲ هشت‌تایی حداکثر اندازه MTU مربوط به L2CAP حاوی بسته‌های صوتی کدبندی‌شده
Codec_Information ۳۲ هشت‌تایی اطلاعات مختص کدک.

کدک SBC:

به عناصر اطلاعاتی خاص کدک SBC در A2DP نسخه ۱.۳ مراجعه کنید.
اکتت ۰: طول بلوک | زیرباندها | روش تخصیص
اکتت ۱: حداقل مقدار استخر بیت
اکتت ۲: حداکثر مقدار استخر بیت
اکتت ۳: بسامد نمونه‌برداری | حالت کانال
اکتت ۴-۳۱: رزروشده

کدک AAC:

به عناصر اطلاعاتی خاص کدک AAC در A2DP نسخه ۱.۳ مراجعه کنید
بایت ۰: نوع شیء
بایت ۱؛ b7: نرخ بیت متغیر
بایت ۲-۳۱: رزروشده

کدک LDAC:

بایت ۰-۳: شناسه فروشنده
0x0000012D

اکتت ۴-۵: شناسه کدک
0x00AA - LDAC
همه مقادیر دیگر رزرو شده‌اند

اکتت ۶: شاخص نرخ بیت:
0x00 - بالا
0x01 - متوسط
0x02 - پایین
0x03 - 0x7E - رزروشده
0x7F - ABR (نرخ بیت تطبیقی)
0x80 - 0xFF - رزروشده

بایت ۷: حالت کانال LDAC
‎0x01 - استریو
‎0x02 - دوگانه
‎0x04 - مونو
بقیه رزرو شده‌اند

هشت‌تایی ۸-۳۱: رزروشده

کدک Opus:

اکتت ۰-۳: شناسه فروشنده
0x000000E0

اکتت ۴-۵: شناسه کدک
0x0001 - Opus
همه مقادیر دیگر رزرو شده‌اند

اکتت ۶-۳۱: رزروشده

همه کدک‌های دیگر:

اکتت ۰-۳۱: رزروشده

رویداد «فرمان تکمیل شد» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Sub_Opcode ‫۱ هشت‌تایی 0x01 - Start A2DP offload (شروع کردن واگذاری A2DP)

شروع کردن واگذاری A2DP

Sub OCF: 0x03

از این فرمان هم برای پیکربندی فرایند واگذاری A2DP و هم برای شروع جاری‌سازی A2DP استفاده کنید.

پارامتر فرمان اندازه هدف
Connection Handle ‫۲ هشت‌تایی دستورات اتصال HCI فعال
L2CAP_Channel_ID ۲ هشت‌تایی شناسه «کانال L2CAP» بازشده برای جاری‌سازی A2DP
Data_Path_Direction ‫۱ هشت‌تایی ‫0x00 - برونداد (منبع/ادغام AVDTP)
‫0x01 - ورودی (مقصد/تفکیک AVDTP)
Peer_MTU ‫۲ هشت‌تایی حداکثر اندازه بسته‌های L2CAP که با همتا مذاکره شده است.
CP_Enable_SCMS_T ‫۱ هشت‌تایی 0x00 - غیرفعال کردن سرایند «محافظت از محتوای SCMS-T»
0x01 - فعال کردن سرایند «محافظت از محتوای SCMS-T»
CP_Header_SCMS_T ‫۱ هشت‌تایی وقتی «سرایند محافظت از محتوای SCMS-T» فعال باشد (CP_SCMS_T_Enable روی 0x01 تنظیم شده باشد)، مقدار سرایندی را که قبل‌از محتوای صوتی قرار می‌گیرد (به A2DP، بخش 3.2.1-2 مراجعه کنید) همان‌طور که در «اعداد اختصاص‌داده‌شده بلوتوث»، بخش 6.3.2 تعریف شده است، تعریف می‌کند.
وقتی «محافظت از محتوای SCMS-T» فعال نباشد نادیده گرفته می‌شود.
Vendor_Specific_Parameters_Length ‫۱ هشت‌تایی طول «پارامترهای ویژه فروشنده»، در محدوده ۰ تا ۱۲۸.
وقتی پارامترهای اضافی ارائه نشده باشد، از مقدار 0 استفاده می‌شود.
Vendor_Specific_Parameters ۰ تا ۱۲۸ هشت‌تایی پارامترهای خاص فروشنده که توسط HAL صدای بلوتوث ارائه شده است، CodecParameters.vendorSpecificParameters[].

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Sub_Opcode ‫۱ هشت‌تایی 0x03 - Start A2DP offload

توقف بارگیری A2DP (قدیمی)

Sub OCF: 0x02

این فرمان برای متوقف کردن جاری‌سازی واگذاری A2DP استفاده می‌شود.

پارامتر فرمان اندازه هدف
موجود نیست فهرست پارامتر فرمان خالی است.

هیچ پارامتری برای این فرمان تعریف نشده است.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Sub_Opcode ‫۱ هشت‌تایی ‫0x02 - توقف واگذاری A2DP

توقف کردن واگذاری A2DP

کد عملیات فرعی: 0x04

این فرمان برای متوقف کردن جاری‌سازی واگذاری A2DP استفاده می‌شود.

پارامتر فرمان اندازه هدف
Connection Handle ‫۲ هشت‌تایی دستورات اتصال HCI فعال
L2CAP_Channel_ID ۲ هشت‌تایی شناسه «کانال L2CAP» بازشده برای جاری‌سازی A2DP
Data_Path_Direction ‫۱ هشت‌تایی ‫0x00 - برونداد (منبع/ادغام AVDTP)
‫0x01 - ورودی (مقصد/تفکیک AVDTP)

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Sub_Opcode ‫۱ هشت‌تایی 0x04 - توقف کردن واگذاری A2DP

فرمان گزارش کیفیت بلوتوث

ویژگی فرمان «گزارش کیفیت بلوتوث» سازوکار را در کنترل‌کننده بلوتوث برای گزارش رویدادهای کیفیت بلوتوث به میزبان شروع می‌کند. می‌توانید چهار گزینه را فعال کنید:

  • حالت «نظارت بر کیفیت»: کنترل‌کننده به‌طور دوره‌ای یک زیررویداد BQR مربوط به «کیفیت پیوند» را به میزبان ارسال می‌کند.
  • نزدیک شدن به LSTO: اگر بسته‌ای از دستگاه BT متصل برای مدت زمانی بیشتر از نصف مقدار «زمان اتمام نظارت پیوند» (LSTO) دریافت نشود، کنترل‌کننده رویداد «نزدیک شدن به LSTO» را به میزبان گزارش می‌کند.
  • صدای A2DP ناهموار: وقتی کنترل‌کننده عواملی را که باعث ناهموار شدن صدا می‌شود تشخیص دهد، کنترل‌کننده رویداد «صدای A2DP ناهموار» را به میزبان گزارش می‌کند.
  • (ه)صدای SCO بریده بریده: وقتی کنترل‌کننده عواملی را که باعث بریده بریده شدن صدا می‌شود تشخیص می‌دهد، کنترل‌کننده رویداد «صدای SCO بریده بریده» را به میزبان گزارش می‌کند.
  • التهاب ریشه‌ای: این رویداد زمانی ازسوی کنترل‌کننده به پشته ارسال می‌شود که HAL یا کنترل‌کننده با خطای مهلکی مواجه شود و نیاز به بازراه‌اندازی بلوتوث داشته باشد.
  • ردیابی پیام LMP/LL: کنترل‌کننده پیام LMP/LL را ارسال می‌کند دست‌دهی با دستگاه ازراه‌دور به میزبان.
  • ردیابی زمان‌بندی هم‌زیستی/چندنمایه بلوتوث: کنترل‌کننده اطلاعات زمان‌بندی خود را درباره مدیریت چند نمایه بلوتوث و هم‌زیستی بی‌سیم در باند ۲٫۴ گیگاهرتز به میزبان ارسال می‌کند.
  • سازوکار «اطلاعات اشکال‌زدایی کنترل‌کننده»: وقتی فعال باشد، کنترل‌کننده می‌تواند اطلاعات گزارش اشکال‌زدایی را به‌طور خودکار ازطریق رویداد فرعی اطلاعات اشکال‌زدایی کنترل‌کننده به میزبان گزارش دهد.
  • صدای کم‌مصرف ناپیوسته: وقتی کنترل‌کننده عواملی را که باعث ناپیوسته شدن صدا می‌شود تشخیص می‌دهد، کنترل‌کننده رویداد «صدای کم‌مصرف ناپیوسته» را به میزبان گزارش می‌دهد.
  • حالت «آمار RF پیشرفته»: کنترل‌کننده اطلاعات مربوط به آمار RF خود را به میزبان گزارش می‌دهد و از دو مورد استفاده گزارش پشتیبانی می‌کند:
    • گزارش‌های دوره‌ای
    • راه‌اندازهای رویداد (شروع/توقف جاری‌سازی و راه‌انداز رویداد کیفیت پیوند).
  • سازوکار پایش وضعیت سلامت کنترل‌کننده ازطریق دو نوع رویداد اطلاعات مربوط به سلامت را دراختیار میزبان قرار می‌دهد: گزارش‌های دوره‌ای و گزارش‌های رویدادمحور.
  • ‫BQR_Report_Action از فرمان «گزارش کیفیت بلوتوث»: میزبان می‌تواند از این فرمان HCI برای دریافت پُرسمان یک‌باره برای حالت پایش کیفیت، حالت پایش انرژی، یا حالت آمار RF پیشرفته استفاده کند.

OCF: 0x15E

پارامتر فرمان اندازه هدف
BQR_Report_Action ‫۱ هشت‌تایی کنش برای افزودن / حذف گزارش رویداد(های) کیفیت تنظیم‌شده در پارامتر BQR_Quality_Event_Mask، یا پاک کردن همه.

‫0x00 - افزودن
‫0x01 - حذف
‫0x02 - پاک کردن
‫0x03 - پُرسمان یک‌باره

حذف کردن گزارش رویداد(های) کیفیت خاص را پاک می‌کند.
«پاک کردن» همه گزارش‌های رویدادهای کیفیت را پاک می‌کند (پارامتر BQR_Quality_Event_Mask را می‌توان نادیده گرفت).

BQR_Quality_Event_Mask ‫۴ هشت‌تایی نقاب‌های بیت برای گزارش رویداد کیفیت انتخاب‌شده.

بیت ۰: برای فعال کردن حالت پایش کیفیت تنظیم کنید.
بیت ۱: برای فعال کردن رویداد «نزدیک شدن به LSTO» (برای ACL/(e)SCO/ISO) تنظیم شود.
بیت ۲: برای فعال کردن رویداد «صدای A2DP بریده بریده» تنظیم کنید.
بیت ۳: برای فعال کردن رویداد (e)SCO Voice Choppy تنظیم شده است.
بیت ۴: برای فعال کردن رویداد التهاب ریشه تنظیم شده است.
بیت ۵: برای فعال کردن حالت پایش انرژی تنظیم شود.
بیت ۶: برای فعال کردن رویداد صدای کم‌مصرف ناهموار تنظیم شده است.
بیت ۷: برای فعال کردن رویداد ناموفق بودن اتصال تنظیم شده است.
بیت ۸: برای فعال کردن راه‌اندازی رویداد حالت «آمار پیشرفته RF» تنظیم کنید.
بیت ۹: برای فعال کردن گزارش دوره‌ای «آمار پیشرفته RF» تنظیم شود.
بیت ۱۰: برای فعال کردن رویداد راه‌اندازی سازوکار پایش وضعیت کنترل‌کننده تنظیم شده است. (در BQRv7 اضافه شده است)
بیت ۱۱: تنظیم برای فعال کردن سازوکار پایش سلامت کنترل‌کننده که به‌صورت دوره‌ای گزارش می‌دهد. (اضافه‌شده در BQRv7)
بیت ۱۲ تا ۱۴: رزروشده.
بیت ۱۵: برای فعال کردن رویدادهای کیفیت مختص فروشنده تنظیم شده است.
بیت ۱۶: برای فعال کردن ردیابی پیام LMP/LL تنظیم شده است.
بیت ۱۷: برای فعال کردن ردیابی زمان‌بندی چندپیوندی/هم‌زیستی بلوتوث تنظیم شده است.
بیت ۱۸: برای فعال کردن سازوکار «اطلاعات اشکال‌زدایی کنترل‌کننده» تنظیم شده است.
بیت ۱۹: برای اطلاعات اشکال‌زدایی برون‌سپاری رزرو شده است.
بیت ۲۰: راه‌انداز رویداد تخلیه سابقه UART. (در BQRv7 اضافه شده است)
بیت ۲۱ تا ۳۰: رزروشده.
بیت ۳۱: برای فعال کردن ردیابی مختص ارائه‌دهنده تنظیم شده است.

BQR_Minimum_Report_Interval ‫۲ هشت‌تایی حداقل فاصله زمانی گزارش رویداد کیفیت را برای رویداد(های) کیفیت انتخاب‌شده تعریف کنید. «میان‌افزار» کنترل‌کننده نباید رویداد بعدی را در فاصله زمانی تعریف‌شده گزارش کند. تنظیم فاصله باید مربوط و مختص رویداد(های) کیفیتی باشد که اضافه می‌شود.

واحد: میلی‌ثانیه
پیش‌فرض: ۰ (بدون محدودیت برای فاصله زمانی.)
محدوده: ۰ تا ۶۵۵۳۵ میلی‌ثانیه

BQR_Vendor_Specific_Quality_Event_Mask ‫۴ هشت‌تایی بیت‌ماسک‌ها برای گزارش رویداد کیفیت خاص فروشنده انتخاب‌شده.
این پارامتر فقط زمانی معتبر است که بیت ۱۵ از BQR_Quality_Event_Mask تنظیم شده باشد.

بیت ۰ تا ۳۱: رزروشده.

BQR_Vendor_Specific_Trace_Mask ‫۴ هشت‌تایی ماسک‌های بیت برای گزارش ردیابی مختص فروشنده انتخاب‌شده.
این پارامتر فقط زمانی معتبر است که بیت ۳۱ از BQR_Quality_Event_Mask تنظیم شده باشد.

بیت ۰ تا ۳۱: رزروشده.

Report_interval_multiple ‫۴ هشت‌تایی ضریب BQR_Minimum_Report_Interval. وقتی این مقدار >= 1 باشد، «فاصله گزارش BQR» از قالب
پیروی می‌کند «فاصله گزارش BQR» = «حداقل فاصله گزارش BQR» × «چندبرابر فاصله گزارش».
«میان‌افزار» کنترل‌کننده نباید رویداد بعدی را در فاصله زمانی تعریف‌شده گزارش کند. تنظیم فاصله به‌طور خاص به رویداد(های) کیفیت اضافه‌شده اختصاص داده شده است.

واحد: میلی‌ثانیه
پیش‌فرض: ۱
محدوده: ۰ تا ۴۲۹۴۹۶۷۲۹۵ (۰: برابر با تنظیم روی ۱ است)

توجه: اگر تنظیم BQR_Report_Interval بزرگ‌تر از توانایی کنترل‌کننده باشد، کنترل‌کننده باید حداکثر زمان BQR_Report_Interval را در تکمیل فرمان برگرداند.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت تکمیل فرمان
Current_Quality_Event_Mask ‫۴ هشت‌تایی تنظیمات ماسک بیت فعلی را نشان می‌دهد.
بیت ۰: حالت پایش کیفیت فعال است.
بیت ۱: گزارش رویداد نزدیک شدن به LSTO فعال است.
بیت ۲: گزارش رویداد «صدای A2DP منقطع» فعال است.
بیت ۳: گزارش رویداد «صدای SCO منقطع» فعال است.
بیت ۴: گزارش رویداد التهاب ریشه فعال است.
بیت ۵: حالت پایش انرژی فعال است.
بیت ۶: گزارش رویداد صدای بریده‌بریده LE فعال است.
بیت ۷: رویداد عدم اتصال.
بیت ۸: برای فعال کردن راه‌انداز رویداد حالت «آمار RF پیشرفته» تنظیم شده است.
بیت ۹: برای فعال کردن گزارش دوره‌ای «آمار پیشرفته RF» تنظیم شود.
بیت ۱۰: روی راه‌انداز رویداد سازوکار پایش وضعیت سلامت کنترل‌کننده فعال تنظیم شده است.
بیت ۱۱: روی فعال تنظیم شود تا سازوکار پایش سلامت کنترل‌کننده به‌صورت دوره‌ای گزارش دهد.
بیت ۱۲ تا ۱۴: رزروشده.
بیت ۱۵: گزارش رویداد کیفیت مختص فروشنده فعال است.
بیت ۱۶: ردیابی پیام LMP/LL فعال است.
بیت ۱۷: ردیابی زمان‌بندی هم‌زیستی/چندپیوندی بلوتوث فعال است.
بیت ۱۸: سازوکار اطلاعات اشکال‌زدایی کنترل‌کننده فعال است.
بیت ۱۹: برای اطلاعات اشکال‌زدایی برون‌سپاری رزرو شده است
بیت ۲۰: راه‌اندازی رویداد تخلیه سابقه UART
بیت ۲۱ تا ۳۰: رزرو شده است.
بیت ۳۱: ردیابی مختص فروشنده فعال است.
Current_Vendor_Specific_Quality_Event_Mask ‫۴ هشت‌تایی تنظیمات ماسک بیت فعلی را نشان می‌دهد.
Current_Vendor_Specific_Trace_Mask ‫۴ هشت‌تایی تنظیمات ماسک بیت فعلی را نشان می‌دهد.
BQR_Report_interval ‫۴ هشت‌تایی تنظیمات ماسک بیت فعلی را نشان می‌دهد.
Current_Vendor_Specific_Trace_Mask ۴ هشت‌تایی تنظیم BQR_Report_interval. باید حداقل مقدار بین BQR_Minimum_Report_Interval * Report_interval_multiple یا حداکثر فاصله پشتیبانی کنترل‌کننده باشد.

فرمان میان‌گیری پویای صدا

میان‌گیر پویای صدا با تغییر اندازه میان‌گیر صدا در کنترل‌کننده بلوتوث براساس سناریوهای مختلف، اشکالات صدا را کاهش می‌دهد.

OCF: 0x15F

دریافت قابلیت زمان میان‌گیری صدا

Sub OCF: 0x01

از این فرمان برای دریافت قابلیت زمان بافر صدا از کنترل‌کننده بلوتوث استفاده کنید.

پارامتر فرمان اندازه هدف
موجود نیست فهرست پارامتر فرمان خالی است

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Dynamic_Audio_Buffer_opcode ‫۱ هشت‌تایی ‫0x01 - دریافت زمان میان‌گیری صدا
Audio_Codec_Type_Supported ‫۴ هشت‌تایی ماسک‌های بیت برای انواع کدک پشتیبانی‌شده
بیت ۰ - SBC
بیت ۱ - AAC
بیت ۲ - APTX
بیت ۳ - APTX HD
بیت ۴ - LDAC
بیت ۵ تا ۳۱ رزرو شده‌اند
Audio_Codec_Buffer_Default_Time_For_Bit_0 ‫۲ هشت‌تایی زمان میان‌گیری پیش‌فرض نوع کدک Bit 0 مشخص‌شده در Audio_Codec_Type_Supported.
اگر نوع کدک «بیت ۰» پشتیبانی نشود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 ۲ هشت‌تایی حداکثر زمان میان‌گیری نوع کدک Bit 0 مشخص‌شده در Audio_Codec_Type_Supported.
اگر نوع کدک «بیت ۰» پشتیبانی نشود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 ‫۲ هشت‌تایی حداقل زمان میان‌گیری نوع کدک Bit 0 مشخص‌شده در Audio_Codec_Type_Supported.
اگر نوع کدک «بیت ۰» پشتیبانی نشود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
Audio_Codec_Buffer_Default_Time_For_Bit_1 ‫۲ هشت‌تایی زمان میان‌گیری پیش‌فرض نوع کدک Bit 1 مشخص‌شده در Audio_Codec_Type_Supported.
اگر نوع کدک «بیت ۱» پشتیبانی نمی‌شود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 ۲ هشت‌تایی حداکثر زمان میان‌گیری نوع کدک Bit 1 مشخص‌شده در Audio_Codec_Type_Supported.
اگر نوع کدک «بیت ۱» پشتیبانی نمی‌شود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 ‫۲ هشت‌تایی حداقل زمان بافر کدک نوع Bit 1 که در Audio_Codec_Type_Supported مشخص شده است.
اگر نوع کدک «بیت ۱» پشتیبانی نمی‌شود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
...... ...... ......
Audio_Codec_Buffer_Default_Time_For_Bit_31 ‫۲ هشت‌تایی زمان میان‌گیری پیش‌فرض نوع کدک Bit 31 که در Audio_Codec_Type_Supported مشخص شده است.
اگر نوع کدک بیت ۳۱ پشتیبانی نشود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 ‫۲ هشت‌تایی حداکثر زمان میان‌گیری کدک نوع Bit 31 که در Audio_Codec_Type_Supported مشخص شده است.
اگر نوع کدک بیت ۳۱ پشتیبانی نشود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 ‫۲ هشت‌تایی حداقل زمان بافر نوع کدک Bit 31 که در Audio_Codec_Type_Supported مشخص شده است.
اگر نوع کدک Bit 31 پشتیبانی نشود، این مقدار باید ۰ باشد.
واحد: میلی‌ثانیه

تنظیم زمان میان‌گیری صدا

Sub OCF: 0x02

از این فرمان برای تنظیم زمان بافر صدا در کنترل‌کننده بلوتوث استفاده کنید.

پارامتر فرمان اندازه هدف
Audio_Codec_Buffer_Time ‫۲ هشت‌تایی زمان میان‌گیر صوتی درخواست‌شده برای کدک مورداستفاده فعلی.
واحد: میلی‌ثانیه

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Dynamic_Audio_Buffer_opcode ‫۱ هشت‌تایی ‫0x02 - تنظیم زمان میان‌گیری صدا
Audio_Codec_Buffer_Time ۲ هشت‌تایی زمان میان‌گیر صوتی فعلی در کنترل‌کننده بلوتوث.
واحد: میلی‌ثانیه

آستانه مجاورت اتصال (نسخه ۱.۰۶)

LE_Add_Device_To_Filter_Accept_List_With_Proximity_Threshold_Command

از این فرمان می‌توان برای ارائه آستانه مجاورت اتصال (افت مسیر و RSSI) هنگام افزودن دستگاه به «فهرست پذیرش فیلتر» استفاده کرد.

اتصال باید فقط زمانی امتحان شود که سیگنال مقدار افت مسیر کمتری از آستانه «افت مسیر» داشته باشد.

اگر TxPower دردسترس نباشد یا از No Path Loss filtering استفاده شود، اتصال فقط زمانی باید برقرار شود که سیگنال مقدار RSSI بالاتری نسبت‌به آستانه RSSI مشخص‌شده داشته باشد.

از این فرمان می‌توان به‌عنوان جایگزینی برای فرمان «استاندارد بلوتوث» LE Add Device To Filter Accept List command استفاده کرد.

اگر این فرمان با مقادیر آستانه متفاوت فراخوانده شود درحالی‌که دستگاه ازقبل در «فهرست پذیرش فیلتر» باشد، مقادیر آستانه باید به‌روز شود.

مرجع پایه: مشخصات BT Core 6.2،‏ 7.8.16 (فرمان LE Add Device To Filter Accept List)

این فرمان نباید در موارد زیر استفاده شود:

  • هرگونه خط‌مشی فیلتر تبلیغات از «فهرست پذیرش فیلتر» استفاده کند و تبلیغات فعال باشد،
  • خط‌مشی فیلتر اسکن از «فهرست پذیرش فیلتر» استفاده می‌کند و اسکن فعال است، یا
  • خط‌مشی فیلتر آغازگر از «فهرست پذیرش فیلتر» استفاده می‌کند و فرمان HCI_LE_Create_Connection یا HCI_LE_Extended_Create_Connection معلقه است.

‫LE Remove Device From Filter Accept List باید دستگاه را از «فهرست پذیرش فیلتر» که با این فرمان اضافه شده است بردارد.

کد عملیات: 0xFD66 (OCF: 0x166)

پارامتر فرمان اندازه هدف
Address_Type ‫۱ هشت‌تایی ‫0x00 - نشانی دستگاه عمومی
‫0x01 - نشانی دستگاه تصادفی
‫0xFF - دستگاه‌هایی که تبلیغات ناشناس ارسال می‌کنند
همه مقادیر دیگر - برای استفاده در آینده رزرو شده است
LE_Device_Address ‫۶ هشت‌تایی نشانی عمومی یا تصادفی
وقتی Address_Type روی 0xFF تنظیم شده باشد، نشانی نادیده گرفته می‌شود.
Connection_Path_Loss_Threshold ‫۱ هشت‌تایی محدوده: ۰ تا ۱۰۰+، ۱۲۷+ [به دسی‌بل]
آستانه «افت مسیر» اتصال را برای شروع اتصال به دستگاه هنگام شناسایی آن نشان می‌دهد (۰ تا ۱۰۰+). مقدار «افت مسیر» برای شروع اتصال باید کمتر باشد. از مقدار +۱۲۷ برای نشان دادن No Path Loss filtering استفاده می‌شود. وقتی TxPower دردسترس نیست، یا این مقدار +۱۲۷ است، این فرمان باید به فیلتر RSSI زیر برگردد.
Connection_RSSI_Threshold ‫۱ هشت‌تایی محدوده: -۱۲۷ تا +۲۰، +۱۲۷ [در dBm]
نشان‌دهنده آستانه RSSI اتصال برای شروع اتصال به دستگاه هنگام شناسایی آن است. ‫(-۱۲۷ تا +۲۰). مقدار RSSI برای شروع اتصال باید بالاتر باشد. فیلتر کردن RSSI زمانی به‌عنوان جایگزین استفاده می‌شود که TxPower دردسترس نباشد یا آستانه «افت مسیر» روی ‎+۱۲۷ مشخص شده باشد. مقدار ۱۲۷+ برای نشان دادن No RSSI filtering استفاده می‌شود.

وقتی هم آستانه «افت مسیر» و هم آستانه RSSI برابر با ۱۲۷+ باشد، این فرمان باید مانند «استاندارد بلوتوث» LE Add Device To Filter Accept List command عمل کند.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»

رویداد HCI (مختص ارائه‌دهنده)

در برخی موارد، رویدادهای HCI مختص ارائه‌دهنده لازم است. به شکل ۵.۴ در صفحه ۱۸۹۷ از مشخصات BT Core 5.2 مراجعه کنید. پارامتر رویداد ۰ همیشه حاوی اولین کد زیررویداد است که براساس آن بقیه رویداد HCI رمزگشایی می‌شود.

پارامتر رویداد اندازه هدف
HCI_vendor_specific_event_code ‫۱ هشت‌تایی ‫0xFF
sub_event_code ‫۱ هشت‌تایی اندازه کد زیررویداد ۱ هشت‌تایی خواهد بود، بایت بلافاصله پس‌از «طول پارامتر» در بسته رویداد HCI.

رویداد فرعی نقض آستانه فضای ذخیره‌سازی

این رویداد نشان می‌دهد که آستانه فضای ذخیره‌سازی نقض شده است.

کد زیررویداد = 0x54

پارامتر زیررویداد اندازه هدف
هیچ‌کدام

زیررویداد تغییر وضعیت چندتبلیغاتی LE

این رویداد نشان می‌دهد که نمونه تبلیغاتی وضعیت خود را تغییر داده است. در این زمان، این رویداد فقط برای نشان دادن اینکه کدام نمونه تبلیغاتی درنتیجه اتصال متوقف شده است استفاده می‌شود.

کد رویداد فرعی = 0x55

پارامتر رویداد فرعی اندازه هدف
Advertising_instance ‫۱ هشت‌تایی نمونه تبلیغات ویژه را شناسایی می‌کند
مقادیر معتبر از ۰ تا max_advt_instances-۱ است
State_Change_Reason ‫۱ هشت‌تایی 0x00: اتصال دریافت شد
Connection_handle ‫۲ هشت‌تایی اتصالی را که باعث غیرفعال شدن نمونه advt شده است شناسایی می‌کند (0xFFFF اگر نامعتبر باشد)

رویداد فرعی ردیابی تبلیغات LE

این رویداد نشان می‌دهد که تبلیغ‌کننده چه زمانی پیدا شده یا ازدست رفته است.

کد رویداد فرعی = 0x56

پارامتر زیررویداد اندازه هدف
APCF_Filter_Index ‫۱ هشت‌تایی فیلتر کردن شاخص (۰، max_filter-۱)
Advertiser_State ‫۱ هشت‌تایی ‫0x00: تبلیغ‌کننده پیدا شد
0x01: تبلیغ‌کننده ازدست رفت
Advt_Info_Present ‫۱ هشت‌تایی ‫0x00: اطلاعات تبلیغ‌کننده (Advt_Info) موجود است
0x01: اطلاعات تبلیغ‌کننده (Advt_Info) موجود نیست
Advertiser_Address ‫۶ هشت‌تایی نشانی عمومی یا تصادفی
Advertiser_Address_Type ‫۱ هشت‌تایی 0x00: نشانی عمومی
0x01: نشانی تصادفی
Advt_Info ‫Tx_Pwr[0]: ۱ اکتت
RSSI[0]: ۱ اکتت
Timestamp[0]: ۲ اکتت
Adv packet_len[0]: ۱ اکتت
Adv_packet[0]: Adv_packet_len اکتت
Scan_data_resp_len[0]: ۱ اکتت
Scan_data_resp[0]: Scan_data_resp اکتت

رویداد فرعی اطلاعات اشکال‌زدایی کنترل‌کننده

این رویداد توسط «کنترل‌کننده» برای ارائه اطلاعات اشکال‌زدایی دودویی به میزبان استفاده می‌شود.

کد رویداد فرعی = 0x57

پارامتر رویداد فرعی اندازه هدف
debug_block_byte_offset_start ۲ هشت‌تایی آفست بایت بلوک اشکال‌زدایی از ابتدا
last_block ‫۱ هشت‌تایی ‫0x00: داده‌های اشکال‌زدایی بیشتری وجود دارد
‫0x01: آخرین بلوک باینری؛ داده‌های اشکال‌زدایی دیگری وجود ندارد
cur_pay_load_sz ‫۲ هشت‌تایی اندازه بلوک باینری در رویداد کنونی
Debug_Data متغیر عیب‌یابی داده‌های cur_payload_sz

طبقه‌بندی نقشه کانال پخش LE (نسخه ۱.۰۶)

سطح نویز رادیویی در کانال‌های بلوتوث عامل مهمی در تعیین موفقیت دریافت بسته است. برای بهینه‌سازی اطمینان‌پذیری انتقال، مکانیزم طبقه‌بندی نقشه کانال برای شناسایی کیفیت کانال ضروری است. در سناریو منبع همه‌فرستی استاندارد «صدای کم‌مصرف»، منبع معمولاً از اینکه کدام دستگاه‌ها فعالانه به همه‌فرستی آن گوش می‌دهند اطلاعی ندارد. درنتیجه، منبع پخش باید صرفاً به ارزیابی خود از کیفیت کانال برای تعیین نقشه کانال BIG تکیه کند. بااین‌حال، نقشه کانال BIG که صرفاً براساس منبع تعیین می‌شود ممکن است به‌دلیل شرایط محیطی متفاوت یا وجود منابع تداخل محلی در نزدیکی گیرنده‌های فردی برای هر گیرنده بهینه نباشد. اگر گیرنده همه‌فرستی بتواند اطلاعات طبقه‌بندی کانال خود را به منبع همه‌فرستی منتقل کند، منبع می‌تواند نقشه کانال BIG خود را مطابق با آن تطبیق دهد. این کار به‌طور قابل‌توجهی استحکام انتقال و دریافت جاری‌سازی همه‌فرستی را دربرابر تداخل افزایش می‌دهد.

برای مثال، در برنامه‌های «اشتراک صدای شخصی» (PAS)، پیوند LE ACL (که به‌عنوان دستیار همه‌فرستی برای همگام‌سازی با منبع همه‌فرستی محلی عمل می‌کند) بین هدفون‌های توگوشی و منبع همه‌فرستی برقرار می‌شود. از این اتصال LE ACL موجود می‌توان برای ارائه اطلاعات طبقه‌بندی کانال از هدفون‌های توگوشی (ازطریق بسته‌های LL_CHANNEL_STATUS_IND) به منبع پخش استفاده کرد. منبع پخش می‌تواند از این اطلاعات برای اصلاح نقشه کانال BIG خود استفاده کند.

بنابراین، LE_BIG_Set_Channel_Map_Classification_Command را تعریف می‌کنیم. این فرمان مدیریت نقشه کانال را در منبع BIG فعال می‌کند تا اطلاعات طبقه‌بندی کانال دریافتی از دستگاه‌های جانبی را درنظر بگیرد. این فرمان امکان تنظیم یک دسته اتصال LE ACL خاص را برای کنترل‌کننده فراهم می‌کند. پس‌از دریافت این اطلاعات، کنترل‌کننده نقشه کانال BIG خود را براساس داده‌های طبقه‌بندی کانال مرتبط با اتصالات LE ACL ارائه‌شده تعیین می‌کند.

اجرای این VSC مستلزم آن است که منبع پخش هنگام ساختن نقشه کانال BIG، منابع طبقه‌بندی کانال متعددی را درنظر بگیرد. برای مثال، کنترل‌کننده می‌تواند تقاطع طبقه‌بندی‌های کانال «خوب» گزارش‌شده توسط دستگاه‌های کنترل از دور متصل را شناسایی کند و آن را به نقشه کانال BIG اعمال کند. الگوریتم خاص برای ادغام این طبقه‌بندی‌های کانال به صلاحدید هر فروشنده کنترل‌کننده واگذار می‌شود و امکان نوآوری و بهینه‌سازی را فراهم می‌کند.

LE_BIG_Set_Channel_Map_Classification_Command

کد عملیات: 0xFD65 (OCF: 0x165)

پارامتر فرمان اندازه هدف
Sub_opcode ‫۱ هشت‌تایی ‫0x01 - تنظیم نقشه کانال BIG با «دستگیره‌های اتصال LE ACL»
‫0x02-0x0E - برای استفاده در آینده رزرو شده است
Set_BIG_Channel_Action ‫۱ هشت‌تایی کنش برای افزودن یا حذف کردن BD_ADDR یا «دستگیره‌های اتصال LE ACL»، یا پاک کردن همه.
0x00 - افزودن
0x01 - حذف
0x02 - پاک کردن
0x03-0xFF - رزروشده
BIG_Handle ‫۱ هشت‌تایی نام کاربری BIG را برای به‌روزرسانی با طبقه‌بندی کانال دستگاه جانبی مشخص می‌کند
محدوده: 0x00 تا 0xEF
cmd_para[] متغیر پارامترهای متغیر به Set_BIG_Channel_opcode بستگی دارد

LE_BIG_Set_Channel_Map_Classification_Command_by_Conn_Handle

Sub OCF: 0x01

پارامتر فرمان اندازه هدف
Sub_opcode ‫۱ هشت‌تایی ‫0x01 - تنظیم نقشه کانال BIG با «دستگیره‌های اتصال LE ACL»
‫0x02-0x0E - برای استفاده در آینده رزرو شده است
Set_BIG_Channel_Action ‫۱ هشت‌تایی کنش برای افزودن یا حذف «دستورات اتصال LE ACL»، یا پاک کردن همه.
0x00 - افزودن
0x01 - حذف
0x02 - پاک کردن
0x03-0xFF - رزروشده
BIG_Handle ‫۱ هشت‌تایی نام کاربری BIG را مشخص می‌کند تا با طبقه‌بندی کانال دستگاه جانبی به‌روز شود.
محدوده: 0x00 تا 0xEF
Number_of_LE_ACL_Connections ‫۱ هشت‌تایی تعداد اتصال‌های LE ACL را برای استفاده در به‌روزرسانی نقشه کانال BIG مشخص می‌کند.
وقتی Set_BIG_Channel_Action روی Clear (0x02) تنظیم شده است، نادیده گرفته شود
محدوده: 0x01 تا 0xFF
LE_ACL_Connection_Handles متغیر (Number_of_LE_ACL_Connections * 2 octets) اندازه متغیر، براساس Number_of_LE_ACL_Connections
وقتی Set_BIG_Channel_Action روی Clear (0x02) تنظیم شده است، نادیده گرفته می‌شود
محدوده دستگیره اتصال: 0x0000 تا 0x0EFF

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت تکمیل فرمان. وقتی همه conn_handles مربوط به LE ACL اضافه شد، SUCCESS برگردانده می‌شود.
Set_BIG_Channel_opcode ‫۱ هشت‌تایی ‫Set_BIG_Channel_opcode فرمان انعکاس صدا
Set_BIG_Channel_Action ‫۱ هشت‌تایی Set_BIG_Channel_Action فرمان تکرار
BIG_Handle ‫۱ هشت‌تایی ‫BIG_Handle فرمان بازتاب Echo

رویداد فرعی گزارش کیفیت بلوتوث

این رویداد نشان‌دهنده یکی از موارد زیر است: رویداد کیفیت بلوتوث رخ داده است، کنترل‌کننده ردیابی پیام LMP/LL و ردیابی زمان‌بندی چندپیوندی/همزیستی بلوتوث را بارگذاری کرده است، یا کنترل‌کننده داده‌های اطلاعات اشکال‌زدایی را تخلیه کرده است.

پارامتر رویداد فرعی اندازه هدف
Quality_Report_Id ‫۱ هشت‌تایی 0x01: Quality reporting on the monitoring mode.
‫0x02: نزدیک شدن به LSTO.
0x03: A2DP Audio Choppy.
0x04: (e)صدای SCO ناهموار است.‫
‫0x05 تا 0x06: رزروشده.
0x07: صدای کم‌مصرف بریده‌بریده است.
0x08: اتصال ناموفق بود.‫
0x09 ~ 0xFF: رزروشده.
Packet_Types ‫۱ هشت‌تایی 0x01: ID
0x02: NULL
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
0x10: DM1
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: Reserved
0x51: ISO packet
0x52: 1M PHY
0x53: 2M PHY
0x54: Codec PHY S=2
0x55: Codec PHY S=8
0x56 ~ 0xFF: Reserved
Connection_Handle ‫۲ هشت‌تایی دستگیره اتصال ACL/(e)SCO/ISO.
Connection_Role ‫۱ هشت‌تایی نقش اجرایی برای اتصال.
0x00: Central
0x01: Peripheral
0x02 ~ 0xFF: Reserved.
TX_Power_Level ‫۱ هشت‌تایی سطح توان انتقال فعلی برای Connection_Handle مشخص‌شده.

این مقدار باید با پاسخ کنترل‌کننده به فرمان HCI_Read_Transmit_Power_Level HCI یکسان باشد.

RSSI ‫۱ هشت‌تایی [برحسب دسی‌بل میلی‌وات]

مقدار «نشانگر قدرت سیگنال دریافتی» (RSSI) برای Connection_Handle مشخص‌شده.
این مقدار باید مقدار مطلق قدرت سیگنال گیرنده باشد.
محدوده: -۱۲۷ تا +۲۰

SNR ‫۱ هشت‌تایی [به دسی‌بل]

مقدار «نسبت سیگنال به نویز» (SNR) برای Connection_Handle مشخص‌شده.
کنترل‌کننده باید میانگین «نسبت سیگنال به نویز» همه کانال‌های مورد استفاده پیوند را ارائه دهد.

Unused_AFH_Channel_Count ‫۱ هشت‌تایی تعداد کانال‌های استفاده‌نشده در AFH_channel_map را نشان می‌دهد.
0x4F ~ 0xFF: رزروشده.
AFH_Select_Unideal_Channel_Count ‫۱ هشت‌تایی نشان‌دهنده تعداد کانال‌هایی است که تداخل دارند و کیفیت آن‌ها بد است، اما همچنان برای AFH انتخاب شده‌اند.
حداقل تعداد کانال‌های مجاز طبق مشخصات بلوتوث ۲۰ کانال است، بنابراین حتی اگر همه ۷۹ کانال تداخل داشته باشند و کیفیت بدی داشته باشند، کنترل‌کننده همچنان باید حداقل ۲۰ کانال را برای «پرش فرکانسی تطبیقی» انتخاب کند.
LSTO ‫۲ هشت‌تایی تنظیم فعلی «مهلت نظارت بر پیوند».
زمان = N * ۰٫۶۲۵ میلی‌ثانیه
محدوده زمانی: ۰٫۶۲۵ میلی‌ثانیه تا ۴۰٫۹ ثانیه
Connection_Piconet_Clock ۴ هشت‌تایی ساعت Piconet برای Connection_Handle مشخص‌شده.
این مقدار باید با مقدار کنترل‌کننده‌ای که به دستور HCI_Read_Clock HCI با پارامتر «Which_Clock» از 0x01 (ساعت Piconet) پاسخ می‌دهد یکسان باشد.
واحد: N * 0.3125 میلی‌ثانیه (۱ ساعت بلوتوث)
Retransmission_Count ‫۴ هشت‌تایی تعداد بازانتقال‌ها از زمان آخرین رویداد.
این شمارش پس‌از گزارش به میزبان بازنشانی خواهد شد.
No_RX_Count ‫۴ هشت‌تایی از زمان رویداد قبلی، هیچ تعداد نسخه پزشکی وجود ندارد.
وقتی در زمان برنامه‌ریزی‌شده هیچ بسته‌ای دریافت نشود یا بسته دریافتی خراب باشد، شمارش افزایش می‌یابد.
این شمارش پس‌از گزارش به میزبان بازنشانی خواهد شد.
NAK_Count ‫۴ هشت‌تایی تعداد NAK (تأیید منفی) از آخرین رویداد.
این شمارش باید پس‌از گزارش به میزبان بازنشانی شود.
Last_TX_ACK_Timestamp ‫۴ هشت‌تایی مُهر زمان آخرین TX ACK. این زمان براساس «ساعت بلوتوث» مرکز پیکونت (CLK) است.
واحد: N * 0.3125 میلی‌ثانیه (۱ ساعت بلوتوث)
Flow_Off_Count ‫۴ هشت‌تایی تعداد دفعاتی که کنترل‌کننده از آخرین رویداد، Flow-off (STOP) دریافت کرده است.
این شمارش پس‌از گزارش به میزبان بازنشانی خواهد شد.
Last_Flow_On_Timestamp ‫۴ هشت‌تایی مُهر زمان آخرین Flow-on (GO). این زمان براساس «ساعت بلوتوث» مرکز پیکونت (CLK) است.
واحد: N * 0.3125 میلی‌ثانیه (۱ ساعت بلوتوث)
Buffer_Overflow_Bytes ‫۴ هشت‌تایی [in Byte]

تعداد سرریز میان‌گیر از آخرین رویداد.
کنترل‌کننده تعداد بایت‌های داده‌ای را که حذف شده است می‌شمارد.
این شمارش پس‌از گزارش به میزبان بازنشانی خواهد شد.

Buffer_Underflow_Bytes ۴ هشت‌تایی [به بایت]

تعداد سرریز بافر از آخرین رویداد.
این شمارش پس‌از گزارش به میزبان بازنشانی خواهد شد.

bdaddr ‫۶ هشت‌تایی نشانی دستگاه ازراه‌دور
cal_failed_item_count ‫۱ هشت‌تایی تعداد موارد ناموفق واسنجی
TX_Total_Packets ‫۴ هشت‌تایی تعداد بسته‌هایی که ارسال شده است.
TX_UnAcked_Packets ‫۴ هشت‌تایی تعداد بسته‌هایی که تأییدیه دریافت نمی‌کنند.
این شمارش پس‌از گزارش به میزبان بازنشانی می‌شود.
TX_Flushed_Packets ‫۴ هشت‌تایی تعداد بسته‌هایی که نقطه تخلیه آن ارسال نشده است.
این شمارش پس‌از گزارش به میزبان بازنشانی می‌شود.
TX_Last_Subevent_Packets ۴ هشت‌تایی تعداد بسته‌هایی که «لایه پیوند» یک PDU داده CIS را در آخرین زیررویداد یک رویداد CIS ارسال می‌کند.
این شمارش پس‌از گزارش به میزبان بازنشانی می‌شود.
اگر مقدار معتبری برای پیوند وجود نداشته باشد، مقدار صفر است.
CRC_Error_Packets ۴ هشت‌تایی تعداد بسته‌های دریافتی با خطای CRC از آخرین رویداد.
این شمارش پس‌از گزارش به میزبان بازنشانی می‌شود.
RX_Duplicate_Packets ‫۴ هشت‌تایی تعداد بسته‌های تکراری (بازارسال) دریافتی از زمان رویداد قبلی.
این شمارش پس‌از گزارش به میزبان بازنشانی می‌شود.
RX_Unreceived_Packets ۴ هشت‌تایی تعداد بسته‌های دریافت‌نشده همان پارامتر فرمان LE READ ISO Link Quality است (به «مشخصات اصلی بلوتوث نسخه ۵.۴» مراجعه کنید). جریان‌های منسوب عبارت‌اند از CIS و BIS.
وقتی این مقدار افزایش می‌یابد، «لایه پیوند» بار ویژه خاصی را در نقطه تخلیه خود (در CIS) یا در پایان رویدادی که با آن مرتبط است (در BIS؛ به «مشخصات اصلی Bluetooth نسخه ۵.۴ جلد ۶ بخش B، بخش ۴.۴.۶.۶» مراجعه کنید) دریافت نمی‌کند.
Coex_Info_Mask ‫۲ هشت‌تایی بیت ۰ - CoexInvolvement: برای نشان دادن اینکه مشکوک به دخالت فعالیت‌های coex است تنظیم شده است وقتی این گزارش تولید می‌شود (برای مثال، A2DP Chops و Approaching LSTO).
بیت ۱ - رادیو WL 2G فعال: تنظیم شده است تا نشان دهد «رادیو WLAN 2G» فعال است.
بیت ۲ - WL 2G Connected (اتصال WL 2G): تنظیم شده است تا نشان دهد «رادیو WLAN 2G» فعال و متصل است.
بیت ۳ - رادیو WL 5G/6G فعال: برای نشان دادن فعال بودن رادیو WLAN 5G/6G تنظیم شده است.
بیت ۴-۱۵ - رزروشده
پارامتر مختص فروشنده (طول کل پارامتر - TBD) * هشت‌تایی برای اینکه فروشنده کنترل‌کننده پارامترهای خاص فروشنده بیشتری را دریافت کند.

کد رویداد فرعی = 0x58 [شناسه گزارش کیفیت = 0x05، رویداد التهاب ریشه]

این رویداد نشان می‌دهد که Bluetooth HAL یا کنترل‌کننده با خطای مهلکی مواجه شده است و پشته بلوتوث باید این وضعیت را ثبت کند و بازراه‌اندازی شود. کنترل‌کننده باید قبل‌از ارسال اولین تکه از رویدادهای اطلاعات اشکال‌زدایی در هر شرایطی، رویداد Root_Inflammation_Event را به پشته Bluetooth ارسال کند.

پارامتر Error_Code حاوی کد خطایی است که از HAL/کنترل‌کننده گزارش شده است، اگر خطای خاص فروشنده مجموعه تراشه باشد، مقدار آن ۰ است. ‫Vendor_Specific_Error_Code حاوی کد خطای خاص فروشنده تراشه از HAL/Controller است. اگر پارامتر Error_Code برابر با ۰ نباشد، باید روی ۰ تنظیم شود. پارامترهای Error_Code و Vendor_Specific_Error_Code نباید هر دو ۰ باشند.

پارامتر رویداد فرعی اندازه هدف
Quality_Report_Id ‫۱ هشت‌تایی 0x00 ~ 0x04: رزروشده.
0x05: التهاب ریشه.
0x06 ~ 0xFF: رزروشده.
Error_Code ‫۱ هشت‌تایی ‫0x00: کد خطای مختص فروشنده مجموعه تراشه اضافه شده است.
‫0x01 تا 0xFF: خطای کنترل‌کننده رخ داد. برای مشاهده فهرست کدهای خطا و توضیحات، «مشخصات بلوتوث» [جلد ۲] بخش D، «کدهای خطا» را ببینید.
Vendor_Specific_Error_Code ‫۱ هشت‌تایی ‫0x00: هیچ کد خطای خاص فروشنده تراشه‌ای گنجانده نشده است.
0x01 ~ 0xFF: کد خطای مختص فروشنده تراشه.
پارامتر مختص فروشنده (طول کل پارامتر - ۴) * اکتت برای اینکه فروشنده کنترل‌کننده پارامترهای خاص فروشنده بیشتری دریافت کند.

Subevent code = 0x58 [Quality_Report_Id = 0x06, Energy monitor event]

این رویداد تصویری آنی از مصرف برق و وضعیت‌های عملیاتی کنترل‌کننده بلوتوث در یک دوره زمانی خاص ارائه می‌دهد. این رویداد به توسعه‌دهندگان و مهندسان کمک می‌کند نحوه مدیریت توان توسط کنترل‌کننده را تجزیه‌وتحلیل کنند، فعالیت‌هایی را که بیشترین انرژی را مصرف می‌کنند شناسایی کنند، و مشکلات مربوط به توان را عیب‌یابی کنند.

پارامترهای موجود در گزارش، سنجه‌های کلیدی را ردیابی می‌کنند، ازجمله:

  • میانگین مصرف جریان: جریان کلی که توسط کنترل‌کننده استفاده می‌شود.
  • زمان صرف‌شده در حالت‌های مختلف: کل زمان (به میلی‌ثانیه) که کنترل‌کننده در حالت بیکار (خواب/توان پایین) درمقایسه با حالت فعال (اتصال، انتقال، یا دریافت داده) سپری می‌کند.
  • تعداد گذار وضعیت: تعداد دفعاتی که کنترل‌کننده بین وضعیت‌های بیکار و فعال تغییر می‌کند.
  • زمان صرف‌شده در وضعیت‌های رادیویی خاص: سنجه‌های جداگانه برای زمان صرف‌شده در انتقال (Tx) و دریافت (Rx) برای هر دو پیوند BR/EDR (بلوتوث کلاسیک) و LE (بلوتوث کم‌مصرف).
  • سطوح توان انتقال میانگین: توان میانگین (برحسب دسی‌بل میلی‌وات) استفاده‌شده برای انتقال‌ها در پیوندهای BR/EDR و LE.
  • فعالیت زنجیره‌ای دقیق: گزارش‌هایی درباره زمان صرف‌شده با زنجیره‌های فعال ارسال یا دریافت، با تمایز بین عملیات یک‌زنجیره‌ای و دوزنجیره‌ای، و بین تقویت‌کننده‌های توان داخلی (iPA) و خارجی (ePA).
  • زمان فعالیت اسکن: زمانی که کنترل‌کننده به‌طور فعال برای دستگاه‌های BR/EDR و LE اسکن می‌کند.

مهندسان با بررسی این پارامترها می‌توانند به اطلاعات آماری درباره بهره‌وری انرژی کنترل‌کننده دست یابند و عملکرد آن را بهینه‌سازی کنند.

پارامتر زیررویداد اندازه هدف
Quality_Report_Id ‫۱ هشت‌تایی 0x06: پایش انرژی
Average_Current_Consumption ‫۲ هشت‌تایی [برحسب میلی‌آمپر] میانگین مصرف جریان همه فعالیت‌های مصرف‌شده توسط کنترل‌کننده
‫Idle_Total_Time (خواب) ۴ هشت‌تایی [به میلی‌ثانیه] کل زمان در حالت غیرفعال (حالت‌های کم‌مصرف، خواب).
Idle_Sate_Enter_Count ۴ هشت‌تایی نشان می‌دهد که کنترل‌کننده چند بار وارد حالت آماده به‌کار شده است.
Active_Total_Time ۴ هشت‌تایی [به میلی‌ثانیه] کل زمان در وضعیت فعال (پرس‌وجو، صفحه‌بندی، ترافیک ACL/SCO/eSCO/BIS/CIS، پردازش هر تکلیف).
Active_State_Enter_Count ‫۴ هشت‌تایی نشان می‌دهد کنترل‌کننده چند بار وارد حالت‌های فعال می‌شود.
BR_RDR_Tx_Total_Time ۴ هشت‌تایی [برحسب میلی‌ثانیه] کل زمان در وضعیت Tx(انتقال برای ترافیک ACL/SCO/eSCO) ویژه BR/EDR.
BR_RDR_Tx_State_Enter_Count ‫۴ هشت‌تایی نشان می‌دهد کنترل‌کننده چند بار وارد وضعیت Tx خاص BR/EDR می‌شود.
BR_RDR_Tx_Average_Power_Level ‫۱ هشت‌تایی [به دسی‌بل میلی‌وات] میانگین سطح توان Tx همه پیوندهای BR/EDR
BR_RDR_Rx_Total_Time ۴ هشت‌تایی [به میلی‌ثانیه] کل زمان در وضعیت «دریافت» ویژه BR/EDR (دریافت از ترافیک ACL/SCO/eSCO).
BR_RDR_Rx_State_Enter_Count ۴ هشت‌تایی [به میلی‌ثانیه] نشان می‌دهد کنترل‌کننده چند بار وارد وضعیت Rx خاص BR/EDR می‌شود.
LE_Tx_Total_Time ‫۴ هشت‌تایی [به میلی‌ثانیه] کل زمان در وضعیت Tx مختص LE (انتقال برای ترافیک تبلیغاتی ACL/BIS/CIS یا LE).
LE_Tx_State_Enter_Count ۴ هشت‌تایی نشان می‌دهد کنترل‌کننده چند بار وارد وضعیت Rx ویژه BR/EDR می‌شود.
LE_Tx_Average_Power_Level ‫۱ هشت‌تایی [برحسب دسی‌بل میلی‌وات] میانگین سطح توان انتقال همه پیوندهای LE.
LE_Rx_Total_Time ‫۴ هشت‌تایی [به میلی‌ثانیه] کل زمان در وضعیت LE specific Rx (دریافت از ACL/BIS/CIS یا ترافیک اسکن LE).
LE_Rx_State_Enter_Count ‫۴ هشت‌تایی [in ms] Indicates how many times the controller enters the LE specific Rx state
‫Report_Time_Duration (کل زمان) ۴ هشت‌تایی [به میلی‌ثانیه] مدت زمان کل برای جمع‌آوری اطلاعات مربوط به توان.
RX_Active_One_Chain_Time ‫۴ هشت‌تایی [به میلی‌ثانیه] مدت زمان فعال بودن RX در یک زنجیره
RX_Active_Two_Chain_Time ‫۴ هشت‌تایی [به میلی‌ثانیه] مدت زمان فعال بودن RX در دو زنجیره
TX_iPA_Active_One_Chain_Time ۴ هشت‌تایی [به میلی‌ثانیه] مدت زمان فعال بودن TX داخلی در یک زنجیره
TX_iPA_Active_Two_Chain_Time ۴ هشت‌تایی [به میلی‌ثانیه] مدت زمان فعال بودن TX داخلی در دو زنجیره
TX_ePA_Active_One_Chain_Time ‫۴ هشت‌تایی [به میلی‌ثانیه] مدت زمان فعال بودن انتقال خارجی در یک زنجیره
TX_ePA_Active_Two_Chain_Time ‫۴ هشت‌تایی [به میلی‌ثانیه] مدت زمان فعال بودن TX خارجی در دو زنجیره
BREDR_RX_Active_Scan_total_Time ‫۴ هشت‌تایی [به میلی‌ثانیه] دوره زمانی (میلی‌ثانیه) در زمان فعال دریافت اسکن BR/EDR
LE_RX_Active_Scan_total_Time ۴ هشت‌تایی [in ms] Time period (ms) on LE scan RX active time

کد زیررویداد = 0x58 [Quality_Report_Id = 0x09~0x0A، رویداد آمار RF پیشرفته]

رویداد «آمار فرکانس رادیویی پیشرفته بلوتوث» سنجه‌های عملکرد دقیقی درباره رفتار رادیویی کنترل‌کننده بلوتوث ارائه می‌دهد. این رویداد می‌تواند به دو روش راه‌اندازی شود:

  • براساس راه‌انداز (0x09): گزارش یک‌باره‌ای در پاسخ به فرمان خاصی ارسال می‌شود.
  • توسط «پایشگر» (0x0A): کنترل‌کننده گزارش‌ها را به‌صورت دوره‌ای در فواصل زمانی مشخص ارسال می‌کند.

پارامترهای رویداد اساساً شمارنده‌های بسته هستند که عملکردهای مختلف رادیویی را در یک دوره زمانی مشخص پیگیری می‌کنند.

سنجه‌های کلیدی و هدف آن‌ها
  • آمار توان انتقال: این شمارنده‌ها بسته‌های ارسال‌شده بااستفاده از پیکربندی‌های توان مختلف را ردیابی می‌کنند و بین تقویت‌کننده‌های توان داخلی (iPA) و خارجی (ePA) و حالت‌های مختلف تنوع آنتن (Div) یا شکل‌دهی پرتو (BF) تمایز قائل می‌شوند. این کار به تعیین اینکه کدام تنظیمات آنتن و توان بیشتر استفاده می‌شوند کمک می‌کند.
  • دسته‌های نشانگر قدرت سیگنال دریافتی (RSSI): این پارامترها بسته‌های دریافتی را براساس قدرت سیگنال آن‌ها دسته‌بندی می‌کنند. با ارائه تعداد بسته‌ها در محدوده‌های RSSI خاص (برای نمونه، کمتر از ۹۰- دسی‌بل، ۷۰- تا ۷۵- دسی‌بل)، گزارش تصویری واضح از کیفیت پیوند ارائه می‌دهد. تعداد زیاد در دسته‌های سیگنال «ضعیف» (برای مثال، < -90 dBm) نشان‌دهنده اتصال ضعیف است.
  • دلتا RSSI: این سنجه تفاوت در قدرت سیگنال بین دو آنتن دریافت‌کننده (درصورت وجود) را اندازه‌گیری می‌کند. شمارنده‌ها تعداد بسته‌هایی را که دارای دلتای RSSI در محدوده‌های مختلف هستند ردیابی می‌کنند. دلتای بزرگ (مثلاً >۱۱ دسی‌بل میلی‌وات) می‌تواند نشان‌دهنده تداخل یا مانع فیزیکی باشد، زیرا یک آنتن سیگنال بسیار قوی‌تری نسبت‌به آنتن دیگر دریافت می‌کند.
  • تعویض آنتن و انتقال مجدد: گزارش تعداد دفعاتی را که کنترل‌کننده بین آنتن‌ها جابه‌جا می‌شود و بسته‌های انتقال مجدد (ReTX) را ردیابی می‌کند، شمارش می‌کند. تعداد زیاد انتقال مجدد اغلب نشان‌دهنده اتصال ضعیف یا غیرقابل اعتماد است که نیاز به ارسال مجدد بسته‌ها دارد.
  • کیفیت کانال: این پارامترها خلاصه سطح بالایی از وضعیت کانال‌های ارتباطی مختلف ارائه می‌دهند و آن‌ها را براساس RSSI به‌عنوان «خوب»، «متوسط»، «بد»، یا «بسیار بد» دسته‌بندی می‌کنند. این کار نمای کلی فوری از محیط RF ارائه می‌دهد.
  • صف میان‌گیری TX: این بخش تعداد بسته‌های منتظر در میان‌گیر انتقال کنترل‌کننده را برای انواع مختلف پیوند، مانند ACL (پیوند منطقی اتصال‌گرای ناهمگام)، LECONN (اتصال LE)، و LEISOC (هم‌زمان LE) پایش می‌کند. تعداد بالای میان‌گیر می‌تواند نشان‌دهنده گلوگاه یا مشکلی در جریان داده از میزبان به کنترل‌کننده باشد.
پارامتر رویداد فرعی اندازه هدف
Quality_Report_Id ‫۱ هشت‌تایی ‫0x09: آمار RF پیشرفته براساس راه‌انداز
0x0A: آمار RF پیشرفته براساس پایشگر
Extension_info ‫۱ هشت‌تایی اطلاعات نسخه BQR.
‫0x01 برای BQRv6
‫0x02 برای BQRv7
Report_Time_Period ‫۴ هشت‌تایی دوره زمانی برای جمع‌آوری اطلاعات عملکرد. واحد: میلی‌ثانیه
TX_Power_iPA_BF ۴ هشت‌تایی شمارنده بسته iPA BF
TX_Power_ePA_BF ۴ هشت‌تایی شمارنده بسته ePA BF
TX_Power_iPA_Div ‫۴ هشت‌تایی شمارنده بسته ePA Div
TX_Power_ePA_Div ‫۴ هشت‌تایی شمارنده بسته ePA Div
RSSI_chain_50 ۴ هشت‌تایی شمارنده بسته زنجیره RSSI‏ > -۵۰ دسی‌بل میلی‌وات
RSSI_chain_50_55 ‫۴ هشت‌تایی تعداد بسته‌های زنجیره RSSI بین ۵۰- دسی‌بل میلی‌وات تا >۵۵- دسی‌بل میلی‌وات
RSSI_chain_55_60 ۴ هشت‌تایی شمارنده بسته زنجیره RSSI بین ۵۵- دسی‌بل میلی‌وات تا ۶۰- دسی‌بل میلی‌وات
RSSI_chain_60_65 ‫۴ هشت‌تایی شمارنده بسته زنجیره RSSI بین ۶۰- دسی‌بل میلی‌وات ~ >۶۵- دسی‌بل میلی‌وات
RSSI_chain_65_70 ‫۴ هشت‌تایی شمارنده بسته زنجیره RSSI بین -۶۵ دسی‌بل میلی‌وات ~ >-۷۰ دسی‌بل میلی‌وات
RSSI_chain_70_75 ‫۴ هشت‌تایی شمارنده بسته زنجیره RSSI بین ۷۰- دسی‌بل میلی‌وات ~ >۷۵- دسی‌بل میلی‌وات
RSSI_chain_75_80 ‫۴ هشت‌تایی شمارنده بسته زنجیره RSSI بین -۷۵ دسی‌بل میلی‌وات ~ >-۸۰ دسی‌بل میلی‌وات
RSSI_chain_80_85 ۴ هشت‌تایی شمارنده بسته زنجیره RSSI بین ‎-۸۰ دسی‌بل میلی‌وات تا ‎ >-۸۵ دسی‌بل میلی‌وات
RSSI_chain_85_90 ‫۴ هشت‌تایی شمارنده بسته زنجیره RSSI بین ‎-۸۵ دسی‌بل میلی‌وات تا ‎ >-۹۰ دسی‌بل میلی‌وات
RSSI_chain_90 ۴ هشت‌تایی شمارنده بسته زنجیره RSSI < -90 dBm
RSSI_delta_2 ۴ هشت‌تایی شمارنده بسته RSSI delta < 2 dBm
RSSI_delta_2_5 ۴ هشت‌تایی شمارنده بسته دلتای RSSI بین ۲ دسی‌بل میلی‌وات تا ۵ دسی‌بل میلی‌وات
RSSI_delta_5_8 ‫۴ هشت‌تایی شمارنده بسته دلتای RSSI بین ۵ دسی‌بل میلی‌وات تا ۸ دسی‌بل میلی‌وات
RSSI_delta_8_11 ‫۴ هشت‌تایی شمارنده بسته دلتای RSSI بین ۸ دسی‌بل میلی‌وات تا ۱۱ دسی‌بل میلی‌وات
RSSI_delta_11 ‫۴ هشت‌تایی شمارنده بسته دلتای RSSI > 11 dBm
Antenna_Switch_Count ‫۴ هشت‌تایی شمارنده بسته رویداد تعویض آنتن
ReTX_iPA_BF ‫۴ هشت‌تایی شمارنده بسته ReTX_iPA_BF در آخرین دوره زمانی
ReTX_ePA_BF ۴ هشت‌تایی شمارنده بسته ReTX_ePA_BF در آخرین دوره زمانی
ReTX_iPA_Div ۴ هشت‌تایی شمارنده بسته ReTX_iPA_Div در آخرین دوره زمانی
ReTX_ePA_Div ۴ هشت‌تایی شمارنده بسته ReTX_ePA_Div در آخرین دوره زمانی
Channel_count_Good ‫۱ هشت‌تایی تعداد کانال‌هایی که RSSI آن‌ها در «مخزن ۴» (>-۵۰) قرار می‌گیرد
Channel_count_OK ‫۱ هشت‌تایی تعداد کانال‌هایی که RSSI آن‌ها در محدوده Bin-3 (-76~-50) قرار دارد
Channel_count_Bad ‫۱ هشت‌تایی تعداد کانال‌هایی که RSSI آن‌ها در Bin-2‏ (‎-۹۰ تا ‎-۷۶) قرار می‌گیرد
Channel_count_VeryBad ‫۱ هشت‌تایی تعداد کانال‌هایی که RSSI آن‌ها در Bin-1 قرار می‌گیرد (<-90)
TX_buffer_Queue_Count ‫۴ هشت‌تایی شمارنده وضعیت صف میان‌گیر-میان‌گیر TX کنترل‌کننده در آخرین دوره زمانی [۰:۳] ACL_1 [۴:۷] ACL_2 [۸:۱۱] LECONN_1 [۱۲:۱۵] LECONN_2 [۱۶:۱۹] LEISOC_1 [۲۰:۲۳] LEISOC_2 [۲۴:۲۷] LEBroadcast [۲۸:۳۱] rsvd

کد رویداد فرعی = 0x58 [Quality_Report_Id = 0x0B~0x0C، رویداد «پایش سلامت کنترل‌کننده»]

رویداد «پایش سلامت کنترل‌کننده بلوتوث» خلاصه‌ای از وضعیت عملکرد کنترل‌کننده ارائه می‌دهد. این رویداد می‌تواند به دو روش راه‌اندازی شود:

  • براساس راه‌انداز (0x09): گزارش یک‌باره‌ای در پاسخ به فرمان خاصی ارسال می‌شود.
  • توسط «پایشگر» (0x0A): کنترل‌کننده گزارش‌ها را به‌صورت دوره‌ای در فواصل زمانی مشخص ارسال می‌کند.

رویداد «پایش سلامت کنترل‌کننده بلوتوث» ابزاری تشخیصی است که خلاصه‌ای از وضعیت عملیاتی کنترل‌کننده ارائه می‌دهد. این رویداد بخشی از چارچوب گزارش کیفیت بلوتوث (BQR) است و برای اشکال‌زدایی مشکلات اتصال، مدیریت مصرف برق، و زمان‌بندی استفاده می‌شود. می‌تواند به‌عنوان گزارش یک‌باره یا به‌صورت دوره‌ای برای ارائه پایش مداوم ارسال شود.

سنجه‌های کلیدی و هدف آن‌ها
  • شمارنده‌های بسته HCI: این رویداد تعداد کل بسته‌های ارسال‌شده از میزبان به کنترل‌کننده و بالعکس را ردیابی می‌کند. این شمارنده‌ها برای اشکال‌زدایی مشکلات مربوط به انتقال «میانای کنترل‌کننده میزبان» (HCI) ضروری هستند. انتقال «میانای کنترل‌کننده میزبان» کانال ارتباطی بین پشته نرم‌افزار و تراشه کنترل‌کننده بلوتوث است.
  • طول بسته‌ها: رویداد طول آخرین بسته HCI ارسال‌شده و دریافت‌شده را گزارش می‌کند. این کار کمک می‌کند تأیید شود که داده‌ها به‌درستی منتقل می‌شوند و هیچ مشکل غیرمنتظره‌ای در اندازه وجود ندارد.
  • تعداد سیگنال‌های بیدارباش: این گزارش شامل تعداد کل دفعاتی است که سنجاق‌های BT_Wake و HOST_Wake تأیید شده‌اند. این سیگنال‌های فیزیکی برای مدیریت مصرف برق حیاتی هستند، زیرا برای بیدار کردن نهادهای مربوطه از حالت‌های کم‌مصرف استفاده می‌شوند. نظارت بر این تعداد به اشکال‌زدایی مشکلات مربوط به برق کمک می‌کند، مثل روشن شدن غیرمنتظره یا عدم ورود به حالت خواب.
  • مُهرهای زمان: رویداد چندین مُهر زمان ارائه می‌دهد، ازجمله زمان آخرین سیگنال بیدار شدن و آخرین بازنشانی HCI. این مُهرهای زمان به عیب‌یابی مشکلات مربوط به زمان‌بندی کمک می‌کنند و نقطه مرجعی برای زمان وقوع رویدادهای خاص ارائه می‌دهند.
  • زمان‌سنج ناظر: پرچم خاصی نشان می‌دهد که آیا رویداد به‌عنوان هشدار زودهنگام تولید شده است که زمان‌سنج ناظر کنترل‌کننده درحال منقضی شدن است یا نه. این یک هشدار مهم برای خرابی یا ازکارافتادگی احتمالی کنترل‌کننده است.
  • وضعیت پیوند: این گزارش وضعیت فعلی اتصالات فعال را خلاصه می‌کند، ازجمله تعداد کل پیوندهای BR/EDR،‏ LE، و CIS (جاری‌سازی هم‌زمان متصل). همچنین نشان می‌دهد که آیا پیوندهای SCO (اتصال هم‌زمان گرا) فعال هستند یا نه. این اطلاعات نمایی کلی از بار اتصال فعلی کنترل‌کننده ارائه می‌دهد.
پارامتر زیررویداد اندازه هدف
Quality_Report_Id ‫۱ هشت‌تایی ‫0xB~0xC
0x0B: گزارش‌های یک‌باره یا گزارش‌هایی که با رویداد راه‌اندازی می‌شوند
0x0C: گزارش‌های دوره‌ای.
Packet_Count_Host_to_Controller ۴ هشت‌تایی تعداد کل بسته‌های ارسالی از «میزبان» به «کنترل‌کننده» ازطریق انتقال HCI. این فیلد برای اشکال‌زدایی مشکلات HCI (مثلاً UART) استفاده می‌شود. عملکرد: وقتی کنترل‌کننده بازنشانی HCI دریافت می‌کند، شمارنده‌ها بازنشانی می‌شوند.
Packet_Count_Controller_to_Host ‫۴ هشت‌تایی تعداد کل بسته‌های «رویداد HCI» ارسال‌شده به «میزبان». این فیلد برای اشکال‌زدایی مشکلات HCI (مثلاً UART) استفاده می‌شود. عملکرد: وقتی کنترل‌کننده بازنشانی HCI را دریافت می‌کند، شمارنده‌ها بازنشانی می‌شوند.
Last_Packet_Length_Host_to_Controller ‫۲ هشت‌تایی طول آخرین بسته HCI ارسال‌شده به Host UART. توجه: حداکثر طول بسته HCI‏ ۲ اکتت (شامل HCI،‏ ACL،‏ SCO،‏ ISO)
Last_Packet_Length_Controller_To_host ‫۲ هشت‌تایی طول آخرین بسته HCI دریافتی از Host UART. توجه: حداکثر طول بسته HCI‏ ۲ بایت (شامل HCI،‏ ACL،‏ SCO،‏ ISO)
Total_BT_Wake_Count ‫۴ هشت‌تایی تعداد کل ادعاهای سنجاق BT_Wake توسط نهاد میزبان. این فیلد به‌عنوان ابزار عیب‌یابی برای اشکال‌زدایی مشکلات مربوط به برق عمل می‌کند. رفتار: وقتی کنترل‌کننده بازنشانی HCI را دریافت کرد، شمارنده‌ها بازنشانی می‌شوند.
Total_HOST_Wake_Count ‫۴ هشت‌تایی محاسبه تجمیعی ادعاهای سنجاق Host_Wake که توسط «کنترل‌کننده» آغاز شده است. این فیلد به‌عنوان ابزار تشخیص خرابی برای اشکال‌زدایی مشکلات مربوط به برق عمل می‌کند. عملکرد: وقتی کنترل‌کننده بازنشانی HCI دریافت می‌کند، شمارنده‌ها بازنشانی می‌شوند.
Last_BT_Wake_TimeStamp ‫۴ هشت‌تایی آخرین مُهر زمان وقتی میزبان پین BT_Wake را تأیید کرد.این فیلد برای هدف اشکال‌زدایی مشکلات برق پیاده‌سازی شده است.
Last_HOST_Wake_TimeStamp ‫۴ هشت‌تایی جدیدترین مُهر زمان وقتی که کنترل‌کننده پین Host_Wake را تأیید کرد. این فیلد برای اشکال‌زدایی مشکلات برق استفاده می‌شود.
Reset_Timestamp ۴ هشت‌تایی مُهر زمانی که نشان‌دهنده تکمیل جدیدترین «بازنشانی HCI» است. این فیلد به‌طور خاص برای تسهیل حل‌وفصل مشکلات مربوط به زمان‌بندی استفاده می‌شود. باید به‌عنوان نقطه ضبط اولیه که همه موارد دیگر در مقایسه با آن ارجاع داده می‌شوند عمل کند.
Current_Timestamp ‫۴ هشت‌تایی زمان کنونی که این رویداد تولید می‌شود. این فیلد برای هدف عیب‌یابی کردن اختلاف‌های زمانی استفاده می‌شود. باید به‌عنوان نقطه ضبط محرک که همه عناصر دیگر به آن ارجاع می‌دهند عمل کند.
Is_WatchDog_Timer_About_To_Expire ۴ هشت‌تایی پرچمی که نشان می‌دهد این رویداد وضعیت سلامت توسط کنترل‌کننده به‌عنوان هشدار زودهنگام درباره انقضای «سگ نگهبان» تولید شده است. مُهر زمان فعلی برای نشان دادن زمان وقوع استفاده می‌شود.
Coex_Status_Mask ‫۲ هشت‌تایی بیت ۰ - رزروشده
Total_Links_BR_EDR_LE_Active ‫۱ هشت‌تایی تعداد کل پیوندهای BR/EDR/LE در وضعیت «فعال».
Total_Links_BR_EDR_Sniff ‫۱ هشت‌تایی تعداد کل پیوند BR/EDR در حالت Sniff/Idle.
Total_Links_CIS ‫۱ هشت‌تایی تعداد کل پیوند ISO.
Is_SCO_Active ‫۱ هشت‌تایی نشانگر بررسی اینکه آیا پیوند SCO درحال‌حاضر فعال است یا نه.
پارامتر رویداد فرعی اندازه هدف
Quality_Report_Id ‫۱ هشت‌تایی ‫0x00 ~ 0x10: رزروشده.
0x11: ردیابی پیام LMP/LL.
0x12: ردیابی زمان‌بندی چندپیوندی/هم‌زیستی بلوتوث.
0x13: تخلیه داده‌های «اطلاعات اشکال‌زدایی کنترل‌کننده».
0x14 ~ 0xFF: رزروشده.
Connection_Handle ۲ هشت‌تایی دستگیره اتصال.
پارامتر مختص فروشنده ‫(Parameter Total Length - 4) * octets قالب خاص فروشنده از ردیابی پیام LMP، ردیابی زمان‌بندی Bluetooth Multi-link/Coex و تخلیه داده‌های «اطلاعات اشکال‌زدایی کنترل‌کننده».

Subevent code = 0x58 [Quality_Report_Id = 0x16, LEA broadcast source event]

پارامترهای BIG Handle تا Timestamp به کنترل‌کننده امکان می‌دهند اطلاعات «منبع» همه‌فرستی را به‌طور پیش‌کنشی گزارش کند، ازجمله BD_ADDR ارسال‌شده ازطریق هوا و نقشه کانال BIG که درحال‌حاضر استفاده می‌شود. پارامترهای Broadcast ID of Broadcast Receiver Subscribed تا RSSI برای گیرنده «پخش» درنظر گرفته شده‌اند تا اطلاعات مربوط به منبع BIG مشترک‌شده را گزارش کند. این اطلاعات باید از گیرنده «همه‌فرستی» به منبع BIG ازطریق PAwR، اتصال LE ACL، یا روش‌های ذی‌ربط دیگر منتقل شود.

پارامتر زیررویداد اندازه هدف
Quality_Report_Id ‫۱ هشت‌تایی ‫0x16: رویداد منبع همه‌فرستی LEA.
BIG_Handle ‫۱ هشت‌تایی دستور BIG اختصاص‌داده‌شده توسط میزبان.
Broadcast_Source_BD_ADDR_Type ‫۱ هشت‌تایی نوع BD_ADDR منبع همه‌فرستی (دستور BIG) که به هوا ارسال می‌شود.
Broadcast_Source_BD_ADDR ۶ هشت‌تایی ‫BD_ADDR منبع همه‌فرستی (دستور BIG) به هوا ارسال شد.
BIG_Source_Prefer_Channel_Map ‫۵ هشت‌تایی نقشه کانال BIG که توسط کنترل‌کننده ترجیح داده می‌شود و توسط طبقه‌بندی کانال شناسایی می‌شود.
BIG_Source_Used_Channel_Map ‫۵ هشت‌تایی کانال BIG که توسط کنترل‌کننده استفاده می‌شود.
BIG_TX_Power ‫۱ هشت‌تایی توان انتقالی فعلی که در «شناسه همه‌فرستی» استفاده می‌شود.
Timestamp ۴ هشت‌تایی مُهر زمان (ساعت Piconet) برای «دستگیره بزرگ» مشخص‌شده. این مقدار باید با مقدار کنترل‌کننده در پاسخ به فرمان HCI_Read_Clock HCI با پارامتر Which_Clock از 0x01 (ساعت Piconet) یکسان باشد.
واحد: N * ۰٫۳۱۲۵ میلی‌ثانیه (۱ ساعت بلوتوث)
Broadcast_ID_of_Broadcast_Receiver_Subscribed ‫۳ هشت‌تایی شناسه پخش زنده مشترک‌شده دستگاه مشتری را نشان می‌دهد.
مقدار نامعتبر: 0xFFFFFF
Broadcast_Receiver_BD_ADDR_Type ‫۱ هشت‌تایی نوع BD_ADDR گیرنده رویداد ثبت‌شده.
مقدار نامعتبر: 0xFF
Broadcast_Receiver_BD_ADDR ‫۶ هشت‌تایی BD_ADDR گیرنده همه‌فرستی.
مقدار نامعتبر: 0x000000000000
Time_Duration ‫۴ هشت‌تایی مدت زمان جمع‌آوری اطلاعات عملکرد.
واحد: میلی‌ثانیه.
مقدار نامعتبر: 0xFFFFFFFF
BIS_Choppy_count ۴ هشت‌تایی تعداد «مبهم بودن» BIS: تعداد «مبهم بودن» با Time_Duration.
مقدار نامعتبر: 0xFFFFFFFF
PER ۴ هشت‌تایی نرخ خطای بسته (PER) در Time_Duration.
مقدار نامعتبر: 0xFFFFFFFF
No_Sync ‫۴ هشت‌تایی تعداد دفعاتی که RX همگام‌سازی نشده است.
مقدار نامعتبر: 0xFFFFFFFF
Receiver_Prefer_Channel_Map ‫۵ هشت‌تایی نقشه کانال گیرنده پخش را نشان می‌دهد.
مقدار نامعتبر: 0x0000000000
Receiver_Tx_Power ‫۱ هشت‌تایی سطح توانی را نشان می‌دهد که در آن بسته‌ای حاوی داده از گیرنده پخش ارسال می‌شود.
مقدار نامعتبر: 0xFF
RSSI ‫۱ هشت‌تایی ‫RSSI بسته‌های دریافتی از گیرنده رویداد ثبت‌شده.
مقدار نامعتبر: 0x7F
Reserved ‫۴ هشت‌تایی رزروشده

کد رویداد فرعی = 0x5C

وقتی فعال شد، این رویداد باید درطول هر فاصله ISO تولید شود.

فعال‌سازی
فعال‌سازی با انتخاب کد فروشنده Data_Path_ID 0x19 در فرمان استاندارد HCI_LE_Setup_ISO_Data_Path انجام می‌شود. فرمان HCI_Configure_Data_Path با Data_Path_ID تنظیم‌شده روی 0x19 و Vendor_Specific_Config_Length تنظیم‌شده روی 0، باید پذیرفته شود، حتی اگر انتظار نرود که کنترل‌کننده پس‌از دریافت این فرمان کنشی انجام دهد.
نقطه زمانی اعزام
رویداد از ابتدای یک بازه ISO (نقطه لنگر CIG یا BIG) تا بازه ISO بعدی منتشر می‌شود. کنترل‌کننده تأخیر را با شروع مؤثر فاصله ISO بااستفاده از Anchor_Point_Delay نشان می‌دهد.
همگام‌سازی کنترل‌کننده
در ابتدای یک بازه ISO، کنترل‌کننده با افزایش مقدار فعلی توسط ISO_Interval ÷ SDU_Interval پیکربندی‌شده، StreamSN را محاسبه می‌کند؛ در بازه اول، این مقدار روی ۰ مقداردهی اولیه می‌شود.
سپس، برای هر بسته در ISO FIFO، موارد زیر اعمال می‌شود:
  • کنترل‌کننده تفاوت بسته‌بندی SNdiff بین دو شماره ترتیب را محاسبه می‌کند:
    SNdiff = (SDUSN - StreamSN + 0x10000) mod 0x10000
  • وقتی (SNdiff + (FT-1) × ISO_Interval ÷ SDU_Interval) mod 0x10000 <= (FT-1) × ISO_Interval ÷ SDU_Interval:
    بسته در پنجره بازارسال است. باید برای انتقال در فواصل قبلی زمان‌بندی شده باشد و اکنون برای انتقال مجدد دردسترس است. اگر این‌طور نباشد (برای انتقال زمان‌بندی نشده باشد)، دیر دریافت شده است. این موضوع باید بااستفاده از In_Status به میزبان اطلاع داده شود. چنین بسته‌هایی می‌توانند دور ریخته شوند یا برای انتقال زمان‌بندی شوند؛ انتخاب با پیاده‌سازی تعریف می‌شود.
  • یا وقتی SNdiff < ISO_Interval ÷ SDU_Interval:
    بسته برای انتقال از این رویداد تا زمان وقوع مهلت شستشو زمان‌بندی می‌شود.
  • یا وقتی SNdiff >= ISO_Interval ÷ SDU_Interval و SNdiff <= Max_Forward_Buffers:
    بسته در آینده است؛ با رویداد بعدی منتقل خواهد شد. ازآنجایی‌که بسته‌ها به‌ترتیب ارسال می‌شوند، این وضعیت جستجوی بسته‌ها برای این بازه را پایان می‌دهد.
    میان‌گیرهای استفاده‌شده توسط میزبان به کنترل‌کننده اعلام نمی‌شود، اما به Max_Forward_Buffers = 16 محدود می‌شود.
  • یا زمانی که هیچ‌یک از شرایط بالا برآورده نشود:
    بسته دور انداخته می‌شود، به حد مجاز مهلت زمانی تخلیه می‌رسد، یا بسته بدساخته‌ای دریافت می‌شود.

پارامتر زیررویداد اندازه هدف
Connection_Handle ‫۲ هشت‌تایی دستگیره اتصال CIS یا BIS
محدوده: 0x0000 تا 0x0EFF
Sequence_Number ‫۲ هشت‌تایی شماره ترتیب جاری‌سازی که توسط کنترل‌کننده مدیریت می‌شود.

وقتی CIS یا BIS ایجاد می‌شود، مقدار آن روی ۰ تنظیم می‌شود و به‌اندازه تعداد SDU توسط فاصله هم‌زمان ISO، که به‌عنوان ISO_interval ÷ SDU_Interval تعریف شده است، در هر فاصله ISO افزایش می‌یابد.
Anchor_Point_Delay ۲ هشت‌تایی تأخیر برحسب میکروثانیه بین تولید رویداد و نقطه لنگر BIG یا CIG مؤثر یا شروع فاصله ISO. مُهر زمان نقطه لنگر مؤثر با این مورد تعریف می‌شود:
Event generation time - Anchor_Point_Delay

محدوده: ۰ تا فاصله ISO برحسب میکروثانیه
In_Status ۲ هشت‌تایی وضعیت میان‌گیر ISO کنترل‌کننده

در شروع فاصله ISO، هر بیت bi وقتی SDU (Sequence_Number + i) mod 0x10000 دردسترس باشد تنظیم می‌شود. وقتی دردسترس نباشد، SDU به‌صورت Not received from the host شناسایی می‌شود.

مقدار i از ۰ تا ISO_Interval ÷ SDU_Interval - 1 متغیر است. برای مقادیر دیگر i، بیت‌ها روی ۰ تنظیم می‌شوند.
Tx_Status ۲ هشت‌تایی وضعیت انتقال، نسبت به واحدهای داده سرویس با شماره‌های ترتیب:
(Sequence_Number - Flush_Timeout × ISO_Interval ÷ SDU_Interval + i + 0x10000) mod 0x10000

هر بیت bi زمانی تنظیم می‌شود که همه PDUهای SDU شناسایی‌شده، با شماره ترتیب آن، باموفقیت ارسال و تأیید شده باشند.

مقدار i از ۰ تا ISO_Interval ÷ SDU_Interval - 1 متغیر است. برای مقادیر دیگر i، بیت‌ها روی ۰ تنظیم می‌شوند.
در گروه همه‌فرستی، انتقال همیشه باید تأیید شود.

پشتیبانی از چند آگهی‌دهنده

اهداف پشتیبانی از چند آگهی‌دهنده به شرح زیر است:

  • امکان پشتیبانی از چندین تبلیغات (max_advt_instances)
  • قدرت‌های انتقال متفاوت برای امکان‌پذیر کردن محدوده‌های مختلف
  • محتوای تبلیغاتی متفاوت
  • پاسخی شخصی‌سازی‌شده برای هر تبلیغ‌کننده
  • حریم خصوصی (غیرقابل ردیابی) برای هر تبلیغ‌کننده
  • اتصال‌پذیر

برای اینکه این مشخصات به استانداردهای موجود نزدیک باشد، فرمان‌های زیر که مختص فروشنده است ارائه شده است. این مقادیر از «مشخصات اصلی بلوتوث نسخه ۴.۱» استخراج شده‌اند.

LE_Multi_Advt_Command

OCF: 0x154

پارامتر فرمان اندازه هدف
Multi_advt_opcode ‫۱ هشت‌تایی 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

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Multi_advt_opcode ‫۱ هشت‌تایی 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

مرجع پایه: مشخصات Bluetooth Core 4.1، صفحه ۹۶۴ (LE Set Advertising Parameter Command)

Sub OCF: 0x01

پارامتر زیرفرمان اندازه هدف
Advertising_Interval_Min طبق مشخصات طبق مشخصات
Advertising_Interval_Max طبق مشخصات طبق مشخصات
Advertising_Type طبق مشخصات طبق مشخصات
Own_Address_Type طبق مشخصات طبق مشخصات
Own_Address طبق مشخصات طبق مشخصات
Direct_Address_Type طبق مشخصات طبق مشخصات
Direct_Address طبق مشخصات طبق مشخصات
Advertising_Channel_Map طبق مشخصات طبق مشخصات
Adverstising_Filter_Policy طبق مشخصات طبق مشخصات
Advertising_Instance ‫۱ هشت‌تایی کاربرد پارامترهای بالا را برای نمونه مشخص می‌کند
Tx_power ‫۱ هشت‌تایی Transmit_Power
واحد - در dBm (عدد صحیح علامت‌دار)
محدوده (-۷۰ تا +۲۰)

پارامتر Own_Address می‌تواند نشانی پیکربندی‌شده توسط میزبان در زمان راه‌اندازی این نمونه چندآگهی باشد. این ویژگی امکان داشتن نشانی خصوصی قابل‌حل در زمان انتقال اولین پیام راهنما را فراهم می‌کند. تبلیغات در یک نمونه بدون توجه به اتصال ادامه خواهد یافت. پشته میزبان BT می‌تواند فرمانی برای شروع تبلیغات در نمونه، پس‌از اتصال، صادر کند.

یک رویداد «تکمیل فرمان» برای این فرمان همان‌طور که در «مشخصات هسته بلوتوث ۴.۱» مشخص شده است، طبق فرمان بالا ایجاد خواهد شد. اگر نمونه تبلیغات یا پارامترهای Tx_Power نامعتبر باشند، کنترل‌کننده با کد غیرموفق (پارامتر نامعتبر) پاسخ خواهد داد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Multi_advt_opcode ‫۱ هشت‌تایی ‫0x01 [Set_Advt_Param_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Advt_Data_Multi_Sub_Cmd

مرجع پایه: مشخصات اصلی بلوتوث ۴.۱، صفحه ۹۶۹ (دستور داده‌های تبلیغاتی LE Set)

Sub OCF: 0x02

پارامتر زیرفرمان اندازه هدف
Advertising_Data_Length طبق مشخصات طبق مشخصات
Advertising_Data طبق مشخصات طبق مشخصات
Advertising_Instance ‫۱ هشت‌تایی قابلیت اعمال پارامترهای بالا را برای یک نمونه مشخص می‌کند

رویداد «فرمان کامل» برای این فرمان طبق مشخصات Bluetooth Core 4.1، طبق فرمان بالا، تولید خواهد شد. اگر نمونه تبلیغات یا پارامترهای Tx_Power نامعتبر باشند، کنترل‌کننده با کد غیرموفق پاسخ خواهد داد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Multi_advt_opcode ‫۱ هشت‌تایی ‫0x02 [Set_Advt_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Scan_Resp_Data_Multi_Sub_Cmd

مرجع پایه: مشخصات اصلی بلوتوث ۴.۱، صفحه ۹۷۰ (دستور داده‌های پاسخ «تنظیم اسکن کم‌مصرف»)

Sub OCF: 0x03

پارامتر زیرفرمان اندازه هدف
Scan_Response_Data_Length طبق مشخصات طبق مشخصات
Scan_Response_Data طبق مشخصات طبق مشخصات
Advertising_Instance ‫۱ هشت‌تایی قابلیت اعمال پارامترهای بالا را برای یک نمونه مشخص می‌کند

یک رویداد «تکمیل فرمان» برای این فرمان همان‌طور که در «مشخصات هسته بلوتوث ۴.۱» مشخص شده است، طبق فرمان بالا ایجاد خواهد شد. اگر نمونه تبلیغاتی یا پارامترهای Tx_Power نامعتبر باشند، کنترل‌کننده با کد ناموفق (پارامتر نامعتبر) پاسخ خواهد داد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Multi_advt_opcode ‫۱ هشت‌تایی ‫0x03 [Set_Scan_Resp_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Random_Addr_Multi_Sub_Cmd

مرجع پایه: مشخصات اصلی بلوتوث ۴.۱، صفحه ۹۶۳ (دستور تنظیم نشانی تصادفی LE)

کد عملیات فرعی: 0x04

پارامتر زیرفرمان اندازه هدف
نشانی تصادفی طبق مشخصات طبق مشخصات
Advertising_Instance ‫۱ هشت‌تایی کاربرد پارامترهای بالا را برای نمونه مشخص می‌کند

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Multi_advt_opcode ‫۱ هشت‌تایی 0x04 [Set_Random_Addr_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Advt_Enable_Multi_Sub_Cmd

مرجع پایه: مشخصات اصلی بلوتوث ۴.۱، صفحه ۹۷۱ (دستور فعال کردن تبلیغات LE در آن مشخصات اصلی)

OCF: 0x05

پارامتر زیرفرمان اندازه هدف
Advertising_Enable ‫۱ هشت‌تایی مقدار ۱ یعنی فعال کردن. هر مقدار دیگری به‌معنای غیرفعال کردن است.
Advertising_Instance ‫۱ هشت‌تایی کاربرد پارامترهای بالا را برای نمونه مشخص می‌کند. نمونه ۰ به‌معنای نمونه HCI استاندارد است.

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Multi_advt_opcode ‫۱ هشت‌تایی ‫0x05 [Set_Advt_Enable_Multi_Sub_Cmd]

وضوح نشانی خصوصی بارگذاری شد

این ویژگی نشانی خصوصی را در سفت‌افزار یا سخت‌افزار کنترل‌کننده حل می‌کند که مزایای زیر را ارائه می‌دهد:

  • تأخیر مربوط به میزبان در حل کردن نشانی خصوصی
  • صرفه‌جویی در مصرف برق با خودداری از بیدار کردن میزبان

LE_Set_RPA_Timeout

OCF: 0x15C

پارامتر فرمان اندازه هدف
LE_local_IRK ‫۱۶ هشت‌تایی ‫IRK دستگاه محلی که برای تولید کردن نشانی(های) تصادفی قابل‌حل استفاده می‌شود.
tRPA_min ‫۲ هشت‌تایی حداقل زمان اتمام مهلت تولید RPA به ثانیه. کنترل‌کننده باید برای هر رویداد تبلیغات/اسکن/اتصال در این مهلت زمانی یا پس‌از آن، نشانی‌های قابل‌حل جدید تولید کند.
محدوده معتبر: ۳۰۰ تا ۱۸۰۰
tRPA_max ‫۲ هشت‌تایی حداکثر زمان وقفه تولید RPA به ثانیه. کنترل‌کننده باید برای هر رویداد تبلیغات/اسکن/اتصال در این مهلت زمانی یا قبل‌از آن، نشانی‌های قابل‌حل جدیدی تولید کند.
محدوده معتبر: tRPA_min-۱۸۰۰
پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت فرمان.

مقادیر وضعیت HCI پیشنهادی:
0x00 موفقیت‌آمیز
0x01 فرمان ناشناخته (درصورت پشتیبانی نشدن)
0x12 پارامترهای فرمان نامعتبر (درصورتی‌که هریک از پارامترها خارج از محدوده داده‌شده باشد)

LE_RPA_offload_Command

OCF: 0x155

پارامتر فرمان اندازه هدف
RPA_offload_opcode ‫۱ هشت‌تایی ‫0x1 - فعال کردن ویژگی خاص مشتری
‫0x2 - افزودن IRK به فهرست
‫0x3 - برداشتن IRK از فهرست
‫0x4 - پاک کردن فهرست IRK
‫0x5 - خواندن ورودی فهرست IRK

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Event_RPA_offload_opcode ‫۱ هشت‌تایی ‫0x1 - فعال کردن ویژگی خاص مشتری
‫0x2 - افزودن IRK به فهرست
‫0x3 - برداشتن IRK از فهرست
‫0x4 - پاک کردن فهرست IRK
‫0x5 - خواندن ورودی فهرست IRK

LE_RPA_offload: Enable_cust_specific_sub_Command

Sub OCF: 0x01

پارامتر زیرفرمان اندازه هدف
enable_customer_specific_feature_set ‫۱ هشت‌تایی ‫0x01 - فعال کردن ویژگی RPA بارگذاری‌شده
‫0x00 - غیرفعال کردن ویژگی RPA بارگذاری‌شده

میزبان باید براساس قابلیت تراشه، بارگیری RPA را فعال کند. به LE_Get_Vendor_Capabilities_Command مراجعه کنید. هر تراشه می‌تواند max_irk_list_sz متفاوتی در میان‌افزار داشته باشد.

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Event_cust_specific_feature_opcode ‫۱ هشت‌تایی ‫0x01 [فعال کردن ویژگی مختص مشتری]

LE_RPA_offload: Add_IRK_to_list_sub_Command

Sub OCF: 0x02

پارامتر زیرفرمان اندازه هدف
LE_IRK ‫۱۶ هشت‌تایی LE IRK (1st byte LSB)
Address_Type ‫۱ هشت‌تایی 0: نشانی عمومی
1: نشانی تصادفی
LE_Device_Address ۶ هشت‌تایی نشانی عمومی یا تصادفی مرتبط با IRK (بایت اول LSB)

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Event_cust_specific_feature_opcode ‫۱ هشت‌تایی 0x02 [افزودن IRK به فهرست]
LE_IrkList_AvailableSpaces ‫۱ هشت‌تایی ورودی‌های فهرست IRL دردسترس پس‌از عملیات فعلی

LE_RPA_offload: Remove_IRK_to_list_sub_Command

Sub OCF: 0x03

پارامتر زیرفرمان اندازه هدف
Address_Type ‫۱ هشت‌تایی 0: نشانی عمومی
1: نشانی تصادفی
LE_Device_Address ‫۶ هشت‌تایی نشانی عمومی یا تصادفی که به «ریال ایران» مرتبط باشد

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Event_cust_specific_feature_opcode ‫۱ هشت‌تایی ‫0x03 [برداشتن IRK از فهرست]
LE_IrkList_AvailableSpaces ‫۱ هشت‌تایی ورودی‌های فهرست IRL دردسترس پس‌از عملیات فعلی

LE_RPA_offload: Clear_IRK_list_sub_Command

کد عملیات فرعی: 0x04

پارامتر زیرفرمان اندازه هدف
هیچ‌کدام

رویداد «فرمان تکمیل شد» برای این فرمان ایجاد خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Event_cust_specific_feature_opcode ‫۱ هشت‌تایی ‫0x04 [پاک کردن فهرست IRK]
LE_IrkList_AvailableSpaces ‫۱ هشت‌تایی ورودی‌های فهرست IRL پس‌از عملیات کنونی دردسترس است [max_irk_list_sz]

LE_RPA_offload: Read_IRK_list_sub_Command

OCF فرعی: 0x05

پارامتر زیرفرمان اندازه هدف
LE_read_IRK_list_entry-index ‫۱ هشت‌تایی شاخص فهرست IRK [۰، max_irk_list_sz-1]

رویداد «فرمان کامل» برای این فرمان تولید خواهد شد.

پارامتر برگشتی اندازه هدف
Status ‫۱ هشت‌تایی وضعیت «فرمان کامل»
Event_cust_specific_feature_opcode ‫۱ هشت‌تایی ‫0x05 [خواندن ورودی فهرست IRK]
LE_Read_IRK_List_entry ‫۱ هشت‌تایی شاخص IRK که میزبان می‌خواهد آن را بازخوانی کند (حداکثر اندازه فهرست IRK ۳۲ است)
LE_IRK ‫۱۶ هشت‌تایی مقدار IRK
Address_Type ‫۱ هشت‌تایی 0: نشانی عمومی
1: نشانی تصادفی
LE_Device_Address ‫۶ هشت‌تایی نشانی عمومی یا تصادفی مرتبط با IRK
LE_Resolved_Private_Address ‫۶ هشت‌تایی نشانی خصوصی قابل‌حل کنونی این IRK

انتقال داده Sniff

ویژگی Sniff Offload مدیریت حالت Sniff را از پشته میزبان بلوتوث به کنترل‌کننده بلوتوث منتقل می‌کند. این امکان را به کنترل‌کننده می‌دهد که زمان‌بندی ورود/خروج از حالت Sniff را مدیریت کند و پارامترهای پیکربندی Sniff و Sniff sub-rating را اعمال کند، درحالی‌که میزبان کنترل انتخاب پارامتر براساس تغییرات فعالیت نمایه Bluetooth را حفظ می‌کند.

وضعیت‌های انتقال داده Sniff

این بخش وضعیت‌های کنترل‌کننده بلوتوث را با درنظر گرفتن عملکرد «بارگیری خاموش کردن استراق سمع» تعریف می‌کند. دو وضعیت سراسری برای شناسایی وضعیت کنترل‌کننده بلوتوث با توجه به فعال‌سازی «بارگیری استراق سمع» تعریف شده است. دو وضعیت خاص اتصال برای شناسایی وضعیت اتصال BR/EDR وقتی کنترل‌کننده بلوتوث در وضعیت «فعال بودن تخلیه داده استراق سمع» باشد تعریف شده است.

ایالت‌های جهانی

دو وضعیت سراسری برای شناسایی وضعیت کنترل‌کننده بلوتوث نسبت به فعال‌سازی «بارگیری استراق سمع» تعریف شده است.

وضعیت غیرفعال بودن انتقال داده Sniff

کنترل‌کننده بلوتوث به‌طور پیش‌فرض در وضعیت «Sniff Offload Disabled» درنظر گرفته می‌شود. انتظار می‌رود که کنترل‌کننده بلوتوث فرمان‌های HCI_Sniff_Mode،‏ HCI_Exit_Sniff_Mode، و HCI_Sniff_Subrating صادرشده از میزبان بلوتوث را مدیریت کند. کنترل‌کننده بلوتوث باید رویدادهای HCI_Mode_Change و HCI_Sniff_Subrating را نیز طبق ماسک رویداد تنظیم‌شده توسط میزبان بلوتوث به میزبان بلوتوث بازارسال کند.

وضعیت فعال بودن «انتقال داده با استشمام»

کنترل‌کننده Bluetooth پس‌از اینکه «نوشتن فعال‌سازی Sniff Offload» را برای فعال کردن Sniff Offload باموفقیت مدیریت کرد، در وضعیت «Sniff Offload فعال» درنظر گرفته می‌شود. در این حالت، انتظار می‌رود کنترل‌کننده بلوتوث رویدادهای HCI_Mode_Change و HCI_Sniff_Subrating را به میزبان بلوتوث ارسال کند، همان‌طور که توسط تابع منطقی AND از ماسک رویداد تنظیم‌شده توسط میزبان بلوتوث و پرچم‌های سرکوب رویداد تعیین شده است.

وضعیت‌های خاص اتصال

وقتی کنترل‌کننده بلوتوث در وضعیت «Sniff Offload Enabled» (Sniff Offload فعال است) باشد، هر ACL فعال می‌تواند در یکی از دو وضعیت شرح‌داده‌شده در زیر باشد.

معلقه-وضعیت پارامتر

وقتی کنترل‌کننده بلوتوث در وضعیت «بارگیری استراق سمع فعال» باشد، اما فرمان خاص فروشنده «WriteSniffOffloadParameters» حداقل یک‌بار توسط میزبان بلوتوث برای ACL فعلی صادر نشده باشد، ACL در وضعیت «درانتظار پارامترها» درنظر گرفته می‌شود.

وضعیت «کنترل-شروع‌شده»

وقتی کنترل‌کننده بلوتوث در حالت «بارگیری استراق سمع فعال» باشد و فرمان خاص فروشنده «WriteSniffOffloadParameters» حداقل یک‌بار توسط میزبان بلوتوث برای ACL فعلی صادر شده باشد، ACL در حالت «کنترل شروع‌شده» درنظر گرفته می‌شود.

WriteSniffOffloadEnable

OCF: 0x310

پارامتر فرمان اندازه هدف
Enable_Sniff_Offload ‫۱ هشت‌تایی 0x00 : غیرفعال کردن
0x01 : فعال کردن
Subrating_Max_Latency ‫۲ هشت‌تایی از پارامتر «بیشینه تأخیر» برای محاسبه بیشینه نرخ فرعی استراق سمعی که دستگاه دور می‌تواند استفاده کند استفاده می‌شود. پیش‌فرض: T*sniff* Latency = N × ۰٫۶۲۵ میلی‌ثانیه (۱ شکاف باند پایه) محدوده: ۰x0002 تا ۰xFFFE محدوده زمان: ۱٫۲۵ میلی‌ثانیه تا ۴۰٫۹ ثانیه
Subrating_Min_Remote_Timeout ‫۲ هشت‌تایی حداقل زمان اتمام حالت استراق سمع (T*sniff_mode_timeout*) که دستگاه راه دور می‌تواند استفاده کند پیش‌فرض: 0x0000 زمان اتمام = N × 0.625 میلی‌ثانیه (۱ شکاف باند پایه) محدوده: 0x0000 تا 0xFFFE زمان محدوده: ۰ ثانیه تا ۴۰٫۹ ثانیه
Subrating_Min_Local_Timeout ‫۲ هشت‌تایی حداقل زمان اتمام حالت استراق سمع (*Tsniff_mode_timeout*) که دستگاه محلی ممکن است استفاده کند. پیش‌فرض: 0x0000 زمان اتمام = N × 0.625 میلی‌ثانیه (۱ شکاف باند پایه) محدوده: 0x0000 تا 0xFFFE محدوده زمانی: ۰ ثانیه تا ۴۰٫۹ ثانیه
Suppress_Mode_Change_Event ‫۱ هشت‌تایی ‫0x00 : کنترل‌کننده بلوتوث باید رویداد HCI Mode_Change را به میزبان گزارش دهد، مشروط به پیکربندی تنظیم‌شده در فرمان HCI_Set_Event_Mask.
0x01 : کنترل‌کننده بلوتوث نباید رویداد HCI Mode_Change را به میزبان گزارش دهد.
Suppress_Sniff_Subrating_Event ‫۱ هشت‌تایی ‫0x00 : کنترل‌کننده بلوتوث باید رویداد HCI Sniff_Subrating را به میزبان گزارش دهد مشروط به پیکربندی تنظیم‌شده در فرمان HCI_Set_Event_Mask.
0x01 : کنترل‌کننده بلوتوث نباید رویداد HCI Sniff_Subrating را به میزبان گزارش دهد.

WriteSniffOffloadParameters

OCF: 0x311

پارامتر فرمان اندازه هدف
Connection_Handle ۲ هشت‌تایی دستگیره اتصال ACL‏ BR/EDR‏ ۱۶ بیتی. محدوده: 0x0000 تا 0x0EFF
Sniff_Max_Interval ‫۲ هشت‌تایی –محدوده تعریف‌شده Bluetooth SIG، معمولاً برای ورود به حالت Sniff استفاده می‌شود. محدوده: 0x0002 تا 0xFFFE؛ فقط مقادیر زوج معتبر است محدوده اجباری: 0x0006 تا 0x0540 زمان = N × 0.625 میلی‌ثانیه محدوده زمان: ۱٫۲۵ میلی‌ثانیه تا ۴۰٫۹ ثانیه – موارد ویژه 0x0000 : برای انتخاب «فشار-فعال» حالت «استشمام-تخلیه» استفاده می‌شود. ‫0x0001 : برای انتخاب حالت «ترجیحاً فعال» Sniff-Offload استفاده می‌شود.
Sniff_Min_Interval ‫۲ هشت‌تایی محدوده: 0x0002 تا 0xFFFE؛ فقط مقادیر زوج معتبر هستند محدوده اجباری: 0x0006 تا 0x0540 زمان = N × 0.625 میلی‌ثانیه محدوده زمان: ۱٫۲۵ میلی‌ثانیه تا ۴۰٫۹ ثانیه
Sniff_Attempts ‫۲ هشت‌تایی تعداد جایگاه‌های دریافت «باند پایه» برای تلاش استراق سمع. طول = N × ۱٫۲۵ میلی‌ثانیه محدوده: ۰x0001 تا 0x7FFF محدوده زمان: ۱٫۲۵ میلی‌ثانیه تا ۴۰٫۹ ثانیه محدوده اجباری برای کنترل‌کننده: ۱ تا T*sniff* ÷ ۲
Sniff_Timeout ‫۲ هشت‌تایی تعداد شکاف‌های دریافت باند پایه برای زمان استراحت بو کشیدن. طول = N × ۱٫۲۵ میلی‌ثانیه محدوده: 0x0000 تا 0x7FFF محدوده زمانی: ۰ میلی‌ثانیه تا ۴۰٫۹ ثانیه محدوده اجباری برای کنترل‌کننده: ۰ تا 0x0028
Link_Inactivity_Timeout ‫۲ هشت‌تایی مقدار مهلت زمانی برحسب میلی‌ثانیه. «زمان‌سنج عدم فعالیت» در هر تراکنش HCI-ACL شروع/بازنشانی می‌شود. پس‌از پایان این زمان‌سنج، کنترل‌کننده باید ورود به حالت Sniff را آغاز کند.
Subrating_Max_Latency ‫۲ هشت‌تایی از پارامتر «بیشینه تأخیر» برای محاسبه بیشینه نرخ فرعی استراق سمعی که دستگاه دور می‌تواند استفاده کند استفاده می‌شود. پیش‌فرض: T*sniff* Latency = N × ۰٫۶۲۵ میلی‌ثانیه (۱ شکاف باند پایه) محدوده: ۰x0002 تا ۰xFFFE محدوده زمان: ۱٫۲۵ میلی‌ثانیه تا ۴۰٫۹ ثانیه
Subrating_Min_Remote_Timeout ‫۲ هشت‌تایی حداقل زمان اتمام حالت استراق سمع (T*sniff_mode_timeout*) که دستگاه راه دور می‌تواند استفاده کند پیش‌فرض: 0x0000 زمان اتمام = N × 0.625 میلی‌ثانیه (۱ شکاف باند پایه) محدوده: 0x0000 تا 0xFFFE زمان محدوده: ۰ ثانیه تا ۴۰٫۹ ثانیه
Subrating_Min_Local_Timeout ‫۲ هشت‌تایی حداقل زمان اتمام حالت استراق سمع (*Tsniff_mode_timeout*) که دستگاه محلی ممکن است استفاده کند. پیش‌فرض: 0x0000 زمان اتمام = N × 0.625 میلی‌ثانیه (۱ شکاف باند پایه) محدوده: 0x0000 تا 0xFFFE محدوده زمانی: ۰ ثانیه تا ۴۰٫۹ ثانیه
Allow_Exit_Sniff_On_Rx ‫۱ هشت‌تایی پرچم برای کنترل خروج از حالت «استراق سمع» در تراکنش HCI-ACL دریافت-جهت. 0x00 : Do not exit sniff on Rx. ‫0x01 : Exit Sniff on Rx Receive-direction HCI-ACL is defined as ACL packet transmission from controller to host over HCI.
Allow_Exit_Sniff_On_Tx ‫۱ هشت‌تایی پرچم برای کنترل خروج از حالت Sniff در تراکنش HCI-ACL جهت ارسال. 0x00 : در انتقال از حالت استراق سمع خارج نشود. 0x01 : Exit Sniff on Tx Transmit-direction HCI-ACL is defined as ACL packet transmission from host to controller over HCI.