متطلبات واجهة وحدة تحكم المشرف

تُستخدَم واجهة وحدة تحكُّم المضيف (HCI) للتفاعل مع وحدة تحكّم تعمل بالبلوتوث.

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

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

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

إمكانات الشرائح وإعداداتها

بما أنّه نظام أساسي مفتوح، يحتوي Android على مصفوفة من إصدارات البرامج والمصنّعين الأصليين للأجهزة والمورّدين وإمكانات الأنظمة الأساسية والشرائح.

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

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

أحد أهداف نظام Android هو إتاحة المعايير المفتوحة بعد المصادقة على مواصفات البلوتوث. إذا أصبحت الميزة الموضّحة أدناه متوفرة بطُرق واجهة وحدة التحكّم المركزية (HCI) العادية ضمن مواصفات البلوتوث المستقبلية، سنعتمد كإعداد تلقائي لهذه الميزة.

الإمكانات الخاصة بالمورّدين

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

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

مَعلمة الأمر حجم الملف الغرض
لا ينطبق قائمة مَعلمات الأوامر فارغة

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
max_advt_instances
(متوقّفة نهائيًا)
ثماني بتات واحد عدد نُسخ الإعلان المتوافقة.

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

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

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

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

تجميع نتائج الفحص

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

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

تركّز هذه الميزة على إدارة مساحة تخزين النتائج ضمن ميزة LE Scan في وحدة التحكّم التي تعمل بالبلوتوث. تُستخدَم مساحة التخزين لتجميع بيانات الإعلانات مؤقتًا وفحص البيانات والبيانات الوصفية التي تستلمها وحدة التحكّم بهدف تسليمها لاحقًا إلى المضيف.

ستتوافق البرامج الثابتة مع نوعَين من تجميع البيانات، حيث يمكن استخدامهما في الوقت نفسه:

  • تم الاقتطاع. أن تتضمّن عناصر المعلومات التالية: {MAC, TX Power, RSSI, Timestamp}
  • ممتلئ. أن تتضمّن عناصر المعلومات التالية: {MAC, TX Power, RSSI, Timetamp, Adv Data, Scan Response}

أمر_البحث_الشامل_LE_Batch

OCF: 0x156

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

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

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

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

OCF الفرعية: 0x01

مَعلمة الأوامر الفرعية حجم الملف الغرض
enable_customer_specific_feature_set ثماني بتات واحد 0x01 - تفعيل ميزة "فحص الدفعات"
0x00 - إيقاف ميزة "مسح مجمّع"

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

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

LE_Batch_Scan_Command: ضبط الأمر الفرعي لمعلَمة التخزين الخاصة بالفحص المجمّع

OCF الفرعية: 0x02

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Batch_scan_opcode ثماني بتات واحد 0x02 [ضبط معلمات مسح الدفعة]

LE_Batch_Scan_Command: ضبط الأمر الفرعي لمعلَمة المسح المجمّع

OCF الفرعي: 0x03

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

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

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Batch_scan_opcode ثماني بتات واحد 0x03 [ضبط معلمات البحث عن الدفعات]

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

OCF الفرعية: 0x04

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

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

لا تتم مزامنة مراجع وقت وحدة التحكم والمضيف. وتبلغ قيمة وحدة الطابع الزمني 50 ملي ثانية. تستند قيمة الطابع الزمني إلى عندما يقدّم المضيف السمة 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 ثماني بتات
الطابع الزمني[0]: 2 ثماني بتات
[Multiple_Type[0]: 1 octet]











num_of_recordsnum_of_recordsScan_data_resp

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

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

أمر LE_APCF_Command

OCF: 0x157

مَعلمة الأمر حجم الملف الغرض
APCF_opcode ثماني بتات واحد 0x00 - APCFEnable - APCF Enable
0x01 - APCF Set Filtering parameters
0x02 - APCF Broadcaster Address
0x03 - APCF Service UUID
0x0}%X-APCF Enable
0x01 - APCF Set Filteringلان








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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة الإرجاع
APCF_opcode ثماني بتات واحد 0x00 - APCFEnable - APCF Enable
0x01 - APCF Set Filtering parameters
0x02 - APCF Broadcaster Address
0x03 - APCF Service UUID
0x0}%X-APCF Enable
0x01 - APCF Set Filteringلان








LE_APCF_Command: Enable_sub_cmd

OCF الفرعي: 0x00

مَعلمة الأوامر الفرعية حجم الملف الغرض
APCF_enable ثماني بتات واحد 0x01 - تفعيل ميزة APCF
0x00 - إيقاف ميزة APCF

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
APCF_opcode ثماني بتات واحد 0x0 - تفعيل APCF
APCF_Enable ثماني بتات واحد يتم ضبط التفعيل/الإيقاف من خلال APCF_enable.

LE_APCF_Command: set_filtering_parameters_sub_cmd

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

OCF الفرعية: 0x01

