HCI की ज़रूरी शर्तें

होस्ट कंट्रोलर इंटरफ़ेस (एचसीआई) का इस्तेमाल, किसी ब्लूटूथ कंट्रोलर के साथ इंटरैक्ट करने के लिए किया जाता है.

इस दस्तावेज़ में, ब्लूटूथ (बीटी) और ब्लूटूथ स्मार्ट (बीएलई) एचसीआई की ज़रूरी शर्तों की सूची दी गई है. इसका मकसद, होस्ट बीटी स्टैक वेंडर और बीटी कंट्रोलर वेंडर को इन प्लैटफ़ॉर्म की ज़रूरी शर्तों का पालन करने के लिए कहना है, ताकि वे नीचे बताए गए सुविधा सेट का इस्तेमाल कर सकें.

इस दस्तावेज़ में, ब्लूटूथ कोर 5.2 स्पेसिफ़िकेशन को "स्पेसिफ़िकेशन" कहा गया है. Bluetooth Core 5.2 Specification, Bluetooth SIG की वेबसाइट पर उपलब्ध है. साथ ही, इसे स्वीकार किए गए अन्य दस्तावेज़ भी यहां मिलेंगे.

डिज़ाइन के बारे में खास जानकारी

चिप की सुविधाएं और कॉन्फ़िगरेशन

Android एक ओपन प्लैटफ़ॉर्म है. इसमें सॉफ़्टवेयर रिलीज़, OEM, वेंडर, और प्लैटफ़ॉर्म और चिप की क्षमताओं का मैट्रिक होता है.

अलग-अलग लैंडस्केप और माइग्रेशन को मैनेज करने के लिए, इस दस्तावेज़ में डिज़ाइन के एक सिद्धांत के बारे में बताया गया है. इस सिद्धांत के तहत, बीटी कंट्रोलर को अपनी क्षमताओं को दिखाने की अनुमति दी जाती है. ये क्षमताएं, स्टैंडर्ड ब्लूटूथ कोर 5.2 स्पेसिफ़िकेशन से ज़्यादा होती हैं. इसके बाद, होस्ट बीटी स्टैक इन सुविधाओं का इस्तेमाल करके यह तय कर सकता है कि कौनसी सुविधाएं चालू करनी हैं.

ओपन स्टैंडर्ड के साथ काम करना

Android का एक लक्ष्य, ब्लूटूथ स्पेसिफ़िकेशन में पुष्टि के बाद, ओपन स्टैंडर्ड के साथ काम करना है. अगर नीचे बताई गई कोई सुविधा, आने वाले समय में ब्लूटूथ के किसी स्पेसिफ़िकेशन में स्टैंडर्ड HCI तरीकों में उपलब्ध हो जाती है, तो हम उस तरीके को डिफ़ॉल्ट तौर पर इस्तेमाल करेंगे.

वेंडर के हिसाब से सुविधाएं

वेंडर के हिसाब से निर्देश: LE_Get_Vendor_Capabilities_Command

ऑपकोड कमांड फ़ील्ड (OCF): 0x153

कमांड पैरामीटर साइज़ मकसद
NA खाली कमांड पैरामीटर की सूची

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
max_advt_instances
(अब सेवा में नहीं है)
1 ऑक्टेट विज्ञापन इंस्टेंस की संख्या.

v0.98 के बाद, यह सुविधा उपलब्ध नहीं है.
Google की सुविधा के स्पेसिफ़िकेशन के 0.98 और उसके बाद के वर्शन में, इस पैरामीटर का इस्तेमाल नहीं किया जाता. इसकी जगह, BT स्पेसिफ़िकेशन के 5.0 और उसके बाद के वर्शन में उपलब्ध LE एक्सटेंडेड विज्ञापन का इस्तेमाल किया जाता है.
offloaded_resolution_of_private-address
(अब सेवा में नहीं है)
1 ऑक्टेट आरपीए में बीटी चिप की सुविधा.
अगर किसी चिप के साथ काम करने की सुविधा उपलब्ध है, तो होस्ट को इसे चालू करना होगा.
0 = काम नहीं करता
1 = काम करता है

v0.98 के बाद, इस एट्रिब्यूट का इस्तेमाल नहीं किया जा सकता.
Google की सुविधा के स्पेसिफ़िकेशन के 0.98 और उसके बाद के वर्शन में, इस पैरामीटर का इस्तेमाल नहीं किया जा सकता. ऐसा इसलिए है, क्योंकि BT के स्पेसिफ़िकेशन के 4.2 और उसके बाद के वर्शन में, निजता की सुविधा उपलब्ध है.
total_scan_results_storage दो ऑक्टेट स्कैन के नतीजों के लिए स्टोरेज, बाइट में
max_irk_list_sz 1 ऑक्टेट फ़र्मवेयर में काम करने वाली IRK एंट्री की संख्या
filtering_support 1 ऑक्टेट कंट्रोलर में फ़िल्टर करने की सुविधा
0 = काम नहीं करती
1 = काम करती है
max_filter 1 ऑक्टेट साथ काम करने वाले फ़िल्टर की संख्या
activity_energy_info_support 1 ऑक्टेट गतिविधि और ऊर्जा की जानकारी की रिपोर्टिंग की सुविधा
0 = काम नहीं करती
1 = काम करती है
version_supported दो ऑक्टेट Google की सुविधा के स्पेसिफ़िकेशन के वर्शन के बारे में बताता है
byte[0] = मेजर नंबर
byte[1] = माइनर नंबर

v1.04
byte[0] = 0x01
byte[1] = 0x04
total_num_of_advt_tracked दो ऑक्टेट OnLost/OnFound के लिए ट्रैक किए गए विज्ञापन देने वाले लोगों या कंपनियों की कुल संख्या
extended_scan_support 1 ऑक्टेट ज़्यादा समय तक स्कैन करने की विंडो और इंटरवल के साथ काम करता है
debug_logging_supported 1 ऑक्टेट कंट्रोलर से बाइनरी डीबग की जानकारी को लॉग करने की सुविधा
LE_address_generation_offloading_support
(अब सेवा में नहीं है)
1 ऑक्टेट 0 = काम नहीं करता
1 = काम करता है

v0.98 के बाद, इस एट्रिब्यूट का इस्तेमाल नहीं किया जा सकता.
Google की सुविधा के स्पेसिफ़िकेशन के 0.98 और उसके बाद के वर्शन में, इस पैरामीटर का इस्तेमाल नहीं किया जा सकता. ऐसा इसलिए है, क्योंकि BT के स्पेसिफ़िकेशन के 4.2 और उसके बाद के वर्शन में, निजता की सुविधा उपलब्ध है.
A2DP_source_offload_capability_mask चार ऑक्टेट काम करने वाले कोडेक टाइप के लिए बिट मास्क
बिट 0 - SBC
बिट 1 - AAC
बिट 2 - APTX
बिट 3 - APTX HD
बिट 4 - LDAC
बिट 5 से 31 के लिए कोई तय नहीं किया गया है
bluetooth_quality_report_support 1 ऑक्टेट ब्लूटूथ क्वालिटी इवेंट की रिपोर्टिंग की सुविधा
0 = काम नहीं करता
1 = काम करता है
dynamic_audio_buffer_support चार ऑक्टेट ब्लूटूथ कंट्रोलर में डाइनैमिक ऑडियो बफ़र की सुविधा काम करती है
काम करने वाले कोडेक टाइप के लिए बिट मास्क
बिट 0 - SBC
बिट 1 - AAC
बिट 2 - APTX
बिट 3 - APTX HD
बिट 4 - LDAC
बिट 5 से 31 के लिए कोई भी वैल्यू नहीं दी जा सकती
a2dp_offload_v2_support 1 ऑक्टेट ब्लूटूथ कंट्रोलर में A2DP ऑफ़लोड v2 कमांड काम करते हैं (देखें A2DP ऑफ़लोड शुरू करें, A2DP ऑफ़लोड बंद करें)
0 = काम नहीं करता
1 = काम करता है

एक साथ कई फ़ाइलों को स्कैन करने के नतीजे

डिज़ाइन का मकसद, होस्ट में बैटरी बचाने के लिए, ब्लूटूथ एलई स्कैन रिस्पॉन्स इवेंट की सूचनाओं को होस्ट तक डिलीवर करने के तरीके को बेहतर बनाना है.

नतीजों को स्कैन करने के लिए, होस्ट ऐप्लिकेशन प्रोसेसर को कंट्रोलर से मिलने वाली सूचनाओं की संख्या कम करने पर, होस्ट ऐप्लिकेशन प्रोसेसर ज़्यादा समय तक आइडल/स्लीप मोड में रह सकता है. इससे होस्ट में बिजली की खपत कम होती है. LE_Get_Vendor_Capabilities_Command के रिटर्न पैरामीटर total_scan_results_storage से पता चलता है कि चिप में स्कैन के नतीजे सेव किए जा सकते हैं या नहीं.

यह सुविधा, ब्लूटूथ कंट्रोलर में LE स्कैन के नतीजों को स्टोर करने की सुविधा को मैनेज और कॉन्फ़िगर करने पर फ़ोकस करती है. स्टोरेज का इस्तेमाल, विज्ञापन डेटा को कुछ समय के लिए बैच में डालने के लिए किया जाता है. साथ ही, डेटा और मेटाडेटा को स्कैन करने के लिए भी किया जाता है. यह डेटा और मेटाडेटा, होस्ट को डिलीवर करने के लिए कंट्रोलर को मिलता है.

फ़र्मवेयर में दो तरह की बैचिंग की सुविधा होनी चाहिए, जिन्हें एक साथ इस्तेमाल किया जा सकता है:

  • काटा गया. इसमें ये जानकारी एलिमेंट शामिल होते हैं: {MAC, TX Power, RSSI, Timestamp}
  • पूरा. इसमें ये जानकारी एलिमेंट शामिल हैं: {MAC, TX Power, RSSI, Timestamp, Adv Data, Scan Response}

LE_Batch_Scan_Command

OCF: 0x156

कमांड पैरामीटर साइज़ मकसद
Batch_Scan_opcode 1 ऑक्टेट 0x1 - ग्राहक के हिसाब से सुविधा चालू करें
0x2 - एक साथ कई फ़ाइलों को स्कैन करने के लिए स्टोरेज पैरामीटर सेट करें
0x3 - एक साथ कई फ़ाइलों को स्कैन करने के लिए पैरामीटर सेट करें
0x4 - एक साथ कई फ़ाइलों को स्कैन करने के नतीजे के पैरामीटर पढ़ें

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा. ग्राहक के हिसाब से बनी सुविधा को चालू करने पर, स्कैन शुरू नहीं होता.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Batch_Scan_opcode 1 ऑक्टेट 0x1 - ग्राहक के हिसाब से सुविधा चालू करें
0x2 - एक साथ कई फ़ाइलों को स्कैन करने के लिए स्टोरेज पैरामीटर सेट करें
0x3 - एक साथ कई फ़ाइलों को स्कैन करने के लिए पैरामीटर सेट करें
0x4 - एक साथ कई फ़ाइलों को स्कैन करने के नतीजे के पैरामीटर पढ़ें

LE_Batch_Scan_Command: ग्राहक के हिसाब से सुविधा चालू करना

सब-ओसीएफ़: 0x01

सब-कमांड पैरामीटर साइज़ मकसद
enable_customer_specific_feature_set 1 ऑक्टेट 0x01 - एक साथ कई फ़ोटो स्कैन करने की सुविधा चालू करें
0x00 - एक साथ कई फ़ोटो स्कैन करने की सुविधा बंद करें

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Batch_Scan_opcode 1 ऑक्टेट 0x1 - ग्राहक के हिसाब से सुविधा चालू करें
0x2 - एक साथ कई फ़ाइलों को स्कैन करने के लिए स्टोरेज पैरामीटर सेट करें
0x3 - एक साथ कई फ़ाइलों को स्कैन करने के लिए पैरामीटर सेट करें
0x4 - एक साथ कई फ़ाइलों को स्कैन करने के नतीजे के पैरामीटर पढ़ें

LE_Batch_Scan_Command: एक साथ कई बार स्कैन करने के लिए, स्टोरेज पैरामीटर का सब-कमांड सेट करना

सब-ओसीएफ़: 0x02

सब-कमांड पैरामीटर साइज़ मकसद
Batch_Scan_Full_Max 1 ऑक्टेट फ़ुल स्टाइल के लिए तय किया गया स्टोरेज (% में)
[रेंज: 0-100]
Batch_Scan_Truncated_Max 1 ऑक्टेट काटे गए स्टाइल के लिए तय किया गया स्टोरेज (% में)
[रेंज: 0-100]
Batch_Scan_Notify_Threshold 1 ऑक्टेट अलग-अलग स्टोरेज पूल के लिए, सूचना का लेवल सेट अप करें (प्रतिशत में)
[रेंज: 0-100]
इसे 0 पर सेट करने से सूचना बंद हो जाएगी. वेंडर के हिसाब से एचसीआई इवेंट जनरेट होता है (स्टोरेज थ्रेशोल्ड का उल्लंघन करने वाला सब-इवेंट)

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Batch_scan_opcode 1 ऑक्टेट 0x02 [बैच स्कैन के पैरामीटर सेट करना]

LE_Batch_Scan_Command: एक साथ कई बार स्कैन करने के लिए पैरामीटर का सब-कमांड सेट करना

सब-ओसीएफ़: 0x03

