होस्ट कंट्रोलर इंटरफ़ेस (एचसीआई) का इस्तेमाल, किसी ब्लूटूथ कंट्रोलर के साथ इंटरैक्ट करने के लिए किया जाता है.
इस दस्तावेज़ में, ब्लूटूथ (बीटी) और ब्लूटूथ स्मार्ट (बीएलई) एचसीआई की ज़रूरी शर्तों की सूची दी गई है. इसका मकसद, होस्ट बीटी स्टैक वेंडर और बीटी कंट्रोलर वेंडर को इन प्लैटफ़ॉर्म की ज़रूरी शर्तों का पालन करने के लिए कहना है, ताकि वे नीचे बताए गए सुविधा सेट का इस्तेमाल कर सकें.
इस दस्तावेज़ में, ब्लूटूथ कोर 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 |
वैरिएबल का साइज़ |
स्थानीय नाम के लिए वर्ण स्ट्रिंग. ध्यान दें:
|
इस निर्देश के लिए, 'निर्देश पूरा हुआ' इवेंट जनरेट होगा.
रिटर्न पैरामीटर | साइज़ | मकसद |
---|---|---|
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 |
वैरिएबल का साइज़ |
मैन्युफ़ैक्चरर डेटा के लिए वर्ण स्ट्रिंग. ध्यान दें:
|
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 |
वैरिएबल का साइज़ |
सेवा के डेटा के लिए वर्ण स्ट्रिंग. ध्यान दें:
|
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 |
दो ऑक्टेट |
एक्सटेंडेड सुविधाओं के लिए बिट मास्क, जो काम करते हैं:
बिट की वैल्यू
|
कंट्रोलर की गतिविधि और ऊर्जा की जानकारी देने वाला निर्देश
इस जानकारी का मकसद, होस्ट सिस्टम के बेहतर फ़ंक्शन के लिए, सभी कॉम्पोनेंट की कुल गतिविधियों का विश्लेषण करना है. इसमें ऐप्लिकेशन और फ़्रेमवर्क में होने वाली गतिविधियों के साथ-साथ, बीटी कंट्रोलर और उसकी मैक्रो स्थिति का विश्लेषण भी शामिल है. ऐसा करने के लिए, बीटी स्टैक और कंट्रोलर से यह जानकारी ज़रूरी है:
- बीटी स्टैक: कंट्रोलर की मौजूदा मैक्रो-ऑपरेशनल स्थिति की रिपोर्टिंग
- फ़र्मवेयर: गतिविधि और ऊर्जा की कुल जानकारी की रिपोर्टिंग
उपयोगकर्ता के लेवल पर तय की गई 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 हेडर जोड़ने की सुविधा चालू करता है.
ऑक्टेट 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 में, एसबीसी कोडेक की खास जानकारी वाले एलिमेंट देखें. AAC कोडेक:
A2DP v1.3 में AAC कोडेक की खास जानकारी वाले एलिमेंट देखें LDAC कोडेक:
ऑक्टेट 0-3: वेंडर आईडी
ऑक्टेट 4-5: कोडेक आईडी
ऑक्टेट 6: बिटरेट इंडेक्स:
ऑक्टेट 7: LDAC चैनल मोड ऑक्टेट 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 - जोड़ें
मिटाने पर, क्वालिटी इवेंट की रिपोर्टिंग मिट जाएगी. |
BQR_Quality_Event_Mask |
चार ऑक्टेट |
चुनी गई क्वालिटी इवेंट रिपोर्टिंग के लिए बिट मास्क.
बिट 0: क्वालिटी मॉनिटरिंग मोड चालू करने के लिए सेट करें. |
BQR_Minimum_Report_Interval |
दो ऑक्टेट |
चुने गए क्वालिटी इवेंट के लिए, क्वालिटी इवेंट की रिपोर्टिंग के कम से कम समय के इंटरवल तय करें. कंट्रोलर फ़र्मवेयर को तय किए गए समय अंतराल के अंदर, अगले इवेंट की जानकारी नहीं देनी चाहिए. इंटरवल की सेटिंग, जोड़ी जा रही क्वालिटी इवेंट के लिए तय की जाएगी.
यूनिट: मिलीसेकंड |
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 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 शेड्यूलिंग ट्रेस अपलोड किया या कंट्रोलर ने डीबग जानकारी का डेटा डंप किया.
सब-इवेंट कोड = 0x58 [Quality_Report_Id = 0x01 ~ 0x04, लिंक की क्वालिटी से जुड़ा इवेंट]
सब-इवेंट पैरामीटर | साइज़ | मकसद |
---|---|---|
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 के लिए, सिग्नल की क्षमता का पता चलने वाला इंडिकेटर (आरएसएसआई) की वैल्यू. |
SNR |
1 ऑक्टेट |
[dB में]
दिए गए
Connection_Handle के लिए, सिग्नल-टू-नॉइज़ रेशियो (एसएनआर) की वैल्यू. |
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) * ऑक्टेट | कंट्रोलर वेंडर के लिए, वेंडर के हिसाब से ज़्यादा पैरामीटर पाने के लिए. |
सब-इवेंट कोड = 0x58 [Quality_Report_Id = 0x11 ~ 0x13, लॉग डंप से जुड़ा इवेंट]
सब-इवेंट पैरामीटर | साइज़ | मकसद |
---|---|---|
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 |
छह ऑक्टेट | इस आईआरके का मौजूदा, हल किया गया निजी पता |