مَعلمة الأوامر الفرعية حجم الملف الغرض
APCF_Action ثماني بتات واحد 0x00 - إضافة
0x01 - حذف
0x02 - محو
سيؤدي الحذف إلى محو الفلتر المحدّد مع إدخالات الميزات المرتبطة به في الجداول الأخرى.
سيؤدي المحو إلى محو جميع الفلاتر والإدخالات المرتبطة بها في الجداول الأخرى.
APCF_Filter_Index ثماني بتات واحد فهرس الفلتر (0، max_filter-1)
APCF_Feature_Selection 2 ثماني بتات أقنعة البت للميزات المحددة:
Bit 0: ضبط لتفعيل فلتر عنوان البث
Bit 1: ضبط لتفعيل فلتر تغيير بيانات الخدمة
Bit 2: ضبط لتفعيل فحص UUID للخدمة
Bit 3: ضبط لتفعيل فحص UUID لطلب الخدمة
Bit 4: ضبط لتفعيل فلتر اسم البث المحلي
Bit 5: ضبط لتفعيل "التحقق من بيانات الشركة المصنّعة"
Bit 5: ضبط لتفعيل "التحقق من بيانات الشركة المصنّعة"
Bit 3: ضبط لتفعيل التحقّق من اسم الشركة المصنّعة
APCF_List_Logic_Type 2 ثماني بتات العملية المنطقية لكل اختيار ميزة (موضع لكل بت) تم تحديدها في APCF_Feature_Selection.
صالح فقط عند تفعيل إحدى الميزات.
قيمة موضع البت:
0: أو
1: AND
في حال اختيار منطق "و"، لن تمرّر حزمة ADV الفلتر إلّا إذا كانت تحتوي على جميع الإدخالات في القائمة.
إذا تم اختيار منطق "OR"، ستجتاز حزمة ADV الفلتر إذا كانت تحتوي على أي من الإدخالات في القائمة.
APCF_Filter_Logic_Type ثماني بتات واحد 0x00: أو
0x01: AND
ملاحظة: نوع المنطق هو "لا ينطبق" للحقول الثلاثة الأولى من APCF_Feature_Selection، والذي يكون دائمًا منطق "و". ولا يمكن استخدامها إلا مع أربعة حقول (بت 3 - بت 6) من APCF_Feature_Selection.
rssi_high_thresh ثماني بتات واحد [بالديسيبل ملي واط]
لا يمكن رؤية المعلِن إلّا إذا كانت الإشارة أعلى من الحدّ الأدنى لمعيار RSSI. وبخلاف ذلك، يجب أن تعمل البرامج الثابتة كما لو لم تظهر من قبل.
delivery_mode ثماني بتات واحد 0x00 - immediate
0x01 - on_found
0x02 - batched
onfound_timeout 2 ثماني بتات ولا يكون هذا العرض صالحًا إلا إذا كانت قيمة السمة 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.
[بالديسيبل ملي واط]
لا تظهر حزمة المعلِن إذا لم تكن خلاصة RSSI للحزمة المُستلَمة أعلى من الحدّ الأدنى لخلاصة RSSI.
onlost_timeout 2 ثماني بتات ولا يكون هذا العرض صالحًا إلا إذا كانت قيمة السمة delivery_mode هي on_found.
[بالمللي ثانية]
إذا لم يظهر إعلان متجاورة لمدة lost_timeout بعد العثور عليه، سيتم الإبلاغ عن فقدانه على الفور.
num_of_tracking_entries 2 ثماني بتات ولا يكون هذا العرض صالحًا إلا إذا كانت قيمة السمة delivery_mode هي on_found.
[count]
إجمالي عدد المعلِنين المطلوب تتبُّعهم لكل فلتر.

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

سيتمكن المضيف من ضبط فلاتر متعددة من خلال ضبط APCF_Application_Address_type على 0x02 (لجميع عناوين البث) لإدارة مجموعات فلاتر مختلفة.

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

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

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

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

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

سيبدو انتقال OnFound/OnLost لأحد الفلاتر (في حال تفعيله) على النحو التالي:

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

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

LE_APCF_Command: Broadcast_address_sub_cmd

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

OCF الفرعية: 0x02

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

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

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

LE_APCF_Command: service_uuid_sub_cmd

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

OCF الفرعي: 0x03

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

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

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

LE_APCF_Command: Solicitation_uuid_sub_cmd

يُستخدَم هذا الأمر الفرعي لإضافة أو حذف المعرّف الفريد العالمي لطلب الطلبات أو لمحو قائمة المعرّف الفريد العالمي لطلب الطلبات من أجل الفلترة على الرقاقة.

OCF الفرعية: 0x04

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

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

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

LE_APCF_Command: local_name_sub_cmd

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

OCF الفرعي: 0x05

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

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

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

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

LE_APCF_Command: manf_data_sub_cmd

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

OCF الفرعي: 0x06

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

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
APCF_opcode ثماني بتات واحد 0x06 - بيانات الشركة المصنّعة APCF
APCF_Action ثماني بتات واحد أمر صدى الصوت APCF_Action
APCF_AvailableSpaces ثماني بتات واحد عدد الإدخالات المجانية التي لا تزال متاحة في جدول "بيانات الشركة المصنّعة"

LE_APCF_Command: service_data_sub_cmd

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

OCF الفرعي: 0x07

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

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

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

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

LE_APCF_Command: ad_type_sub_cmd

يُستخدَم هذا الأمر الفرعي لإضافة نوع AD أو حذفه أو لمحو قائمة نوع AD لفلترة البيانات على الرقاقة. يمكنك استخدام read_extended_features_sub_cmd لمعرفة ما إذا كان هذا الأمر متوافقًا أم لا.
عندما تكون قيمة APCF_AD_DATA_Length 0، يمكنك فلترة APCF_AD_TYPE بدون المقارنة بين بيانات AD وقناع بيانات AD. إذا تجاوز طول بيانات حزمة ADV المستلَمة AD_DATA_LENGTH، يُرجى مقارنة أول AD_DATA_LENGTH بايت فقط من بيانات AD وتجاهل البيانات المتبقية.

OCF الفرعي: 0x09

مَعلمة الأوامر الفرعية حجم الملف الغرض
APCF_Action ثماني بتات واحد 0x00 - إضافة
0x01 - حذف
0x02 - محو
سيؤدي الحذف إلى حذف نوع AD المحدد في الفلتر المحدّد.
سيؤدي المحو إلى محو جميع أنواع AD في الفلتر المحدّد.
APCF_Filter_Index ثماني بتات واحد مؤشر الفلتر (0، max_filter-1)
APCF_AD_TYPE ثماني بتات واحد نوع AD للإضافة إلى القائمة أو الحذف منها. تجاهُل عندما تكون قيمة 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.

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

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