सब-कमांड पैरामीटर साइज़ मकसद
Batch_Scan_Mode 1 ऑक्टेट 0x00 – बैच स्कैन की सुविधा बंद है
0x01 – ट्रिंकेट किया गया मोड चालू है
0x02 – फ़ुल मोड चालू है
0x03 – ट्रिंकेट किया गया मोड और फ़ुल मोड, दोनों चालू हैं
Duty_cycle_scan_window चार ऑक्टेट एक साथ कई फ़ाइलों को स्कैन करने में लगने वाला समय (# of slot)
Duty_cyle_scan_interval चार ऑक्टेट बैच स्कैन के इंटरवल की अवधि (# of slot)
own_address_type 1 ऑक्टेट 0x00 - डिवाइस का सार्वजनिक पता
0x01 - डिवाइस का कोई भी पता
Batch_scan_Discard_Rule 1 ऑक्टेट 0 - सबसे पुराने विज्ञापन को खारिज करें
1 - सबसे कम आरएसएसआई वाले विज्ञापन को खारिज करें

अगर यह सब-कमांड चालू है, तो एक साथ कई फ़ाइलों को स्कैन करने की सुविधा शुरू हो जाएगी. काटकर स्कैन करने की सुविधा का इस्तेमाल करने पर, नतीजे काटे गए फ़ॉर्मैट में सेव किए जाते हैं. काटे गए फ़ॉर्मैट के लिए यूनीक कुंजी = {BD_ADDR, scan_interval} होती है. इसका मतलब है कि हर स्कैन इंटरवल के लिए सिर्फ़ एक BD_ADDR will रिकॉर्ड किया जाएगा. ट्रिंकेट किए गए मोड के लिए, यह रिकॉर्ड रखें: {BD_ADDR, Tx Power, RSSI, Timestamp}

फ़ुल मोड चालू होने पर, ऐक्टिव स्कैनिंग का इस्तेमाल किया जाएगा और स्कैन के जवाब रिकॉर्ड किए जाएंगे. फ़ुल स्टाइल यूनीक कुंजी = {MAC, विज्ञापन पैकेट}, भले ही स्कैन इंटरवल कुछ भी हो. फ़ुल मोड के लिए रिकॉर्ड किया जाने वाला डेटा यह है: {BD_ADDR, Tx Power, RSSI, Timestamp, Ad packet, Scan Response}. फ़ुल स्टाइल में, एक ही विज्ञापन पैकेट को अलग-अलग स्कैन इंटरवल में कई बार देखने पर, उसे सिर्फ़ एक बार रिकॉर्ड किया जाता है. हालांकि, ट्रिम किए गए मोड में, अलग-अलग स्कैन इंटरवल में BA_ADDR की दिखने की जानकारी (हर स्कैन इंटरवल में एक बार) अहम होती है. किसी स्कैन इंटरवल में, किसी यूनीक विज्ञापन के सभी डुप्लीकेट की औसत वैल्यू को, आरएसएसआई कहा जाता है.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Batch_scan_opcode 1 ऑक्टेट 0x03 [बैच स्कैन के पैरामीटर सेट करना]

LE_Batch_Scan_Command: एक साथ कई डिवाइसों को स्कैन करने के नतीजे पढ़ने का सब-कमांड

सब ओसीएफ़: 0x04

सब-कमांड पैरामीटर साइज़ मकसद
Batch_Scan_Data_read 1 ऑक्टेट 0x01 - ट्रिंकेट मोड का डेटा
0x02 - फ़ुल मोड का डेटा

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा. जब होस्ट यह कमांड देता है, तो हो सकता है कि कंट्रोलर में मौजूद सभी नतीजे, कमांड पूरा होने के एक इवेंट में न फ़िट हों. होस्ट इस कमांड को तब तक जारी रखेगा, जब तक कि कमांड पूरा होने के इवेंट में, रिकॉर्ड की संख्या 0 न दिखे. इससे पता चलता है कि कंट्रोलर के पास होस्ट से बातचीत करने के लिए कोई और रिकॉर्ड नहीं है. हर 'कमांड पूरा हुआ' इवेंट में, सिर्फ़ एक तरह के डेटा (पूरा या काटा गया) के कई रिकॉर्ड हो सकते हैं.

कंट्रोलर और होस्ट के टाइम रेफ़रंस सिंक नहीं हैं. टाइमस्टैंप की यूनिट, 50 मिलीसेकंड है. टाइमस्टैंप की वैल्यू इस बात पर निर्भर करती है कि होस्ट ने Read_Batch_Scan_Results_Sub_cmd कब दिया है. अगर फ़र्मवेयर में निर्देश मिलने का समय T_c है, तो फ़र्मवेयर में टाइमस्टैंप लेने का असल समय T_fw है. रिपोर्टिंग का समय: (T_c - T_fw). T_c और T_fw , फ़र्मवेयर टाइम डोमेन में हैं. इससे होस्ट को यह पता चलता है कि इवेंट कब हुआ था.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Batch_scan_opcode 1 ऑक्टेट 0x03 [बैच स्कैन के पैरामीटर सेट करना]
Batch_Scan_data_read 1 ऑक्टेट फ़ॉर्मैट की पहचान करता है (ट्रिंप किया गया या पूरा)
num_of_records 1 ऑक्टेट Batch_Scan_data_read के रिकॉर्ड की संख्या
format_of_data वैरिएबल छोटा किया गया मोड:
Address[0]: 6 ऑक्टेट
Address_Type[0]: 1 ऑक्टेट
Tx_Pwr[0]: 1 ऑक्टेट
RSSI[0] : 1 ऑक्टेट
Timestamp[0]: 2 ऑक्टेट
[ऊपर दिए गए फ़ॉर्मैट में कई रिकॉर्ड (num_of_records)]

पूरा मोड:
Address[0]: 6 ऑक्टेट
Address_Type[0]: 1 ऑक्टेट
Tx_Pwr[0]: 1 ऑक्टेट
RSSI[0]: 1 ऑक्टेट
Timestamp[0]: 2 ऑक्टेट
Adv packet_len[0]: 1 ऑक्टेट
Adv_packet[0]: Adv_packet_len ऑक्टेट
Scan_data_resp_len[0]: 1 ऑक्टेट
Scan_data_resp[0]: Scan_data_resp ऑक्टेट
[ऊपर दिए गए फ़ॉर्मैट में कई रिकॉर्ड (num_of_records)]

विज्ञापन पैकेट का कॉन्टेंट फ़िल्टर

इसका इस्तेमाल करके, कंट्रोलर में विज्ञापन पैकेट कॉन्टेंट फ़िल्टर (एपीसीएफ़) को चालू/बंद/सेटअप करें. APCF, कंट्रोलर में विज्ञापन रिपोर्ट को फ़िल्टर करता है, लेकिन समय-समय पर दिखने वाले विज्ञापनों को फ़िल्टर नहीं करता.

LE_APCF_Command

OCF: 0x157

कमांड पैरामीटर साइज़ मकसद
APCF_opcode 1 ऑक्टेट 0x00 - APCF चालू करें
0x01 - APCF फ़िल्टर करने के पैरामीटर सेट करें
0x02 - APCF ब्रॉडकास्टर पता
0x03 - APCF सेवा UUID
0x04 - APCF सेवा के लिए अनुरोध करने वाला UUID
0x05 - APCF स्थानीय नाम
0x06 - APCF मैन्युफ़ैक्चरर का डेटा
0x07 - APCF सेवा का डेटा
0x08 - APCF ट्रांसपोर्ट डिस्कवरी सेवा
0x09 - APCF विज्ञापन टाइप फ़िल्टर
0x10 ~ 0xAF - आने वाले समय में इस्तेमाल के लिए रिज़र्व
0xB0 ~ 0xDF - वेंडर के लिए रिज़र्व
0xE0 ~ 0xFE - आने वाले समय में इस्तेमाल के लिए रिज़र्व
0xFF - APCF की बेहतर सुविधाएं पढ़ें

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट सामान लौटाने की स्थिति
APCF_opcode 1 ऑक्टेट 0x00 - APCF चालू करें
0x01 - APCF फ़िल्टर करने के पैरामीटर सेट करें
0x02 - APCF ब्रॉडकास्टर पता
0x03 - APCF सेवा UUID
0x04 - APCF सेवा के लिए अनुरोध करने वाला UUID
0x05 - APCF स्थानीय नाम
0x06 - APCF मैन्युफ़ैक्चरर का डेटा
0x07 - APCF सेवा का डेटा
0x08 - APCF ट्रांसपोर्ट डिस्कवरी सेवा
0x09 - APCF विज्ञापन टाइप फ़िल्टर
0x10 ~ 0xAF - आने वाले समय में इस्तेमाल के लिए रिज़र्व
0xB0 ~ 0xDF - वेंडर के लिए रिज़र्व
0xE0 ~ 0xFE - आने वाले समय में इस्तेमाल के लिए रिज़र्व
0xFF - APCF की बेहतर सुविधाएं पढ़ें

LE_APCF_Command: Enable_sub_cmd

सब ओसीएफ़: 0x00

सब-कमांड पैरामीटर साइज़ मकसद
APCF_enable 1 ऑक्टेट 0x01 - APCF सुविधा चालू करें
0x00 - APCF सुविधा बंद करें

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x0 - APCF चालू है
APCF_Enable 1 ऑक्टेट चालू/बंद करने की सेटिंग APCF_enable से सेट की जाती है

LE_APCF_Command: set_filtering_parameters_sub_cmd

इस सब-कमांड का इस्तेमाल, फ़िल्टर की जानकारी जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, इससे चिप पर फ़िल्टर करने के लिए, फ़िल्टर की सूची को भी खाली किया जा सकता है.

सब-ओसीएफ़: 0x01

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, फ़िल्टर के साथ-साथ अन्य टेबल में उससे जुड़ी सुविधा की एंट्री भी मिट जाएंगी.
'हटाएं' विकल्प चुनने पर, अन्य टेबल में मौजूद सभी फ़िल्टर और उनसे जुड़ी एंट्री हट जाएंगी.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_Feature_Selection दो ऑक्टेट चुनी गई सुविधाओं के लिए बिट मास्क:
बिट 0: ब्रॉडकास्ट पते के फ़िल्टर को चालू करने के लिए सेट करें
बिट 1: सेवा के डेटा में बदलाव के फ़िल्टर को चालू करने के लिए सेट करें
बिट 2: सेवा के यूनीक आइडेंटिफ़ायर (यूआईडी) की जांच करने की सुविधा को चालू करने के लिए सेट करें
बिट 3: सेवा के अनुरोध के यूआईडी की जांच करने की सुविधा को चालू करने के लिए सेट करें
बिट 4: स्थानीय नाम की जांच करने की सुविधा को चालू करने के लिए सेट करें
बिट 5: मैन्युफ़ैक्चरर के डेटा की जांच करने की सुविधा को चालू करने के लिए सेट करें
बिट 6: सेवा के डेटा की जांच करने की सुविधा को चालू करने के लिए सेट करें
बिट 7: ट्रांसपोर्ट डिस्कवरी सेवा की जांच करने की सुविधा को चालू करने के लिए सेट करें
बिट 8: विज्ञापन टाइप की जांच करने की सुविधा को चालू करने के लिए सेट करें
APCF_List_Logic_Type दो ऑक्टेट APCF_Feature_Selection में बताए गए हर फ़ीचर के सिलेक्शन (हर बिट पोज़िशन) के लिए लॉजिक ऑपरेशन.
यह सिर्फ़ तब मान्य होता है, जब कोई सुविधा चालू हो.
बिट पोज़िशन वैल्यू:
0: OR
1: AND
अगर "AND" लॉजिक चुना गया है, तो ADV पैकेट सिर्फ़ तब फ़िल्टर को पास करेगा, जब उसमें सूची की सभी एंट्री शामिल हों.
अगर "या" लॉजिक चुना गया है, तो ADV पैकेट फ़िल्टर से तब ही पास होगा, जब उसमें सूची में मौजूद कोई भी एंट्री शामिल होगी.
APCF_Filter_Logic_Type 1 ऑक्टेट 0x00: OR
0x01: AND
ध्यान दें: APCF_Feature_Selection के पहले तीन फ़ील्ड के लिए लॉजिक टाइप, N/A होता है. यह हमेशा "AND" लॉजिक होता है. ये सिर्फ़ APCF_Feature_Selection के चार फ़ील्ड (बिट 3 - ­बिट 6) पर लागू होते हैं.
rssi_high_thresh 1 ऑक्टेट [dBm में]
विज्ञापन देने वाले को सिर्फ़ तब देखा जाता है, जब सिग्नल, आरएसएसआई के हाई थ्रेशोल्ड से ज़्यादा हो. ऐसा न होने पर, फ़र्मवेयर को ऐसा व्यवहार करना चाहिए जैसे कि उसने कभी
delivery_mode 1 ऑक्टेट 0x00 - immediate
0x01 - on_found
0x02 - batched
onfound_timeout दो ऑक्टेट सिर्फ़ तब मान्य है, जब delivery_mode का वैल्यू on_found हो.
[मिलीसेकंड में]
रिपोर्ट करने से पहले, फ़र्मवेयर के इंतज़ार करने और ज़्यादा विज्ञापन इकट्ठा करने का समय.
onfound_timeout_cnt 1 ऑक्टेट सिर्फ़ तब मान्य है, जब delivery_mode का वैल्यू on_found हो.
[count]
अगर onFound में मौजूद कोई विज्ञापन, onfound_timeout अवधि के लिए फ़र्मवेयर में बना रहता है, तो वह कुछ विज्ञापन इकट्ठा करेगा और उनकी गिनती की जाएगी. अगर गिनती onfound_timeout_cnt से ज़्यादा हो जाती है, तो इसके तुरंत बाद OnFound को सूचना दी जाती है.
rssi_low_thresh 1 ऑक्टेट सिर्फ़ तब मान्य है, जब delivery_mode का वैल्यू on_found हो.
[dBm में]
अगर मिले पैकेट का आरएसएसआई, आरएसएसआई के कम थ्रेशोल्ड से ज़्यादा नहीं है, तो विज्ञापन देने वाले का पैकेट नहीं देखा गया माना जाता है.
onlost_timeout दो ऑक्टेट सिर्फ़ तब मान्य है, जब delivery_mode का वैल्यू on_found हो.
[मिलीसेकंड में]
अगर किसी विज्ञापन को ढूंढने के बाद, उसे lost_timeout अवधि के लिए लगातार नहीं देखा जाता है, तो उसे तुरंत खोने की सूचना दी जाएगी.
num_of_tracking_entries दो ऑक्टेट सिर्फ़ तब मान्य है, जब delivery_mode का वैल्यू on_found हो.
[count]
हर फ़िल्टर के हिसाब से, विज्ञापन देने वालों की कुल संख्या.

आरएसएसआई वैल्यू में नेगेटिव वैल्यू दिखाने के लिए, 2 के कॉम्प्लीमेंट का इस्तेमाल करना ज़रूरी है.

होस्ट, अलग-अलग फ़िल्टर कॉम्बिनेशन मैनेज करने के लिए, कई फ़िल्टर कॉन्फ़िगर कर सकता है. इसके लिए, APCF_Application_Address_type को 0x02 पर सेट करना होगा (सभी ब्रॉडकास्टर पतों के लिए).

फ़िल्टर करना, एक साथ कई आइटम को एक साथ जोड़ना, और रिपोर्टिंग, ये तीनों आपस में जुड़े हुए हैं. हर विज्ञापन और उससे जुड़े स्कैन रिस्पॉन्स को एक के बाद एक सभी फ़िल्टर से गुज़रना होगा. इसलिए, नतीजों से जुड़ी कार्रवाइयां (delivery_mode), फ़िल्टर करने की सुविधा से जुड़ी होती हैं. डिलीवरी के ये मोड हैं: report_immediately, batch, और onFound. OnLost वैल्यू, OnFound से इस मायने में जुड़ी है कि OnFound के खो जाने पर, यह वैल्यू दिखेगी.

प्रोसेसिंग फ़्लो में कॉन्सेप्ट मॉडल दिखाया गया है:

जब कोई विज्ञापन (या स्कैन रिस्पॉन्स) फ़्रेम मिलता है, तो उसे सभी फ़िल्टर पर सीरियल क्रम में लागू किया जाता है. ऐसा हो सकता है कि किसी विज्ञापन के लिए, एक फ़िल्टर के आधार पर तुरंत रिपोर्टिंग की जा सकती है और किसी दूसरी फ़िल्टर कार्रवाई की वजह से, उसी विज्ञापन के लिए एक साथ कई रिपोर्ट भेजी जा सकती हैं.

आरएसएसआई लेवल थ्रेशोल्ड (ज़्यादा और कम) की मदद से, यह कंट्रोल किया जा सकता है कि फ़िल्टर प्रोसेसिंग के लिए फ़्रेम कब दिखे. ऐसा तब भी किया जा सकता है, जब कंट्रोलर को कोई मान्य पैकेट मिलता है. डिलीवरी मोड को तुरंत या एक साथ भेजने के लिए सेट करने पर, किसी फ़्रेम के आरएसएसआई को कंट्रोलर की प्रोसेसिंग के लिए माना जाता है. अलग-अलग ऐप्लिकेशन के लिए, रिपोर्टिंग और बैच करने के तरीके अलग-अलग होने चाहिए. इससे कई ऐप्लिकेशन, फ़र्मवेयर में एक साथ डायरेक्ट रिपोर्टिंग और/या नतीजों को एक साथ भेज सकते हैं. उदाहरण के लिए, जब एक ऐप्लिकेशन से एक साथ कई डिवाइसों को स्कैन करने की सुविधा चालू हो और बाद में किसी दूसरे ऐप्लिकेशन से सामान्य तौर पर एक डिवाइस को स्कैन करने की सुविधा चालू की जाए. एक साथ कई डिवाइसों को स्कैन करने की सुविधा चालू करने से पहले, फ़्रेमवर्क/ऐप्लिकेशन सही फ़िल्टर सेट करता है. बाद में, जब दूसरा ऐप्लिकेशन सामान्य स्कैन जारी करता है, तो पिछली बैचिंग जारी रहती है. हालांकि, रेगुलर स्कैन की वजह से, यह लेवल-1 स्कैन कमांड के साथ सभी मौजूदा फ़िल्टर के साथ एक नॉल फ़िल्टर जोड़ने जैसा है. LE स्कैन कमांड पैरामीटर, चालू होने पर प्राथमिकता लेते हैं. सामान्य LE स्कैन बंद होने पर, कंट्रोलर पिछले बैच स्कैन पर वापस आ जाएगा. हालांकि, इसके लिए ज़रूरी है कि वह बैच स्कैन मौजूद हो.

OnFound डिलीवरी मोड, कॉन्फ़िगर किए गए फ़िल्टर पर आधारित होता है. onLost के लिए ट्रैक की जाने वाली इकाई, ऐसा कॉम्बिनेशन माना जाता है जो किसी फ़िल्टर की कार्रवाई को ट्रिगर करता है. इससे जुड़ा इवेंट, LE विज्ञापन ट्रैकिंग सब-इवेंट है.

अगर किसी फ़िल्टर के लिए OnFound/OnLost ट्रांज़िशन चालू है, तो वह इस तरह दिखेगा:

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x01 - APCF सेट फ़िल्टरिंग पैरामीटर
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट फ़िल्टर टेबल में उपलब्ध एंट्री की संख्या

LE_APCF_Command: broadcast_address_sub_cmd

इस सब-कमांड का इस्तेमाल, विज्ञापन देने वाले का पता जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, चिप पर फ़िल्टर करने के लिए, विज्ञापन देने वाले का पता हटाने के लिए भी इसका इस्तेमाल किया जाता है.

सब-ओसीएफ़: 0x02

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, चुने गए फ़िल्टर में ब्रॉडकास्टर का चुना गया पता मिट जाएगा.
हटाएं विकल्प चुनने पर, चुने गए फ़िल्टर में ब्रॉडकास्टर के सभी पते हट जाएंगे.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_Broadcaster_Address छह ऑक्टेट ब्रॉडकास्टर के पते की सूची में जोड़ने या उससे हटाने के लिए, छह बाइट का डिवाइस पता
APCF_Application_Address_type 1 ऑक्टेट 0x00: सार्वजनिक
0x01: रैंडम
0x02: NA (पते के टाइप को अनदेखा करें)
पहचान के पते के टाइप (0x02, 0x03) वाली विज्ञापन रिपोर्ट को फ़िल्टर करने के लिए. पते के टाइप 0x02 और 0x03 वाली विज्ञापन रिपोर्ट पाने के लिए, इस फ़ील्ड को 0x02: NA (पते के टाइप को अनदेखा करें) पर सेट करें.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x02 - APCF ब्रॉडकास्टर पता
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट ब्रॉडकास्ट पते की टेबल में, अब भी मुफ़्त में उपलब्ध एंट्री की संख्या

LE_APCF_Command: service_uuid_sub_cmd

इस सब-कमांड का इस्तेमाल, सेवा के UUID को जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, चिप पर फ़िल्टर करने के लिए, सेवा के UUID की सूची को भी मिटाया जा सकता है.

सब-ओसीएफ़: 0x03

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, दिए गए फ़िल्टर में बताई गई सेवा का यूयूआईडी पता मिट जाएगा.
'साफ़ करें' विकल्प चुनने पर, चुने गए फ़िल्टर में मौजूद सेवा के सभी यूनीक आइडेंटिफ़ायर (यूयूआईडी) हट जाएंगे.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_UUID 2,4,16 ऑक्टेट सूची में जोड़ने या उससे हटाने के लिए, सेवा का यूनीक आइडेंटिफ़ायर (16-बिट, 32-बिट या 128-बिट).
APCF_UUID_MASK 2,4,16 ऑक्टेट सूची में जोड़ने के लिए, सेवा का यूयूआईडी मास्क (16-बिट, 32-बिट या 128-बिट). इसकी लंबाई APCF_UUID. के बराबर होनी चाहिए

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x03 - APCF सेवा का यूयूआईडी
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट सेवा के यूयूआईडी की टेबल में, अब भी मुफ़्त में उपलब्ध एंट्री की संख्या

LE_APCF_Command: solicitation_uuid_sub_cmd

इस सब-कमांड का इस्तेमाल, अनुरोध करने वाले यूयूआईडी को जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, चिप पर फ़िल्टर करने के लिए, अनुरोध करने वाले यूयूआईडी की सूची को भी मिटाया जा सकता है.

सब ओसीएफ़: 0x04

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, तय किए गए फ़िल्टर में मौजूद, अनुरोध करने वाले यूयूआईडी पते को मिटा दिया जाएगा.
'मिटाएं' विकल्प चुनने पर, चुने गए फ़िल्टर में मौजूद सभी अनुरोध करने वाले यूयूआईडी मिट जाएंगे.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_UUID 2,4,16 ऑक्टेट सूची में जोड़ने या उससे मिटाने के लिए, अनुरोध का यूनीक आइडेंटिफ़ायर (16-बिट, 32-बिट या 128-बिट).
APCF_UUID_MASK 2,4,16 ऑक्टेट सूची में जोड़ने के लिए, अनुरोध का यूयूआईडी मास्क (16-बिट, 32-बिट या 128-बिट). इसकी लंबाई, APCF_UUID की लंबाई के बराबर होनी चाहिए.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x04 - APCF से जुड़े अनुरोध का यूयूआईडी
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट अनुरोध की यूयूआईडी टेबल में अब भी मुफ़्त एंट्री की संख्या

LE_APCF_Command: local_name_sub_cmd

इस सब-कमांड का इस्तेमाल, लोकल नेम स्ट्रिंग जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, ऑन-चिप फ़िल्टरिंग के लिए, लोकल नेम स्ट्रिंग की सूची को भी मिटाया जा सकता है.

सब-ओसीएफ़: 0x05

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, तय किए गए फ़िल्टर में बताई गई लोकल नेम स्ट्रिंग मिट जाएगी.
'हटाएं' विकल्प चुनने पर, चुने गए फ़िल्टर में मौजूद स्थानीय नाम की सभी स्ट्रिंग हट जाएंगी.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_LocName_Mandata_or_SerData वैरिएबल का साइज़ स्थानीय नाम के लिए वर्ण स्ट्रिंग.

ध्यान दें:
  • फ़िलहाल, स्थानीय नाम की स्ट्रिंग में ज़्यादा से ज़्यादा 29 वर्ण हो सकते हैं
  • कार्रवाई "हटाएं" (0x2) होने पर लागू नहीं

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x05 - APCF का स्थानीय नाम
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट स्थानीय नाम की टेबल में, मुफ़्त में दिखाई जाने वाली एंट्री की संख्या

LE_APCF_Command: manf_data_sub_cmd

इस सब-कमांड का इस्तेमाल, मैन्युफ़ैक्चरर डेटा स्ट्रिंग को जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, इसका इस्तेमाल ऑन-चिप फ़िल्टरिंग के लिए, मैन्युफ़ैक्चरर डेटा स्ट्रिंग की सूची को मिटाने के लिए भी किया जाता है.

सब ओसीएफ़: 0x06

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, चुने गए फ़िल्टर में मैन्युफ़ैक्चरर की तय की गई डेटा स्ट्रिंग मिट जाएगी.
'मिटाएं' विकल्प चुनने पर, चुने गए फ़िल्टर में मैन्युफ़ैक्चरर की सभी डेटा स्ट्रिंग मिट जाएंगी.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_LocName_Mandata_or_SerData वैरिएबल का साइज़ मैन्युफ़ैक्चरर डेटा के लिए वर्ण स्ट्रिंग.

ध्यान दें:
  • फ़िलहाल, स्थानीय नाम की स्ट्रिंग में ज़्यादा से ज़्यादा 29 वर्ण हो सकते हैं
  • कार्रवाई "हटाएं" (0x2) होने पर लागू नहीं
APCF_ManData_Mask वैरिएबल का साइज़ सूची में जोड़ने के लिए, मैन्युफ़ैक्चरर का डेटा मास्क. इसकी लंबाई, APCF_LocName_or_ManData_or_SerData की लंबाई के बराबर होनी चाहिए.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x06 - APCF मैन्युफ़ैक्चरर डेटा
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट Manufacturer Center की डेटा टेबल में, अब भी मुफ़्त में दिखाई जाने वाली एंट्री की संख्या

LE_APCF_Command: service_data_sub_cmd

इस सब-कमांड का इस्तेमाल, सेवा डेटा स्ट्रिंग को जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, ऑन-चिप फ़िल्टर करने के लिए, सेवा डेटा स्ट्रिंग की सूची को भी मिटाया जा सकता है.

सब-ओसीएफ़: 0x07

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, दिए गए फ़िल्टर में मौजूद सेवा की डेटा स्ट्रिंग मिट जाएगी.
'साफ़ करें' विकल्प चुनने पर, चुने गए फ़िल्टर में मौजूद सेवा की सभी डेटा स्ट्रिंग मिट जाएंगी.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_LocName_Mandata_or_SerData वैरिएबल का साइज़ सेवा के डेटा के लिए वर्ण स्ट्रिंग.

ध्यान दें:
  • फ़िलहाल, स्थानीय नाम की स्ट्रिंग में ज़्यादा से ज़्यादा 29 वर्ण हो सकते हैं
  • कार्रवाई "हटाएं" (0x2) होने पर लागू नहीं
APCF_LocName_Mandata_or_SerData_Mask वैरिएबल का साइज़ सूची में जोड़ने के लिए, सेवा का डेटा मास्क. इसकी लंबाई, APCF_LocName_or_ManData_or_SerData. की लंबाई के बराबर होनी चाहिए

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x07 - APCF सेवा डेटा
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट सेवा के डेटा की टेबल के लिए, अब भी मुफ़्त में जोड़ी जा सकने वाली एंट्री की संख्या

LE_APCF_Command: ad_type_sub_cmd

इस सब-कमांड का इस्तेमाल, विज्ञापन टाइप जोड़ने या मिटाने के लिए किया जाता है. इसके अलावा, चिप पर फ़िल्टर करने के लिए, विज्ञापन टाइप की सूची को भी मिटाया जा सकता है. read_extended_features_sub_cmd का इस्तेमाल करके देखें कि यह निर्देश काम करता है या नहीं.
जब APCF_AD_DATA_Length 0 हो, तो AD डेटा और AD डेटा मास्क की तुलना किए बिना, APCF_AD_TYPE को फ़िल्टर करें. अगर रिसीव किए गए ADV पैकेट का डेटा AD_DATA_LENGTH से ज़्यादा है, तो AD डेटा के सिर्फ़ पहले AD_DATA_LENGTH बाइट की तुलना करें और बाकी डेटा को अनदेखा करें.

सब-ओसीएफ़: 0x09

सब-कमांड पैरामीटर साइज़ मकसद
APCF_Action 1 ऑक्टेट 0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
मिटाने पर, दिए गए फ़िल्टर में मौजूद विज्ञापन टाइप मिट जाएगा.
'मिटाएं' विकल्प चुनने पर, चुने गए फ़िल्टर में मौजूद सभी विज्ञापन टाइप हट जाएंगे.
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
APCF_AD_TYPE 1 ऑक्टेट सूची में जोड़ने या उससे मिटाने के लिए, विज्ञापन का टाइप. जब APCF_Action 0x02 (साफ़ करें) हो, तब अनदेखा करें
APCF_AD_DATA_Length 1 ऑक्टेट 0x00 - इसका मतलब है कि डेटा कॉन्टेंट को फ़िल्टर न करें
जब APCF_Action 0x02 (साफ़ करें) हो, तब अनदेखा करें
APCF_AD_DATA वैरिएबल का साइज़ APCF_AD_DATA_Length
के आधार पर, वैरिएबल साइज़ वाला जब APCF_Action 0x02 (साफ़ करें) हो, तब अनदेखा करें
APCF_AD_DATA_MASK वैरिएबल का साइज़ APCF_AD_DATA_Length
के आधार पर, अलग-अलग साइज़ का
जब APCF_Action 0x02 (साफ़ करें) हो, तो अनदेखा करें
इसकी लंबाई APCF_AD_DATA के बराबर होनी चाहिए.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0x09 - APCF विज्ञापन टाइप
APCF_Action 1 ऑक्टेट निर्देश के APCF_Action को दोहराना
APCF_AvailableSpaces 1 ऑक्टेट विज्ञापन टाइप टेबल में अब भी मुफ़्त में दिखाई जाने वाली एंट्री की संख्या

LE_APCF_Command: read_extended_features_sub_cmd

इस सब-कमांड का इस्तेमाल, APCF की एक्सटेंडेड सुविधाओं को पढ़ने के लिए किया जाता है.

सब-ओसीएफ़: 0xFF

सब-कमांड पैरामीटर साइज़ मकसद
लागू नहीं खाली कमांड पैरामीटर.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
APCF_opcode 1 ऑक्टेट 0xFF - APCF_Read_Extended_Features
APCF_extended_features दो ऑक्टेट

एक्सटेंडेड सुविधाओं के लिए बिट मास्क, जो काम करते हैं:

  • बिट 0: ट्रांसपोर्ट डिस्कवरी सेवा फ़िल्टर के साथ काम करता है
  • बिट 1: विज्ञापन टाइप फ़िल्टर के साथ काम करता है
  • बिट 2 से 15: आने वाले समय में इस्तेमाल के लिए रिज़र्व है

बिट की वैल्यू

  • 0 = काम नहीं करता
  • 1 = काम करता है

कंट्रोलर की गतिविधि और ऊर्जा की जानकारी देने वाला निर्देश

इस जानकारी का मकसद, होस्ट सिस्टम के बेहतर फ़ंक्शन के लिए, सभी कॉम्पोनेंट की कुल गतिविधियों का विश्लेषण करना है. इसमें ऐप्लिकेशन और फ़्रेमवर्क में होने वाली गतिविधियों के साथ-साथ, बीटी कंट्रोलर और उसकी मैक्रो स्थिति का विश्लेषण भी शामिल है. ऐसा करने के लिए, बीटी स्टैक और कंट्रोलर से यह जानकारी ज़रूरी है:

  • बीटी स्टैक: कंट्रोलर की मौजूदा मैक्रो-ऑपरेशनल स्थिति की रिपोर्टिंग
  • फ़र्मवेयर: गतिविधि और ऊर्जा की कुल जानकारी की रिपोर्टिंग

उपयोगकर्ता के लेवल पर तय की गई BT होस्ट स्टैक मैक्रो की स्थितियां:

  • इंऐक्टिव: [पेज स्कैन, एलई विज्ञापन, पूछताछ स्कैन, एलई स्कैन]
  • स्कैन करें: [पेजिंग/पूछताछ/कनेक्ट करने की कोशिश की जा रही है]
  • चालू: [एसीएल लिंक चालू है, एससीओ लिंक जारी है, स्निफ़ मोड]

कंट्रोलर अपनी लाइफ़साइकल के दौरान, इन गतिविधियों को ट्रैक करता है: Tx समय, Rx समय, आइडल समय, और कुल खर्च की गई ऊर्जा. होस्ट से पढ़े जाने पर, ये मिट जाते हैं.

LE_Get_Controller_Activity_Energy_Info

यह वेंडर के हिसाब से निर्देश है.

OCF: 0x159

सब-कमांड पैरामीटर साइज़ मकसद
NA खाली कमांड पैरामीटर

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
total_tx_time_ms चार ऑक्टेट ट्रांज़ैक्शन पूरा होने में लगने वाला कुल समय
total_rx_time_ms चार ऑक्टेट Rx करने में लगने वाला कुल समय
total_idle_time_ms चार ऑक्टेट डिवाइस के बंद रहने का कुल समय (स्लीप मोड में नहीं, कम बैटरी मोड में)
total_energy_used चार ऑक्टेट कुल ऊर्जा खर्च [इंजन की स्पीड (एमए), वोल्टेज (वी), और समय (एमएस) का गुणनफल]

LE एक्सटेंडेड सेट स्कैन पैरामीटर कमांड

इस कमांड का इस्तेमाल, कंट्रोलर में बड़ी स्कैन विंडो और इंटरवल चालू करने के लिए किया जा सकता है. BT Core 5.2 स्पेसिफ़िकेशन के मुताबिक, स्कैन विंडो और इंटरवल की ऊपरी सीमा 10.24 सेकंड है. इससे, ऐप्लिकेशन के लिए 10.24 सेकंड से ज़्यादा के स्कैन इंटरवल में रुकावट आती है.

बुनियादी रेफ़रंस: BT Core 5.2 स्पेसिफ़िकेशन, पेज 2493 (LE Set Scan Parameters Command)

OCF: 0x15A

कमांड पैरामीटर साइज़ मकसद
LE_Ex_Scan_Type 1 ऑक्टेट 0x00 - पैसिव स्कैनिंग. कोई SCAN_REQ पैकेट नहीं भेजा जाएगा (डिफ़ॉल्ट).
0x01 - ऐक्टिव स्कैनिंग. SCAN_REQ पैकेट भेजे जा सकते हैं.
LE_Ex_Scan_Interval चार ऑक्टेट इसे उस समय के अंतराल के तौर पर परिभाषित किया जाता है जब कंट्रोलर ने आखिरी बार LE स्कैन शुरू किया था और अगला LE स्कैन शुरू किया था.
रेंज: 0x0004 से 0x00FFFFFF
डिफ़ॉल्ट: 0x0010 (10 मिलीसेकंड)
समय = N * 0.625 मिलीसेकंड
समय की सीमा: 2.5 मिलीसेकंड से 10442.25 सेकंड
LE_Ex_Scan_Window चार ऑक्टेट LE स्कैन की अवधि. LE_Scan_Window, LE_Scan_Interval से कम या इसके बराबर होना चाहिए.
रेंज: 0x0004 से 0xFFFF
डिफ़ॉल्ट: 0x0010 (10 मिलीसेकंड)
समय = N * 0.625 मिलीसेकंड
समय की सीमा: 2.5 मिलीसेकंड से 40.95 सेकंड
Own_Address_Type 1 ऑक्टेट 0x00 - डिवाइस का सार्वजनिक पता (डिफ़ॉल्ट)
0x01 - डिवाइस का रैंडम पता
LE_Ex_Scan_Filter_Policy 0x00 - सभी विज्ञापन पैकेट स्वीकार करें (डिफ़ॉल्ट). इस डिवाइस के लिए नहीं भेजे गए डायरेक्ट विज्ञापन पैकेट को अनदेखा कर दिया जाएगा.
0x01 - सिर्फ़ वाइटलिस्ट में शामिल डिवाइसों से आने वाले विज्ञापन पैकेट को अनदेखा करें. ऐसे डायरेक्टेड विज्ञापन पैकेट जिन्हें इस डिवाइस के लिए नहीं भेजा गया है उन्हें अनदेखा कर दिया जाएगा.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति

कंट्रोलर की डीबग जानकारी पाने का निर्देश

इस जानकारी वाले एलिमेंट का मकसद, पोस्ट-प्रोसेसिंग और विश्लेषण के लिए, होस्ट के ज़रिए कंट्रोलर की डीबग जानकारी को बाइनरी फ़ॉर्म में हासिल करना है. इससे फ़ील्ड में होने वाली समस्याओं को डीबग करने में मदद मिलती है. साथ ही, इंजीनियरों को विश्लेषण के लिए जानकारी को लॉग करने वाला टूलकिट मिलता है. जब होस्ट, इवेंट (कंट्रोलर डीबग की जानकारी वाला सब-इवेंट) के ज़रिए अनुरोध करता है, तो कंट्रोलर जानकारी दे सकता है. इसके अलावा, कंट्रोलर जब चाहे, अपने-आप भी जानकारी दे सकता है. उदाहरण के लिए, इसका इस्तेमाल, फ़र्मवेयर की स्थिति की जानकारी, क्रैश डंप की जानकारी, लॉगिंग की जानकारी वगैरह को रिपोर्ट करने के लिए किया जा सकता है.

OCF: 0x15B

कमांड पैरामीटर साइज़ मकसद
लागू नहीं कमांड पैरामीटर की सूची खाली है

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति

A2DP हार्डवेयर ऑफ़लोड की सुविधा

A2DP ऑफ़लोड की सुविधा, A2DP ऑडियो कोडिंग प्रोसेस को बीटी कंट्रोलर से जुड़े ऑडियो प्रोसेसर पर ऑफ़लोड करने की सुविधा देती है. एन्कोड की गई ऑडियो डेटा स्ट्रीम, बीटी होस्ट के बिना सीधे ऑडियो प्रोसेसर से बीटी कंट्रोलर पर जाती है. BT होस्ट अब भी A2DP सेशन के कॉन्फ़िगरेशन और कंट्रोल के लिए ज़िम्मेदार है. निर्देशों के दो वर्शन उपलब्ध हैं. Sub OCF 0x01-0x02 वाले लेगसी निर्देश, सिर्फ़ ओपन-सोर्स कोडेक के साथ काम करते हैं. सब-ओसीएफ़ 0x03-0x04 वाले वर्शन, कॉन्फ़िगर किए गए कोडेक के बारे में नहीं जानते.

OCF: 0x15D

A2DP ऑफ़लोड (लेगसी) शुरू करना

सब-ओसीएफ़: 0x01

A2DP ऑफ़लोड प्रोसेस को कॉन्फ़िगर करने और A2DP स्ट्रीम को शुरू करने के लिए, इस निर्देश का इस्तेमाल करें.

कमांड पैरामीटर साइज़ मकसद
Codec चार ऑक्टेट कोडेक टाइप की जानकारी देता है
0x01 - SBC
0x02 - AAC
0x04 - APTX
0x08 - APTX HD
0x10 - LDAC
Max_Latency दो ऑक्टेट इंतज़ार का ज़्यादा से ज़्यादा समय (मिलीसेकंड में). शून्य की वैल्यू से फ़्लश की सुविधा बंद हो जाती है.
SCMS-T_Enable दो ऑक्टेट ऑक्टेट 0: यह एक फ़्लैग है, जो SCMS-T हेडर जोड़ने की सुविधा चालू करता है.
  • 0x00 - SCMS-T हेडर शामिल नहीं है.
  • 0x01 - SCMS-T हेडर शामिल है.

ऑक्टेट 1: SCMS-T हेडर के चालू होने पर उसकी वैल्यू.

Sampling_Frequency चार ऑक्टेट 0x01 - 44100 हर्ट्ज़
0x02 - 48000 हर्ट्ज़
0x04 - 88200 हर्ट्ज़
0x08 - 96000 हर्ट्ज़
Bits_Per_Sample 1 ऑक्टेट 0x01 - हर सैंपल के लिए 16 बिट
0x02 - हर सैंपल के लिए 24 बिट
0x04 - हर सैंपल के लिए 32 बिट
Channel_Mode 1 ऑक्टेट 0x01 - मोनो
0x02 - स्टीरियो
Encoded_Audio_Bitrate चार ऑक्टेट कोड में बदले गए ऑडियो का बिटरेट, बिट प्रति सेकंड में.
0x00000000 - ऑडियो की बिटरेट की जानकारी नहीं दी गई है / इस्तेमाल नहीं की गई है.
0x00000001 - 0x00FFFFFF - कोड में बदले गए ऑडियो का बिटरेट, बिट प्रति सेकंड में.
0x01000000 - 0xFFFFFFFF - रिज़र्व किया गया.
Connection_Handle दो ऑक्टेट कॉन्फ़िगर किए जा रहे A2DP कनेक्शन का कनेक्शन हैंडल
L2CAP_Channel_ID दो ऑक्टेट इस A2DP कनेक्शन के लिए इस्तेमाल किया जाने वाला L2CAP चैनल आईडी
L2CAP_MTU_Size दो ऑक्टेट एन्कोड किए गए ऑडियो पैकेट वाले L2CAP MTU का ज़्यादा से ज़्यादा साइज़
Codec_Information 32 ऑक्टेट कोडेक से जुड़ी जानकारी.

SBC कोडेक:

A2DP v1.3 में, एसबीसी कोडेक की खास जानकारी वाले एलिमेंट देखें.
ऑक्टेट 0: ब्लॉक की लंबाई | सबबैंड | ऐलोकेशन का तरीका
ऑक्टेट 1: बिटपूल की कम से कम वैल्यू
ऑक्टेट 2: बिटपूल की ज़्यादा से ज़्यादा वैल्यू
ऑक्टेट 3: सैंपलिंग फ़्रीक्वेंसी | चैनल मोड
ऑक्टेट 4-31: रिज़र्व

AAC कोडेक:

A2DP v1.3 में AAC कोडेक की खास जानकारी वाले एलिमेंट देखें
ऑक्टेट 0: ऑब्जेक्ट टाइप
ऑक्टेट 1; b7: VBR
ऑक्टेट 2-31: रिज़र्व किए गए

LDAC कोडेक:

ऑक्टेट 0-3: वेंडर आईडी
0x0000012D

ऑक्टेट 4-5: कोडेक आईडी
0x00AA - LDAC
अन्य सभी वैल्यू के लिए आरक्षित है

ऑक्टेट 6: बिटरेट इंडेक्स:
0x00 - हाई
0x01 - मीडियम
0x02 - लो
0x03 - 0x7E - रिज़र्व
0x7F - एबीआर (अडैप्टिव बिटरेट)
0x80 - 0xFF - रिज़र्व

ऑक्टेट 7: LDAC चैनल मोड
0x01 - स्टीरियो
0x02 - ड्यूअल
0x04 - मोनो
अन्य वैल्यू के लिए रिज़र्व है

ऑक्टेट 8 से 31: रिज़र्व

अन्य सभी कोडेक:

ऑक्टेट 0-31: रिज़र्व

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Sub_Opcode 1 ऑक्टेट 0x01 - A2DP ऑफ़लोड शुरू करें

A2DP ऑफ़लोड शुरू करना

सब-ओसीएफ़: 0x03

A2DP ऑफ़लोड प्रोसेस को कॉन्फ़िगर करने और A2DP स्ट्रीम को शुरू करने के लिए, इस निर्देश का इस्तेमाल करें.

कमांड पैरामीटर साइज़ मकसद
Connection Handle दो ऑक्टेट चालू एचसीआई कनेक्शन का हैंडल
L2CAP_Channel_ID दो ऑक्टेट A2DP स्ट्रीमिंग के लिए खोले गए L2CAP चैनल का आइडेंटिफ़ायर
Data_Path_Direction 1 ऑक्टेट 0x00 - आउटपुट (AVDTP सोर्स/मर्ज)
0x01 - इनपुट (AVDTP सिंक/स्प्लिट)
Peer_MTU दो ऑक्टेट L2CAP पैकेट का ज़्यादा से ज़्यादा साइज़, जिस पर पीयर के साथ बातचीत की गई है.
CP_Enable_SCMS_T 1 ऑक्टेट 0x00 - SCMS-T कॉन्टेंट प्रोटेक्शन हेडर बंद करें
0x01 - SCMS-T कॉन्टेंट प्रोटेक्शन हेडर चालू करें
CP_Header_SCMS_T 1 ऑक्टेट जब SCMS-T कॉन्टेंट प्रोटेक्शन हेडर चालू होता है (CP_SCMS_T_Enable को 0x01 पर सेट किया जाता है), तो ऑडियो कॉन्टेंट (A2DP, सेक्शन 3.2.1-2 देखें) से पहले मौजूद हेडर की वैल्यू तय होती है. यह वैल्यू, ब्लूटूथ असाइन किए गए नंबर, सेक्शन 6.3.2 के मुताबिक तय होती है.
SCMS-T कॉन्टेंट की सुरक्षा की सुविधा चालू न होने पर, इस एट्रिब्यूट को अनदेखा कर दिया जाता है.
Vendor_Specific_Parameters_Length 1 ऑक्टेट वेंडर के हिसाब से पैरामीटर की लंबाई, जो 0 से 128 के बीच होनी चाहिए.
अगर कोई अन्य पैरामीटर नहीं दिया गया है, तो 0 वैल्यू का इस्तेमाल किया जाता है.
Vendor_Specific_Parameters 0 से 128 ऑक्टेट ब्लूटूथ ऑडियो एचएएल की ओर से दिए गए वेंडर के हिसाब से पैरामीटर, CodecParameters.vendorSpecificParameters[].

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Sub_Opcode 1 ऑक्टेट 0x03 - A2DP ऑफ़लोड शुरू करें

A2DP ऑफ़लोड (लेगसी) बंद करना

सब-ओसीएफ़: 0x02

इस निर्देश का इस्तेमाल, A2DP ऑफ़लोड स्ट्रीम को रोकने के लिए किया जाता है.

कमांड पैरामीटर साइज़ मकसद
लागू नहीं निर्देश के पैरामीटर की सूची खाली है.

इस कमांड के लिए कोई पैरामीटर तय नहीं किया गया है.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Sub_Opcode 1 ऑक्टेट 0x02 - A2DP ऑफ़लोड बंद करें

A2DP ऑफ़लोड बंद करना

सब ओसीएफ़: 0x04

इस निर्देश का इस्तेमाल, A2DP ऑफ़लोड स्ट्रीम को रोकने के लिए किया जाता है.

कमांड पैरामीटर साइज़ मकसद
Connection Handle दो ऑक्टेट चालू एचसीआई कनेक्शन का हैंडल
L2CAP_Channel_ID दो ऑक्टेट A2DP स्ट्रीमिंग के लिए खोले गए L2CAP चैनल का आइडेंटिफ़ायर
Data_Path_Direction 1 ऑक्टेट 0x00 - आउटपुट (AVDTP सोर्स/मर्ज)
0x01 - इनपुट (AVDTP सिंक/स्प्लिट)

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Sub_Opcode 1 ऑक्टेट 0x04 - A2DP ऑफ़लोड बंद करना

ब्लूटूथ क्वालिटी रिपोर्ट का निर्देश

ब्लूटूथ क्वालिटी रिपोर्ट कमांड की सुविधा, ब्लूटूथ कंट्रोलर में एक प्रोसेस शुरू करती है, ताकि होस्ट को ब्लूटूथ क्वालिटी इवेंट की रिपोर्ट भेजी जा सके. आपके पास चार विकल्प चालू करने का विकल्प है:

  • क्वालिटी मॉनिटरिंग मोड: कंट्रोलर, समय-समय पर होस्ट को लिंक की क्वालिटी से जुड़ा BQR सब-इवेंट भेजता है.
  • लिंक सुपरवाइज़न टाइम आउट (एलएसटीओ) के करीब पहुंचना: अगर कनेक्ट किए गए बीटी डिवाइस से, लिंक सुपरवाइज़न टाइम आउट (एलएसटीओ) की वैल्यू के आधे से ज़्यादा समय तक कोई पैकेट नहीं मिलता है, तो कंट्रोलर होस्ट को एलएसटीओ के करीब पहुंचने के इवेंट की सूचना देता है.
  • A2DP ऑडियो में रुकावट: जब कंट्रोलर को उन वजहों का पता चलता है जिनकी वजह से ऑडियो में रुकावट आती है, तो कंट्रोलर होस्ट को A2DP ऑडियो में रुकावट वाले इवेंट की रिपोर्ट भेजता है.
  • (e)SCO की आवाज़ में रुकावट: जब कंट्रोलर को उन वजहों का पता चलता है जिनकी वजह से आवाज़ में रुकावट आती है, तो कंट्रोलर होस्ट को (e)SCO की आवाज़ में रुकावट वाले इवेंट की सूचना देता है.
  • रूट इन्फ़्लेमेशन: यह इवेंट, कंट्रोलर से स्टैक पर भेजा जाता है जब HAL या कंट्रोलर को कोई गंभीर गड़बड़ी मिलती है और उसे ब्लूटूथ को रीस्टार्ट करना पड़ता है.
  • LMP/LL मैसेज ट्रेस: कंट्रोलर, होस्ट को रिमोट डिवाइस के साथ LMP/LL मैसेज हैंडशेक भेजता है.
  • ब्लूटूथ मल्टी-प्रोफ़ाइल/कोएक्स शेड्यूलिंग ट्रेस: कंट्रोलर, होस्ट को कई ब्लूटूथ प्रोफ़ाइलों को मैनेज करने और 2.4 गीगाहर्ट्ज़ बैंड में वायरलेस कोएक्सिस्टेंस के बारे में शेड्यूलिंग की जानकारी भेजता है.
  • कंट्रोलर डीबग की जानकारी देने वाला तरीका: चालू होने पर, कंट्रोलर, होस्ट को कंट्रोलर डीबग की जानकारी वाले सब-इवेंट के ज़रिए, डीबग लॉगिंग की जानकारी अपने-आप भेज सकता है.
  • LE Audio में आवाज़ का रुक-रुककर आना: जब कंट्रोलर को उन वजहों का पता चलता है जिनकी वजह से आवाज़ का रुक-रुककर आना होता है, तो कंट्रोलर होस्ट को LE Audio में आवाज़ का रुक-रुककर आना इवेंट की रिपोर्ट भेजता है.
  • बेहतर आरएफ़ आंकड़े वाला मोड: कंट्रोलर, होस्ट को आरएफ़ के आंकड़े से जुड़ी जानकारी भेजता है. यह रिपोर्ट के इस्तेमाल के दो उदाहरणों के साथ काम करती है:
    • समय-समय पर मिलने वाली रिपोर्ट
    • इवेंट ट्रिगर (स्ट्रीम शुरू/बंद होने और लिंक क्वालिटी इवेंट ट्रिगर).
  • ब्लूटूथ क्वालिटी रिपोर्ट कमांड का BQR_Report_Action: होस्ट, क्वालिटी मॉनिटरिंग मोड, एनर्जी मॉनिटर मोड या बेहतर आरएफ़ आंकड़े मोड के लिए, एक बार की जाने वाली क्वेरी पाने के लिए इस एचसीआई कमांड का इस्तेमाल कर सकता है.

OCF: 0x15E

कमांड पैरामीटर साइज़ मकसद
BQR_Report_Action 1 ऑक्टेट BQR_Quality_Event_Mask पैरामीटर में सेट किए गए क्वालिटी इवेंट की रिपोर्टिंग को जोड़ने / मिटाने या सभी को मिटाने की कार्रवाई.

0x00 - जोड़ें
0x01 - मिटाएं
0x02 - मिटाएं
0x03 - एक बार की जाने वाली क्वेरी

मिटाने पर, क्वालिटी इवेंट की रिपोर्टिंग मिट जाएगी.
'मिटाएं' विकल्प चुनने पर, क्वालिटी इवेंट की सभी रिपोर्टिंग मिट जाएगी (BQR_Quality_Event_Mask पैरामीटर को अनदेखा किया जा सकता है).

BQR_Quality_Event_Mask चार ऑक्टेट चुनी गई क्वालिटी इवेंट रिपोर्टिंग के लिए बिट मास्क.

बिट 0: क्वालिटी मॉनिटरिंग मोड चालू करने के लिए सेट करें.
बिट 1: ACL/(e)SCO/ISO के लिए, एलएसटीओ (लाइसेंस की समयसीमा खत्म होने वाला है) इवेंट चालू करने के लिए सेट करें.
बिट 2: A2DP ऑडियो चॉपी इवेंट को चालू करने के लिए सेट करें.
तीसरा बिट: (e)SCO वॉइस चॉपी इवेंट को चालू करने के लिए सेट करें.
बिट 4: रूट में सूजन के इवेंट को चालू करने के लिए सेट करें.
बिट 5: एनर्जी मॉनिटरिंग मोड चालू करने के लिए सेट करें.
छठा बिट: LE ऑडियो के चॉपी इवेंट को चालू करने के लिए सेट करें.
सातवां बिट: कनेक्ट न होने की स्थिति का इवेंट चालू करने के लिए सेट करें.
बाइट 8: बेहतर आरएफ आंकड़े मोड इवेंट ट्रिगर को चालू करने के लिए सेट करें.
बिट 9: समय-समय पर मिलने वाली ऐडवांस आरएफ़ आंकड़ों की रिपोर्ट चालू करने के लिए सेट करें.
बिट 10 से 14: रिज़र्व.
बिट 15: वेंडर के हिसाब से क्वालिटी इवेंट चालू करने के लिए सेट करें.
बिट 16: LMP/LL मैसेज ट्रेस की सुविधा चालू करने के लिए सेट करें.
बिट 17: ब्लूटूथ मल्टी-लिंक/कोएक्स शेड्यूलिंग ट्रेस को चालू करने के लिए सेट करें.
बिट 18: कंट्रोलर डीबग की जानकारी देने वाले तरीके को चालू करने के लिए सेट करें.
बिट 19 से 30: रिज़र्व.
बिट 31: वेंडर के हिसाब से ट्रैक चालू करने के लिए सेट करें.

BQR_Minimum_Report_Interval दो ऑक्टेट चुने गए क्वालिटी इवेंट के लिए, क्वालिटी इवेंट की रिपोर्टिंग के कम से कम समय के इंटरवल तय करें. कंट्रोलर फ़र्मवेयर को तय किए गए समय अंतराल के अंदर, अगले इवेंट की जानकारी नहीं देनी चाहिए. इंटरवल की सेटिंग, जोड़ी जा रही क्वालिटी इवेंट के लिए तय की जाएगी.

यूनिट: मिलीसेकंड
डिफ़ॉल्ट: 0 (इंटरवल के लिए कोई सीमा नहीं.)
रेंज: 0 ~ 65535 मिलीसेकंड

BQR_Vendor_Specific_Quality_Event_Mask चार ऑक्टेट चुनी गई वेंडर-स्पेसिफ़िक क्वालिटी इवेंट रिपोर्टिंग के लिए बिट मास्क.
यह पैरामीटर सिर्फ़ तब मान्य होता है, जब BQR_Quality_Event_Mask का बिट 15 सेट हो.

बिट 0 से 31: रिज़र्व.

BQR_Vendor_Specific_Trace_Mask चार ऑक्टेट चुनी गई वेंडर-स्पेसिफ़िक ट्रेस रिपोर्टिंग के लिए बिट मास्क.
यह पैरामीटर सिर्फ़ तब मान्य होता है, जब BQR_Quality_Event_Mask का बिट 31 सेट हो.

बिट 0 से 31: रिज़र्व.

Report_interval_multiple चार ऑक्टेट BQR_Minimum_Report_Interval के लिए मल्टीप्लायर. जब यह वैल्यू >= 1 होती है, तब बीक्यूआर रिपोर्ट इंटरवल का फ़ॉर्मैट
होता है. साथ ही, बीक्यूआर रिपोर्ट इंटरवल = BQR_Minimum_Report_Interval x Report_interval_multiple होता है.
कंट्रोलर फ़र्मवेयर को तय किए गए समय के इंटरवल में अगले इवेंट की रिपोर्ट नहीं करनी चाहिए. इंटरवल सेटिंग, खास तौर पर जोड़े गए क्वालिटी इवेंट के लिए है.

यूनिट: ms
डिफ़ॉल्ट: 1
रेंज: 0 ~ 4294967295 (0: is equal set to 1)

ध्यान दें: अगर BQR_Report_Interval की सेटिंग, कंट्रोलर की क्षमता से ज़्यादा है, तो कंट्रोलर को कमांड पूरा होने पर, BQR_Report_Interval का ज़्यादा से ज़्यादा समय दिखाना चाहिए.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Current_Quality_Event_Mask चार ऑक्टेट मौजूदा बिट मास्क सेटिंग दिखाता है.
बिट 0: क्वालिटी मॉनिटरिंग मोड चालू है.
बिट 1: ऐप्लिकेशन के बंद होने से पहले, इवेंट की जानकारी रिपोर्ट करने की सुविधा चालू है.
बिट 2: A2DP ऑडियो चॉपी इवेंट रिपोर्टिंग की सुविधा चालू है.
तीसरा बिट: (e)SCO की आवाज़ में रुकावट आने की शिकायत करने की सुविधा चालू है.
चौथा बिट: रूट में सूजन के इवेंट की रिपोर्टिंग की सुविधा चालू है.
पांचवां बिट: एनर्जी मॉनिटरिंग मोड चालू है.
छठा बिट: LE ऑडियो में आवाज़ का रुक-रुककर आना या आवाज़ में गड़बड़ी होने की जानकारी देने वाली रिपोर्टिंग की सुविधा चालू है.
सातवां बिट: कनेक्ट न होने का इवेंट.
बिट 8: बेहतर आरएफ आंकड़े मोड इवेंट ट्रिगर को चालू करने के लिए सेट करें.
बिट 9: समय-समय पर ऐडवांस आरएफ़ आंकड़ों की रिपोर्ट चालू करने के लिए सेट करें.
बिट 10 ~ 14: रिज़र्व है.
बिट 15: वेंडर के हिसाब से क्वालिटी इवेंट की रिपोर्टिंग चालू है.
बिट 16: LMP/LL मैसेज ट्रैक चालू है.
बिट 17: ब्लूटूथ मल्टी-लिंक/कोएक्स शेड्यूलिंग ट्रेस चालू है.
बिट 18: कंट्रोलर डीबग की जानकारी देने वाला तरीका चालू है.
बिट 19 से 30: रिज़र्व.
बिट 31: वेंडर के हिसाब से ट्रैक करने की सुविधा चालू है.
Current_Vendor_Specific_Quality_Event_Mask चार ऑक्टेट मौजूदा बिट मास्क सेटिंग दिखाता है.
Current_Vendor_Specific_Trace_Mask चार ऑक्टेट मौजूदा बिट मास्क सेटिंग दिखाता है.
BQR_Report_interval चार ऑक्टेट मौजूदा बिट मास्क सेटिंग दिखाता है.
Current_Vendor_Specific_Trace_Mask चार ऑक्टेट BQR_Report_interval की सेटिंग. यह वैल्यू, BQR_Minimum_Report_Interval * Report_interval_multiple और कंट्रोलर के ज़्यादा से ज़्यादा इंटरवल के बीच की कम से कम वैल्यू होनी चाहिए.

डाइनैमिक ऑडियो बफ़र का निर्देश

डाइनैमिक ऑडियो बफ़र, अलग-अलग स्थितियों के आधार पर ब्लूटूथ कंट्रोलर में ऑडियो बफ़र का साइज़ बदलकर, ऑडियो में होने वाली गड़बड़ियों को कम करता है.

OCF: 0x15F

ऑडियो बफ़र टाइम की सुविधा पाना

सब-ओसीएफ़: 0x01

ब्लूटूथ कंट्रोलर से ऑडियो बफ़र टाइम की सुविधा पाने के लिए, इस निर्देश का इस्तेमाल करें.

कमांड पैरामीटर साइज़ मकसद
लागू नहीं खाली कमांड पैरामीटर की सूची

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Dynamic_Audio_Buffer_opcode 1 ऑक्टेट 0x01 - ऑडियो बफ़र का समय पाना
Audio_Codec_Type_Supported चार ऑक्टेट काम करने वाले कोडेक टाइप के लिए बिट मास्क
बिट 0 - SBC
बिट 1 - AAC
बिट 2 - APTX
बिट 3 - APTX HD
बिट 4 - LDAC
बिट 5 से 31 के लिए कोई भी वैल्यू नहीं दी जा सकती
Audio_Codec_Buffer_Default_Time_For_Bit_0 दो ऑक्टेट बिट 0 कोडेक टाइप का डिफ़ॉल्ट बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर बिट 0 कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 दो ऑक्टेट बिट 0 कोडेक टाइप का ज़्यादा से ज़्यादा बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर बिट 0 कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 दो ऑक्टेट बिट 0 कोडेक टाइप का कम से कम बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर बिट 0 कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
Audio_Codec_Buffer_Default_Time_For_Bit_1 दो ऑक्टेट बिट 1 कोडेक टाइप का डिफ़ॉल्ट बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर बिट 1 कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 दो ऑक्टेट बिट 1 कोडेक टाइप का ज़्यादा से ज़्यादा बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर बिट 1 कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 दो ऑक्टेट बिट 1 कोडेक टाइप का कम से कम बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर बिट 1 कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
...... ...... ......
Audio_Codec_Buffer_Default_Time_For_Bit_31 दो ऑक्टेट बिट 31 कोडेक टाइप का डिफ़ॉल्ट बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर 31 बिट का कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 दो ऑक्टेट बिट 31 कोडेक टाइप का ज़्यादा से ज़्यादा बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर 31 बिट का कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 दो ऑक्टेट बिट 31 कोडेक टाइप का कम से कम बफ़र समय, जो Audio_Codec_Type_Supported में बताया गया है.
अगर 31 बिट का कोडेक टाइप काम नहीं करता है, तो यह वैल्यू 0 होगी.
यूनिट: मि॰से॰

ऑडियो बफ़र का समय सेट करना

सब-ओसीएफ़: 0x02

ब्लूटूथ कंट्रोलर पर ऑडियो बफ़र का समय सेट करने के लिए, इस निर्देश का इस्तेमाल करें.

कमांड पैरामीटर साइज़ मकसद
Audio_Codec_Buffer_Time दो ऑक्टेट इस्तेमाल किए जा रहे मौजूदा कोडेक के लिए, ऑडियो बफ़र का अनुरोध किया गया समय.
यूनिट: मिलीसेकंड

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Dynamic_Audio_Buffer_opcode 1 ऑक्टेट 0x02 - ऑडियो बफ़र का समय सेट करना
Audio_Codec_Buffer_Time दो ऑक्टेट ब्लूटूथ कंट्रोलर में मौजूदा ऑडियो बफ़र का समय.
यूनिट: मि॰से॰

एचसीआई इवेंट (वेंडर के हिसाब से)

कुछ मामलों में, वेंडर के हिसाब से एचसीआई इवेंट की ज़रूरत होती है. BT Core 5.2 स्पेसिफ़िकेशन के पेज 1897 पर, फ़िगर 5.4 देखें. इवेंट पैरामीटर 0 में हमेशा पहला सब-इवेंट कोड होगा. इसके आधार पर, बाकी HCI इवेंट को डिकोड किया जाता है.

इवेंट पैरामीटर साइज़ मकसद
HCI_vendor_specific_event_code 1 ऑक्टेट 0xFF
sub_event_code 1 ऑक्टेट सब-इवेंट कोड का साइज़ एक ऑक्टेट होगा. यह HCI इवेंट पैकेट में पैरामीटर की लंबाई के ठीक बाद वाला बाइट होता है.

स्टोरेज थ्रेशोल्ड का उल्लंघन करने से जुड़ा सब-इवेंट

इस इवेंट से पता चलता है कि स्टोरेज थ्रेशोल्ड का उल्लंघन हुआ है.

सब-इवेंट कोड = 0x54

सब-इवेंट पैरामीटर साइज़ मकसद
कोई नहीं

LE में विज्ञापन की स्थिति में हुए कई बदलावों का सब-इवेंट

इस इवेंट से पता चलता है कि विज्ञापन इंस्टेंस की स्थिति बदल गई है. फ़िलहाल, इस इवेंट का इस्तेमाल सिर्फ़ यह बताने के लिए किया जाता है कि कनेक्शन की वजह से, विज्ञापन दिखाने वाला कौनसा इंस्टेंस बंद हुआ.

सब-इवेंट कोड = 0x55

सब-इवेंट पैरामीटर साइज़ मकसद
Advertising_instance 1 ऑक्टेट किसी खास विज्ञापन इंस्टेंस की पहचान करता है
मान्य वैल्यू 0 से max_advt_instances-1 तक होती हैं
State_Change_Reason 1 ऑक्टेट 0x00: कनेक्शन मिला
Connection_handle दो ऑक्टेट उस कनेक्शन की पहचान करता है जिसकी वजह से advt इंस्टेंस को बंद किया गया था (अमान्य होने पर 0xFFFF)

LE विज्ञापन ट्रैकिंग सब-इवेंट

इस इवेंट से पता चलता है कि विज्ञापन देने वाला व्यक्ति या कंपनी कब मिली या कब खो गई.

सब-इवेंट कोड = 0x56

सब-इवेंट पैरामीटर साइज़ मकसद
APCF_Filter_Index 1 ऑक्टेट फ़िल्टर इंडेक्स (0, max_filter-1)
Advertiser_State 1 ऑक्टेट 0x00: विज्ञापन देने वाला मिला
0x01: विज्ञापन देने वाला नहीं मिला
Advt_Info_Present 1 ऑक्टेट 0x00: विज्ञापन देने वाले की जानकारी (Advt_Info) मौजूद है
0x01: विज्ञापन देने वाले की जानकारी (Advt_Info) मौजूद नहीं है
Advertiser_Address छह ऑक्टेट सार्वजनिक या कोई दूसरा पता
Advertiser_Address_Type 1 ऑक्टेट 0x00: सार्वजनिक पता
0x01: रैंडम पता
Advt_Info Tx_Pwr[0]: एक ऑक्टेट
RSSI[0]: एक ऑक्टेट
Timestamp[0]: दो ऑक्टेट
Adv packet_len[0]: एक ऑक्टेट
Adv_packet[0]: Adv_packet_len ऑक्टेट
Scan_data_resp_len[0]: एक ऑक्टेट
Scan_data_resp[0]: Scan_data_resp ऑक्टेट

कंट्रोलर डीबग की जानकारी वाला सब-इवेंट

इस इवेंट का इस्तेमाल, किसी होस्ट को बाइनरी डीबग की जानकारी देने के लिए, कंट्रोलर करता है.

सब-इवेंट कोड = 0x57

सब-इवेंट पैरामीटर साइज़ मकसद
debug_block_byte_offset_start दो ऑक्टेट शुरू से ही ब्लॉक बाइट ऑफ़सेट को डीबग करना
last_block 1 ऑक्टेट 0x00: ज़्यादा डीबग डेटा मौजूद है
0x01: आखिरी बाइनरी ब्लॉक; अब डीबग डेटा नहीं है
cur_pay_load_sz दो ऑक्टेट किसी मौजूदा इवेंट में बाइनरी ब्लॉक का साइज़
Debug_Data वैरिएबल cur_payload_sz का डीबग डेटा

ब्लूटूथ क्वालिटी रिपोर्ट सब-इवेंट

यह इवेंट इनमें से किसी एक चीज़ की जानकारी देता है: ब्लूटूथ क्वालिटी इवेंट हुआ, कंट्रोलर ने LMP/LL मैसेज ट्रेस और ब्लूटूथ मल्टी-लिंक/Coex शेड्यूलिंग ट्रेस अपलोड किया या कंट्रोलर ने डीबग जानकारी का डेटा डंप किया.

सब-इवेंट पैरामीटर साइज़ मकसद
Quality_Report_Id 1 ऑक्टेट 0x01: मॉनिटर मोड पर क्वालिटी रिपोर्टिंग.
0x02: एलएसटीओ (लांच स्टार्ट थ्रेशोल्ड) के करीब पहुंचना.
0x03: A2DP ऑडियो रुक-रुककर चलता है.
0x04: (e)SCO की आवाज़ का रुक-रुककर आना.
0x05 ~ 0x06: रिज़र्व है.
0x07: LE ऑडियो में रुकावट आ रही है.
0x08: कनेक्ट नहीं हो सका.
0x09 ~ 0xFF: रिज़र्व.
Packet_Types 1 ऑक्टेट 0x01: आईडी
0x02: NULL
0x03: POLL
0x04: एफ़एचएस
0x05: एचवी1
0x06: एचवी2
0x07: एचवी3
0x08: डीवी
0x09: ईवी3
0x0A: ईवी4
0x0B: ईवी5
0x0C: 2-ईवी3
0x0D: 2-ईवी5
0x0E: 3-ईवी3
0x0F: 3-ईवी5
0x11: डीएच1
0x12: डीएम3
0x13: डीएच3
0x14: डीएम5
0x15: डीएच5
0x16: AUX1
0x17: 2-डीएच1
0x18: 2-डीएच3
0x19: 2-डीएच5
0x1A: 3-डीएच1
0x1B: 3-डीएच3
0x1C: 3-डीएच5
0x1D ~ 0x50: रिज़र्व
0x51: आईएसओ पैकेट
0x52 ~ 0xFF: रिज़र्व
Connection_Handle दो ऑक्टेट ACL/(e)SCO/ISO कनेक्शन हैंडल.
Connection_Role 1 ऑक्टेट कनेक्शन के लिए भूमिका निभाना.
0x00: सेंट्रल
0x01: पेरिफ़रल
0x02 ~ 0xFF: रिज़र्व.
TX_Power_Level 1 ऑक्टेट दिए गए Connection_Handle के लिए, ट्रांसमिट पावर का मौजूदा लेवल.

यह वैल्यू, HCI_Read_Transmit_Power_Level HCI कमांड के रिस्पॉन्स में कंट्रोलर की वैल्यू जैसी ही होगी.

RSSI 1 ऑक्टेट [dBm में]

दिए गए Connection_Handle के लिए, सिग्नल की क्षमता का पता चलने वाला इंडिकेटर (आरएसएसआई) की वैल्यू.
यह वैल्यू, रिसीवर सिग्नल की सटीक स्ट्रेंथ की वैल्यू होगी.
रेंज: -127 से +20

SNR 1 ऑक्टेट [dB में]

दिए गए Connection_Handle के लिए, सिग्नल-टू-नॉइज़ रेशियो (एसएनआर) की वैल्यू.
कंट्रोलर, लिंक में इस्तेमाल किए गए सभी चैनलों का औसत SNR उपलब्ध कराएगा.

Unused_AFH_Channel_Count 1 ऑक्टेट AFH_channel_map में, इस्तेमाल नहीं किए गए चैनलों की संख्या दिखाता है.
0x4F ~ 0xFF: रिज़र्व है.
AFH_Select_Unideal_Channel_Count 1 ऑक्टेट उन चैनलों की संख्या दिखाता है जिनमें रुकावट आ रही है और जिनकी क्वालिटी खराब है, लेकिन फिर भी उन्हें एएफ़एच के लिए चुना गया है.
ब्लूटूथ स्पेसिफ़िकेशन के मुताबिक, कम से कम 20 चैनलों का इस्तेमाल किया जा सकता है. इसलिए, भले ही सभी 79 चैनलों में रुकावट आ रही हो और उनकी क्वालिटी खराब हो, फिर भी एएफ़एच के लिए कंट्रोलर को कम से कम 20 चैनल चुनने होंगे.
LSTO दो ऑक्टेट लिंक की निगरानी के लिए, टाइम आउट की मौजूदा सेटिंग.
समय = N * 0.625 मिलीसेकंड
समयसीमा: 0.625 मिलीसेकंड से 40.9 सेकंड
Connection_Piconet_Clock चार ऑक्टेट दिए गए Connection_Handle के लिए Piconet Clock.
यह वैल्यू, कंट्रोलर के जवाब की वैल्यू के बराबर होनी चाहिए. कंट्रोलर, 0x01 (Piconet Clock) के "Which_Clock" पैरामीटर के साथ HCI_Read_Clock HCI कमांड का जवाब देता है.
यूनिट: N * 0.3125 मिलीसेकंड (1 ब्लूटूथ क्लॉक)
Retransmission_Count चार ऑक्टेट पिछले इवेंट के बाद से, फिर से भेजे गए मैसेज की संख्या.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाएगी.
No_RX_Count चार ऑक्टेट पिछले इवेंट के बाद से, RX की संख्या नहीं है.
शेड्यूल किए गए टाइम स्लॉट पर कोई पैकेट न मिलने या मिलने वाले पैकेट के खराब होने पर, गिनती बढ़ जाती है.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाएगी.
NAK_Count चार ऑक्टेट पिछले इवेंट के बाद से, NAK (नेगेटिव Acknoledgement) की संख्या.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाएगी.
Last_TX_ACK_Timestamp चार ऑक्टेट पिछले TX ACK का टाइमस्टैंप. यह पिकोनेट सेंट्रल (CLK) के ब्लूटूथ क्लॉक पर आधारित है.
यूनिट: N * 0.3125 मिलीसेकंड (1 ब्लूटूथ क्लॉक)
Flow_Off_Count चार ऑक्टेट पिछले इवेंट के बाद, कंट्रोलर को फ़्लो-ऑफ़ (STOP) कितनी बार मिला.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाएगी.
Last_Flow_On_Timestamp चार ऑक्टेट आखिरी फ़्लो-ऑन (GO) का टाइमस्टैंप. यह पिकोनेट सेंट्रल (CLK) के ब्लूटूथ क्लॉक पर आधारित है.
यूनिट: N * 0.3125 मिलीसेकंड (1 ब्लूटूथ क्लॉक)
Buffer_Overflow_Bytes चार ऑक्टेट [बाइट में]

पिछले इवेंट के बाद से बफ़र ओवरफ़्लो की संख्या.
कंट्रोलर यह गिनता है कि कितने बाइट डेटा को छोड़ा गया है.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाएगी.

Buffer_Underflow_Bytes चार ऑक्टेट [बाइट में]

पिछले इवेंट के बाद से, बफ़र में डेटा कम होने की संख्या.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाएगी.

bdaddr छह ऑक्टेट रिमोट डिवाइस का पता
cal_failed_item_count 1 ऑक्टेट कैलिब्रेशन की प्रोसेस पूरी न कर पाने वाले आइटम की संख्या
TX_Total_Packets चार ऑक्टेट भेजे गए पैकेट की संख्या.
TX_UnAcked_Packets चार ऑक्टेट उन पैकेट की संख्या जिन्हें पुष्टि नहीं मिलती.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाती है.
TX_Flushed_Packets चार ऑक्टेट ऐसे पैकेट की संख्या जो फ़्लश पॉइंट तक नहीं भेजे जाते.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाती है.
TX_Last_Subevent_Packets चार ऑक्टेट CIS इवेंट के आखिरी सब-इवेंट में, लिंक लेयर के ज़रिए CIS डेटा पीडीयू को भेजे गए पैकेट की संख्या.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाती है.
अगर लिंक के लिए कोई मान्य वैल्यू नहीं है, तो वैल्यू शून्य होती है.
CRC_Error_Packets चार ऑक्टेट पिछले इवेंट के बाद, सीआरसी गड़बड़ी वाले पैकेज की संख्या.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाती है.
RX_Duplicate_Packets चार ऑक्टेट पिछले इवेंट के बाद से मिले डुप्लीकेट (फिर से भेजे गए) पैकेज की संख्या.
होस्ट को रिपोर्ट करने के बाद, यह संख्या रीसेट हो जाती है.
RX_Unreceived_Packets चार ऑक्टेट न मिलने वाले पैकेट की संख्या, LE READ ISO लिंक क्वालिटी कमांड के पैरामीटर के बराबर होती है. ज़्यादा जानकारी के लिए, Bluetooth कोर स्पेसिफ़िकेशन वर्शन 5.4 देखें. इससे जुड़ी स्ट्रीम, सीआईएस और बीआईएस हैं.
इस वैल्यू को बढ़ाने पर, लिंक लेयर को अपने फ़्लश पॉइंट (सीआईएस पर) या उस इवेंट के आखिर में कोई खास पेलोड नहीं मिलता जिससे वह जुड़ा होता है (बीआईएस पर; ब्लूटूथ कोर स्पेसिफ़िकेशन वर्शन 5.4 वॉल्यूम 6 पार्ट B, सेक्शन 4.4.6.6 देखें).
Coex_Info_Mask दो ऑक्टेट बिट 0 - CoexInvolvement: इस रिपोर्ट के जनरेट होने पर, यह बताने के लिए सेट किया जाता है कि इसमें कॉएक्स गतिविधियों का शामिल होने का संदेह है (उदाहरण के लिए, A2DP चॉप और ऐप्रोचिंग एलएसटीओ).
बिट 1 - WL 2G रेडियो चालू है: WLAN 2G रेडियो चालू होने की जानकारी देने के लिए सेट करें.
बिट 2 - WL 2G कनेक्टेड: यह सेट करने पर, WLAN 2G रेडियो चालू और कनेक्ट होने की जानकारी मिलती है.
तीसरा बिट - WL 5G/6G रेडियो चालू है: यह सेट करने पर, यह पता चलता है कि WLAN 5G/6G रेडियो चालू है.
बिट 4 से 15 - रिज़र्व
वेंडर के हिसाब से पैरामीटर (पैरामीटर की कुल लंबाई - तय नहीं है) * ऑक्टेट कंट्रोलर वेंडर के लिए, वेंडर के हिसाब से ज़्यादा पैरामीटर पाने के लिए.

सब-इवेंट कोड = 0x58 [Quality_Report_Id = 0x05, रूट में सूजन का इवेंट]

इस इवेंट से पता चलता है कि ब्लूटूथ एचएएल या कंट्रोलर को कोई गंभीर गड़बड़ी हुई है. इस स्थिति को रिकॉर्ड करने और रीस्टार्ट करने के लिए, ब्लूटूथ स्टैक की ज़रूरत है. किसी भी मामले में, डीबग जानकारी वाले इवेंट का पहला फ़्रैगमेंट भेजने से पहले, कंट्रोलर को ब्लूटूथ स्टैक पर Root_Inflammation_Event भेजना होगा.

Error_Code पैरामीटर में, HAL/कंट्रोलर से रिपोर्ट किया गया गड़बड़ी कोड होता है. अगर यह चिपसेट वेंडर से जुड़ी गड़बड़ी है, तो यह 0 होता है. Vendor_Specific_Error_Code में, HAL/कंट्रोलर से मिले चिपसेट वेंडर के हिसाब से गड़बड़ी का कोड होता है. अगर पैरामीटर Error_Code की वैल्यू 0 नहीं है, तो इसे 0 पर सेट किया जाना चाहिए. Error_Code और Vendor_Specific_Error_Code, दोनों पैरामीटर का वैल्यू 0 नहीं होना चाहिए.

सब-इवेंट पैरामीटर साइज़ मकसद
Quality_Report_Id 1 ऑक्टेट 0x00 ~ 0x04: रिज़र्व.
0x05: रूट में सूजन.
0x06 ~ 0xFF: रिज़र्व है.
Error_Code 1 ऑक्टेट 0x00: चिपसेट वेंडर से जुड़ा गड़बड़ी का कोड शामिल है.
0x01 ~ 0xFF: कंट्रोलर में गड़बड़ी हुई. गड़बड़ी के कोड और उनके बारे में जानकारी पाने के लिए, ब्लूटूथ स्पेसिफ़िकेशन [वॉल्यूम 2] का हिस्सा D, गड़बड़ी के कोड देखें.
Vendor_Specific_Error_Code 1 ऑक्टेट 0x00: चिपसेट वेंडर से जुड़ा कोई गड़बड़ी कोड शामिल नहीं है.
0x01 ~ 0xFF: चिपसेट वेंडर के हिसाब से गड़बड़ी का कोड.
वेंडर के हिसाब से पैरामीटर (पैरामीटर की कुल लंबाई - 4) * ऑक्टेट कंट्रोलर वेंडर के लिए, वेंडर के हिसाब से ज़्यादा पैरामीटर पाने के लिए.
सब-इवेंट पैरामीटर साइज़ मकसद
Quality_Report_Id 1 ऑक्टेट 0x00 ~ 0x10: रिज़र्व.
0x11: LMP/LL मैसेज ट्रेस.
0x12: ब्लूटूथ मल्टी-लिंक/कोएक्स शेड्यूलिंग ट्रेस.
0x13: कंट्रोलर डीबग की जानकारी का डेटा डंप.
0x14 ~ 0xFF: रिज़र्व.
Connection_Handle दो ऑक्टेट कनेक्शन हैंडल.
वेंडर के हिसाब से पैरामीटर (पैरामीटर की कुल लंबाई - 4) * ऑक्टेट LMP मैसेज ट्रैक, ब्लूटूथ मल्टी-लिंक/Coex शेड्यूलिंग ट्रैक, और कंट्रोलर डीबग जानकारी के डेटा डंप का वेंडर के हिसाब से फ़ॉर्मैट.

एक से ज़्यादा विज्ञापन देने वालों के लिए सहायता

एक से ज़्यादा विज्ञापन देने वालों को सहायता देने के ये लक्ष्य हैं:

  • एक से ज़्यादा विज्ञापनों के साथ काम करने की सुविधा (max_advt_instances)
  • अलग-अलग रेंज के लिए, ट्रांसमिट करने की अलग-अलग क्षमताएं
  • विज्ञापन का अलग-अलग कॉन्टेंट
  • हर विज्ञापन देने वाले के लिए अलग-अलग जवाब
  • विज्ञापन देने वाले हर व्यक्ति या कंपनी के लिए निजता (ट्रैक नहीं की जा सकती)
  • कनेक्ट किया जा सकता है

इस खास जानकारी को मौजूदा स्टैंडर्ड के करीब रखने के लिए, यहां दिए गए वेंडर के हिसाब से निर्देश दिए गए हैं. इन्हें ब्लूटूथ कोर 4.1 स्पेसिफ़िकेशन से लिया गया है.

LE_Multi_Advt_Command

OCF: 0x154

कमांड पैरामीटर साइज़ मकसद
Multi_advt_opcode 1 ऑक्टेट 0x01 - Set_Advt_Param_Multi_Sub_Cmd
0x02 - Set_Advt_Data_Multi_Sub_Cmd
0x03 - Set_Scan_Resp_Data_Multi_Sub_Cmd
0x04 - Set_Random_Addr_Multi_Sub_Cmd
0x05 - Set_Advt_Enable_Multi_Sub_Cmd

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Multi_advt_opcode 1 ऑक्टेट 0x01 - Set_Advt_Param_Multi_Command
0x02 - Set_Advt_Data_Multi_Command
0x03 - Set_Scan_Resp_Data_Multi_Command
0x04 - Set_Random_Addr_Multi_Command
0x05 - Set_Advt_Enable_Multi_Command

LE_Multi_Advt_Command: Set_Advt_Param_Multi_Sub_Cmd

बुनियादी रेफ़रंस: ब्लूटूथ कोर 4.1 स्पेसिफ़िकेशन, पेज 964 (LE सेट विज्ञापन पैरामीटर कमांड)

सब-ओसीएफ़: 0x01

सब-कमांड पैरामीटर साइज़ मकसद
Advertising_Interval_Min हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Interval_Max हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Type हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Own_Address_Type हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Own_Address हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Direct_Address_Type हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Direct_Address हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Channel_Map हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Adverstising_Filter_Policy हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Instance 1 ऑक्टेट किसी इंस्टेंस पर ऊपर दिए गए पैरामीटर लागू होने की जानकारी देता है
Tx_power 1 ऑक्टेट Transmit_Power
यूनिट - dBm में (साइन वाला पूर्णांक)
रेंज (-70 से +20)

Own_Address पैरामीटर, एक से ज़्यादा विज्ञापन वाले इंस्टेंस को सेट अप करते समय, होस्ट से कॉन्फ़िगर किया गया पता हो सकता है. इससे, पहले बीकन को ट्रांसमिट करने के समय, रिज़ॉल्व किया जा सकने वाला निजी पता पाने की सुविधा मिलती है. किसी इंस्टेंस पर विज्ञापन दिखना जारी रहेगा, भले ही वह किसी भी तरह के कनेक्शन से कनेक्ट हो. होस्ट बीटी स्टैक, कनेक्ट होने के बाद किसी इंस्टेंस पर विज्ञापन दिखाने के लिए कमांड जारी कर सकता है.

ऊपर दिए गए कमांड के मुताबिक, इस कमांड के लिए 'कमांड पूरा हुआ' इवेंट जनरेट किया जाएगा. अगर विज्ञापन इंस्टेंस या Tx_Power पैरामीटर अमान्य हैं, तो कंट्रोलर, गड़बड़ी (अमान्य पैरामीटर) कोड के साथ जवाब देगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Multi_advt_opcode 1 ऑक्टेट 0x01 [Set_Advt_Param_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Advt_Data_Multi_Sub_Cmd

बुनियादी रेफ़रंस: ब्लूटूथ कोर 4.1 स्पेसिफ़िकेशन, पेज 969 (LE सेट विज्ञापन डेटा कमांड)

सब-ओसीएफ़: 0x02

सब-कमांड पैरामीटर साइज़ मकसद
Advertising_Data_Length हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Data हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Instance 1 ऑक्टेट किसी इंस्टेंस पर ऊपर दिए गए पैरामीटर लागू होने की जानकारी देता है

ऊपर दिए गए कमांड के मुताबिक, इस कमांड के लिए 'कमांड पूरा हुआ' इवेंट जनरेट किया जाएगा. अगर विज्ञापन इंस्टेंस या Tx_Power पैरामीटर अमान्य हैं, तो कंट्रोलर, गैर-सफल कोड के साथ जवाब देगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Multi_advt_opcode 1 ऑक्टेट 0x02 [Set_Advt_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Scan_Resp_Data_Multi_Sub_Cmd

बुनियादी रेफ़रंस: ब्लूटूथ कोर 4.1 स्पेसिफ़िकेशन, पेज 970 (LE सेट स्कैन रिस्पॉन्स डेटा कमांड)

सब-ओसीएफ़: 0x03

सब-कमांड पैरामीटर साइज़ मकसद
Scan_Response_Data_Length हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Scan_Response_Data हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Instance 1 ऑक्टेट किसी इंस्टेंस पर ऊपर दिए गए पैरामीटर लागू होने की जानकारी देता है

ऊपर दिए गए कमांड के मुताबिक, इस कमांड के लिए 'कमांड पूरा हुआ' इवेंट जनरेट किया जाएगा. अगर विज्ञापन इंस्टेंस या Tx_Power पैरामीटर अमान्य हैं, तो कंट्रोलर, गैर-सफलता कोड (अमान्य पैरामीटर) के साथ जवाब देगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Multi_advt_opcode 1 ऑक्टेट 0x03 [Set_Scan_Resp_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Random_Addr_Multi_Sub_Cmd

बुनियादी रेफ़रंस: ब्लूटूथ कोर 4.1 स्पेसिफ़िकेशन, पेज 963 (LE सेट रैंडम पता कमांड)

सब ओसीएफ़: 0x04

सब-कमांड पैरामीटर साइज़ मकसद
रैंडम पता हर स्पेसिफ़िकेशन के हिसाब से हर स्पेसिफ़िकेशन के हिसाब से
Advertising_Instance 1 ऑक्टेट किसी इंस्टेंस पर ऊपर दिए गए पैरामीटर लागू होने की जानकारी देता है

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Multi_advt_opcode 1 ऑक्टेट 0x04 [Set_Random_Addr_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Advt_Enable_Multi_Sub_Cmd

बुनियादी रेफ़रंस: ब्लूटूथ कोर 4.1 स्पेसिफ़िकेशन, पेज 971 (उस कोर स्पेसिफ़िकेशन में LE Set Advertise Enable Command)

OCF: 0x05

सब-कमांड पैरामीटर साइज़ मकसद
Advertising_Enable 1 ऑक्टेट 1 की वैल्यू का मतलब है कि सुविधा चालू है. किसी अन्य वैल्यू का मतलब है कि इसे बंद किया गया है.
Advertising_Instance 1 ऑक्टेट इससे पता चलता है कि ऊपर दिए गए पैरामीटर, किसी इंस्टेंस पर लागू होते हैं या नहीं. इंस्टेंस 0 का मतलब स्टैंडर्ड HCI इंस्टेंस से है.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Multi_advt_opcode 1 ऑक्टेट 0x05 [Set_Advt_Enable_Multi_Sub_Cmd]

निजी पते का रिज़ॉल्यूशन ऑफ़लोड किया गया

यह सुविधा, कंट्रोलर फ़र्मवेयर या हार्डवेयर में निजी पते को हल करती है. इससे ये फ़ायदे मिलते हैं:

  • निजी पते को हल करने में होस्ट के साथ लगने वाला समय
  • होस्ट को जगाने से बचकर, बिजली की बचत करना

LE_Set_RPA_Timeout

OCF: 0x15C

कमांड पैरामीटर साइज़ मकसद
LE_local_IRK 16 ऑक्टेट स्थानीय डिवाइस का आईआरके, जिसका इस्तेमाल रैंडम पता जनरेट करने के लिए किया जाता है.
tRPA_min दो ऑक्टेट आरपीए जनरेशन का कम से कम टाइम आउट, सेकंड में. इस टाइम आउट के बाद या उससे पहले, विज्ञापन/स्कैनिंग/कनेक्शन से जुड़े किसी भी इवेंट के लिए, कंट्रोलर को नए पते जनरेट करने होंगे.
मान्य रेंज: 300 से 1,800
tRPA_max दो ऑक्टेट आरपीए जनरेशन का ज़्यादा से ज़्यादा टाइम आउट, सेकंड में. इस टाइम आउट के दौरान या उससे पहले, कंट्रोलर को विज्ञापन/स्कैनिंग/कनेक्शन से जुड़े किसी भी इवेंट के लिए, नए पते जनरेट करने होंगे.
मान्य रेंज: tRPA_min-1800
रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट निर्देश का स्टेटस.

सुझाई गई HCI स्टेटस वैल्यू:
0x00 सफल
0x01 अज्ञात निर्देश (अगर काम नहीं करता)
0x12 अमान्य निर्देश पैरामीटर (अगर कोई पैरामीटर दी गई रेंज से बाहर है)

LE_RPA_offload_Command

OCF: 0x155

कमांड पैरामीटर साइज़ मकसद
RPA_offload_opcode 1 ऑक्टेट 0x1 - ग्राहक के हिसाब से सुविधा चालू करें
0x2 - सूची में आईआरके जोड़ें
0x3 - सूची से आईआरके हटाएं
0x4 - आईआरके सूची मिटाएं
0x5 - आईआरके सूची में मौजूद एंट्री पढ़ें

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Event_RPA_offload_opcode 1 ऑक्टेट 0x1 - ग्राहक के हिसाब से सुविधा चालू करें
0x2 - सूची में आईआरके जोड़ें
0x3 - सूची से आईआरके हटाएं
0x4 - आईआरके सूची मिटाएं
0x5 - आईआरके सूची में मौजूद एंट्री पढ़ें

LE_RPA_offload: Enable_cust_specific_sub_Command

सब-ओसीएफ़: 0x01

सब-कमांड पैरामीटर साइज़ मकसद
enable_customer_specific_feature_set 1 ऑक्टेट 0x01 - ऑफ़लोड की गई आरपीए सुविधा चालू करें
0x00 - ऑफ़लोड की गई आरपीए सुविधा बंद करें

चिप की क्षमता के आधार पर, होस्ट को आरपीए ऑफ़लोड की सुविधा चालू करनी होगी. LE_Get_Vendor_Capabilities_Command देखें. हर चिप के फ़र्मवेयर में अलग-अलग max_irk_list_sz हो सकता है.

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Event_cust_specific_feature_opcode 1 ऑक्टेट 0x01 [ग्राहक के हिसाब से सुविधा चालू करना]

LE_RPA_offload: Add_IRK_to_list_sub_Command

सब-ओसीएफ़: 0x02

सब-कमांड पैरामीटर साइज़ मकसद
LE_IRK 16 ऑक्टेट LE IRK (1st byte LSB)
Address_Type 1 ऑक्टेट 0: सार्वजनिक पता
1: कोई भी पता
LE_Device_Address छह ऑक्टेट IRK (पहला बाइट LSB) से जुड़ा सार्वजनिक या रैंडम पता

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Event_cust_specific_feature_opcode 1 ऑक्टेट 0x02 [सूची में IRK जोड़ें]
LE_IrkList_AvailableSpaces 1 ऑक्टेट मौजूदा कार्रवाई के बाद, असल दुनिया में मौजूद प्रॉडक्ट की सूची में उपलब्ध एंट्री

LE_RPA_offload: Remove_IRK_to_list_sub_Command

सब-ओसीएफ़: 0x03

सब-कमांड पैरामीटर साइज़ मकसद
Address_Type 1 ऑक्टेट 0: सार्वजनिक पता
1: कोई भी पता
LE_Device_Address छह ऑक्टेट आईआरके से जुड़ा सार्वजनिक या कोई दूसरा पता

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Event_cust_specific_feature_opcode 1 ऑक्टेट 0x03 [सूची से IRK हटाएं]
LE_IrkList_AvailableSpaces 1 ऑक्टेट मौजूदा कार्रवाई के बाद, असल दुनिया में मौजूद प्रॉडक्ट की सूची में उपलब्ध एंट्री

LE_RPA_offload: Clear_IRK_list_sub_Command

सब ओसीएफ़: 0x04

सब-कमांड पैरामीटर साइज़ मकसद
कोई नहीं

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Event_cust_specific_feature_opcode 1 ऑक्टेट 0x04 [आईआरके की सूची मिटाएं]
LE_IrkList_AvailableSpaces 1 ऑक्टेट मौजूदा कार्रवाई के बाद, असल दुनिया में उपलब्ध प्रॉडक्ट की सूची में मौजूद एंट्री [max_irk_list_sz]

LE_RPA_offload: Read_IRK_list_sub_Command

सब-ओसीएफ़: 0x05

सब-कमांड पैरामीटर साइज़ मकसद
LE_read_IRK_list_entry-index 1 ऑक्टेट आईआरके सूची का इंडेक्स [0, max_irk_list_sz-1]

इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.

रिटर्न पैरामीटर साइज़ मकसद
Status 1 ऑक्टेट कमांड पूरा होने की स्थिति
Event_cust_specific_feature_opcode 1 ऑक्टेट 0x05 [आईआरके की सूची में मौजूद एंट्री पढ़ें]
LE_Read_IRK_List_entry 1 ऑक्टेट उस आईआरके का इंडेक्स जिसे होस्ट को पढ़कर सुनाना है (आईआरके की सूची का ज़्यादा से ज़्यादा साइज़ 32 है)
LE_IRK 16 ऑक्टेट IRK वैल्यू
Address_Type 1 ऑक्टेट 0: सार्वजनिक पता
1: कोई भी पता
LE_Device_Address छह ऑक्टेट आईआरके से जुड़ा सार्वजनिक या कोई दूसरा पता
LE_Resolved_Private_Address छह ऑक्टेट इस आईआरके का मौजूदा, हल किया गया निजी पता