متطلبات HCI

يتم استخدام واجهة وحدة تحكم المضيف (HCI) للتفاعل مع وحدة تحكم Bluetooth.

يوفر هذا المستند قائمة بمتطلبات HCI الخاصة بتقنية Bluetooth (BT) وBluetooth منخفضة الطاقة (BLE). الهدف هو أن يتوافق بائعو مكدس Host BT وموردو وحدات تحكم BT مع متطلبات النظام الأساسي هذه من أجل استخدام مجموعة الميزات الموضحة أدناه.

يشير هذا المستند إلى مواصفات Bluetooth Core 5.2 باسم "المواصفات". تتوفر مواصفات Bluetooth Core 5.2 على موقع Bluetooth SIG الإلكتروني إلى جانب المستندات المعتمدة الأخرى.

نظرة عامة على التصميم

قدرات الشريحة والتكوين

باعتباره نظامًا أساسيًا مفتوحًا، يتمتع Android بمصفوفة من إصدارات البرامج، ومصنعي المعدات الأصلية، والبائعين، وقدرات النظام الأساسي والرقاقة.

لإدارة المشهد المتنوع وإدارة عمليات الترحيل، تم وصف فلسفة التصميم التي تسمح لوحدات تحكم BT بكشف قدراتها (بما يتجاوز مواصفات Bluetooth Core 5.2 القياسية) في هذا المستند. يمكن لمكدس BT المضيف بعد ذلك استخدام هذه الإمكانات لتحديد الميزات التي سيتم تمكينها.

دعم المعايير المفتوحة

أحد أهداف Android هو دعم المعايير المفتوحة بعد التصديق على مواصفات Bluetooth. إذا أصبحت الميزة الموضحة أدناه متاحة في أساليب HCI القياسية في مواصفات Bluetooth المستقبلية، فسوف نميل إلى جعل هذا النهج هو النهج الافتراضي.

القدرات الخاصة بالبائع

أمر خاص بالمورد: LE_Get_Vendor_Capabilities_Command

حقل أمر OpCode (OCF): 0x153

معلمة الأمر مقاس غاية
غير متوفر قائمة معلمات الأوامر الفارغة

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
max_advt_instances
(إهمال)
1 ثماني عدد حالات الإعلان المدعومة.

محفوظة بعد الإصدار 0.98.
تم إهمال هذه المعلمة في الإصدار 0.98 من مواصفات ميزات Google والإصدارات الأحدث لصالح LE Extended Advertising المتوفرة في الإصدار 5.0 من مواصفات BT والإصدارات الأحدث.
offloaded_resolution_of_private-address
(إهمال)
1 ثماني قدرة شريحة BT على تقنية RPA.
إذا كانت مدعومة بشريحة، فإنها تحتاج إلى تمكين من قبل المضيف.
0 = غير قادر
1 = قادر

محفوظة بعد الإصدار 0.98.
تم إهمال هذه المعلمة في الإصدار 0.98 من مواصفات ميزات Google والإصدارات الأحدث لصالح ميزة الخصوصية المتوفرة في الإصدار 4.2 من مواصفات BT والإصدارات الأحدث.
total_scan_results_storage 2 ثمانيات تخزين نتائج المسح بالبايت
max_irk_list_sz 1 ثماني عدد إدخالات IRK المدعومة في البرنامج الثابت
filtering_support 1 ثماني دعم التصفية في وحدة التحكم
0 = غير مدعوم
1 = مدعوم
max_filter 1 ثماني عدد المرشحات المدعومة
activity_energy_info_support 1 ثماني يدعم الإبلاغ عن معلومات النشاط والطاقة
0 = غير قادر
1 = قادر
version_supported 2 ثمانيات يحدد إصدار مواصفات ميزات Google المدعومة
بايت[0] = رقم رئيسي
بايت[1] = رقم ثانوي

v1.04
البايت[0] = 0x01
البايت [1] = 0x04
total_num_of_advt_tracked 2 ثمانيات إجمالي عدد المعلنين الذين تم تتبعهم لأغراض OnLost / OnFound
extended_scan_support 1 ثماني يدعم نافذة المسح الممتدة والفاصل الزمني
debug_logging_supported 1 ثماني يدعم تسجيل معلومات التصحيح الثنائية من وحدة التحكم
LE_address_generation_offloading_support
(إهمال)
1 ثماني 0 = غير مدعوم
1 = مدعوم

محفوظة بعد الإصدار 0.98.
تم إهمال هذه المعلمة في الإصدار 0.98 من مواصفات ميزات Google والإصدارات الأحدث لصالح ميزة الخصوصية المتوفرة في الإصدار 4.2 من مواصفات BT والإصدارات الأحدث.
A2DP_source_offload_capability_mask 4 ثمانيات أقنعة البت لأنواع الترميز مدعومة
البت 0 - SBC
البت 1 - AAC
البت 2 - أبتكس
البت 3 - APTX HD
بت 4 - LDAC
البت 5-31 محجوزة
bluetooth_quality_report_support 1 ثماني يدعم الإبلاغ عن أحداث جودة البلوتوث
0 = غير قادر
1 = قادر
dynamic_audio_buffer_support 4 ثمانيات يدعم المخزن المؤقت الصوتي الديناميكي في وحدة تحكم Bluetooth
أقنعة البت لأنواع الترميز مدعومة
البت 0 - SBC
البت 1 - AAC
البت 2 - أبتكس
البت 3 - APTX HD
بت 4 - LDAC
البت 5-31 محجوزة
a2dp_offload_v2_support 1 ثماني يدعم أوامر A2dp Offload v2 في وحدة تحكم Bluetooth (راجع بدء إلغاء تحميل A2DP وإيقاف إلغاء تحميل A2DP )
0 = غير مدعوم
1 = مدعوم

تجميع نتائج المسح

هدف التصميم هو تحسين كيفية تسليم إشعارات حدث Bluetooth LE Scan Response إلى المضيف، من أجل توفير الطاقة في المضيف.

من خلال تقليل عدد المرات التي تقوم فيها وحدة التحكم بإعلام معالج التطبيق المضيف لفحص النتائج، يمكن لمعالج التطبيق المضيف البقاء في وضع الخمول/السكون لفترة أطول. وهذا يقلل من استهلاك الطاقة في المضيف. تشير معلمة الإرجاع total_scan_results_storage الخاصة بـ LE_Get_Vendor_Capabilities_Command إلى قدرة الشريحة على تخزين نتائج الفحص.

تركز هذه الميزة على إدارة وتكوين مرفق تخزين LE Scan Results في وحدة تحكم Bluetooth. يتم استخدام التخزين لتجميع بيانات الإعلان بشكل مؤقت ومسح البيانات والبيانات التعريفية التي تتلقاها وحدة التحكم لتسليمها لاحقًا إلى المضيف.

يجب أن تدعم البرامج الثابتة نوعين من عمليات التجميع، والتي يمكن تشغيلها في وقت واحد:

  • مبتورة. يحتوي على عناصر المعلومات التالية: {MAC، TX Power، RSSI، Timestamp}
  • ممتلىء. يحتوي على عناصر المعلومات التالية: {MAC، TX Power، RSSI، Timestamp، Adv Data، Scan Response}

LE_Batch_Scan_Command

أوكف: 0x156

معلمة الأمر مقاس غاية
Batch_Scan_opcode 1 ثماني 0x1 - تمكين الميزة الخاصة بالعميل
0x2 - ضبط معلمات تخزين مسح الدُفعات
0x3 - ضبط معلمات مسح الدُفعات
0x4 - قراءة معلمات نتيجة فحص الدفعة

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر. لا يؤدي تمكين الميزة الخاصة بالعميل إلى بدء الفحص.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Batch_Scan_opcode 1 ثماني 0x1 - تمكين الميزة الخاصة بالعميل
0x2 - ضبط معلمات تخزين مسح الدُفعات
0x3 - ضبط معلمات مسح الدُفعات
0x4 - قراءة معلمات نتيجة فحص الدفعة

LE_Batch_Scan_Command: تمكين الميزة الخاصة بالعميل

OCF الفرعي: 0x01

معلمة الأمر الفرعي مقاس غاية
enable_customer_specific_feature_set 1 ثماني 0x01 - تمكين ميزة مسح الدُفعات
0x00 - تعطيل ميزة فحص الدُفعات

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Batch_Scan_opcode 1 ثماني 0x1 - تمكين الميزة الخاصة بالعميل
0x2 - ضبط معلمات تخزين مسح الدُفعات
0x3 - ضبط معلمات مسح الدُفعات
0x4 - قراءة معلمات نتيجة فحص الدفعة

LE_Batch_Scan_Command: تعيين أمر فرعي لمعلمة تخزين الدفعة

OCF الفرعي: 0x02

معلمة الأمر الفرعي مقاس غاية
Batch_Scan_Full_Max 1 ثماني الحد الأقصى لمساحة التخزين (%) المخصصة للنمط الكامل
[النطاق: 0-100]
Batch_Scan_Truncated_Max 1 ثماني الحد الأقصى لمساحة التخزين (%) المخصصة للنمط المقطوع
[النطاق: 0-100]
Batch_Scan_Notify_Threshold 1 ثماني مستوى إعلام الإعداد (بالنسبة المئوية) لتجمع التخزين الفردي
[النطاق: 0-100]
سيؤدي الإعداد إلى 0 إلى تعطيل الإشعارات. يتم إنشاء حدث HCI خاص بالمورد (حدث فرعي لخرق حد التخزين)

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Batch_scan_opcode 1 ثماني 0x02 [تعيين معلمات مسح الدُفعات]

LE_Batch_Scan_Command: قم بتعيين أمر فرعي Batch Scan Param

فرعي OCF: 0x03