LE_APCF_Command: read_extended_features_sub_cmd

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

OCF الفرعي: 0xFF

مَعلمة الأوامر الفرعية حجم الملف الغرض
غير منطبق معلَمة الأمر فارغة.

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
APCF_opcode ثماني بتات واحد 0xFF - APCF_Read_Extended_Features
APCF_extended_features 2 ثماني بتات

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

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

قيمة البت

  • 0 = غير متاح
  • 1 = متوافق

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

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

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

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

  • غير نشِط لفترة قصيرة: [page مسح ضوئي، LE advt، مسح استعلام، مسح LE مسح]
  • مسح ضوئي: [إرسال صفحات/استعلام/محاولة الاتصال]
  • نشط: [رابط ACL مفعّل، رابط SCO جارٍ، وضع الالتقاط]

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

LE_Get_Controller_Activity_Energy_Info

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

OCF: 0x159

مَعلمة الأوامر الفرعية حجم الملف الغرض
لا ينطبق مَعلمات الأوامر فارغة

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
total_tx_time_ms 4 ثمانيات إجمالي وقت الأداء في تكساس
total_rx_time_ms 4 ثمانيات إجمالي الوقت الذي يؤدي فيه أداء Rx
total_idle_time_ms 4 ثمانيات إجمالي الوقت المستغرَق في وضع عدم النشاط (حالات الطاقة المنخفضة أثناء النوم)
total_energy_used 4 ثمانيات إجمالي الطاقة المستخدَمة [ناتج التيار (mA) والجهد الكهربائي (V) والوقت (بالملّي ثانية)]

الأمر الخاص بمعلمات المسح الضوئي للمجموعة الموسّعة LE

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

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

OCF: 0x15A

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب

الحصول على أمر معلومات تصحيح أخطاء وحدة التحكّم

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

OCF: 0x15B

مَعلمة الأمر حجم الملف الغرض
لا ينطبق قائمة مَعلمات الأوامر فارغة

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب

دعم نقل بيانات أجهزة A2DP

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

OCF: 0x15D

بدء نقل بيانات A2DP (الإصدار القديم)

OCF الفرعية: 0x01

استخدِم هذا الأمر لإعداد عملية نقل بيانات A2DP ولبدء بث A2DP.

مَعلمة الأمر حجم الملف الغرض
Codec 4 ثمانيات لتحديد نوع برنامج الترميز
0x01 - وحدة التحكّم في حدود الجلسة
0x02 - AAC
0x04 - APTX
0x08 - APTX HD
0x10 - LDAC
Max_Latency 2 ثماني بتات الحد الأقصى لوقت الاستجابة المسموح به (بالمللي ثانية) تؤدي القيمة "صفر" إلى إيقاف التدفق.
SCMS-T_Enable 2 ثماني بتات الثماني 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 ثماني بتات واحد 0x01 - 16 بت لكل عينة
0x02 - 24 بت لكل عينة
0x04 - 32 بت لكل عينة
Channel_Mode ثماني بتات واحد 0x01 - أحادي
0x02 - استيريو
Encoded_Audio_Bitrate 4 ثمانيات معدّل نقل بيانات الصوت المشفّر بوحدات البت في الثانية الواحدة
0x00000000 - لم يتم تحديد معدل نقل بيانات الصوت / unused.
0x00000001 - 0x00FFFFFF - معدل نقل بيانات الصوت المشفّر بوحدات البت في الثانية
0x01000000 - 0xFFFFFFFF - محجوز
Connection_Handle 2 ثماني بتات مقبض الاتصال لاتصال A2DP الذي يتم ضبطه
L2CAP_Channel_ID 2 ثماني بتات معرّف القناة L2CAP الذي سيتم استخدامه لاتصال A2DP هذا
L2CAP_MTU_Size 2 ثماني بتات الحد الأقصى لحجم وحدة التخزينما ضِمن البيانات L2CAP MTU التي تحتوي على حزم صوت مرمّزة
Codec_Information 32 ثماني بتات المعلومات الخاصة ببرنامج الترميز.

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

راجِع عناصر المعلومات الخاصة ببرنامج ترميز وحدة التحكُّم في حدود الجلسة في الإصدار 1.3 من A2DP.
الثمانيات 0: طول الكتلة | النطاقات الفرعية | طريقة التخصيص
الثمانيات 1: الحد الأدنى لقيمة تجميع البت
الثمانيات 2: الحد الأقصى لقيمة تجميع البت
الثمانيات 3: معدّل تكرار أخذ العينات | وضع القناة
من 4 إلى 31 أكتوبر: محجوزة

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

راجِع عناصر المعلومات الخاصة ببرنامج ترميز AAC في الإصدار A2DP v1.3
Octet 0: نوع الكائن
Octet 1، b7: VBR
Octet 2-31: محجوز

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

الثمانيات 0-3: رقم تعريف المورّد
0x0000012D

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

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

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

من 8 إلى 31 أكتوبر: محجوزة

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

من 0 إلى 31 أكتوبر: محجوزة

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Sub_Opcode ثماني بتات واحد 0x01 - بدء نقل بيانات A2DP

بدء نقل بيانات A2DP

OCF الفرعي: 0x03

استخدِم هذا الأمر لإعداد عملية نقل بيانات A2DP ولبدء بث A2DP.

