تُستخدَم واجهة وحدة تحكُّم المضيف (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_records num_of_records Scan_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
عند فقدانها.
يصور تدفق المعالجة هذا النموذج المفاهيمي:
![](https://source.android.com/static/docs/core/connect/bluetooth/images/bt_filter_batch_report.png?authuser=1&hl=ar)
عند تلقّي إطار إعلان (أو استجابة فحص)، يتم تطبيقه على جميع الفلاتر بترتيب تسلسلي. من الممكن أن يؤدي إعلان معيّن إلى إعداد تقارير فورية استنادًا إلى فلتر واحد وتجميع النتائج نفسها بسبب إجراء فلتر مختلف.
تسمح حدود مستوى RSSI (المرتفعة والمنخفضة) بالتحكّم في وقت ظهور الإطار لمعالجة الفلتر، حتى في حال استلام وحدة التحكّم لحزمة صالحة. وفي حال ضبط وضع التسليم على "فوري" أو "مجمّع"، يمكن استخدام RSSI للإطار لإجراء مزيد من المعالجة في وحدة التحكّم. تحتاج التطبيقات المختلفة إلى سلوك مختلف لإعداد التقارير والتجميع. ويتيح ذلك لتطبيقات متعددة الحصول على تقارير مباشرة و/أو تجميع النتائج في البرامج الثابتة بالتزامن مع التطبيقات. ومن الأمثلة على ذلك الحالات التي يكون فيها المسح المجمَّع نشطًا في أحد التطبيقات، ثم يُصدر تطبيق آخر فحصًا منتظمًا للبطارية بعد أن يتم فحصها. وقبل إصدار الفحص المجمّع، يضبط إطار العمل أو التطبيق الفلاتر المناسبة. وفي وقت لاحق، عندما يُصدر التطبيق الثاني عملية فحص عادية، تستمر عملية التجميع السابقة. مع ذلك، فبفضل عملية الفحص المنتظمة، فإنّه من الناحية النظرية، تتم إضافة فلتر فارغ (بالإضافة إلى جميع الفلاتر الحالية) إلى جانب أمر المسح الضوئي لـ LE. وتكون الأولوية لمَعلمات أمر المسح الضوئي لـ LE عندما تكون نشطة. عند إيقاف فحص انخفاض الطاقة العادي، ستعود وحدة التحكّم إلى الفحص المجمّع السابق، في حال توفّره.
يستند وضع التسليم "OnFound
" إلى الفلاتر التي تم ضبطها. إنّ التركيبة التي تؤدي إلى تحقيق النجاح في إجراء الفلتر هي
الكيان الذي يجب تتبُّعه للسمة onLost
. والحدث المقابل هو الحدث الفرعي لتتبّع LE Advt.
سيبدو انتقال OnFound/OnLost
لأحد الفلاتر (في حال تفعيله)
على النحو التالي:
![](https://source.android.com/static/docs/core/connect/bluetooth/images/bt_onfound_onlost.png?authuser=1&hl=ar)
سيتم إنشاء حدث 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 |
حجم متغيّر |
سلسلة أحرف للاسم المحلي. ملاحظات:
|
سيتم إنشاء حدث 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 |
حجم متغيّر |
سلسلة أحرف لبيانات الشركة المصنّعة. ملاحظات:
|
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 |
حجم متغيّر |
سلسلة أحرف لبيانات الخدمة ملاحظات:
|
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 ثماني بتات |
أقنعة البت للميزات الموسّعة المتوافقة:
قيمة البت
|
أمر معلومات نشاط وحدة التحكّم والطاقة
والهدف من هذه المعلومات هو أن تعمل وظائف نظام المضيف الأعلى على تحليل الأنشطة الإجمالية لجميع المكوّنات، بما في ذلك وحدة التحكّم في البلوتوث وحالة وحدة الماكرو، بالإضافة إلى ما يحدث في التطبيقات وإطار العمل. ولإجراء ذلك، يجب توفير المعلومات التالية من حزمة 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
الثماني 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. برنامج ترميز AAC:
راجِع عناصر المعلومات الخاصة ببرنامج ترميز AAC في الإصدار A2DP v1.3 برنامج ترميز LDAC:
الثمانيات 0-3: رقم تعريف المورّد
الثمانيات من 4 إلى 5: رقم تعريف برنامج الترميز
الثمانيات 6: مؤشر معدل نقل البيانات:
الثمانيات 7: وضع القناة LDAC من 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 - إضافة
سيؤدي الحذف إلى محو تقارير أحداث معيّنة ذات جودة معيّنة. |
BQR_Quality_Event_Mask |
4 ثمانيات |
أقنعة وحدات البيانات لإعداد تقارير أحداث الجودة المحدّدة
Bit 0: ضبط على تفعيل وضع مراقبة الجودة |
BQR_Minimum_Report_Interval |
2 ثماني بتات |
حدِّد الحدّ الأدنى للفاصل الزمني لإعداد تقارير جودة الأحداث
الخاصة بفعاليات الجودة المحدّدة. يجب ألا تُبلغ البرامج الثابتة لوحدات التحكّم عن الفعالية
عن الحدث التالي خلال الفاصل الزمني المحدَّد. ويجب أن يكون إعداد الفاصل الزمني مناسبًا ومخصَّصًا لأحداث الجودة التي تتم إضافتها.
الوحدة: ملي ثانية |
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. يجب ألا تُبلغ البرامج الثابتة لوحدات التحكّم عن الحدث التالي خلال الفاصل الزمني المحدَّد. إعداد الفاصل الزمني مخصّص لأحداث الجودة المضافة.
الوحدة: ملي ثانية 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 عبر البلوتوث، أو أوقفت وحدة التحكّم بيانات معلومات تصحيح الأخطاء.
رمز الحدث الفرعي = 0x58 [quality_Report_Id = 0x01 ~ 0x04، حدث ذو صلة بجودة الرابط]
مَعلمة الحدث الفرعي | حجم الملف | الغرض |
---|---|---|
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 المحدّدة. |
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) * ثماني بتات | لبائع وحدة التحكم للحصول على المزيد من المعلمات الخاصة بالمورّد. |
رمز الحدث الفرعي = 0x58 [Quality_Report_Id = 0x11 ~ 0x13, Log Dump related event]
مَعلمة الحدث الفرعي | حجم الملف | الغرض |
---|---|---|
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 |