معلمة الأمر الفرعي مقاس غاية
Batch_Scan_Mode 1 ثماني 0x00 - تم تعطيل فحص الدُفعات
0x01 - تم تمكين الوضع المقطوع
0x02 - تم تمكين الوضع الكامل
0x03 - تم تمكين الوضع المقتطع والكامل
Duty_cycle_scan_window 4 ثمانيات وقت مسح الدفعة (# من الفتحة)
Duty_cyle_scan_interval 4 ثمانيات الفترة الفاصلة لمسح الدفعة (# من الفتحة)
own_address_type 1 ثماني 0x00 - عنوان الجهاز العام
0x01 - عنوان الجهاز العشوائي
Batch_scan_Discard_Rule 1 ثماني 0 - تجاهل الإعلان الأقدم
1 - تجاهل الإعلان الذي يحتوي على أضعف RSSI

سيبدأ هذا الأمر الفرعي بمسح الدفعة، إذا تم تمكينه. في المسح المقطوع، يتم تخزين النتائج في شكل مقطوع حيث يكون المفتاح الفريد للنمط المقطوع = { BD_ADDR, scan_interval}. وهذا يعني BD_ADDR will واحد فقط لكل فترة فحص. السجل الذي يجب الاحتفاظ به للوضع المقطوع هو ما يلي: { BD_ADDR , Tx Power, RSSI, Timestamp}

عند تمكين الوضع الكامل، سيتم استخدام المسح النشط وسيتم تسجيل استجابات المسح. المفتاح الفريد للنمط الكامل = {MAC, Ad packet}، بغض النظر عن الفاصل الزمني للفحص. السجل الذي يجب الاحتفاظ به في الوضع الكامل هو { BD_ADDR , Tx Power, RSSI, Timestamp, Ad packet, Scan Response}. في النمط الكامل، يتم تسجيل نفس حزمة الإعلان، عند مشاهدتها عدة مرات عبر فترات فحص مختلفة، مرة واحدة فقط. ومع ذلك، في الوضع المقتطع، فإن رؤية BA_ADDR عبر فترات فحص مختلفة هي التي تهمك (مرة واحدة لكل فاصل زمني للفحص). مؤشر RSSI هو القيمة المتوسطة لجميع التكرارات لإعلان فريد خلال فترة المسح.

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Batch_scan_opcode 1 ثماني 0x03 [تعيين معلمات المسح الدفعي]

LE_Batch_Scan_Command: الأمر الفرعي لقراءة نتائج المسح المجمعة

OCF الفرعي: 0x04

معلمة الأمر الفرعي مقاس غاية
Batch_Scan_Data_read 1 ثماني 0x01 – بيانات الوضع المقطوعة
0x02 – بيانات الوضع الكامل

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر. عندما يصدر المضيف هذا الأمر، قد لا تتناسب جميع النتائج في وحدة التحكم في حدث Command Complete واحد. سيقوم المضيف بتكرار إصدار هذا الأمر حتى تشير النتائج المقابلة في حدث اكتمال الأمر إلى 0 في عدد السجلات، مما يشير إلى أن وحدة التحكم ليس لديها المزيد من السجلات للتواصل مع المضيف. يمكن أن يحتوي كل حدث "اكتمال الأمر" على سجلات متعددة لنوع واحد فقط من البيانات (كاملة أو مقطوعة).

لا تتم مزامنة مراجع وقت وحدة التحكم والمضيف. وحدة الطابع الزمني هي 50 مللي ثانية. تعتمد قيمة الطابع الزمني على Read_Batch_Scan_Results_Sub_cmd بواسطة المضيف. إذا كان وقت وصول الأمر هو T_c في البرنامج الثابت، فإن الوقت الفعلي الذي تم فيه التقاط الطابع الزمني في البرنامج الثابت هو T_fw . سيكون وقت التقرير: ( T_c - T_fw ). T_c و T_fw موجودان في المجال الزمني للبرنامج الثابت. يتيح ذلك للمضيف حساب المدة التي مضت قبل وقوع الحدث.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Batch_scan_opcode 1 ثماني 0x03 [تعيين معلمات مسح الدُفعات]
Batch_Scan_data_read 1 ثماني يحدد التنسيق (مقطوع أو كامل)
num_of_records 1 ثماني عدد سجلات Batch_Scan_data_read
format_of_data عامل الوضع المقتطع:
العنوان[0]: 6 ثمانيات
Address_Type[0]: 1 ثماني بتات
Tx_Pwr[0]: 1 ثماني
آر إس إس آي [0] : 1 ثماني
الطابع الزمني[0]: 2 ثماني
[سجلات متعددة ( num_of_records ) بالتنسيق أعلاه]

الوضع الكامل:
العنوان[0]: 6 ثمانيات
Address_Type[0]: 1 ثماني بتات
Tx_Pwr[0]: 1 ثماني
آر إس إس آي [0]: 1 ثماني
الطابع الزمني[0]: 2 ثماني
Adv packet_len[0]: 1 ثماني بتات
Adv_packet[0]: Adv_packet_len الثمانيات
Scan_data_resp_len[0]: 1 ثماني بتات
Scan_data_resp[0]: ثماني مجموعات Scan_data_resp
[سجلات متعددة بالتنسيق أعلاه ( num_of_records )]

تصفية محتوى الحزمة الإعلانية

استخدم هذا لتمكين/تعطيل/إعداد عامل تصفية محتوى حزمة الإعلانات (APCF) في وحدة التحكم. تقوم APCF بتصفية التقارير الإعلانية في وحدة التحكم ولكنها لا تقوم بتصفية الإعلانات الدورية.

LE_APCF_Command

أوكف: 0x157

معلمة الأمر مقاس غاية
APCF_opcode 1 ثماني 0x00 - تمكين APCF
0x01 - APCF تعيين معلمات التصفية
0x02 - عنوان مذيع APCF
0x03 - UUID لخدمة APCF
0x04 - UUID لطلب خدمة APCF
0x05 - الاسم المحلي لـ APCF
0x06 - بيانات الشركة المصنعة لـ APCF
0x07 - بيانات خدمة APCF
0x08 - خدمة اكتشاف النقل APCF
0x09 - مرشح نوع APCF AD
0x10 ~ 0xAF - محجوز للاستخدام المستقبلي
0xB0 ~ 0xDF - محجوز للبائع
0xE0 ~ 0xFE - محجوز للاستخدام المستقبلي
0xFF - APCF قراءة الميزات الموسعة

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة العودة
APCF_opcode 1 ثماني 0x00 - تمكين APCF
0x01 - APCF تعيين معلمات التصفية
0x02 - عنوان مذيع APCF
0x03 - UUID لخدمة APCF
0x04 - UUID لطلب خدمة APCF
0x05 - الاسم المحلي لـ APCF
0x06 - بيانات الشركة المصنعة لـ APCF
0x07 - بيانات خدمة APCF
0x08 - خدمة اكتشاف النقل APCF
0x09 - مرشح نوع APCF AD
0x10 ~ 0xAF - محجوز للاستخدام المستقبلي
0xB0 ~ 0xDF - محجوز للبائع
0xE0 ~ 0xFE - محجوز للاستخدام المستقبلي
0xFF - APCF قراءة الميزات الموسعة

LE_APCF_Command: Enable_sub_cmd

OCF الفرعي: 0x00

معلمة الأمر الفرعي مقاس غاية
APCF_enable 1 ثماني 0x01 - تمكين ميزة APCF
0x00 - تعطيل ميزة APCF

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x0 - تمكين APCF
APCF_Enable 1 ثماني يتم تعيين التمكين/التعطيل عبر APCF_enable

LE_APCF_Command: set_filtering_parameters_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة أو حذف مواصفات عامل التصفية أو مسح قائمة عوامل التصفية للتصفية على الشريحة.

OCF الفرعي: 0x01

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى مسح عامل التصفية المحدد بالإضافة إلى إدخالات الميزات المرتبطة في الجداول الأخرى.
سيؤدي المسح إلى مسح كافة عوامل التصفية والإدخالات المرتبطة بها في الجداول الأخرى.
APCF_Filter_Index 1 ثماني فهرس التصفية (0, max_filter-1 )
APCF_Feature_Selection 2 ثمانيات أقنعة البت للميزات المحددة:
البت 0: قم بالتعيين لتمكين عامل تصفية عنوان البث
البت 1: اضبط لتمكين عامل تصفية تغيير بيانات الخدمة
البت 2: اضبط لتمكين فحص UUID للخدمة
البت 3: قم بالتعيين لتمكين التحقق من UUID لطلب الخدمة
البت 4: اضبط لتمكين التحقق من الاسم المحلي
البت 5: اضبط لتمكين التحقق من بيانات الشركة المصنعة
البت 6: اضبط لتمكين التحقق من بيانات الخدمة
البت 7: اضبط لتمكين فحص خدمة اكتشاف النقل
البت 8: اضبط لتمكين التحقق من نوع الإعلان
APCF_List_Logic_Type 2 ثمانيات عملية منطقية لكل تحديد ميزة (موضع لكل بت) محدد في APCF_Feature_Selection .
صالح فقط عند تمكين الميزة.
قيمة موضع البت:
0: أو
1: و
إذا تم تحديد المنطق "AND"، فستقوم حزمة ADV بتمرير عامل التصفية فقط إذا كانت تحتوي على كافة الإدخالات الموجودة في القائمة.
إذا تم تحديد المنطق "OR"، فستقوم حزمة ADV بتمرير عامل التصفية إذا كانت تحتوي على أي من الإدخالات في القائمة.
APCF_Filter_Logic_Type 1 ثماني 0x00: أو
0x01: و
ملاحظة: نوع المنطق هو N/A للحقول الثلاثة الأولى من APCF_Feature_Selection ، والذي يكون دائمًا منطق "AND". وهي تنطبق فقط على (Bit 3 - Bit 6) أربعة حقول من APCF_Feature_Selection .
rssi_high_thresh 1 ثماني [في ديسيبل]
يعتبر المعلن مرئيًا فقط إذا كانت الإشارة أعلى من عتبة RSSI العالية. وبخلاف ذلك، يجب أن تتصرف البرامج الثابتة كما لو أنها لم ترها أبدًا.
delivery_mode 1 ثماني 0x00 - immediate
0x01 - on_found
0x02 - batched
onfound_timeout 2 ثمانيات صالح فقط إذا كان delivery_mode on_found .
[بالميلي ثانية]
حان الوقت لبقاء البرامج الثابتة وجمع إعلانات إضافية قبل الإبلاغ.
onfound_timeout_cnt 1 ثماني صالح فقط إذا كان delivery_mode on_found .
[عدد]
إذا بقي أحد الإعلانات في onFound في البرامج الثابتة لمدة onfound_timeout ، فسوف يجمع بعض الإعلانات ويتم التحقق من العدد. إذا تجاوز العدد onfound_timeout_cnt ، فسيتم الإبلاغ عن OnFound فورًا بعد ذلك.
rssi_low_thresh 1 ثماني صالح فقط إذا كان delivery_mode on_found .
[في ديسيبل]
تعتبر حزمة المعلن غير مرئية إذا لم يكن RSSI للحزمة المستلمة أعلى من الحد الأدنى لـ RSSI.
onlost_timeout 2 ثمانيات صالح فقط إذا كان delivery_mode on_found .
[بالميلي ثانية]
إذا لم تتم رؤية الإعلان، بعد العثور عليه، بشكل متجاور خلال فترة lost_timeout ، فسيتم الإبلاغ عن فقده على الفور.
num_of_tracking_entries 2 ثمانيات صالح فقط إذا كان delivery_mode on_found .
[عدد]
إجمالي عدد المعلنين المطلوب تتبعهم لكل فلتر.

يجب أن تستخدم قيم RSSI المكمل 2 لتمثيل القيم السالبة.

يجب أن يكون المضيف قادرًا على تكوين مرشحات متعددة مع تعيين APCF_Application_Address_type على 0x02 (لجميع عناوين جهات البث) لإدارة مجموعات المرشحات المختلفة.

تعتبر التصفية والتجميع وإعداد التقارير مفاهيم مترابطة. يجب أن يمر كل إعلان واستجابة فحص ذات صلة بجميع عوامل التصفية، واحدًا تلو الآخر. وبالتالي، فإن الإجراءات الناتجة ( delivery_mode ) ترتبط ارتباطًا وثيقًا بالتصفية. أوضاع التسليم هي التالية: report_immediately و batch و onFound . ترتبط قيمة OnLost بـ OnFound بمعنى أنها ستأتي بعد OnFound عند فقدانها.

يصور تدفق المعالجة هذا النموذج المفاهيمي:

عند استلام إطار إعلان (أو استجابة مسح ضوئي)، يتم تطبيقه على كافة عوامل التصفية بالترتيب التسلسلي. من الممكن أن يتسبب الإعلان في إعداد تقارير فورية استنادًا إلى مرشح واحد وتجميعه نتيجة لإجراء مرشح مختلف.

تعطي عتبات مستوى RSSI (العالية والمنخفضة) القدرة على التحكم عندما يكون الإطار مرئيًا لمعالجة التصفية، حتى عند استلام وحدة التحكم لحزمة صالحة. في حالة تعيين وضع التسليم على فوري أو مجمع، يتم أخذ RSSI الخاص بالإطار في الاعتبار لمزيد من معالجة وحدة التحكم. تحتاج التطبيقات المختلفة إلى سلوك مختلف لإعداد التقارير والتجميع. يتيح ذلك لتطبيقات متعددة الحصول على تقارير مباشرة و/أو تجميع النتائج في البرامج الثابتة بشكل متزامن. ومن الأمثلة على ذلك الحالة التي يكون فيها فحص الدُفعات نشطًا من أحد التطبيقات ثم يتم إصدار فحص LE منتظم لاحقًا بواسطة تطبيق آخر. قبل إصدار فحص دفعة، يقوم إطار العمل/التطبيق بتعيين عوامل التصفية المناسبة. لاحقًا، عندما يصدر التطبيق الثاني فحصًا منتظمًا، تستمر عملية التجميع السابقة. ومع ذلك، نظرًا للفحص المنتظم، فهو يشبه إضافة مرشح فارغ (مع كافة عوامل التصفية الموجودة) إلى جانب أمر LE scan من الناحية المفاهيمية. تحظى معلمات أمر فحص LE بالأولوية عندما تكون نشطة. عند تعطيل فحص LE العادي، ستعود وحدة التحكم مرة أخرى إلى فحص الدفعة السابق، إذا كان موجودًا.

يعتمد وضع التسليم OnFound على عوامل التصفية التي تم تكوينها. تعتبر المجموعة التي تؤدي إلى نجاح إجراء المرشح هي الكيان الذي سيتم تتبعه لـ onLost . الحدث المقابل هو الحدث الفرعي لتتبع LE Advt.

سيبدو انتقال OnFound/OnLost لمرشح (في حالة تمكينه) كما يلي:

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x01 - APCF تعيين معلمات التصفية
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المتاحة في جدول عوامل التصفية

LE_APCF_Command:broadcast_address_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة عنوان معلن أو حذفه أو لمسح قائمة عناوين المعلنين للتصفية على الرقاقة.

OCF الفرعي: 0x02

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى حذف عنوان جهة البث المحدد في عامل التصفية المحدد.
سيؤدي "مسح" إلى مسح جميع عناوين جهات البث في عامل التصفية المحدد.
APCF_Filter_Index 1 ثماني فهرس التصفية (0, max_filter-1 )
APCF_Broadcaster_Address 6 ثماني عنوان جهاز مكون من 6 بايت للإضافة إلى قائمة عناوين جهة البث أو حذفها منها
APCF_Application_Address_type 1 ثماني 0x00: عام
0x01: عشوائي
0x02: غير متاح (نوع العناوين غير قابل للتطبيق)

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x02 - عنوان مذيع APCF
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المجانية التي لا تزال متاحة في جدول عنوان البث

LE_APCF_Command:service_uuid_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة UUID للخدمة أو حذفه أو لمسح قائمة UUID للخدمة للتصفية على الشريحة.

فرعي OCF: 0x03

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى حذف عنوان UUID للخدمة المحددة في عامل التصفية المحدد.
سيؤدي المسح إلى مسح جميع معرفات UUID الخاصة بالخدمة في عامل التصفية المحدد.
APCF_Filter_Index 1 ثماني فهرس التصفية (0، max_filter -1)
APCF_UUID 2،4،16 ثماني UUID للخدمة (16 بت أو 32 بت أو 128 بت) للإضافة إلى القائمة أو الحذف منها.
APCF_UUID_MASK 2،4،16 ثماني قناع UUID للخدمة (16 بت أو 32 بت أو 128 بت) المراد إضافته إلى القائمة. يجب أن يكون بنفس طول APCF_UUID.

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x03 - UUID لخدمة APCF
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المجانية التي لا تزال متاحة في جدول UUID الخاص بالخدمة

LE_APCF_Command: solicitation_uuid_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة UUID لطلب أو حذفه أو لمسح قائمة UUID لطلبات التصفية على الرقاقة.

OCF الفرعي: 0x04

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى حذف عنوان UUID لطلب العروض في عامل التصفية المحدد.
سيؤدي المسح إلى مسح جميع معرفات UUID الخاصة بالطلبات في عامل التصفية المحدد.
APCF_Filter_Index 1 ثماني فهرس التصفية (0، max_filter -1)
APCF_UUID 2،4،16 ثماني UUID التماس (16 بت، 32 بت، أو 128 بت) للإضافة إلى القائمة أو الحذف منها.
APCF_UUID_MASK 2،4،16 ثماني قناع UUID لطلب (16 بت، 32 بت، أو 128 بت) لإضافته إلى القائمة. يجب أن يكون بنفس طول APCF_UUID .

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x04 - UUID لطلب APCF
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المجانية التي لا تزال متاحة في جدول UUID لطلب العروض

LE_APCF_Command: local_name_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة أو حذف سلسلة اسم محلية أو لمسح قائمة سلسلة الأسماء المحلية للتصفية على الرقاقة.

OCF الفرعي: 0x05

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى حذف سلسلة الاسم المحلي المحددة في عامل التصفية المحدد.
مسح سوف يمسح كافة سلاسل الأسماء المحلية في عامل التصفية المحدد.
APCF_Filter_Index 1 ثماني فهرس التصفية (0، max_filter -1)
APCF_LocName_Mandata_or_SerData حجم متغير سلسلة أحرف للاسم المحلي.

ملحوظات:
  • الحد الأقصى لعدد الأحرف في سلسلة الاسم المحلي حاليًا هو 29
  • لا ينطبق عندما يكون الإجراء "واضح" (0x2)

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x05 - الاسم المحلي لـ APCF
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المجانية التي لا تزال متاحة في جدول الاسم المحلي

LE_APCF_Command: manf_data_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة أو حذف سلسلة بيانات الشركة المصنعة أو لمسح قائمة سلسلة بيانات الشركة المصنعة للتصفية على الشريحة.

OCF الفرعي: 0x06

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى حذف سلسلة بيانات الشركة المصنعة المحددة في عامل التصفية المحدد.
سيؤدي Clear إلى مسح كافة سلاسل بيانات الشركة المصنعة في عامل التصفية المحدد.
APCF_Filter_Index 1 ثماني مؤشر التصفية (0، max_filter -1)
APCF_LocName_Mandata_or_SerData حجم متغير سلسلة أحرف لبيانات الشركة المصنعة.

ملحوظات:
  • الحد الأقصى لعدد الأحرف في سلسلة الاسم المحلي حاليًا هو 29
  • لا ينطبق عندما يكون الإجراء "واضح" (0x2)
APCF_ManData_Mask حجم متغير قناع بيانات التصنيع المراد إضافته إلى القائمة. يجب أن يكون بنفس طول APCF_LocName_or_ManData_or_SerData .

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x06 - بيانات الشركة المصنعة لـ APCF
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المجانية التي لا تزال متاحة في جدول بيانات الشركة المصنعة

LE_APCF_Command:service_data_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة أو حذف سلسلة بيانات الخدمة أو لمسح قائمة سلسلة بيانات الخدمة للتصفية على الشريحة.

OCF الفرعي: 0x07

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى حذف سلسلة بيانات الخدمة المحددة في عامل التصفية المحدد.
سيؤدي المسح إلى مسح كافة سلاسل بيانات الخدمة في عامل التصفية المحدد.
APCF_Filter_Index 1 ثماني مؤشر التصفية (0، max_filter -1)
APCF_LocName_Mandata_or_SerData حجم متغير سلسلة أحرف لبيانات الخدمة.

ملحوظات:
  • الحد الأقصى لعدد الأحرف في سلسلة الاسم المحلي حاليًا هو 29
  • لا ينطبق عندما يكون الإجراء "واضح" (0x2)
APCF_LocName_Mandata_or_SerData_Mask حجم متغير قناع بيانات الخدمة المراد إضافته إلى القائمة. يجب أن يكون بنفس طول APCF_LocName_or_ManData_or_SerData.

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x07 - بيانات خدمة APCF
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المجانية التي لا تزال متاحة لجدول بيانات الخدمة

LE_APCF_Command: ad_type_sub_cmd

يتم استخدام هذا الأمر الفرعي لإضافة أو حذف نوع AD أو لمسح قائمة أنواع AD للتصفية على الشريحة. استخدم read_extended_features_sub_cmd للتحقق مما إذا كان هذا الأمر مدعومًا أم لا.

فرعي OCF: 0x09

معلمة الأمر الفرعي مقاس غاية
APCF_Action 1 ثماني 0x00 - إضافة
0x01 - حذف
0x02 - واضح
سيؤدي الحذف إلى حذف نوع الإعلان المحدد في عامل التصفية المحدد.
سيؤدي المسح إلى مسح كافة أنواع الإعلانات في عامل التصفية المحدد.
APCF_Filter_Index 1 ثماني مؤشر التصفية (0، max_filter -1)
APCF_AD_TYPE 1 ثماني نوع الإعلان للإضافة إلى القائمة أو الحذف منها. تجاهل عندما يكون APCF_Action 0x02 (واضح)
APCF_AD_DATA_Length حجم متغير 0x00 - يعني عدم تصفية محتوى البيانات
تجاهل عندما يكون APCF_Action 0x02 (واضح)
APCF_AD_DATA حجم متغير تجاهل عندما يكون APCF_Action 0x02 (واضح)
APCF_AD_DATA_MASK حجم متغير تجاهل عندما يكون APCF_Action 0x02 (واضح)
يجب أن يكون بنفس طول APCF_AD_DATA .

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0x09 - نوع إعلان APCF
APCF_Action 1 ثماني صدى الأمر الخلفي APCF_Action
APCF_AvailableSpaces 1 ثماني عدد الإدخالات المجانية التي لا تزال متاحة في جدول نوع الإعلان

LE_APCF_Command: read_extending_features_sub_cmd

يُستخدم هذا الأمر الفرعي لقراءة ميزات APCF الموسعة.

OCF الفرعي: 0xFF

معلمة الأمر الفرعي مقاس غاية
غير قابل للتطبيق معلمة أمر فارغة.

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
APCF_opcode 1 ثماني 0xFF - APCF_Read_Extending_Features
APCF_extended_features 2 ثماني

أقنعة البت للميزات الموسعة المدعومة:

  • البت 0: دعم مرشح خدمة اكتشاف النقل
  • البت 1: دعم مرشح نوع الإعلان
  • البت 2 ~ 15: محجوز للاستخدام المستقبلي

قيمة البت

  • 0 = غير مدعوم
  • 1 = مدعوم

نشاط وحدة التحكم وأمر معلومات الطاقة

الهدف من هذه المعلومات هو أن تقوم وظائف النظام المضيف العليا بتحليل إجمالي الأنشطة لجميع المكونات، بما في ذلك وحدة تحكم BT وحالة الماكرو الخاصة بها، بالتزامن مع ما يحدث في التطبيقات وإطار العمل. للقيام بذلك، المعلومات التالية مطلوبة من مكدس BT ووحدة التحكم:

  • مكدس BT: الإبلاغ عن حالة التشغيل الكلية الحالية لوحدة التحكم
  • البرامج الثابتة: الإبلاغ عن النشاط الإجمالي ومعلومات الطاقة

حالات الماكرو لمكدس مضيف BT، كما هو محدد على مستوى المستخدم:

  • خامل: [مسح الصفحة، إعلان LE، فحص الاستفسار]
  • المسح: [ترحيل/استفسار/محاولة الاتصال]
  • نشط: [رابط ACL قيد التشغيل، رابط SCO مستمر، وضع الاستنشاق]

الأنشطة التي تقوم وحدة التحكم بتتبعها طوال عمرها هي وقت Tx، ووقت Rx، ووقت الخمول، وإجمالي الطاقة المستهلكة. يتم مسحها عند قراءتها من المضيف.

LE_Get_Controller_Activity_Energy_Info

هذا أمر خاص بالبائع.

أوكف: 0x159

معلمة الأمر الفرعي مقاس غاية
غير متوفر معلمات الأوامر فارغة

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
total_tx_time_ms 4 ثمانيات إجمالي الوقت الذي يستغرقه أداء Tx
total_rx_time_ms 4 ثمانيات إجمالي الوقت الذي يستغرقه إجراء Rx
total_idle_time_ms 4 ثمانيات إجمالي الوقت في وضع الخمول (حالات الطاقة المنخفضة لعدم السكون)
total_energy_used 4 ثمانيات إجمالي الطاقة المستخدمة [منتج التيار (مللي أمبير)، والجهد (فولت) والوقت (مللي ثانية)]

أمر LE الموسع لضبط معلمات المسح

يمكن استخدام هذا الأمر لتمكين نافذة فحص أكبر وفاصل زمني في وحدة التحكم. وفقًا لمواصفات BT Core 5.2، يكون الحد الأعلى لنافذة المسح والفاصل الزمني هو 10.24 ثانية، مما يعيق فترات المسح الأطول للتطبيقات التي تتجاوز 10.24 ثانية.

المرجع الأساسي: مواصفات BT Core 5.2، الصفحة 2493 (أمر LE Set Scan Parameters)

أوكف: 0x15A

معلمة الأمر مقاس غاية
LE_Ex_Scan_Type 1 ثماني 0x00 - المسح السلبي. لن يتم إرسال أي حزم SCAN_REQ (افتراضي).
0x01 - المسح النشط. قد يتم إرسال حزم SCAN_REQ .
LE_Ex_Scan_Interval 4 ثمانيات يتم تعريفه على أنه الفاصل الزمني منذ أن بدأت وحدة التحكم آخر عملية فحص LE حتى بدأت عملية فحص LE اللاحقة.
النطاق: 0x0004 إلى 0x00FFFFFF
الافتراضي: 0x0010 (10 مللي ثانية)
الوقت = ن * 0.625 مللي ثانية
النطاق الزمني: 2.5 مللي ثانية إلى 10442.25 ثانية
LE_Ex_Scan_Window 4 ثمانيات مدة فحص LE. يجب أن يكون LE_Scan_Window أقل من أو يساوي LE_Scan_Interval .
النطاق: 0x0004 إلى 0xFFFF
الافتراضي: 0x0010 (10 مللي ثانية)
الوقت = ن * 0.625 مللي ثانية
النطاق الزمني: 2.5 مللي ثانية إلى 40.95 ثانية
Own_Address_Type 1 ثماني 0x00 - عنوان الجهاز العام (افتراضي)
0x01 - عنوان الجهاز العشوائي
LE_Ex_Scan_Filter_Policy 0x00 - قبول كافة حزم الإعلانات (افتراضي). يجب تجاهل حزم الإعلانات الموجهة التي لم يتم تناولها لهذا الجهاز.
0x01 - تجاهل حزم الإعلانات من الأجهزة غير الموجودة في القائمة البيضاء فقط. يجب تجاهل حزم الإعلانات الموجهة التي لم يتم تناولها لهذا الجهاز.

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر

الحصول على أمر معلومات تصحيح وحدة التحكم

الهدف من عنصر المعلومات هذا هو الحصول على معلومات تصحيح أخطاء وحدة التحكم بواسطة المضيف، في شكل ثنائي، للمعالجة اللاحقة والتحليل. ويساعد ذلك في تصحيح المشكلات الميدانية ويوفر للمهندسين مجموعة أدوات لتسجيل المعلومات لتحليلها. يمكن لوحدة التحكم توفير المعلومات عندما يطلبها المضيف عبر الحدث (الحدث الفرعي لمعلومات تصحيح أخطاء وحدة التحكم) أو بشكل مستقل عند رغبة وحدة التحكم. قد تكون أمثلة الاستخدامات هي الإبلاغ عن معلومات حالة البرنامج الثابت، ومعلومات تفريغ الأعطال، ومعلومات التسجيل، وما إلى ذلك.

أوكف: 0x15B

معلمة الأمر مقاس غاية
لا يوجد قائمة معلمات الأمر فارغة

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر

دعم إلغاء تحميل الأجهزة A2DP

تدعم ميزة إلغاء تحميل A2DP إلغاء تحميل عملية تشفير الصوت A2DP إلى معالج صوتي متصل بوحدة تحكم BT. يمر تدفق البيانات الصوتية المشفرة مباشرة من معالج الصوت إلى وحدة تحكم BT دون تدخل مضيف BT. لا يزال مضيف BT مسؤولاً عن تكوين جلسة A2DP والتحكم فيها. يتوفر إصداران من الأوامر. تدعم الأوامر القديمة ذات Sub OCF 0x01-0x02 برامج الترميز مفتوحة المصدر فقط. الإصدارات ذات Sub-OCF 0x02-0x03 لا تعرف برنامج الترميز الذي تم تكوينه.

أوكف: 0x15د

بدء إلغاء تحميل A2DP (قديم)

OCF الفرعي: 0x01

استخدم هذا الأمر لتكوين عملية إلغاء تحميل A2DP ولبدء دفق A2DP.

معلمة الأمر مقاس غاية
Codec 4 ثمانيات يحدد نوع الترميز
0x01 - اس بي سي
0x02 - الجميح للسيارات
0x04 - أبتكس
0x08 - أبتكس هد
0x10 - لداك
Max_Latency 2 ثمانيات الحد الأقصى المسموح به لزمن الوصول (بالمللي ثانية). القيمة صفر تعطل التدفق.
SCMS-T_Enable 2 ثمانيات Octet 0: علامة تتيح إضافة رأس SCMS-T.
  • 0x00 - رأس SCMS-T غير مضمن.
  • 0x01 - تم تضمين رأس SCMS-T.

الثماني 1: قيمة رأس SCMS-T، عند تمكينه.

Sampling_Frequency 4 ثمانيات 0x01 - 44100 هرتز
0x02 - 48000 هرتز
0x04 - 88200 هرتز
0x08 - 96000 هرتز
Bits_Per_Sample 1 ثماني 0x01 - 16 بت لكل عينة
0x02 - 24 بت لكل عينة
0x04 - 32 بت لكل عينة
Channel_Mode 1 ثماني 0x01 - أحادية
0x02 - ستيريو
Encoded_Audio_Bitrate 4 ثمانيات معدل البت الصوتي المشفر بالبت في الثانية.
0x00000000 - معدل البت الصوتي غير محدد / غير مستخدم.
0x00000001 - 0x00FFFFFF - معدل البت الصوتي المشفر بالبت في الثانية.
0x01000000 - 0xFFFFFFFF - محجوزة.
Connection_Handle 2 ثمانيات يتم تكوين مقبض الاتصال الخاص باتصال A2DP
L2CAP_Channel_ID 2 ثمانيات معرف قناة L2CAP الذي سيتم استخدامه لاتصال A2DP هذا
L2CAP_MTU_Size 2 ثمانيات الحد الأقصى لحجم L2CAP MTU الذي يحتوي على حزم الصوت المشفرة
Codec_Information 32 ثمانية معلومات خاصة ببرنامج الترميز.

برنامج ترميز SBC:

راجع عناصر المعلومات المحددة لبرنامج SBC Codec في A2DP v1.3.
الثماني 0: طول الكتلة | النطاقات الفرعية | طريقة التخصيص
الثماني 1: الحد الأدنى لقيمة Bitpool
الثماني 2: الحد الأقصى لقيمة Bitpool
الثماني 3: تردد أخذ العينات | وضع القناة
الثمانية 4-31: محجوزة

ترميز AAC:

راجع عناصر المعلومات المحددة لـ AAC Codec في A2DP v1.3
الثماني 0: نوع الكائن
الثماني 1؛ ب7: فبر
الثماني 2-31: محجوزة

ترميز LDAC:

الثماني 0-3: معرف البائع
0x0000012د

الثماني 4-5: معرف برنامج الترميز
0x00AA - لداك
محجوزة كل القيم الأخرى

الثماني 6: مؤشر معدل البت:
0x00 - مرتفع
0x01 - منتصف
0x02 - منخفض
0x03 - 0x7E - محجوز
0x7F - ABR (معدل البت التكيفي)
0x80 - 0xFF - محجوز

الثماني 7: وضع قناة LDAC
0x01 - ستيريو
0x02 - مزدوج
0x04 - أحادية
والبعض الآخر محجوز

الثمانية 8-31: محجوزة

جميع برامج الترميز الأخرى:

الثماني 0-31: محجوز

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Sub_Opcode 1 ثماني 0x01 - بدء إلغاء تحميل A2DP

ابدأ إلغاء تحميل A2DP

فرعي OCF: 0x03

استخدم هذا الأمر لتكوين عملية إلغاء تحميل A2DP ولبدء دفق A2DP.

معلمة الأمر مقاس غاية
Connection Handle 2 ثمانيات مقبض اتصال HCI النشط
L2CAP_Channel_ID 2 ثمانيات معرف قناة L2CAP مفتوح لتدفق A2DP
Data_Path_Direction 1 ثماني 0x00 - الإخراج (مصدر/دمج AVDTP)
0x01 - الإدخال (مصرف/مقسم AVDTP)
Peer_MTU 2 ثمانيات الحد الأقصى لحجم حزم L2CAP، يتم التفاوض عليه مع النظير.
CP_Enable_SCMS_T 1 ثماني 0x00 - تعطيل رأس حماية المحتوى SCMS-T
0x01 - تمكين رأس حماية المحتوى SCMS-T
CP_Header_SCMS_T 1 ثماني عند تمكين رأس حماية المحتوى SCMS-T (تم ضبط CP_SCMS_T_Enable على 0x01)، يحدد قيمة الرأس التي تسبق محتوى الصوت (راجع A2DP، القسم 3.2.1-2) كما هو محدد بواسطة أرقام Bluetooth المخصصة، القسم 6.3.2.
يتم تجاهله عند عدم تمكين حماية محتوى SCMS-T.
Vendor_Specific_Parameters_Length 1 ثماني طول المعلمات الخاصة بالمورد، في النطاق من 0 إلى 128.
يتم استخدام القيمة 0 عندما لا يتم توفير معلمات إضافية.
Vendor_Specific_Parameters 0-128 ثمانيات المعلمات الخاصة بالمورد المقدمة من Bluetooth Audio HAL، CodecParameters.vendorSpecificParameters[] .

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Sub_Opcode 1 ثماني 0x03 - بدء إلغاء تحميل A2DP

إيقاف إلغاء تحميل A2DP (قديم)

OCF الفرعي: 0x02

يتم استخدام هذا الأمر لإيقاف دفق A2DP Offload.

معلمة الأمر مقاس غاية
لا يوجد قائمة معلمات الأمر فارغة.

لم يتم تعريف أي معلمات لهذا الأمر.

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Sub_Opcode 1 ثماني 0x02 - إيقاف إلغاء تحميل A2DP

إيقاف إلغاء تحميل A2DP

OCF الفرعي: 0x04

يتم استخدام هذا الأمر لإيقاف دفق A2DP Offload.

معلمة الأمر مقاس غاية
Connection Handle 2 ثمانيات مقبض اتصال HCI النشط
L2CAP_Channel_ID 2 ثمانيات معرف قناة L2CAP مفتوح لتدفق A2DP
Data_Path_Direction 1 ثماني 0x00 - الإخراج (مصدر/دمج AVDTP)
0x01 - الإدخال (مصرف/مقسم AVDTP)

سيتم إنشاء حدث اكتمال الأمر لهذا الأمر.

معلمة العودة مقاس غاية
Status 1 ثماني حالة اكتمال الأمر
Sub_Opcode 1 ثماني 0x04 - إيقاف إلغاء تحميل A2DP

أمر تقرير جودة البلوتوث

تبدأ ميزة الأمر BT Quality Report الآلية في وحدة تحكم Bluetooth للإبلاغ عن أحداث جودة Bluetooth للمضيف. يمكنك تمكين أربعة خيارات:

  • وضع مراقبة الجودة: يرسل وحدة التحكم بشكل دوري حدث BQR الفرعي ذي جودة الارتباط إلى المضيف.
  • تقترب من LSTO: إذا لم يتم استلام حزم من جهاز BT المتصاعد لفترة أطول من نصف قيمة مهلة الإشراف على الارتباط (LSTO) ، فإن وحدة التحكم تقارير حدثًا يقترب من LSTO إلى المضيف.
  • A2DP Audio متقلبة: عندما تكتشف وحدة التحكم العوامل التي تسبب صوتًا متقطعًا ، يبلغ وحدة التحكم عن حدث متقلب صوت A2DP للمضيف.
  • (هـ) SCO Voice Robpy: عندما تكتشف وحدة التحكم العوامل التي تسبب صوتًا متقطعًا ، يبلغ وحدة التحكم عن حدث تقطيع صوت SCO (E) إلى المضيف.
  • التهاب الجذر: يتم إرسال هذا الحدث بواسطة وحدة التحكم إلى المكدس عندما يواجه HAL أو وحدة التحكم خطأ فادحًا ويحتاج إلى إعادة تشغيل Bluetooth.
  • تتبع رسالة LMP/LL: يرسل وحدة التحكم مصافحة رسالة LMP/LL مع الجهاز البعيد إلى المضيف.
  • تتبع جدولة Bluetooth Multi-Profile/Coex: يرسل وحدة التحكم معلومات الجدولة الخاصة به حول التعامل مع ملامح Bluetooth المتعددة والتعايش اللاسلكي في نطاق 2.4 جيجاهرتز إلى المضيف.
  • آلية معلومات تصحيح التحكم في وحدة التحكم: عند التمكين ، يمكن لوحدة التحكم الإبلاغ عن معلومات تسجيل التصحيح المستقلة من خلال الحدث الفرعي لمضيف وحدة التحكم.

OCF: 0x15E

معلمة الأمر مقاس غاية
BQR_Report_Action 1 ثماني الإجراء لإضافة / حذف الإبلاغ عن أحداث الجودة (أحداث) الجودة المحددة في معلمة bqr_quality_event_mask ، أو مسح الكل.

0x00 - إضافة
0x01 - حذف
0x02 - واضح

سيقوم Delete بمسح الإبلاغ عن الجودة المحددة.
سوف تقوم Clear بمسح جميع أحداث الجودة الإبلاغ (BQR_QUALITY_EVENT_MASK يمكن تجاهل المعلمة).

BQR_Quality_Event_Mask 4 ثمانيات أقنعة بت لتقارير الحدث الجودة المحددة.

بت 0: تعيين لتمكين وضع مراقبة الجودة.
بت 1: تعيين لتمكين الاقتراب من حدث LSTO (ل ACL/(E) SCO/ISO).
بت 2: تعيين لتمكين حدث A2DP Audio المتقلبة.
بت 3: تعيين لتمكين (E) حدث SCO الصوتي المتقلبة.
بت 4: تعيين لتمكين حدث التهاب الجذر.
بت 5: تعيين لتمكين وضع مراقبة الطاقة.
بت 6: تعيين لتمكين حدث LE Audio المتقلبة.
بت 7: تعيين لتمكين حدث Connect Fail.
بت 8 ~ 14: محفوظة.
بت 15: تعيين لتمكين أحداث الجودة الخاصة بالبائع.
بت 16: تعيين لتمكين تتبع رسالة LMP/LL.
بت 17: تعيين لتمكين تتبع جدولة البلوتوث متعدد الارتباط/Coex.
بت 18: تم تعيينها لتمكين آلية معلومات تصحيح وحدة التحكم.
بت 19 ~ 30: محفوظة.
بت 31: تم تعيينه لتمكين تتبع البائع الخاص.

BQR_Minimum_Report_Interval 2 الثمانيات حدد الحد الأدنى لفاصل الزمني لتقارير أحداث الجودة لحدث (أحداث) الجودة المحددة. يجب ألا تقوم البرامج الثابتة لجهاز التحكم بالإبلاغ عن الحدث التالي ضمن الفاصل الزمني المحدد. يجب أن يكون إعداد الفاصل الزمني ومكرسًا لحدث (أحداث) الجودة التي يتم إضافتها.

الوحدة: MS
الافتراضي: 0 (لا يوجد قيود على الفاصل الزمني.)
المدى: 0 ~ 65535 مللي ثانية

BQR_Vendor_Specific_Quality_Event_Mask 4 ثمانيات أقنعة بت الإبلاغ عن أحداث الجودة المحددة للبائع.
تكون هذه المعلمة صالحة فقط عند تعيين BIT 15 من BQR_Quality_Event_Mask .

بت 0 ~ 31: محفوظة.

BQR_Vendor_Specific_Trace_Mask 4 ثمانيات أقنعة بت الإبلاغ عن تتبع بائع محدد.
تكون هذه المعلمة صالحة فقط عند تعيين Bit 31 من BQR_Quality_Event_Mask .

بت 0 ~ 31: محفوظة.

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Current_Quality_Event_Mask 4 ثمانيات يشير إلى إعداد قناع البت الحالي.
بت 0: تم تمكين وضع مراقبة الجودة.
بت 1: يتم تمكين تقارير الإبلاغ عن حدث LSTO.
بت 2: يتم تمكين الإبلاغ عن الأحداث الصوتي A2DP.
بت 3: (هـ) تم تمكين الإبلاغ عن الأحداث المتقلبة SCO الصوتي.
بت 4: تم تمكين الإبلاغ عن حدث التهاب الجذر.
بت 5: تم تمكين وضع مراقبة الطاقة.
بت 6: تم تمكين الإبلاغ عن حدث Audio Audio المتقلبة.
بت 7: توصيل الفشل حدث.
بت 8 ~ 14: محفوظة.
بت 15: تم تمكين الإبلاغ عن الجودة الخاصة بالبائع.
بت 16: تم تمكين تتبع رسالة LMP/LL.
بت 17: تم تمكين تتبع جدولة Bluetooth Multi-Link/Coex.
بت 18: يتم تمكين آلية معلومات تصحيح وحدة التحكم.
بت 19 ~ 30: محفوظة.
بت 31: تم تمكين تتبع البائع الخاص.
Current_Vendor_Specific_Quality_Event_Mask 4 ثمانيات يشير إلى إعداد قناع البت الحالي.
Current_Vendor_Specific_Trace_Mask 4 ثمانيات يشير إلى إعداد قناع البت الحالي.

أمر مخزن صوتي ديناميكي

يقلل المخزن المؤقت للصوت الديناميكي من خلع الصوت عن طريق تغيير حجم المخزن المؤقت الصوتي في وحدة تحكم Bluetooth استنادًا إلى سيناريوهات مختلفة.

OCF: 0x15F

احصل على قدرة زمنية عازلة صوتية

Sub OCF: 0x01

استخدم هذا الأمر للحصول على قدرة زمنية صوتية من وحدة تحكم Bluetooth.

معلمة الأمر مقاس غاية
لا يوجد قائمة معلمة الأوامر الفارغة

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Dynamic_Audio_Buffer_opcode 1 ثماني 0x01 - احصل على وقت مخزن مؤقت للصوت
Audio_Codec_Type_Supported 4 ثمانيات أقنعة بت من أنواع الترميز المدعومة
بت 0 - SBC
بت 1 - AAC
بت 2 - APTX
بت 3 - APTX HD
بت 4 - LDAC
بت 5-31 محجوز
Audio_Codec_Buffer_Default_Time_For_Bit_0 2 الثمانيات وقت المخزن المؤقت الافتراضي لنوع برامج الترميز Bit 0 المحدد في Audio_codec_type_supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز Bit 0.
الوحدة: MS
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 2 الثمانيات الحد الأقصى لوقت المخزن المؤقت لنوع برامج الترميز 0 البت المحدد في Audio_codec_type_supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز Bit 0.
الوحدة: MS
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 2 الثمانيات الحد الأدنى لوقت المخزن المؤقت لنوع برامج الترميز 0 البت المحدد في Audio_codec_type_supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز Bit 0.
الوحدة: MS
Audio_Codec_Buffer_Default_Time_For_Bit_1 2 الثمانيات وقت المخزن المؤقت الافتراضي لنوع برامج الترميز Bit 1 المحدد في Audio_codec_type_supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز Bit 1.
الوحدة: MS
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 2 الثمانيات الحد الأقصى لوقت المخزن المؤقت لنوع برامج الترميز 1 البت المحدد في Audio_codec_type_supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز Bit 1.
الوحدة: MS
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 2 الثمانيات الحد الأدنى لوقت المخزن المؤقت لنوع برامج الترميز 1 البت المحدد في Audio_codec_type_supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز Bit 1.
الوحدة: MS
...... ...... ......
Audio_Codec_Buffer_Default_Time_For_Bit_31 2 الثمانيات وقت العازلة الافتراضية لنوع الترميز 31 البت المحدد في Audio_codec_type_supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز 31.
الوحدة: MS
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 2 الثمانيات الحد الأقصى لوقت المخزن المؤقت لـ BIT 31 نوع الترميز المحدد في AUDIO_CODEC_TYPE_SUPPORTED.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز 31.
الوحدة: MS
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 2 الثمانيات الحد الأدنى لوقت المخزن المؤقت لـ BIT 31 نوع الترميز المحدد في AUDIO_CODEC_TYPE_Supported.
يجب أن تكون هذه القيمة 0 إذا لم يتم دعم نوع برامج الترميز 31.
الوحدة: MS

تعيين وقت المخزن المؤقت للصوت

Sub OCF: 0x02

استخدم هذا الأمر لتعيين وقت العازلة الصوتية إلى وحدة تحكم Bluetooth.

معلمة الأمر مقاس غاية
Audio_Codec_Buffer_Time 2 الثمانيات مطلوب وقت عازلة الصوت لبرنامج الترميز المستخدم الحالي.
الوحدة: MS

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Dynamic_Audio_Buffer_opcode 1 ثماني 0x02 - تعيين وقت المخزن المؤقت للصوت
Audio_Codec_Buffer_Time 2 الثمانيات الوقت الصوتي الحالي وقت العازلة في وحدة تحكم Bluetooth.
الوحدة: MS

حدث HCI (محدد البائع)

مطلوب أحداث HCI الخاصة بالبائع في بعض الحالات. ارجع إلى الشكل 5.4 في الصفحة 1897 من مواصفات BT Core 5.2. ستحتوي معلمة الحدث 0 دائمًا على رمز الحدث الفرعي الأول ، بناءً على فك تشفير بقية حدث HCI.

معلمة الحدث مقاس غاية
HCI_vendor_specific_event_code 1 ثماني 0xFF
sub_event_code 1 ثماني سيكون رمز الحدث الفرعي هو واحد في الحجم ، والبايت مباشرة بعد طول المعلمة في حزمة حدث HCI.

حدث فرعي لحالة التخزين

يشير هذا الحدث إلى أن عتبة التخزين قد تم اختراقها.

رمز الحدث الفرعي = 0x54

معلمة الحدث الفرعي مقاس غاية
لا أحد

LE Multi-advering State تغيير الحدث الفرعي

يشير هذا الحدث إلى أن مثيل الإعلان قد غير حالته. في هذا الوقت ، يتم استخدام هذا الحدث فقط للإشارة إلى مثيل الإعلان الذي تم إيقافه نتيجة اتصال.

رمز الحدث الفرعي = 0x55

معلمة الحدث الفرعي مقاس غاية
Advertising_instance 1 ثماني يحدد مثيل الإعلان المحدد
القيم الصالحة هي 0 من خلال max_advt_instances -1
State_Change_Reason 1 ثماني 0x00: تم استلام الاتصال
Connection_handle 2 الثمانيات يحدد الاتصال الذي تسبب في تعطيل مثيل advt (0xFFFF إذا كان غير صالح)

LE Advertisement تتبع الحدث الفرعي

يشير هذا الحدث إلى وقت العثور على المعلن أو فقده.

رمز الحدث الفرعي = 0x56

معلمة الحدث الفرعي مقاس غاية
APCF_Filter_Index 1 ثماني فهرس التصفية (0 ، max_filter -1)
Advertiser_State 1 ثماني 0x00: تم العثور على المعلن
0x01: فقد المعلن
Advt_Info_Present 1 ثماني 0x00: معلومات المعلن ( Advt_Info ) موجودة
0x01: معلومات المعلن ( Advt_Info ) غير موجودة
Advertiser_Address 6 الثمانيات عنوان عام أو عشوائي
Advertiser_Address_Type 1 ثماني 0x00: العنوان العام
0x01: عنوان عشوائي
Advt_Info Tx_Pwr[0] : 1 Octet
RSSI[0] : 1 Octet
Timestamp[0] : 2 الثماني
Adv packet_len[0] : 1 Octet
Adv_packet[0] : Adv_packet_len octets
Scan_data_resp_len[0] : 1 OCTET
Scan_data_resp[0] : Octets Scan_data_resp

جهاز التحكم في معلومات التصحيح الفرعي

يتم استخدام هذا الحدث من قبل وحدة تحكم لتوفير معلومات التصحيح الثنائي لمضيف.

رمز الحدث الفرعي = 0x57

معلمة الحدث الفرعي مقاس غاية
debug_block_byte_offset_start 2 الثمانيات مصحح بلوك بايت من البداية
last_block 1 ثماني 0x00: المزيد من بيانات التصحيح
0x01: آخر كتلة ثنائية ؛ لا مزيد من بيانات التصحيح
cur_pay_load_sz 2 الثمانيات حجم الكتلة الثنائية في حدث حالي
Debug_Data عامل بيانات التصحيح من cur_payload_sz

تقرير جودة البلوتوث الحدث الفرعي

يشير هذا الحدث إلى أحد ما يلي: حدث حدث جودة Bluetooth ، وقام وحدة التحكم بتحميل تتبع رسالة LMP/LL وتتبع جدولة Bluetooth Multi-Link/Coex ، أو بيانات معلومات التصحيح التي تم إلقاؤها.

معلمة الحدث الفرعي مقاس غاية
Quality_Report_Id 1 ثماني 0x01: تقارير الجودة عن وضع المراقبة.
0x02: الاقتراب من LSTO.
0x03: A2DP Audio متقطع.
0x04: (E) SCO صوت تقطيع.
0x05 ~ 0x06: محفوظة.
0x07: Le Audio Shotpy.
0x08: Connect Fail.
0x09 ~ 0xff: محجوز.
Packet_Types 1 ثماني 0x01: ID
0x02: NULL
0x03: استطلاع
0x04: FHS
0x05: HV1
0x06: HV2
0x07: HV3
0x08: DV
0x09: EV3
0x0A: EV4
0x0B: EV5
0x0C: 2-EV3
0x0D: 2-EV5
0x0E: 3-EV3
0x0F: 3-EV5
0x11: DH1
0x12: DM3
0x13: DH3
0x14: DM5
0x15: DH5
0x16: AUX1
0x17: 2-DH1
0x18: 2-DH3
0x19: 2-DH5
0x1A: 3-DH1
0x1B: 3-DH3
0x1C: 3-DH5
0x1d ~ 0x50: محجوز
0x51: حزمة ISO
0x52 ~ 0xff: محجوز
Connection_Handle 2 الثمانيات ACL/(e) مقبض اتصال SCO/ISO.
Connection_Role 1 ثماني أداء الدور للاتصال.
0x00: وسط
0x01: الطرفية
0x02 ~ 0xff: محجوز.
TX_Power_Level 1 ثماني مستوى طاقة الإرسال الحالي للاتصال المحدد.

يجب أن تكون هذه القيمة هي نفسها التي تستجيب لجهاز التحكم في أمر HCI_READ_TRANSMIT_POWER_LEVEL HCI.

RSSI 1 ثماني [في DBM]

مستلمة مؤشر قوة الإشارة (RSSI) قيمة Connection_handle المحددة.
يجب أن تكون هذه القيمة قيمة قوة إشارة استقبال مطلقة.
المدى: -127 إلى +20

SNR 1 ثماني [في ديسيبل]

قيمة نسبة الإشارة إلى الضوضاء (SNR) للاتصال المحدد.
يجب أن توفر وحدة التحكم متوسط ​​SNR لجميع القنوات المستخدمة بواسطة الرابط.

Unused_AFH_Channel_Count 1 ثماني يشير إلى عدد القنوات غير المستخدمة في AFH_CHANNEL_MAP.
0x4f ~ 0xff: محجوز.
AFH_Select_Unideal_Channel_Count 1 ثماني يشير إلى عدد القنوات التي يتم تداخلها ولها جودة سيئة ، ولكن لا يزال يتم اختيارها لـ AFH.
الحد الأدنى لعدد القنوات المسموح به من قبل مواصفات Bluetooth هو 20 ، لذلك حتى لو تم تدخل جميع القنوات الـ 79 ولديها جودة سيئة ، لا تزال وحدة التحكم تحتاج إلى اختيار 20 قناة على الأقل لـ AFH.
LSTO 2 الثمانيات إعداد مهلة الإشراف على الارتباط الحالي.
الوقت = n * 0.625 مللي ثانية
المدى الزمني: 0.625 مللي ثانية إلى 40.9 ثانية
Connection_Piconet_Clock 4 ثمانيات ساعة piconet للاتصال المحدد.
يجب أن تكون هذه القيمة هي نفسها التي تستجيب لها وحدة التحكم في أمر HCI_READ_CLOCK HCI مع المعلمة "التي من 0x01 (ساعة piconet).
الوحدة: N * 0.3125 مللي ثانية (ساعة Bluetooth)
Retransmission_Count 4 ثمانيات عدد عمليات إعادة الإرسال منذ الحدث الأخير.
يجب إعادة تعيين هذا العدد بعد الإبلاغ إلى المضيف.
No_RX_Count 4 ثمانيات لا عدد RX منذ الحدث الأخير.
يزداد العد عند عدم استلام حزمة في فتحة الوقت المحدودة أو تالف الحزمة المستلمة.
يجب إعادة تعيين هذا العدد بعد الإبلاغ إلى المضيف.
NAK_Count 4 ثمانيات NAK (الاعتراف السلبي) العد منذ الحدث الأخير.
يجب إعادة تعيين هذا العدد بعد الإبلاغ إلى المضيف.
Last_TX_ACK_Timestamp 4 ثمانيات الطابع الزمني لآخر تكساس ACK. يعتمد على ساعة Bluetooth من Piconet Central (CLK).
الوحدة: N * 0.3125 مللي ثانية (ساعة Bluetooth)
Flow_Off_Count 4 ثمانيات عدد المرات التي يتلقى فيها وحدة التحكم التدفق (توقف) منذ الحدث الأخير.
يجب إعادة تعيين هذا العدد بعد الإبلاغ إلى المضيف.
Last_Flow_On_Timestamp 4 ثمانيات الطابع الزمني للتدفق الأخير (GO). يعتمد على ساعة Bluetooth من Piconet Central (CLK).
الوحدة: N * 0.3125 مللي ثانية (ساعة Bluetooth)
Buffer_Overflow_Bytes 4 ثمانيات [في بايت]

العدد المخزن المؤقت في التدفق منذ الحدث الأخير.
تحسب وحدة التحكم عدد بايت البيانات التي تم إسقاطها.
يجب إعادة تعيين هذا العدد بعد الإبلاغ عن المضيف.

Buffer_Underflow_Bytes 4 ثمانيات [في بايت]

العازلة العازلة عدد التدفق منذ الحدث الأخير.
يجب إعادة تعيين هذا العدد بعد الإبلاغ عن المضيف.

bdaddr 6 الثمانيات عنوان الجهاز البعيد
cal_failed_item_count 1 ثماني فشل عدد العناصر المعايرة
TX_Total_Packets 4 ثمانيات عدد الحزم التي يتم إرسالها.
TX_UnAcked_Packets 4 ثمانيات عدد الحزم التي لا تتلقى إقرارًا.
يتم إعادة تعيين هذا العدد بعد الإبلاغ عن المضيف.
TX_Flushed_Packets 4 ثمانيات عدد الحزم التي لم يتم إرسالها بواسطة نقطة التدفق.
يتم إعادة تعيين هذا العدد بعد الإبلاغ عن المضيف.
TX_Last_Subevent_Packets 4 ثمانيات عدد الحزم التي تربط طبقة تنقل بيانات CIS PDU في آخر عامية من حدث CIS.
يتم إعادة تعيين هذا العدد بعد الإبلاغ عن المضيف.
القيمة صفر إذا لم تكن هناك قيمة صالحة للرابط.
CRC_Error_Packets 4 ثمانيات عدد الحزم المستلمة مع خطأ CRC منذ الحدث الأخير.
يتم إعادة تعيين هذا العدد بعد الإبلاغ عن المضيف.
RX_Duplicate_Packets 4 ثمانيات عدد الحزم المكررة (إعادة الإرسال) التي تم استلامها منذ الحدث الأخير.
يتم إعادة تعيين هذا العدد بعد الإبلاغ عن المضيف.
معلمة محددة للبائع (المعلمة إجمالي الطول - TBD) * الثمانيات بالنسبة لبائع وحدة التحكم للحصول على مزيد من المعلمات المحددة للبائعين.

رمز الحدث الفرعي = 0x58 [Quality_Report_id = 0x05 ، حدث التهاب الجذر]

يشير هذا الحدث إلى أن Bluetooth HAL أو وحدة التحكم واجهت خطأً مميتاً ويحتاج إلى مكدس Bluetooth لتسجيل هذا الموقف وإعادة التشغيل. يجب أن ترسل وحدة التحكم root_inflammation_event إلى مكدس البلوتوث قبل إرسال الجزء الأول من أحداث معلومات التصحيح في أي حال.

تحتوي المعلمة error_code على رمز خطأ تم الإبلاغ عنه من HAL/Controller ، 0 إذا كان خطأ محدد بائع شرائح. يحتوي Pondor_Specific_error_Code على رمز خطأ محدد بائع شرائح من HAL/Controller. يجب تعيينه على أنه 0 إذا كان المعلمة error_code ليس 0. لا ينبغي أن يكون كلاهما 0 parameters error_code و pondor_specific_error_code.

معلمة الحدث الفرعي مقاس غاية
Quality_Report_Id 1 ثماني 0x00 ~ 0x04: محفوظة.
0x05: التهاب الجذر.
0x06 ~ 0xff: محفوظة.
Error_Code 1 ثماني 0x00: يتم تضمين رمز خطأ محدد بائع شرائح.
0x01 ~ 0xff: حدث فشل وحدة التحكم. راجع SPEC Bluetooth [المجلد 2] الجزء D ، رموز الخطأ للحصول على قائمة برموز الأخطاء والأوصاف.
Vendor_Specific_Error_Code 1 ثماني 0x00: لا يتم تضمين رمز خطأ محدد بائع مجموعة شرائح.
0x01 ~ 0xff: رمز خطأ محدد بائع شرائح.
معلمة محددة للبائع (المعلمة إجمالي الطول - 4) * الثمانيات بالنسبة لبائع وحدة التحكم للحصول على مزيد من المعلمات المحددة للبائعين.
معلمة الحدث الفرعي مقاس غاية
Quality_Report_Id 1 ثماني 0x00 ~ 0x10: محجوز.
0x11: تتبع رسالة LMP/LL.
0x12: تتبع جدولة Bluetooth Multi-Link/Coex.
0x13: وحدة التحكم في بيانات بيانات التصحيح.
0x14 ~ 0xff: محجوز.
Connection_Handle 2 الثمانيات مقبض الاتصال.
معلمة محددة للبائع (المعلمة إجمالي الطول - 4) * الثمانيات تنسيق محدد من البائعين من تتبع رسالة LMP ، تتبع بيانات الجدولة Multi-Link/Coex و Controller.

دعم متعدد المعادن

أهداف دعم multi-advertiser هي ما يلي:

  • القدرة على دعم إعلانات متعددة ( max_advt_instances )
  • قوى الإرسال المختلفة للسماح بمجموعة متفاوتة
  • محتوى إعلاني مختلف
  • استجابة فردية لكل معلن
  • الخصوصية (غير قابلة للتشغيل) لكل معلن
  • قابلة للاتصال

للحفاظ على هذه المواصفات بالقرب من المعايير الحالية ، يتم توفير الأوامر التالية الخاصة بالبائع. وهي مشتقة من مواصفات Bluetooth Core 4.1.

le_multi_advt_command

OCF: 0x154

معلمة الأمر مقاس غاية
Multi_advt_opcode 1 ثماني 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 1 ثماني القيادة الكاملة الحالة
Multi_advt_opcode 1 ثماني 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_AVD_PARAM_MULTI_SUB_CMD

المرجع الأساسي: مواصفات Bluetooth Core 4.1 ، صفحة 964 (أمر المعلمة الإعلان LE)

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 1 ثماني يحدد قابلية تطبيق المعلمات أعلاه على مثيل
Tx_power 1 ثماني نقل الطاقه
الوحدة - في DBM (عدد صحيح موقّع)
المدى (-70 إلى +20)

يمكن أن تكون معلمة Own_Address عنوانًا مكونًا من مضيف في وقت إعداد مثيل المعادن المتعددة. يوفر هذا القدرة على الحصول على عنوان خاص قابل للحل في وقت نقل المنارة الأولى. سوف يستمر الإعلان على مثيل بغض النظر عن الاتصال. يمكن لمضيف BT Stack إصدار أمر لبدء الإعلان على مثيل ، بعد الاتصال.

سيتم إنشاء حدث كامل لأمر لهذا الأمر كما هو محدد في مواصفات Bluetooth Core 4.1 ، وفقًا للأمر أعلاه. ستستجيب وحدة التحكم برمز غير ناجح (معلمة غير صالحة) إذا كانت مثيل الإعلان أو معلمات Tx_Power غير صالحة.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Multi_advt_opcode 1 ثماني 0x01 [ Set_Advt_Param_Multi_Sub_Cmd]

le_multi_advt_command: set_advt_data_multi_sub_cmd

المرجع الأساسي: مواصفات Bluetooth Core 4.1 ، صفحة 969 (أمر بيانات LE Set))

Sub OCF: 0x02

معلمة الروم الفرعي مقاس غاية
Advertising_Data_Length لكل مواصفات لكل مواصفات
Advertising_Data لكل مواصفات لكل مواصفات
Advertising_Instance 1 ثماني يحدد قابلية تطبيق المعلمات أعلاه على مثيل

سيتم إنشاء حدث كامل لأمر لهذا الأمر كما هو محدد في مواصفات Bluetooth Core 4.1 ، وفقًا للأمر أعلاه. ستستجيب وحدة التحكم برمز غير ناجح إذا كانت معلمات مثيل الإعلان أو Tx_Power غير صالحة.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Multi_advt_opcode 1 ثماني 0x02 [ Set_Advt_Data_Multi_Sub_Cmd]

LE_MULTI_ADVT_COMMAND: set_scan_resp_data_multi_sub_cmd

المرجع الأساسي: مواصفات Bluetooth Core 4.1 ، صفحة 970 (أمر بيانات استجابة Set Set Scan)

Sub OCF: 0x03

معلمة الروم الفرعي مقاس غاية
Scan_Response_Data_Length لكل مواصفات لكل مواصفات
Scan_Response_Data لكل مواصفات لكل مواصفات
Advertising_Instance 1 ثماني يحدد قابلية تطبيق المعلمات أعلاه على مثيل

سيتم إنشاء حدث كامل لأمر لهذا الأمر كما هو محدد في مواصفات Bluetooth Core 4.1 ، وفقًا للأمر أعلاه. ستستجيب وحدة التحكم برمز غير ناجح (معلمة غير صالحة) إذا كانت معلمات مثيل الإعلان أو معلمات Tx_Power غير صالحة.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Multi_advt_opcode 1 ثماني 0x03 [ Set_Scan_Resp_Data_Multi_Sub_Cmd]

le_multi_advt_command: set_random_addr_multi_sub_cmd

المرجع الأساسي: مواصفات Bluetooth Core 4.1 ، صفحة 963 (أمر LE Set Random Address)

Sub OCF: 0x04

معلمة الروم الفرعي مقاس غاية
عنوان عشوائي لكل مواصفات لكل مواصفات
Advertising_Instance 1 ثماني يحدد قابلية تطبيق المعلمات أعلاه على مثيل

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Multi_advt_opcode 1 ثماني 0x04 [ Set_Random_Addr_Multi_Sub_Cmd]

le_multi_advt_command: set_advt_enable_multi_sub_cmd

المرجع الأساسي: مواصفات Bluetooth Core 4.1 ، صفحة 971 (LE Set Advertise تمكين الأمر في تلك المواصفات الأساسية)

OCF: 0x05

معلمة الروم الفرعي مقاس غاية
Advertising_Enable 1 ثماني قيمة 1 تعني تمكين. أي قيمة أخرى تعني تعطيل.
Advertising_Instance 1 ثماني يحدد قابلية تطبيق المعلمات أعلاه على مثيل. مثيل 0 يعني مثيل HCI قياسي.

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Multi_advt_opcode 1 ثماني 0x05 [ Set_Advt_Enable_Multi_Sub_Cmd]

تفريغ حل العنوان الخاص

تحل هذه الميزة عنوانًا خاصًا في البرامج الثابتة أو الأجهزة الثابتة ، والتي توفر الفوائد التالية:

  • الكمون المشارك مع المضيف في حل عنوان خاص
  • توفير الطاقة من خلال الامتناع عن استيقاظ المضيف

le_set_rpa_timeout

OCF: 0x15C

معلمة الأمر مقاس غاية
LE_local_IRK 16 ثماني الجهاز المحلي يستخدم لإنشاء العنوان العشوائي القابل للحل (ES).
tRPA_min 2 الثمانيات الحد الأدنى لتوليد RPA في ثوان. يجب أن تقوم وحدة التحكم بإنشاء عناوين جديدة قابلة للحل لأي أحداث إعلان/مسح/اتصال في هذه المهلة أو بعدها.
نطاق صالح: 300-1800
tRPA_max 2 الثمانيات الحد الأقصى لتوليد RPA في ثوان. يجب أن تقوم وحدة التحكم بإنشاء عناوين جديدة قابلة للحل لأي أحداث إعلان/مسح/اتصال في هذه المهلة أو قبلها.
نطاق صالح: tRPA_min -1800
إرجاع المعلمة مقاس غاية
Status 1 ثماني حالة الأمر.

قيم حالة HCI المقترحة:
0x00 النجاح
0x01 أمر غير معروف (إذا لم يكن مدعومًا)
0x12 معلمات الأوامر غير صالحة (إذا كانت أي معلمات خارج النطاق المحدد)

le_rpa_offload_command

OCF: 0x155

معلمة الأمر مقاس غاية
RPA_offload_opcode 1 ثماني 0x1 - تمكين ميزة العميل الخاصة
0x2 - أضف IRK إلى القائمة
0x3 - قم بإزالة IRK من القائمة
0x4 - قائمة irk clear
0x5 - اقرأ إدخال قائمة IRK

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Event_RPA_offload_opcode 1 ثماني 0x1 - تمكين ميزة العميل الخاصة
0x2 - أضف IRK إلى القائمة
0x3 - قم بإزالة IRK من القائمة
0x4 - قائمة irk clear
0x5 - اقرأ إدخال قائمة IRK

LE_RPA_OFFLOAD: enable_cust_specific_sub_command

Sub OCF: 0x01

معلمة الروم الفرعي مقاس غاية
enable_customer_specific_feature_set 1 ثماني 0x01 - تمكين ميزة RPA التي تم تفريغها
0x00 - تعطيل ميزة RPA التي تم تفريغها

مطلوب عملية تفريغ RPA لتمكين المضيف ، استنادًا إلى قدرة الشريحة. الرجوع إلى LE_Get_Vendor_Capabilities_Command . يمكن أن تحتوي كل شريحة على max_irk_list_sz متفاوتة في البرامج الثابتة.

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Event_cust_specific_feature_opcode 1 ثماني 0x01 [تمكين الميزة الخاصة بالعميل]

le_rpa_offload: add_irk_to_list_sub_command

Sub OCF: 0x02

معلمة الروم الفرعي مقاس غاية
LE_IRK 16 الثماني لو إريك (1st بايت LSB)
Address_Type 1 ثماني 0: عنوان عام
1: عنوان عشوائي
LE_Device_Address 6 الثمانيات العنوان العام أو العشوائي المرتبط بـ IRK (1st Byte LSB)

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Event_cust_specific_feature_opcode 1 ثماني 0x02 [أضف IRK إلى القائمة]
LE_IrkList_AvailableSpaces 1 ثماني إدخالات قائمة IRL المتاحة بعد التشغيل الحالي

le_rpa_offload: remove_irk_to_list_sub_command

Sub OCF: 0x03

معلمة الروم الفرعي مقاس غاية
Address_Type 1 ثماني 0: عنوان عام
1: عنوان عشوائي
LE_Device_Address 6 الثمانيات العنوان العام أو العشوائي الذي يربط بين IRK

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Event_cust_specific_feature_opcode 1 ثماني 0x03 [إزالة IRK من القائمة]
LE_IrkList_AvailableSpaces 1 ثماني إدخالات قائمة IRL المتاحة بعد التشغيل الحالي

le_rpa_offload: clear_irk_list_sub_command

Sub OCF: 0x04

معلمة الروم الفرعي مقاس غاية
لا أحد

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Event_cust_specific_feature_opcode 1 ثماني 0x04 [قائمة IRK Clear]
LE_IrkList_AvailableSpaces 1 ثماني إدخالات قائمة IRL المتاحة بعد العملية الحالية [ max_irk_list_sz]

le_rpa_offload: read_irk_list_sub_command

Sub OCF: 0x05

معلمة الروم الفرعي مقاس غاية
LE_read_IRK_list_entry-index 1 ثماني فهرس قائمة IRK [0 ، max_irk_list_sz-1]

سيتم إنشاء حدث كامل أمر لهذا الأمر.

إرجاع المعلمة مقاس غاية
Status 1 ثماني القيادة الكاملة الحالة
Event_cust_specific_feature_opcode 1 ثماني 0x05 [اقرأ إدخال قائمة IRK]
LE_Read_IRK_List_entry 1 ثماني فهرس من IRK أن المضيف يريد قراءة مرة أخرى (الحد الأقصى حجم قائمة IRK هو 32)
LE_IRK 16 الثماني قيمة IRK
Address_Type 1 ثماني 0: عنوان عام
1: عنوان عشوائي
LE_Device_Address 6 الثمانيات العنوان العام أو العشوائي المرتبط بـ IRK
LE_Resolved_Private_Address 6 الثمانيات العنوان الخاص الذي تم حله الحالي المحلول لهذا الغضب