مَعلمة الأمر حجم الملف الغرض
Connection Handle 2 ثماني بتات الاسم المعرِّف لاتصال HCI النشط
L2CAP_Channel_ID 2 ثماني بتات معرّف قناة L2CAP تم فتحه للبث A2DP
Data_Path_Direction ثماني بتات واحد 0x00 - الإخراج (مصدر AVDTP/دمج)
0x01 - الإدخال (حوض AVDTP/تقسيم)
Peer_MTU 2 ثماني بتات الحد الأقصى لحجم حزم 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 و128
يتم استخدام القيمة 0 في حال عدم توفير معلَمات إضافية.
Vendor_Specific_Parameters من 0 إلى 128 ثماني بتات المعلَمات الخاصة بالمورّد التي يوفّرها HAL للصوت في البلوتوث: CodecParameters.vendorSpecificParameters[]

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Sub_Opcode ثماني بتات واحد 0x03 - بدء نقل بيانات A2DP

إيقاف نقل بيانات A2DP (الإصدار القديم)

OCF الفرعية: 0x02

يُستخدَم هذا الأمر لإيقاف بث A2DP خارج التحميل.

مَعلمة الأمر حجم الملف الغرض
لا ينطبق قائمة مَعلمات الأوامر فارغة.

لم يتم تحديد معلَمات لهذا الأمر.

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Sub_Opcode ثماني بتات واحد 0x02 - إيقاف نقل بيانات A2DP

إيقاف نقل بيانات A2DP

OCF الفرعية: 0x04

يُستخدَم هذا الأمر لإيقاف بث A2DP خارج التحميل.

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Sub_Opcode ثماني بتات واحد 0x04 - إيقاف نقل بيانات A2DP

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

تعمل ميزة "تقرير جودة البلوتوث" على تشغيل الآلية في وحدة التحكّم التي تعمل بالبلوتوث لإبلاغ المضيف بأحداث جودة البلوتوث. يمكنك تفعيل أربعة خيارات:

  • وضع مراقبة الجودة: ترسل وحدة التحكّم بشكل دوري حدث BQR الفرعي ذي جودة الرابط إلى المضيف.
  • الاقتراب من LSTO: إذا لم يتم تلقّي أي حزم من جهاز BT المتصل لأكثر من نصف قيمة مهلة الإشراف على الرابط (LSTO)، ستبلّغ وحدة التحكّم المضيف عن حدث LSTO على وشك الانتهاء.
  • تقطع صوت A2DP: عندما ترصد وحدة التحكّم عوامل تؤدي إلى حدوث تقطُّع في الصوت، تُبلغ وحدة التحكّم المضيف عن حدث A2DP الصوتي.
  • (هـ) تقطُّع الصوت في SCO: عندما ترصد وحدة التحكّم عوامل تؤدي إلى حدوث تقطُّع في الصوت، تُبلغ وحدة التحكّم المضيف عن (e) حدث تقطُّع في الصوت SCO.
  • التهاب الجذر: يتم إرسال هذا الحدث بواسطة وحدة التحكم إلى الحزمة عندما تواجه طبقة تجريد الأجهزة (HAL) أو وحدة التحكم خطأ جسيمًا وتحتاج إلى إعادة تشغيل البلوتوث.
  • تتبُّع رسائل LMP/LL: ترسل وحدة التحكّم رسالة LMP/LL مع الاتصال بالجهاز البعيد إلى المضيف.
  • تتبُّع جدولة عمل الملفات الشخصية المتعدّدة أو Coex للبلوتوث: ترسل وحدة التحكّم إلى المضيف معلومات الجدولة الخاصة بها حول التعامل مع ملفات شخصية متعدّدة للبلوتوث واستخدام الاتصال اللاسلكي في نطاق 2.4 غيغا هرتز.
  • آلية معلومات تصحيح الأخطاء في وحدة التحكّم: عند تفعيل هذه الآلية، يمكن لوحدة التحكّم أن تُبلغ بشكل مستقلّ عن معلومات تسجيل تصحيح الأخطاء من خلال الحدث الفرعي لمعلومات تصحيح أخطاء وحدة التحكّم إلى المضيف.
  • LE Audio Choppy: عندما ترصد وحدة التحكّم عوامل تؤدي إلى حدوث انقطاع في الصوت، تُبلغ وحدة التحكّم المضيف عن حدث LE Audio Choppy.
  • وضع إحصاءات الترددات اللاسلكية المتقدمة: تُبلِغ وحدة التحكّم عن إحصاءات الترددات اللاسلكية الخاصة بها إلى المضيف، مع مراعاة حالتَي استخدام هما:
    • التقارير الدورية
    • عوامل تشغيل الأحداث (بدء/إيقاف البث ومشغّل حدث جودة الرابط)
  • BQR_Report_Action of Bluetooth Quality Report Command: يمكن للمضيف استخدام أمر HCI هذا لطلب بحث لمرة واحدة عن وضع مراقبة الجودة، أو وضع مراقبة الطاقة، أو وضع إحصاءات الترددات اللاسلكية المسبق.

OCF: 0x15E

مَعلمة الأمر حجم الملف الغرض
BQR_Report_Action ثماني بتات واحد يجب اتخاذ إجراء لإضافة أو حذف تقارير الأحداث العالية الجودة التي تم ضبطها في المَعلمة BQR_quality_Event_Mask، أو محو الكل.

0x00 - إضافة
0x01 - حذف
0x02 - محو
0x03 - طلب بحث لمرة واحدة

سيؤدي الحذف إلى محو تقارير أحداث معيّنة ذات جودة معيّنة.
سيؤدي "المحو" إلى محو جميع تقارير الأحداث العالية الجودة (يمكن تجاهل المَعلمة BQR_quality_Event_Mask).

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

Bit 0: ضبط على تفعيل وضع مراقبة الجودة
Bit 1: اضبط خيار "الاقتراب من حدث LSTO" (لـ ACL/(e)SCO/ISO).
Bit 2: ضبط هذا الخيار لتفعيل حدث A2DP Audio Choppy.
Bit 3: ضبط على تفعيل (e)SCO Voice Choppy حدث.
بت 4: ضبط لتفعيل حدث التهاب الجذر
بت 5: اضبط هذا الإعداد لتفعيل وضع مراقبة الطاقة.
Bit 6: اضبط هذا الخيار لتفعيل حدث LE audio choppy.
بت 7: ضبط على تفعيل حدث تعذُّر الاتصال
بت 8: اضبط هذا الإعداد لتفعيل مشغِّل الحدث في وضع "إحصاءات الترددات اللاسلكية".
بت 9: اضبط هذا الخيار لتفعيل التقرير الدوري لإحصاءات الترددات اللاسلكية المتقدمة.
بت 10 ~ 14: محجوز.
البت 15: اضبط هذا الإعداد لتفعيل أحداث الجودة الخاصة بالمورّدين.
Bit 16: ضبط على تفعيل تتبُّع الرسائل LMP/LL.
Bit 17: اضبط هذا الخيار على تفعيل تتبُّع جدولة Bluetooth Multi-link/Coex.
بت 18: اضبط لتفعيل آلية معلومات تصحيح أخطاء وحدة التحكم.
بت 19 ~ 30: محجوز.
Bit 31: اضبط هذا الخيار على تفعيل التتبُّع الخاص بالمورِّد.

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

الوحدة: ملي ثانية
القيمة التلقائية: 0 (بدون قيود على الفاصل الزمني)
النطاق: من 0 إلى 65535 ملي ثانية

BQR_Vendor_Specific_Quality_Event_Mask 4 ثمانيات أقنعة البت لإعداد تقارير أحداث الجودة الخاصة بالمورّدين المحددة
تكون هذه المَعلمة صالحة فقط عند ضبط البت 15 من BQR_Quality_Event_Mask.

بت 0 ~ 31: محجوز.

BQR_Vendor_Specific_Trace_Mask 4 ثمانيات أقنعة البت لإعداد تقارير التتبع الخاصة بالمورّد المحدد.
تكون هذه المَعلمة صالحة فقط عند ضبط البت 31 من BQR_Quality_Event_Mask.

بت 0 ~ 31: محجوز.

Report_interval_multiple 4 ثمانيات مُضاعِف BQR_Minimum_Report_Interval. عندما تكون هذه القيمة >= 1، سيتّبع الفاصل الزمني لتقرير BQR التنسيق
الفاصل الزمني لتقرير BQR = BQR_Min_Report_Interval x Report_interval_Multiple.
يجب ألا تُبلغ البرامج الثابتة لوحدات التحكّم عن الحدث التالي خلال الفاصل الزمني المحدَّد. إعداد الفاصل الزمني مخصّص لأحداث الجودة المضافة.

الوحدة: ملي ثانية
الإعدادات التلقائية: 1
النطاق: 0 ~ 4294967295 (0: يساوي 1)

ملاحظة: إذا كان إعداد BQR_Report_Interval أكبر من قدرة وحدة التحكّم، يجب أن تعرض وحدة التحكّم الحدّ الأقصى لمدة BQR_Report_Interval عند إكمال الأمر.

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Current_Quality_Event_Mask 4 ثمانيات تشير هذه السمة إلى إعداد قناع البت الحالي.
بت 0: وضع مراقبة الجودة مفعّل.
بت 1: تم تفعيل الاقتراب من إعداد تقارير أحداث LSTO.
بت 2: تم تفعيل إعداد التقارير عن أحداث الصوت المتقطع A2DP.
البت 3: (e)تم تفعيل ميزة إعداد التقارير عن أحداث Voice Choppy SCO.
بت 4: تم تفعيل الإبلاغ عن حدث التهاب الجذر.
بت 5: وضع "مراقبة الطاقة" مفعَّل.
بت 6: تم تفعيل ميزة الإبلاغ عن الأحداث المتقطّعة في الصوت المنخفض الطاقة.
بت 7: ربط حدث تعذُّر الربط
بت 8: اضبط هذا الإعداد لتفعيل مشغِّل الحدث في وضع "إحصاءات الترددات اللاسلكية".
بت 9: اضبط هذا الإعداد لتفعيل إعداد تقرير "إحصاءات الترددات اللاسلكية" بشكل دوري.
بت 10 ~ 14: محجوز.
البت 15: تم تفعيل إعداد تقارير أحداث الجودة الخاصة بالمورّدين.
بت 16: تم تفعيل تتبُّع الرسائل LMP/LL.
بت 17: تم تفعيل تتبُّع الجدولة للروابط المتعددة أو Coex عبر البلوتوث.
بت 18: تم تفعيل آلية معلومات تصحيح أخطاء وحدة التحكم.
بت 19 ~ 30: محجوز.
بت 31: تم تفعيل التتبع الخاص بالمورّد.
Current_Vendor_Specific_Quality_Event_Mask 4 ثمانيات تشير هذه السمة إلى إعداد قناع البت الحالي.
Current_Vendor_Specific_Trace_Mask 4 ثمانيات تشير هذه السمة إلى إعداد قناع البت الحالي.
BQR_Report_interval 4 ثمانيات تشير هذه السمة إلى إعداد قناع البت الحالي.
Current_Vendor_Specific_Trace_Mask 4 ثمانيات تمثّل هذه السمة إعداد BQR_Report_interval. ويجب أن تكون القيمة تساوي الحد الأدنى للقيمة بين BQR_Min_Report_Interval * Report_interval_Multiple، أو الحد الأقصى لفاصل الدعم لوحدة التحكم.

طلب "التخزين المؤقت للصوت الديناميكي"

تقلّل ميزة "ذاكرة التخزين المؤقت للصوت الديناميكي" من تأثير خلل الصوت من خلال تغيير حجم المخزن المؤقت الصوتي في وحدة التحكّم التي تعمل بالبلوتوث بناءً على سيناريوهات مختلفة.

OCF: 0x15F

الحصول على إمكانية مدة التخزين المؤقت للصوت

OCF الفرعية: 0x01

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

مَعلمة الأمر حجم الملف الغرض
لا ينطبق قائمة مَعلمات الأوامر فارغة

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

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

ضبط وقت المخزن المؤقت للصوت

OCF الفرعية: 0x02

استخدِم هذا الأمر لضبط مدة المخزن المؤقت للصوت على وحدة التحكُّم في البلوتوث.

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Dynamic_Audio_Buffer_opcode ثماني بتات واحد 0x02 - تعيين وقت المخزن المؤقت للصوت
Audio_Codec_Buffer_Time 2 ثماني بتات الوقت الحالي للمخزن المؤقت للصوت في وحدة التحكم بالبلوتوث
الوحدة: ملي ثانية

حدث HCI (خاص بالمورِّد)

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

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

الحدث الفرعي لخرق حدّ مساحة التخزين

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

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

مَعلمة الحدث الفرعي حجم الملف الغرض
بدون تحديد نمط

الحدث الفرعي لتغيير حالة الإعلانات المتعددة في LE

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

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

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

الحدث الفرعي لتتبُّع إعلانات LE

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

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

مَعلمة الحدث الفرعي حجم الملف الغرض
APCF_Filter_Index ثماني بتات واحد مؤشر الفلتر (0، max_filter-1)
Advertiser_State ثماني بتات واحد 0x00: تم العثور على المعلن
0x01: خسر المعلن
Advt_Info_Present ثماني بتات واحد 0x00: معلومات المعلِن (Advt_Info) الحالية
0x01: معلومات المعلِن (Advt_Info) غير متوفّرة
Advertiser_Address 6 ثُمانيات عنوان علني أو عشوائي
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 2 ثماني بتات تصحيح أخطاء إزاحة وحدة البايت للكتلة من البداية
last_block ثماني بتات واحد 0x00: هناك المزيد من بيانات تصحيح الأخطاء
0x01: آخر حظر ثنائي، ولا حاجة بعد الآن إلى بيانات تصحيح الأخطاء
cur_pay_load_sz 2 ثماني بتات حجم القطعة الثنائية في حدث حالي
Debug_Data متغيّر بيانات تصحيح الأخطاء في cur_payload_sz

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

يُشير هذا الحدث إلى ما يلي: حدث جودة البلوتوث، أو حمَّلت وحدة التحكّم بيانات تتبُّع الرسائل LMP/LL وتتبُّع جدولة الروابط المتعددة/Coex عبر البلوتوث، أو أوقفت وحدة التحكّم بيانات معلومات تصحيح الأخطاء.

مَعلمة الحدث الفرعي حجم الملف الغرض
Quality_Report_Id ثماني بتات واحد 0x01: إعداد تقارير عن الجودة في وضع المراقبة
0x02: الاقتراب من LSTO.
0x03: صوت A2DP متقطّع.
0 x 04: (e) SCO Voice متقطّع.
0x05 ~ 0x06: محجوز.
0 x 07: الصوت المنخفض الطاقة متقطّع.
0x08: تعذّر الاتصال.
0x09 ~ 0xFF: محجوز.
Packet_Types ثماني بتات واحد 0x01: ID
0x02: NULL
0x03: POLL
0x04: FHS
0x05: HV1
0x06: HV2
0x07: HV3
0x08: DV
0x09: DV03




















Connection_Handle 2 ثماني بتات مؤشر اتصال ACL/(e)SCO/ISO.
Connection_Role ثماني بتات واحد أداء الدور للاتصال.
0x00: مركزية
0x01: جهاز ملحق
0x02 ~ 0xFF: محجوز.
TX_Power_Level ثماني بتات واحد مستوى طاقة الإرسال الحالي لـ Connection_Handle المحدَّد.

ستكون هذه القيمة مماثلة لاستجابة وحدة التحكّم لأمر HCI_Read_Transmit_Power_Level HCI.

RSSI ثماني بتات واحد [بالديسيبل ملي واط]

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

SNR ثماني بتات واحد [بالديسيبل]

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

Unused_AFH_Channel_Count ثماني بتات واحد يشير إلى عدد القنوات غير المستخدَمة في AFH_channel_map.
0x4F ~ 0xFF: محجوز.
AFH_Select_Unideal_Channel_Count ثماني بتات واحد يشير هذا المقياس إلى عدد القنوات التي تم التداخل معها ذات الجودة الرديئة، ولكن لا يزال يتم اختيارها في "AdSense لإعلانات Shopping".
إنّ الحدّ الأدنى لعدد القنوات المسموح به وفقًا لمواصفات البلوتوث هو 20 قناة، وبالتالي حتى إذا تداخلت جميع القنوات البالغ عددها 79 قناة وكانت جودتها سيئة، يجب على وحدة التحكّم اختيار 20 قناة على الأقل لاستخدام AFH.
LSTO 2 ثماني بتات الإعداد الحالي لمهلة الإشراف على الروابط
الوقت = N * 0.625 ملي ثانية
النطاق الزمني: من 0.625 ملي ثانية إلى 40.9 ثانية
Connection_Piconet_Clock 4 ثمانيات Piconet Clock لـ Connection_Handle المحدد.
يجب أن تكون هذه القيمة مماثلة لاستجابة وحدة التحكّم لأمر HCI_Read_Clock HCI مع المَعلمة " which_Clock" بقيمة 0x01 (Piconet Clock).
الوحدة: N * 0.3125 ملي ثانية (ساعة بلوتوث واحدة)
Retransmission_Count 4 ثمانيات عدد عمليات إعادة الإرسال منذ آخر حدث.
ستتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
No_RX_Count 4 ثمانيات لم يتم احتساب عدد RX منذ آخر حدث.
يزيد العدد في حال عدم استلام أيّ حزمة في خانة الوقت المحدّد أو في حال تلف الحزمة المُستلَمة.
ستتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
NAK_Count 4 ثمانيات عدد الإقرارات السلبية (NAK) منذ آخر حدث.
ستتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
Last_TX_ACK_Timestamp 4 ثمانيات الطابع الزمني لآخر TX ACK وهو يستند إلى ساعة البلوتوث الخاصة بأداة Piconet Central (CLK).
الوحدة: N * 0.3125 ملي ثانية (ساعة بلوتوث واحدة)
Flow_Off_Count 4 ثمانيات عدد المرّات التي تتلقّى فيها وحدة التحكّم تدفقًا (STOP) منذ آخر حدث.
ستتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
Last_Flow_On_Timestamp 4 ثمانيات الطابع الزمني لآخر مسار للتدفق (GO) يستند الجهاز إلى ساعة بلوتوث في Piconet Central (CLK).
الوحدة: N * 0.3125 ملي ثانية (ساعة بلوتوث واحدة)
Buffer_Overflow_Bytes 4 ثمانيات [بالبايت]

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

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

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

bdaddr 6 ثُمانيات عنوان الجهاز البعيد
cal_failed_item_count ثماني بتات واحد عدد العناصر التي تعذّر عليها إجراء المعايرة
TX_Total_Packets 4 ثمانيات عدد الحزم المرسلة.
TX_UnAcked_Packets 4 ثمانيات عدد حزم البيانات التي لا تتلقى إقرارًا.
تتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
TX_Flushed_Packets 4 ثمانيات عدد حزم البيانات التي لا يتم إرسالها بواسطة نقطة التدفق.
تتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
TX_Last_Subevent_Packets 4 ثمانيات يشير ذلك المصطلح إلى عدد الحزم التي تنقلها "طبقة الرابط" ملف PDU الخاص ببيانات CIS في الحدث الفرعي الأخير لحدث CIS.
تتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
تكون القيمة صفرًا إذا لم تكن هناك قيمة صالحة للرابط.
CRC_Error_Packets 4 ثمانيات عدد الحِزم التي تم استلامها والتي تحتوي على خطأ CRC منذ الحدث الأخير.
تتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
RX_Duplicate_Packets 4 ثمانيات عدد الحِزم المكرّرة (إعادة الإرسال) التي تم تلقّيها منذ آخر حدث
تتم إعادة ضبط هذا العدد بعد إبلاغ المضيف.
RX_Unreceived_Packets 4 ثمانيات عدد حزم البيانات التي لم يتم استلامها هو نفسه معلَمة في أمر LE READ ISO Link (يمكنك الاطّلاع على الإصدار 5.4 من مواصفات Bluetooth الأساسية). وتكون مصادر البيانات المرتبطة هما اتحاد IIS وBIS.
عند زيادة هذه القيمة، لا تتلقّى طبقة الرابط حمولة محدّدة عند نقطة التدفق الخاصة بها (على قاعدة بيانات CIS) أو في نهاية الحدث المرتبط بها (على نظام BIS، يُرجى الاطّلاع على الإصدار 5.4 من مواصفات بلوتوث الأساسية، الجزء 6 الجزء ب، القسم 4.4.6.6).
Coex_Info_Mask 2 ثماني بتات Bit 0 - CoexInvolvement: يتم ضبطها للإشارة إلى الاشتباه في أنشطة مشترَكة عند إنشاء هذا التقرير (على سبيل المثال، A2DP Chops والاقتراب من LSTO).
Bit 1 - WL 2G Radio نشط: اضبط للإشارة إلى تفعيل راديو WLAN 2G.
Bit 2 - WL 2G متّصل: يجب ضبط هذا الإعداد للإشارة إلى أنّ راديو WLAN 2G نشط ومتصل.
Bit 3 - WL 5G/6G Radio نشط: اضبط للإشارة إلى تفعيل راديو WLAN 5G/6G.
بت من 4 إلى 15 - محجوزة
مَعلمة خاصة بالمورّد (طول المعلمة - يتم تحديده لاحقًا) * ثماني بتات لبائع وحدة التحكم للحصول على المزيد من المعلمات الخاصة بالمورّد.

رمز الحدث الفرعي = 0x58 [quality_Report_Id = 0x05، حدث Root Inflammation event]

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

تحتوي مَعلمة error_Code على رمز خطأ تم الإبلاغ عنه من HAL/وحدة التحكّم، وهو 0 إذا كان خطأً خاصًا بمورّد مجموعة الشرائح. يحتوي Vendor_Specific_Error_Code على رمز خطأ خاص بمورّد مجموعة الشرائح من HAL/Controller. ويجب ضبط القيمة على 0 إذا لم تكن المعلمة error_Code ليست 0. يجب ألا تكون المعلمتان error_Code وVendor_Specific_Error_Code غير 0 معًا.

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

دعم المعلِنين المتعددين

في ما يلي أهداف دعم المعلِنين المتعددين:

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

لجعل هذه المواصفات قريبة من المعايير الحالية، يتم تقديم الأوامر التالية الخاصة بالمورّد. ويتم استخراج هذه البيانات من مواصفات Bluetooth Core 4.1.

أمر_LE_Advanced_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

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

مَعلمة الإرجاع حجم الملف الغرض
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: تعيين_Advt_Param_Multi_Sub_Cmd

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

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
الوحدة - بالديسيبل ملي واط (عدد صحيح بعلامة)
النطاق (من -70 إلى +20)

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Multi_advt_opcode ثماني بتات واحد 0x01 [Set_Advt_Param_Multi_Sub_Cmd]

LE_Multi_Advt_Command: تعيين_Advt_Data_Multi_Sub_Cmd

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

OCF الفرعية: 0x02

مَعلمة الأوامر الفرعية حجم الملف الغرض
Advertising_Data_Length حسب المواصفات حسب المواصفات
Advertising_Data حسب المواصفات حسب المواصفات
Advertising_Instance ثماني بتات واحد تُحدِّد هذه السياسة إمكانية تطبيق المَعلمات المذكورة أعلاه على مثيل.

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Multi_advt_opcode ثماني بتات واحد 0x02 [Set_Advt_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: تعيين_Scan_Resp_Data_Multi_Sub_Cmd

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

OCF الفرعي: 0x03

مَعلمة الأوامر الفرعية حجم الملف الغرض
Scan_Response_Data_Length حسب المواصفات حسب المواصفات
Scan_Response_Data حسب المواصفات حسب المواصفات
Advertising_Instance ثماني بتات واحد تُحدِّد هذه السياسة إمكانية تطبيق المَعلمات المذكورة أعلاه على مثيل.

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Multi_advt_opcode ثماني بتات واحد 0x03 [Set_Scan_Resp_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: تعيين_عشوائية_Addr_Multi_Sub_Cmd

المرجع الأساسي: مواصفات بلوتوث Core 4.1، الصفحة 963 (أمر LE تعيين عشوائي)

OCF الفرعية: 0x04

مَعلمة الأوامر الفرعية حجم الملف الغرض
عنوان عشوائي حسب المواصفات حسب المواصفات
Advertising_Instance ثماني بتات واحد تُحدِّد هذه السياسة إمكانية تطبيق المَعلمات المذكورة أعلاه على مثيل.

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Multi_advt_opcode ثماني بتات واحد 0x04 [Set_Random_Addr_Multi_Sub_Cmd]

LE_Multi_Advt_Command: تعيين_Advt_Enable_Multi_Sub_Cmd

المرجع الأساسي: مواصفات بلوتوث Core 4.1، الصفحة 971 (LE Set Advertising فعِّل Command في تلك المواصفات الأساسية)

OCF: 0x05

مَعلمة الأوامر الفرعية حجم الملف الغرض
Advertising_Enable ثماني بتات واحد تعني القيمة 1 تفعيل. وتعني أي قيمة أخرى الإيقاف.
Advertising_Instance ثماني بتات واحد تُحدِّد هذه السياسة إمكانية تطبيق المَعلمات المذكورة أعلاه على مثيل. يعني المثيل 0 مثيل HCI عادي.

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Multi_advt_opcode ثماني بتات واحد 0x05 [Set_Advt_Enable_Multi_Sub_Cmd]

دقة غير محمّلة للعنوان الخاص

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

  • وقت الاستجابة الذي يوليه المضيف لمعالجة عنوان خاص
  • توفير الطاقة من خلال الامتناع عن إيقاظ المضيف

مهلة LE_Set_RPA

OCF: 0x15C

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

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

أمر LE_RPA_offload_Command

OCF: 0x155

مَعلمة الأمر حجم الملف الغرض
RPA_offload_opcode ثماني بتات واحد 0x1 - تفعيل الميزة الخاصة بالعملاء
0x2 - إضافة IRK إلى القائمة
0x3 - إزالة IRK من القائمة
0x4 - محو قائمة IRK
0x5 - قراءة إدخال قائمة IRK

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Event_RPA_offload_opcode ثماني بتات واحد 0x1 - تفعيل الميزة الخاصة بالعملاء
0x2 - إضافة IRK إلى القائمة
0x3 - إزالة IRK من القائمة
0x4 - محو قائمة IRK
0x5 - قراءة إدخال قائمة IRK

LE_RPA_offload: Enable_cust_specific_sub_Command

OCF الفرعية: 0x01

مَعلمة الأوامر الفرعية حجم الملف الغرض
enable_customer_specific_feature_set ثماني بتات واحد 0x01 - تفعيل ميزة RPA غير التحميل
0x00 - إيقاف ميزة RPA غير المحمَّلة

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

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

مَعلمة الإرجاع حجم الملف الغرض
Status ثماني بتات واحد حالة اكتمال الطلب
Event_cust_specific_feature_opcode ثماني بتات واحد 0x01 [تفعيل الميزة الخاصة بالعملاء]

LE_RPA_offload: Add_IRK_to_list_sub_Command

OCF الفرعية: 0x02

مَعلمة الأوامر الفرعية حجم الملف الغرض
LE_IRK 16 ثُماني بت LE IRK (البايت الأول من LSB)
Address_Type ثماني بتات واحد 0: العنوان العلني
1: العنوان العشوائي
LE_Device_Address 6 ثُمانيات العنوان العام أو العشوائي المرتبط بـ IRK (LSB الأول)

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

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

LE_RPA_offload: Remove_IRK_to_list_sub_Command

OCF الفرعي: 0x03

مَعلمة الأوامر الفرعية حجم الملف الغرض
Address_Type ثماني بتات واحد 0: العنوان العلني
1: العنوان العشوائي
LE_Device_Address 6 ثُمانيات العنوان العام أو العشوائي المرتبط بمنطقة IRK

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

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

أمر LE_RPA_offload: Clear_IRK_list_sub_Command

OCF الفرعية: 0x04

مَعلمة الأوامر الفرعية حجم الملف الغرض
بدون تحديد نمط

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

مَعلمة الإرجاع حجم الملف الغرض
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 [0، max_irk_list_sz-1]

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

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