होस्ट कंट्रोलर इंटरफ़ेस (HCI) का उपयोग ब्लूटूथ नियंत्रक के साथ इंटरैक्ट करने के लिए किया जाता है।
यह दस्तावेज़ ब्लूटूथ (बीटी) और ब्लूटूथ लो एनर्जी (बीएलई) एचसीआई आवश्यकताओं की एक सूची प्रदान करता है। इसका उद्देश्य होस्ट बीटी स्टैक विक्रेताओं और बीटी नियंत्रक विक्रेताओं के लिए नीचे वर्णित फीचर सेट का उपयोग करने के लिए इन प्लेटफ़ॉर्म आवश्यकताओं के अनुरूप होना है।
यह दस्तावेज़ ब्लूटूथ कोर 5.2 विशिष्टता को "विशिष्टता" के रूप में संदर्भित करता है। ब्लूटूथ कोर 5.2 विशिष्टता ब्लूटूथ एसआईजी वेबसाइट पर अन्य अपनाए गए दस्तावेजों के साथ उपलब्ध है।
सामान्य डिज़ाइन अवलोकन
चिप क्षमताएं और कॉन्फ़िगरेशन
एक खुले प्लेटफ़ॉर्म के रूप में, एंड्रॉइड में सॉफ़्टवेयर रिलीज़, OEM, विक्रेता और प्लेटफ़ॉर्म और चिप क्षमताओं का एक मैट्रिक्स होता है।
अलग-अलग परिदृश्य को प्रबंधित करने और माइग्रेशन को प्रबंधित करने के लिए, बीटी नियंत्रकों को अपनी क्षमताओं (मानक ब्लूटूथ कोर 5.2 विशिष्टता से परे) को उजागर करने की अनुमति देने का एक डिज़ाइन दर्शन इस दस्तावेज़ में वर्णित है। होस्ट बीटी स्टैक इन क्षमताओं का उपयोग यह निर्धारित करने के लिए कर सकता है कि किन सुविधाओं को सक्षम किया जाए।
खुले मानकों का समर्थन करना
एंड्रॉइड का एक लक्ष्य ब्लूटूथ विनिर्देश में अनुसमर्थन के बाद खुले मानकों का समर्थन करना है। यदि नीचे वर्णित कोई सुविधा भविष्य के ब्लूटूथ विनिर्देश में मानक एचसीआई विधियों में उपलब्ध हो जाती है, तो हम उस दृष्टिकोण को डिफ़ॉल्ट बनाने की ओर झुकेंगे।
विक्रेता-विशिष्ट क्षमताएँ
विक्रेता-विशिष्ट आदेश: LE_Get_Vendor_Capabilities_Command
ओपकोड कमांड फील्ड (ओसीएफ): 0x153
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
ना | खाली कमांड पैरामीटर सूची |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
max_advt_instances (अस्वीकृत) | 1 अष्टक | समर्थित विज्ञापन उदाहरणों की संख्या. V0.98 के बाद आरक्षित। यह पैरामीटर बीटी स्पेक संस्करण 5.0 और उच्चतर में उपलब्ध एलई एक्सटेंडेड एडवरटाइजिंग के पक्ष में Google फीचर स्पेक v0.98 और उच्चतर में अप्रचलित है। |
offloaded_resolution_of_private-address (अस्वीकृत) | 1 अष्टक | आरपीए की बीटी चिप क्षमता। यदि किसी चिप द्वारा समर्थित है, तो इसे होस्ट द्वारा सक्षम करने की आवश्यकता है। 0 = सक्षम नहीं 1=सक्षम V0.98 के बाद आरक्षित। यह पैरामीटर बीटी स्पेक संस्करण 4.2 और उच्चतर में उपलब्ध गोपनीयता सुविधा के पक्ष में Google फीचर स्पेक v0.98 और उच्चतर में अप्रचलित है। |
total_scan_results_storage | 2 अष्टक | बाइट्स में स्कैन परिणामों के लिए भंडारण |
max_irk_list_sz | 1 अष्टक | फ़र्मवेयर में समर्थित IRK प्रविष्टियों की संख्या |
filtering_support | 1 अष्टक | नियंत्रक में फ़िल्टरिंग के लिए समर्थन 0 = समर्थित नहीं 1 = समर्थित |
max_filter | 1 अष्टक | समर्थित फ़िल्टर की संख्या |
activity_energy_info_support | 1 अष्टक | गतिविधि और ऊर्जा सूचना की रिपोर्टिंग का समर्थन करता है 0 = सक्षम नहीं 1=सक्षम |
version_supported | 2 अष्टक | समर्थित Google सुविधा विनिर्देश का संस्करण निर्दिष्ट करता है बाइट[0] = प्रमुख संख्या बाइट[1] = लघु संख्या v1.03 बाइट[0] = 0x01 बाइट[1] = 0x03 |
total_num_of_advt_tracked | 2 अष्टक | OnLost / OnFound उद्देश्यों के लिए ट्रैक किए गए विज्ञापनदाताओं की कुल संख्या |
extended_scan_support | 1 अष्टक | विस्तारित स्कैन विंडो और अंतराल का समर्थन करता है |
debug_logging_supported | 1 अष्टक | नियंत्रक से बाइनरी डिबग जानकारी लॉगिंग का समर्थन करता है |
LE_address_generation_offloading_support (अस्वीकृत) | 1 अष्टक | 0 = समर्थित नहीं 1 = समर्थित V0.98 के बाद आरक्षित। यह पैरामीटर बीटी स्पेक संस्करण 4.2 और उच्चतर में उपलब्ध गोपनीयता सुविधा के पक्ष में Google फीचर स्पेक v0.98 और उच्चतर में अप्रचलित है। |
A2DP_source_offload_capability_mask | 4 अष्टक | कोडेक प्रकारों के लिए बिट मास्क समर्थित बिट 0 - एसबीसी बिट 1 - एएसी बिट 2 - एपीटीएक्स बिट 3 - एपीटीएक्स एचडी बिट 4 - एलडीएसी बिट 5-31 आरक्षित हैं |
bluetooth_quality_report_support | 1 अष्टक | ब्लूटूथ गुणवत्ता घटनाओं की रिपोर्टिंग का समर्थन करता है 0 = सक्षम नहीं 1=सक्षम |
dynamic_audio_buffer_support | 4 अष्टक | ब्लूटूथ नियंत्रक में गतिशील ऑडियो बफर का समर्थन करता है कोडेक प्रकारों के लिए बिट मास्क समर्थित बिट 0 - एसबीसी बिट 1 - एएसी बिट 2 - एपीटीएक्स बिट 3 - एपीटीएक्स एचडी बिट 4 - एलडीएसी बिट 5-31 आरक्षित हैं |
स्कैन परिणामों की बैचिंग
एक डिज़ाइन लक्ष्य यह बढ़ाना है कि होस्ट में बिजली बचाने के लिए ब्लूटूथ एलई स्कैन रिस्पांस ईवेंट सूचनाएं होस्ट तक कैसे पहुंचाई जाती हैं।
परिणामों को स्कैन करने के लिए नियंत्रक होस्ट एप्लिकेशन प्रोसेसर को कितनी बार सूचित करता है इसे कम करके, होस्ट एप्लिकेशन प्रोसेसर लंबे समय तक निष्क्रिय/नींद में रह सकता है। इससे होस्ट में बिजली की खपत कम हो जाती है। LE_Get_Vendor_Capabilities_Command
का रिटर्न पैरामीटर total_scan_results_storage
स्कैन परिणामों के भंडारण के लिए चिप क्षमता को इंगित करता है।
यह सुविधा ब्लूटूथ नियंत्रक में एलई स्कैन परिणाम भंडारण सुविधा के प्रबंधन और कॉन्फ़िगरेशन पर केंद्रित है। स्टोरेज का उपयोग अस्थायी रूप से विज्ञापन डेटा को बैचने और डेटा और मेटाडेटा को स्कैन करने के लिए किया जाता है जो होस्ट को बाद में डिलीवरी के लिए नियंत्रक द्वारा प्राप्त होते हैं।
फ़र्मवेयर दो प्रकार की बैचिंग का समर्थन करेगा, जिसे एक साथ जोड़ा जा सकता है:
- काट दिया गया। निम्नलिखित सूचना तत्व शामिल हैं: {MAC, TX पावर, RSSI, टाइमस्टैम्प}
- भरा हुआ। निम्नलिखित सूचना तत्व शामिल हैं: {मैक, टीएक्स पावर, आरएसएसआई, टाइमस्टैम्प, एड डेटा, स्कैन रिस्पांस}
LE_बैच_स्कैन_कमांड
ओसीएफ: 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 | 4 अष्टक | बैच स्कैन स्कैन समय (स्लॉट का #) |
Duty_cyle_scan_interval | 4 अष्टक | बैच स्कैन अंतराल अवधि (स्लॉट का #) |
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, टाइमस्टैम्प}
जब पूर्ण मोड सक्षम होता है, तो सक्रिय स्कैनिंग का उपयोग किया जाएगा और स्कैन प्रतिक्रियाएं रिकॉर्ड की जाएंगी। पूर्ण शैली अद्वितीय कुंजी = {मैक, विज्ञापन पैकेट}, स्कैन अंतराल के बावजूद। पूर्ण मोड के लिए रखने का रिकॉर्ड { BD_ADDR
, Tx Power, RSSI, टाइमस्टैम्प, विज्ञापन पैकेट, स्कैन रिस्पांस} है। पूर्ण शैली में, एक ही AD पैकेट, जब विभिन्न स्कैन अंतरालों में कई बार देखा जाता है, केवल एक बार रिकॉर्ड किया जाता है। हालाँकि, ट्रंकेटेड मोड में, विभिन्न स्कैन अंतरालों में BA_ADDR
की दृश्यता रुचिकर होती है (प्रति स्कैन अंतराल में एक बार)। आरएसएसआई एक स्कैन अंतराल के भीतर एक अद्वितीय विज्ञापन के सभी डुप्लिकेट का औसत मूल्य है।
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
Batch_scan_opcode | 1 अष्टक | 0x03 [बैच स्कैन पैरामीटर सेट करें] |
LE_Batch_Scan_Command: बैच स्कैन परिणाम उप-कमांड पढ़ें
उप ओसीएफ: 0x04
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Batch_Scan_Data_read | 1 अष्टक | 0x01 - ट्रंकेटेड मोड डेटा 0x02 - पूर्ण मोड डेटा |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा। जब होस्ट यह कमांड जारी करता है, तो कंट्रोलर के सभी परिणाम एक कमांड कम्प्लीट इवेंट में फिट नहीं हो सकते हैं। होस्ट इस कमांड को तब तक जारी करेगा जब तक कि कमांड कंप्लीट इवेंट में संबंधित परिणाम रिकॉर्ड की संख्या में 0 नहीं दर्शाते हैं, जो इंगित करता है कि नियंत्रक के पास होस्ट से संचार करने के लिए कोई और रिकॉर्ड नहीं है। प्रत्येक कमांड पूर्ण ईवेंट में केवल एक प्रकार के डेटा (पूर्ण या छोटा) के कई रिकॉर्ड शामिल हो सकते हैं।
नियंत्रक और होस्ट समय संदर्भ सिंक्रनाइज़ नहीं हैं। टाइमस्टैम्प की इकाई 50ms है. टाइमस्टैम्प का मान तब आधारित होता है जब होस्ट द्वारा Read_Batch_Scan_Results_Sub_cmd
दिया जाता है। यदि फ़र्मवेयर में कमांड आगमन का समय T_c
है, तो फ़र्मवेयर में टाइमस्टैम्प लेने का वास्तविक समय T_fw
है। रिपोर्टिंग समय होगा: ( T_c
- T_fw
). T_c
और T_fw
फ़र्मवेयर टाइम डोमेन में हैं। इससे मेज़बान यह गणना कर सकता है कि घटना कितने समय पहले हुई थी।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
Batch_scan_opcode | 1 अष्टक | 0x03 [बैच स्कैन पैरामीटर सेट करें] |
Batch_Scan_data_read | 1 अष्टक | प्रारूप की पहचान करता है (छोटा या पूर्ण) |
num_of_records | 1 अष्टक | Batch_Scan_data_read के रिकॉर्ड की संख्या |
format_of_data | चर | काट-छाँट मोड: पता[0]: 6 ऑक्टेट पता_प्रकार[0]: 1 ऑक्टेट Tx_Pwr[0]: 1 ऑक्टेट आरएसएसआई[0] : 1 ऑक्टेट टाइमस्टैम्प[0]: 2 ऑक्टेट [उपरोक्त प्रारूप के साथ एकाधिक रिकॉर्ड ( num_of_records )]पूर्ण मोड: पता[0]: 6 ऑक्टेट पता_प्रकार[0]: 1 ऑक्टेट Tx_Pwr[0]: 1 ऑक्टेट आरएसएसआई[0]: 1 ऑक्टेट टाइमस्टैम्प[0]: 2 ऑक्टेट विज्ञापन पैकेट_लेन[0]: 1 ऑक्टेट Adv_packet[0]: Adv_packet_len ऑक्टेट स्कैन_डेटा_रेस्प_लेन[0]: 1 ऑक्टेट स्कैन_डेटा_रेस्प[0]: Scan_data_resp ऑक्टेट[उपरोक्त प्रारूप के साथ कई रिकॉर्ड ( num_of_records )] |
विज्ञापन पैकेट सामग्री फ़िल्टर
नियंत्रक में विज्ञापन पैकेट सामग्री फ़िल्टर (एपीसीएफ) को सक्षम/अक्षम/सेटअप करने के लिए इसका उपयोग करें। एपीसीएफ नियंत्रक में विज्ञापन रिपोर्ट को फ़िल्टर करता है लेकिन आवधिक विज्ञापन को फ़िल्टर नहीं करता है।
LE_APCF_कमांड
ओसीएफ: 0x157
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
APCF_opcode | 1 अष्टक | 0x00 - एपीसीएफ सक्षम करें 0x01 - APCF फ़िल्टरिंग पैरामीटर सेट करें 0x02 - एपीसीएफ ब्रॉडकास्टर पता 0x03 - एपीसीएफ सेवा यूयूआईडी 0x04 - एपीसीएफ सेवा आग्रह यूयूआईडी 0x05 - एपीसीएफ स्थानीय नाम 0x06 - एपीसीएफ निर्माता डेटा 0x07 - एपीसीएफ सेवा डेटा 0x08 - एपीसीएफ परिवहन डिस्कवरी सेवा 0x09 - एपीसीएफ एडी प्रकार फ़िल्टर 0x10 ~ 0xAF - भविष्य में उपयोग के लिए आरक्षित 0xB0 ~ 0xDF - विक्रेता के लिए आरक्षित 0xE0 ~ 0xFE - भविष्य में उपयोग के लिए आरक्षित 0xFF - APCF विस्तारित सुविधाएँ पढ़ें |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | वापसी की स्थिति |
APCF_opcode | 1 अष्टक | 0x00 - एपीसीएफ सक्षम करें 0x01 - APCF फ़िल्टरिंग पैरामीटर सेट करें 0x02 - एपीसीएफ ब्रॉडकास्टर पता 0x03 - एपीसीएफ सेवा यूयूआईडी 0x04 - एपीसीएफ सेवा आग्रह यूयूआईडी 0x05 - एपीसीएफ स्थानीय नाम 0x06 - एपीसीएफ निर्माता डेटा 0x07 - एपीसीएफ सेवा डेटा 0x08 - एपीसीएफ परिवहन डिस्कवरी सेवा 0x09 - एपीसीएफ एडी प्रकार फ़िल्टर 0x10 ~ 0xAF - भविष्य में उपयोग के लिए आरक्षित 0xB0 ~ 0xDF - विक्रेता के लिए आरक्षित 0xE0 ~ 0xFE - भविष्य में उपयोग के लिए आरक्षित 0xFF - APCF विस्तारित सुविधाएँ पढ़ें |
LE_APCF_कमांड: Enable_sub_cmd
उप ओसीएफ: 0x00
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
APCF_enable | 1 अष्टक | 0x01 - एपीसीएफ सुविधा सक्षम करें 0x00 - एपीसीएफ सुविधा अक्षम करें |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
APCF_opcode | 1 अष्टक | 0x0 - एपीसीएफ सक्षम करें |
APCF_Enable | 1 अष्टक | सक्षम/अक्षम APCF_enable के माध्यम से सेट किया गया है |
LE_APCF_कमांड: set_filtering_parameters_sub_cmd
इस उपकमांड का उपयोग फ़िल्टर विनिर्देश जोड़ने या हटाने या ऑन-चिप फ़िल्टरिंग के लिए फ़िल्टर सूची साफ़ करने के लिए किया जाता है।
उप ओसीएफ: 0x01
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 अष्टक | 0x00 - जोड़ें 0x01 - हटाएँ 0x02 - साफ़ करें हटाएं अन्य तालिकाओं में संबंधित फीचर प्रविष्टियों के साथ-साथ विशिष्ट फ़िल्टर को साफ़ कर देगा। क्लियर अन्य तालिकाओं में सभी फ़िल्टर और संबंधित प्रविष्टियों को साफ़ कर देगा। |
APCF_Filter_Index | 1 अष्टक | फ़िल्टर सूचकांक (0, max_filter-1 ) |
APCF_Feature_Selection | 2 अष्टक | चयनित सुविधाओं के लिए बिट मास्क: बिट 0: प्रसारण पता फ़िल्टर सक्षम करने के लिए सेट करें बिट 1: सेवा डेटा परिवर्तन फ़िल्टर सक्षम करने के लिए सेट करें बिट 2: सेवा यूयूआईडी जांच सक्षम करने के लिए सेट करें बिट 3: सर्विस सॉलिसिटेशन यूयूआईडी जांच को सक्षम करने के लिए सेट करें बिट 4: स्थानीय नाम जांच सक्षम करने के लिए सेट करें बिट 5: निर्माता डेटा जांच सक्षम करने के लिए सेट करें बिट 6: सेवा डेटा जांच सक्षम करने के लिए सेट करें बिट 7: ट्रांसपोर्ट डिस्कवरी सर्विस चेक को सक्षम करने के लिए सेट करें बिट 8: एडी प्रकार जांच सक्षम करने के लिए सेट करें |
APCF_List_Logic_Type | 2 अष्टक | APCF_Feature_Selection में निर्दिष्ट प्रत्येक सुविधा चयन (प्रति-बिट स्थिति) के लिए तर्क संचालन।केवल तभी मान्य जब कोई सुविधा सक्षम हो। बिट स्थिति मान: 0:या 1: तथा यदि "AND" तर्क चुना गया है, तो एक ADV पैकेट फ़िल्टर को तभी पास करेगा जब उसमें सूची की सभी प्रविष्टियाँ हों। यदि "OR" तर्क का चयन किया जाता है, तो एक ADV पैकेट फ़िल्टर को पास कर देगा यदि इसमें सूची में कोई भी प्रविष्टि शामिल है। |
APCF_Filter_Logic_Type | 1 अष्टक | 0x00: या 0x01: तथा नोट: APCF_Feature_Selection के पहले तीन क्षेत्रों के लिए तर्क प्रकार N/A है, जो हमेशा "AND" तर्क होता है। वे केवल APCF_Feature_Selection के चार क्षेत्रों (बिट 3 - बिट 6) के लिए लागू हैं। |
rssi_high_thresh | 1 अष्टक | [डीबीएम में] विज्ञापनदाता को तभी देखा माना जाता है जब सिग्नल आरएसएसआई उच्च सीमा से अधिक हो। अन्यथा, फ़र्मवेयर को ऐसा व्यवहार करना चाहिए मानो उसने इसे कभी देखा ही न हो। |
delivery_mode | 1 अष्टक | 0x00 - immediate 0x01 - on_found 0x02 - batched |
onfound_timeout | 2 अष्टक | केवल तभी मान्य है जब delivery_mode on_found है।[मिलीसेकंड में] रिपोर्टिंग से पहले फ़र्मवेयर के लिए देर तक रुकने और अतिरिक्त विज्ञापन एकत्र करने का समय आ गया है। |
onfound_timeout_cnt | 1 अष्टक | केवल तभी मान्य है जब delivery_mode on_found है।[गिनती करना] यदि onFound में कोई विज्ञापन onfound_timeout अवधि के लिए फर्मवेयर में रहता है, तो यह कुछ विज्ञापन एकत्र करेगा और गिनती की जांच की जाएगी। यदि गिनती onfound_timeout_cnt से अधिक हो जाती है, तो इसके तुरंत बाद OnFound सूचना दी जाती है। |
rssi_low_thresh | 1 अष्टक | केवल तभी मान्य है जब delivery_mode on_found है।[डीबीएम में] यदि प्राप्त पैकेट का RSSI RSSI निम्न सीमा से ऊपर नहीं है, तो विज्ञापनदाता पैकेट को नहीं देखा गया माना जाता है। |
onlost_timeout | 2 अष्टक | केवल तभी मान्य है जब delivery_mode on_found है।[मिलीसेकंड में] यदि कोई विज्ञापन, पाए जाने के बाद, lost_timeout अवधि के दौरान लगातार नहीं देखा जाता है, तो उसे तुरंत खो जाने की सूचना दी जाएगी। |
num_of_tracking_entries | 2 अष्टक | केवल तभी मान्य है जब delivery_mode on_found है।[गिनती करना] प्रति फ़िल्टर ट्रैक करने वाले विज्ञापनदाताओं की कुल संख्या। |
RSSI मानों को नकारात्मक मानों को दर्शाने के लिए 2 के पूरक का उपयोग करना चाहिए।
होस्ट विभिन्न फ़िल्टर संयोजनों को प्रबंधित करने के लिए APCF_Application_Address_type
को 0x02 (सभी ब्रॉडकास्टर पतों के लिए) पर सेट करके कई फ़िल्टर कॉन्फ़िगर करने में सक्षम होगा।
फ़िल्टरिंग, बैचिंग और रिपोर्टिंग परस्पर संबंधित अवधारणाएँ हैं। प्रत्येक विज्ञापन और संबंधित स्कैन प्रतिक्रिया को एक के बाद एक सभी फिल्टर से गुजरना होगा। इस प्रकार, परिणामी क्रियाएं ( delivery_mode
) फ़िल्टरिंग से निकटता से जुड़ी हुई हैं। डिलीवरी मोड निम्नलिखित हैं: report_immediately
, batch
, और onFound
। OnLost
मान OnFound
से इस अर्थ में संबंधित है कि खो जाने पर यह OnFound
के बाद आएगा।
यह प्रसंस्करण प्रवाह वैचारिक मॉडल को दर्शाता है:
जब कोई विज्ञापन (या स्कैन प्रतिक्रिया) फ़्रेम प्राप्त होता है, तो इसे क्रमबद्ध क्रम में सभी फ़िल्टर पर लागू किया जाता है। यह संभव है कि एक विज्ञापन एक फ़िल्टर के आधार पर तत्काल रिपोर्टिंग और एक अलग फ़िल्टर कार्रवाई के कारण उसी की बैचिंग का कारण बन सकता है।
RSSI स्तर की सीमाएँ (उच्च और निम्न) यह नियंत्रित करने की क्षमता देती हैं कि फ़िल्टर प्रसंस्करण के लिए फ़्रेम कब दिखाई दे रहा है, तब भी जब नियंत्रक द्वारा एक वैध पैकेट प्राप्त होता है। डिलीवरी मोड को तत्काल या बैच पर सेट किए जाने की स्थिति में, फ्रेम के आरएसएसआई को आगे नियंत्रक प्रसंस्करण के लिए माना जाता है। अलग-अलग ऐप्स को अलग-अलग रिपोर्टिंग और बैचिंग व्यवहार की आवश्यकता होती है। यह कई ऐप्स को समवर्ती रूप से फ़र्मवेयर में परिणामों की सीधी रिपोर्टिंग और/या बैचिंग करने की अनुमति देता है। एक उदाहरण वह मामला है जब एक बैच स्कैन एक ऐप से सक्रिय होता है और बाद में किसी अन्य ऐप द्वारा नियमित एलई स्कैन जारी किया जाता है। बैच स्कैन जारी करने से पहले, फ्रेमवर्क/ऐप उचित फ़िल्टर सेट करता है। बाद में, जब दूसरा ऐप नियमित स्कैन जारी करता है, तो पिछली बैचिंग जारी रहती है। हालाँकि, नियमित स्कैन के कारण, यह वैचारिक रूप से LE स्कैन कमांड के साथ एक नल फ़िल्टर (सभी मौजूदा फ़िल्टर के साथ) जोड़ने के समान है। सक्रिय होने पर LE स्कैन कमांड पैरामीटर को प्राथमिकता दी जाती है। जब नियमित एलई स्कैन अक्षम हो जाता है, तो नियंत्रक पिछले बैच स्कैन पर वापस लौट जाएगा, यदि वह मौजूद है।
OnFound
डिलीवरी मोड कॉन्फ़िगर किए गए फ़िल्टर पर आधारित है। एक संयोजन जो फ़िल्टर की कार्रवाई को सफल होने के लिए ट्रिगर करता है उसे onLost
के लिए ट्रैक करने वाली इकाई माना जाता है। संबंधित इवेंट LE Advt ट्रैकिंग सबइवेंट है।
फ़िल्टर के लिए OnFound/OnLost
संक्रमण (यदि सक्षम है) निम्नलिखित जैसा दिखेगा:
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
APCF_opcode | 1 अष्टक | 0x01 - APCF फ़िल्टरिंग पैरामीटर सेट करें |
APCF_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | फ़िल्टर तालिका में उपलब्ध प्रविष्टियों की संख्या |
LE_APCF_कमांड: ब्रॉडकास्ट_एड्रेस_सब_cmd
इस उपकमांड का उपयोग किसी विज्ञापनदाता का पता जोड़ने या हटाने या ऑन-चिप फ़िल्टरिंग के लिए विज्ञापनदाता पता सूची को साफ़ करने के लिए किया जाता है।
उप ओसीएफ: 0x02
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 अष्टक | 0x00 - जोड़ें 0x01 - हटाएँ 0x02 - साफ़ करें डिलीट निर्दिष्ट फ़िल्टर में निर्दिष्ट ब्रॉडकास्टर पता हटा देगा। क्लियर निर्दिष्ट फ़िल्टर में सभी ब्रॉडकास्टर पते साफ़ कर देगा। |
APCF_Filter_Index | 1 अष्टक | फ़िल्टर सूचकांक (0, max_filter-1 ) |
APCF_Broadcaster_Address | 6 अष्टक | ब्रॉडकास्टर पता सूची में जोड़ने या हटाने के लिए 6-बाइट डिवाइस पता |
APCF_Application_Address_type | 1 अष्टक | 0x00: सार्वजनिक 0x01: यादृच्छिक 0x02: NA (पता प्रकार लागू नहीं) |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
APCF_opcode | 1 अष्टक | 0x02 - एपीसीएफ ब्रॉडकास्टर पता |
APCF_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | प्रसारण पता तालिका में अभी भी उपलब्ध निःशुल्क प्रविष्टियों की संख्या |
LE_APCF_कमांड: service_uuid_sub_cmd
इस उपकमांड का उपयोग सेवा यूयूआईडी को जोड़ने या हटाने या ऑन-चिप फ़िल्टरिंग के लिए सेवा यूयूआईडी सूची को साफ़ करने के लिए किया जाता है।
उप ओसीएफ: 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_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | सेवा यूयूआईडी तालिका में अभी भी उपलब्ध निःशुल्क प्रविष्टियों की संख्या |
LE_APCF_कमांड: सॉलिसिटेशन_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_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | सॉलिसिटेशन यूयूआईडी तालिका में अभी भी उपलब्ध निःशुल्क प्रविष्टियों की संख्या |
LE_APCF_कमांड: 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_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | स्थानीय नाम तालिका में अभी भी उपलब्ध निःशुल्क प्रविष्टियों की संख्या |
LE_APCF_कमांड: 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_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | निर्माता डेटा तालिका में अभी भी उपलब्ध निःशुल्क प्रविष्टियों की संख्या |
LE_APCF_कमांड: 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_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | सेवा डेटा तालिका के लिए अभी भी उपलब्ध निःशुल्क प्रविष्टियों की संख्या |
LE_APCF_कमांड: ad_type_sub_cmd
इस उपकमांड का उपयोग AD प्रकार को जोड़ने या हटाने या ऑन-चिप फ़िल्टरिंग के लिए AD प्रकार की सूची को साफ़ करने के लिए किया जाता है। यह आदेश समर्थित है या नहीं यह जांचने के लिए read_extended_features_sub_cmd
का उपयोग करें।
उप ओसीएफ: 0x09
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 अष्टक | 0x00 - जोड़ें 0x01 - हटाएँ 0x02 - साफ़ करें डिलीट निर्दिष्ट फ़िल्टर में निर्दिष्ट AD प्रकार को हटा देगा। क्लियर निर्दिष्ट फ़िल्टर में सभी AD प्रकारों को साफ़ कर देगा। |
APCF_Filter_Index | 1 अष्टक | फ़िल्टर सूचकांक (0, max_filter -1) |
APCF_AD_TYPE | 1 अष्टक | सूची में जोड़ने या हटाने के लिए AD प्रकार। APCF_Action 0x02 होने पर ध्यान न दें (साफ़ करें) |
APCF_AD_DATA_Length | परिवर्तनीय आकार | 0x00 - का अर्थ है डेटा सामग्री को फ़िल्टर न करेंAPCF_Action 0x02 होने पर ध्यान न दें (साफ़ करें) |
APCF_AD_DATA | परिवर्तनीय आकार | APCF_Action 0x02 होने पर ध्यान न दें (साफ़ करें) |
APCF_AD_DATA_MASK | परिवर्तनीय आकार | APCF_Action 0x02 होने पर ध्यान न दें (साफ़ करें) इसकी लंबाई APCF_AD_DATA के समान होनी चाहिए। |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
APCF_opcode | 1 अष्टक | 0x09 - एपीसीएफ एडी प्रकार |
APCF_Action | 1 अष्टक | इको बैक कमांड का APCF_Action |
APCF_AvailableSpaces | 1 अष्टक | एडी प्रकार तालिका में अभी भी उपलब्ध निःशुल्क प्रविष्टियों की संख्या |
LE_APCF_कमांड: read_extensed_features_sub_cmd
इस उपकमांड का उपयोग विस्तारित APCF सुविधाओं को पढ़ने के लिए किया जाता है।
उप ओसीएफ: 0xFF
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
लागू नहीं | खाली कमांड पैरामीटर. |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
APCF_opcode | 1 अष्टक | 0xFF - एपीसीएफ_रीड_एक्सटेंडेड_फीचर्स |
APCF_extended_features | 2 अष्टक | विस्तारित सुविधाओं के लिए बिट मास्क समर्थित:
बिट का मान
|
नियंत्रक गतिविधि और ऊर्जा सूचना आदेश
इस जानकारी का उद्देश्य उच्च होस्ट सिस्टम फ़ंक्शंस के लिए ऐप्स और फ़्रेमवर्क में क्या हो रहा है, इसके साथ-साथ बीटी नियंत्रक और इसकी मैक्रो स्थिति सहित सभी घटकों की कुल गतिविधियों का विश्लेषण करना है। ऐसा करने के लिए, बीटी स्टैक और नियंत्रक से निम्नलिखित जानकारी आवश्यक है:
- बीटी स्टैक: नियंत्रक की वर्तमान मैक्रो-ऑपरेशनल स्थिति की रिपोर्ट करना
- फ़र्मवेयर: समग्र गतिविधि और ऊर्जा जानकारी की रिपोर्टिंग
बीटी होस्ट स्टैक मैक्रो स्थिति, जैसा कि उपयोगकर्ता स्तर पर निर्धारित किया गया है:
- निष्क्रिय: [पेज स्कैन, एलई विज्ञापन, पूछताछ स्कैन]
- स्कैन: [पेजिंग/पूछताछ/कनेक्ट करने का प्रयास]
- सक्रिय: [एसीएल लिंक चालू, एससीओ लिंक चालू, सूंघ मोड]
नियंत्रक अपने जीवनकाल में जिन गतिविधियों पर नज़र रखता है वे हैं टीएक्स समय, आरएक्स समय, निष्क्रिय समय और कुल खपत ऊर्जा। होस्ट से पढ़ने पर वे साफ़ हो जाते हैं।
LE_Get_Controller_Activity_Energy_Info
यह एक विक्रेता-विशिष्ट आदेश है.
ओसीएफ: 0x159
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
ना | खाली कमांड पैरामीटर |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
total_tx_time_ms | 4 अष्टक | Tx निष्पादित करने में लगा कुल समय |
total_rx_time_ms | 4 अष्टक | Rx निष्पादित करने में लगा कुल समय |
total_idle_time_ms | 4 अष्टक | निष्क्रिय में कुल समय (गैर-नींद कम बिजली की स्थिति) |
total_energy_used | 4 अष्टक | उपयोग की गई कुल ऊर्जा [वर्तमान (एमए), वोल्टेज (वी) और समय (एमएस) का उत्पाद] |
एलई विस्तारित सेट स्कैन पैरामीटर कमांड
इस कमांड का उपयोग नियंत्रक में एक बड़ी स्कैन विंडो और अंतराल को सक्षम करने के लिए किया जा सकता है। बीटी कोर 5.2 विशिष्टता के अनुसार, एक स्कैन विंडो और अंतराल की ऊपरी सीमा 10.24 सेकंड है, जो अनुप्रयोगों के 10.24 सेकंड से अधिक लंबे स्कैन अंतराल को बाधित करती है।
आधार संदर्भ: बीटी कोर 5.2 विशिष्टता, पृष्ठ 2493 (एलई सेट स्कैन पैरामीटर्स कमांड)
ओसीएफ: 0x15ए
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
LE_Ex_Scan_Type | 1 अष्टक | 0x00 - निष्क्रिय स्कैनिंग। कोई SCAN_REQ पैकेट नहीं भेजा जाएगा (डिफ़ॉल्ट)।0x01 - सक्रिय स्कैनिंग। SCAN_REQ पैकेट भेजे जा सकते हैं. |
LE_Ex_Scan_Interval | 4 अष्टक | नियंत्रक द्वारा अपना अंतिम एलई स्कैन शुरू करने से लेकर अगला एलई स्कैन शुरू करने तक के समय अंतराल के रूप में परिभाषित किया गया है। रेंज: 0x0004 से 0x00FFFFFF डिफ़ॉल्ट: 0x0010 (10 एमएस) समय = एन * 0.625 एमएस समय सीमा: 2.5 एमएस से 10442.25 सेकंड |
LE_Ex_Scan_Window | 4 अष्टक | एलई स्कैन की अवधि. LE_Scan_Window LE_Scan_Interval से कम या उसके बराबर होगा।रेंज: 0x0004 से 0xFFFF डिफ़ॉल्ट: 0x0010 (10 एमएस) समय = एन * 0.625 एमएस समय सीमा: 2.5 एमएस से 40.95 सेकंड |
Own_Address_Type | 1 अष्टक | 0x00 - सार्वजनिक उपकरण पता (डिफ़ॉल्ट) 0x01 - रैंडम डिवाइस पता |
LE_Ex_Scan_Filter_Policy | 0x00 - सभी विज्ञापन पैकेट स्वीकार करें (डिफ़ॉल्ट)। निर्देशित विज्ञापन पैकेट जो इस उपकरण के लिए संबोधित नहीं हैं, उन्हें नजरअंदाज कर दिया जाएगा। 0x01 - उन उपकरणों के विज्ञापन पैकेटों पर ध्यान न दें जो केवल श्वेत सूची सूची में नहीं हैं। निर्देशित विज्ञापन पैकेट जो इस उपकरण के लिए संबोधित नहीं हैं, उन्हें नजरअंदाज कर दिया जाएगा। |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
नियंत्रक डिबग जानकारी आदेश प्राप्त करें
इस सूचना तत्व का उद्देश्य पोस्ट-प्रोसेसिंग और विश्लेषण के लिए, बाइनरी फॉर्म में, होस्ट द्वारा नियंत्रक डिबग जानकारी प्राप्त करना है। यह ऑन-फील्ड मुद्दों को डीबग करने में मदद करता है और इंजीनियरों को विश्लेषण के लिए जानकारी लॉग करने के लिए टूलकिट प्रदान करता है। एक नियंत्रक इवेंट (कंट्रोलर डिबग इन्फो सब-इवेंट) के माध्यम से होस्ट द्वारा अनुरोध किए जाने पर या नियंत्रक द्वारा वांछित होने पर स्वायत्त रूप से जानकारी प्रदान कर सकता है। फ़र्मवेयर स्थिति जानकारी, क्रैश डंप जानकारी, लॉगिंग जानकारी इत्यादि की रिपोर्ट करने के लिए उदाहरण का उपयोग हो सकता है।
ओसीएफ: 0x15बी
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
एन/ए | खाली कमांड पैरामीटर सूची |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
A2DP हार्डवेयर ऑफलोड समर्थन
A2DP ऑफ़लोड सुविधा BT नियंत्रक से जुड़े ऑडियो प्रोसेसर पर A2DP ऑडियो एन्कोडिंग प्रक्रिया के ऑफ़लोड का समर्थन करती है। एन्कोडेड ऑडियो डेटा स्ट्रीम बीटी होस्ट की भागीदारी के बिना सीधे ऑडियो प्रोसेसर से बीटी नियंत्रक तक जाती है। बीटी होस्ट अभी भी A2DP सत्र के कॉन्फ़िगरेशन और नियंत्रण के लिए जिम्मेदार है। कमांड के दो संस्करण उपलब्ध हैं. सब OCF 0x01-0x02 के साथ लीगेसी कमांड केवल ओपन-सोर्स कोडेक्स का समर्थन करते हैं। Sub-OCF 0x02-0x03 वाले संस्करण कॉन्फ़िगर किए गए कोडेक के प्रति अज्ञेयवादी हैं।
ओसीएफ: 0x15D
A2DP ऑफलोड प्रारंभ करें (विरासत)
उप ओसीएफ: 0x01
A2DP ऑफलोड प्रक्रिया को कॉन्फ़िगर करने और A2DP स्ट्रीम प्रारंभ करने के लिए इस कमांड का उपयोग करें।
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Codec | 4 अष्टक | कोडेक प्रकार निर्दिष्ट करता है 0x01 - एसबीसी 0x02 - एएसी 0x04 - एपीटीएक्स 0x08 - एपीटीएक्स एचडी 0x10 - एलडीएसी |
Max_Latency | 2 अष्टक | अधिकतम विलंबता अनुमत (एमएस में)। शून्य का मान फ्लश को अक्षम कर देता है। |
SCMS-T_Enable | 2 अष्टक | ऑक्टेट 0: ध्वज जो एससीएमएस-टी हेडर को जोड़ने में सक्षम बनाता है।
ऑक्टेट 1: SCMS-T हेडर के लिए मान, जब यह सक्षम हो। |
Sampling_Frequency | 4 अष्टक | 0x01 - 44100 हर्ट्ज 0x02 - 48000 हर्ट्ज़ 0x04 - 88200 हर्ट्ज़ 0x08 - 96000 हर्ट्ज़ |
Bits_Per_Sample | 1 अष्टक | 0x01 - प्रति नमूना 16 बिट्स 0x02 - प्रति नमूना 24 बिट्स 0x04 - प्रति नमूना 32 बिट्स |
Channel_Mode | 1 अष्टक | 0x01 - मोनो 0x02 - स्टीरियो |
Encoded_Audio_Bitrate | 4 अष्टक | प्रति सेकंड बिट्स में एन्कोडेड ऑडियो बिटरेट। 0x00000000 - ऑडियो बिटरेट निर्दिष्ट/अप्रयुक्त नहीं है। 0x00000001 - 0x00FFFFFF - प्रति सेकंड बिट्स में एन्कोडेड ऑडियो बिटरेट। 0x01000000 - 0xFFFFFFFF - आरक्षित। |
Connection_Handle | 2 अष्टक | A2DP कनेक्शन का कनेक्शन हैंडल कॉन्फ़िगर किया जा रहा है |
L2CAP_Channel_ID | 2 अष्टक | इस A2DP कनेक्शन के लिए L2CAP चैनल आईडी का उपयोग किया जाएगा |
L2CAP_MTU_Size | 2 अष्टक | एन्कोडेड ऑडियो पैकेट वाले L2CAP MTU का अधिकतम आकार |
Codec_Information | 32 अष्टक | कोडेक-विशिष्ट जानकारी. एसबीसी कोडेक: A2DP v1.3 में SBC कोडेक विशिष्ट सूचना तत्वों का संदर्भ लें। एएसी कोडेक: A2DP v1.3 में AAC कोडेक विशिष्ट सूचना तत्वों का संदर्भ लें एलडीएसी कोडेक: ऑक्टेट 0-3: विक्रेता आईडी ऑक्टेट 4-5: कोडेक आईडी ऑक्टेट 6: बिटरेट सूचकांक: ऑक्टेट 7: एलडीएसी चैनल मोड ऑक्टेट 8-31: आरक्षित अन्य सभी कोडेक्स: ऑक्टेट 0-31: आरक्षित |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
Sub_Opcode | 1 अष्टक | 0x01 - A2DP ऑफलोड प्रारंभ करें |
A2DP ऑफलोड प्रारंभ करें
उप ओसीएफ: 0x03
A2DP ऑफलोड प्रक्रिया को कॉन्फ़िगर करने और A2DP स्ट्रीम प्रारंभ करने के लिए इस कमांड का उपयोग करें।
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Connection Handle | 2 अष्टक | सक्रिय एचसीआई कनेक्शन का हैंडल |
L2CAP_Channel_ID | 2 अष्टक | A2DP स्ट्रीमिंग के लिए L2CAP चैनल का पहचानकर्ता खोला गया |
Data_Path_Direction | 1 अष्टक | 0x00 - आउटपुट (एवीडीटीपी स्रोत/विलय) 0x01 - इनपुट (एवीडीटीपी सिंक/स्प्लिट) |
Peer_MTU | 2 अष्टक | L2CAP पैकेट का अधिकतम आकार, सहकर्मी के साथ बातचीत की गई। |
CP_Enable_SCMS_T | 1 अष्टक | 0x00 - SCMS-T सामग्री सुरक्षा शीर्षलेख अक्षम करें 0x01 - SCMS-T सामग्री सुरक्षा शीर्षलेख सक्षम करें |
CP_Header_SCMS_T | 1 अष्टक | जब SCMS-T सामग्री सुरक्षा हेडर सक्षम किया जाता है ( CP_SCMS_T_Enable को 0x01 पर सेट किया जाता है), तो हेडर मान को परिभाषित करता है जो ऑडियो सामग्री से पहले होता है (A2DP, अनुभाग 3.2.1-2 देखें) जैसा कि ब्लूटूथ असाइन किए गए नंबर, अनुभाग 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 | 2 अष्टक | सक्रिय एचसीआई कनेक्शन का हैंडल |
L2CAP_Channel_ID | 2 अष्टक | A2DP स्ट्रीमिंग के लिए L2CAP चैनल का पहचानकर्ता खोला गया |
Data_Path_Direction | 1 अष्टक | 0x00 - आउटपुट (एवीडीटीपी स्रोत/विलय) 0x01 - इनपुट (एवीडीटीपी सिंक/स्प्लिट) |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट जेनरेट किया जाएगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | आदेश पूर्ण स्थिति |
Sub_Opcode | 1 अष्टक | 0x04 - A2DP ऑफलोड रोकें |
ब्लूटूथ गुणवत्ता रिपोर्ट कमांड
बीटी गुणवत्ता रिपोर्ट कमांड सुविधा होस्ट को ब्लूटूथ गुणवत्ता घटनाओं की रिपोर्ट करने के लिए ब्लूटूथ नियंत्रक में तंत्र शुरू करती है। आप चार विकल्प सक्षम कर सकते हैं:
- गुणवत्ता निगरानी मोड: नियंत्रक समय-समय पर होस्ट को लिंक गुणवत्ता से संबंधित बीक्यूआर उप-इवेंट भेजता है।
- अप्रोचिंग एलएसटीओ: यदि कनेक्टेड बीटी डिवाइस से लिंक सुपरविजन टाइमआउट (एलएसटीओ) मान के आधे से अधिक समय तक कोई पैकेट प्राप्त नहीं होता है, तो नियंत्रक होस्ट को अप्रोचिंग एलएसटीओ इवेंट की रिपोर्ट करता है।
- A2DP ऑडियो चॉपी: जब नियंत्रक उन कारकों का पता लगाता है जो ऑडियो में गड़बड़ी का कारण बनते हैं, तो नियंत्रक होस्ट को A2DP ऑडियो चॉपी इवेंट की रिपोर्ट करता है।
- (ई)एससीओ वॉयस चॉपी: जब नियंत्रक उन कारकों का पता लगाता है जो आवाज में गड़बड़ी का कारण बनते हैं, तो नियंत्रक मेजबान को (ई)एससीओ वॉयस चॉपी घटना की रिपोर्ट करता है।
- रूट सूजन: यह घटना नियंत्रक द्वारा स्टैक पर भेजी जाती है जब एचएएल या नियंत्रक को एक घातक त्रुटि का सामना करना पड़ता है और ब्लूटूथ को पुनरारंभ करने की आवश्यकता होती है।
- एलएमपी/एलएल संदेश ट्रेस: नियंत्रक रिमोट डिवाइस के साथ हैंडशेक करके होस्ट को एलएमपी/एलएल संदेश भेजता है।
- ब्लूटूथ मल्टी-प्रोफाइल/कोएक्स शेड्यूलिंग ट्रेस: नियंत्रक 2.4 गीगाहर्ट्ज बैंड में एकाधिक ब्लूटूथ प्रोफाइल और वायरलेस सह-अस्तित्व को संभालने पर अपनी शेड्यूलिंग जानकारी होस्ट को भेजता है।
- कंट्रोलर डिबग सूचना तंत्र: सक्षम होने पर, नियंत्रक स्वायत्त रूप से होस्ट के लिए कंट्रोलर डिबग जानकारी उप-घटना के माध्यम से डिबग लॉगिंग जानकारी की रिपोर्ट कर सकता है।
OCF: 0x15E
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
BQR_Report_Action | 1 अष्टक | BQR_QUALITY_EVENT_MASK पैरामीटर में सेट क्वालिटी इवेंट (ओं) की रिपोर्टिंग को जोड़ने / हटाने के लिए, या सभी को साफ़ करें। 0x00 - जोड़ें DELETE विशिष्ट गुणवत्ता घटना (ओं) की रिपोर्टिंग को स्पष्ट करेगा। |
BQR_Quality_Event_Mask | 4 अष्टक | चयनित गुणवत्ता घटना रिपोर्टिंग के लिए बिट मास्क। बिट 0: गुणवत्ता निगरानी मोड को सक्षम करने के लिए सेट करें। |
BQR_Minimum_Report_Interval | 2 अष्टक | चयनित गुणवत्ता घटना (ओं) के लिए गुणवत्ता घटना रिपोर्टिंग के न्यूनतम समय अंतराल को परिभाषित करें। कंट्रोलर फर्मवेयर को परिभाषित समय अंतराल के भीतर अगली घटना की रिपोर्ट नहीं करनी चाहिए। अंतराल सेटिंग गुणवत्ता की घटना (ओं) के लिए संबंधित और समर्पित होगी जो जोड़े जा रहे हैं। यूनिट: एम.एस. |
BQR_Vendor_Specific_Quality_Event_Mask | 4 अष्टक | चयनित विक्रेता-विशिष्ट गुणवत्ता घटना रिपोर्टिंग के लिए बिट मास्क। यह पैरामीटर केवल तभी मान्य है जब BQR_Quality_Event_Mask का बिट 15 सेट किया गया है।बिट 0 ~ 31: आरक्षित। |
BQR_Vendor_Specific_Trace_Mask | 4 अष्टक | चयनित विक्रेता-विशिष्ट ट्रेस रिपोर्टिंग के लिए बिट मास्क। यह पैरामीटर केवल तभी मान्य है जब BQR_Quality_Event_Mask का बिट 31 सेट किया गया है।बिट 0 ~ 31: आरक्षित। |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | कमांड पूर्ण स्थिति |
Current_Quality_Event_Mask | 4 अष्टक | वर्तमान बिट मास्क सेटिंग को इंगित करता है। बिट 0: क्वालिटी मॉनिटरिंग मोड सक्षम है। बिट 1: LSTO इवेंट रिपोर्टिंग के करीब पहुंचना सक्षम है। बिट 2: A2DP ऑडियो चॉपी इवेंट रिपोर्टिंग सक्षम है। बिट 3: (ई) एससीओ वॉयस चॉपी इवेंट रिपोर्टिंग सक्षम है। बिट 4: रूट सूजन घटना रिपोर्टिंग सक्षम है। बिट 5: एनर्जी मॉनिटरिंग मोड सक्षम है। बिट 6: ले ऑडियो चॉपी इवेंट रिपोर्टिंग सक्षम है। बिट 7: कनेक्ट फेल इवेंट। बिट 8 ~ 14: आरक्षित। बिट 15: विक्रेता-विशिष्ट गुणवत्ता घटना रिपोर्टिंग सक्षम है। बिट 16: LMP/LL संदेश ट्रेस सक्षम है। बिट 17: ब्लूटूथ मल्टी-लिंक/कोएक्स शेड्यूलिंग ट्रेस सक्षम है। बिट 18: कंट्रोलर डिबग सूचना तंत्र सक्षम है। बिट 19 ~ 30: आरक्षित। बिट 31: विक्रेता-विशिष्ट ट्रेस सक्षम है। |
Current_Vendor_Specific_Quality_Event_Mask | 4 अष्टक | वर्तमान बिट मास्क सेटिंग को इंगित करता है। |
Current_Vendor_Specific_Trace_Mask | 4 अष्टक | वर्तमान बिट मास्क सेटिंग को इंगित करता है। |
गतिशील ऑडियो बफर कमांड
डायनेमिक ऑडियो बफर विभिन्न परिदृश्यों के आधार पर ब्लूटूथ कंट्रोलर में ऑडियो बफर आकार को बदलकर ऑडियो ग्लिचिंग को कम करता है।
OCF: 0x15f
ऑडियो बफर समय क्षमता प्राप्त करें
उप OCF: 0x01
ब्लूटूथ कंट्रोलर से ऑडियो बफर समय क्षमता प्राप्त करने के लिए इस कमांड का उपयोग करें।
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
एन/ए | खाली कमांड पैरामीटर सूची |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | कमांड पूर्ण स्थिति |
Dynamic_Audio_Buffer_opcode | 1 अष्टक | 0x01 - ऑडियो बफर समय प्राप्त करें |
Audio_Codec_Type_Supported | 4 अष्टक | समर्थित कोडेक प्रकारों के लिए बिट मास्क बिट 0 - एसबीसी बिट 1 - एएसी बिट 2 - APTX बिट 3 - APTX HD बिट 4 - एलडीएसी बिट 5-31 आरक्षित हैं |
Audio_Codec_Buffer_Default_Time_For_Bit_0 | 2 अष्टक | बिट 0 कोडक टाइप का डिफ़ॉल्ट बफर समय ऑडियो_कोडेक_टाइप_सुपोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 0 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 | 2 अष्टक | बिट 0 कोडक प्रकार का अधिकतम बफर समय ऑडियो_कोडेक_टाइप_सुप्पोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 0 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 | 2 अष्टक | बिट 0 कोडक प्रकार का न्यूनतम बफर समय ऑडियो_कोडेक_टाइप_सुपोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 0 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
Audio_Codec_Buffer_Default_Time_For_Bit_1 | 2 अष्टक | बिट 1 कोडेक प्रकार का डिफ़ॉल्ट बफर समय ऑडियो_कोडेक_टाइप_सुप्पोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 1 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 | 2 अष्टक | बिट 1 कोडेक प्रकार का अधिकतम बफर समय ऑडियो_कोडेक_टाइप_सुप्पोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 1 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 | 2 अष्टक | बिट 1 कोडेक प्रकार का न्यूनतम बफर समय ऑडियो_कोडेक_टाइप_सुप्पोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 1 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
...... | ...... | ...... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 | 2 अष्टक | बिट 31 कोडक प्रकार का डिफ़ॉल्ट बफर समय ऑडियो_कोडेक_टाइप_सुपोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 31 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 | 2 अष्टक | बिट 31 कोडक प्रकार का अधिकतम बफर समय ऑडियो_कोडेक_टाइप_सुपोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 31 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 | 2 अष्टक | बिट 31 कोडक प्रकार का न्यूनतम बफर समय ऑडियो_कोडेक_टाइप_सुपोर्टेड में निर्दिष्ट। यह मान 0 होगा यदि बिट 31 कोडक प्रकार समर्थित नहीं है। यूनिट: एम.एस. |
ऑडियो बफर समय सेट करें
उप OCF: 0x02
ब्लूटूथ नियंत्रक के लिए ऑडियो बफर समय सेट करने के लिए इस कमांड का उपयोग करें।
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Audio_Codec_Buffer_Time | 2 अष्टक | वर्तमान उपयोग किए गए कोडेक के लिए ऑडियो बफर समय का अनुरोध किया। यूनिट: एम.एस. |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | कमांड पूर्ण स्थिति |
Dynamic_Audio_Buffer_opcode | 1 अष्टक | 0x02 - ऑडियो बफर समय सेट करें |
Audio_Codec_Buffer_Time | 2 अष्टक | ब्लूटूथ नियंत्रक में वर्तमान ऑडियो बफर समय। यूनिट: एम.एस. |
एचसीआई घटना (विक्रेता-विशिष्ट)
कुछ मामलों में विक्रेता-विशिष्ट एचसीआई घटनाओं की आवश्यकता होती है। बीटी कोर 5.2 विनिर्देश के पृष्ठ 1897 पर चित्रा 5.4 का संदर्भ लें। इवेंट पैरामीटर 0 में हमेशा पहला सब-इवेंट कोड होगा, जिसके आधार पर बाकी एचसीआई ईवेंट को डिकोड किया गया है।
घटना पार्सलीय | आकार | उद्देश्य |
---|---|---|
HCI_vendor_specific_event_code | 1 अष्टक | 0xFF |
sub_event_code | 1 अष्टक | एक सब-इवेंट कोड आकार में 1 ऑक्टेट होगा, एचसीआई इवेंट पैकेट में पैरामीटर की लंबाई के तुरंत बाद बाइट। |
भंडारण दहलीज ब्रीच सब-इवेंट
यह घटना बताती है कि स्टोरेज थ्रेशोल्ड का उल्लंघन किया गया है।
सब-इवेंट कोड = 0x54
उप-ईवेंट पैरामीटर | आकार | उद्देश्य |
---|---|---|
कोई नहीं |
ले मल्टी-एडवर्टाइजिंग स्टेट चेंज सब-इवेंट
यह घटना बताती है कि एक विज्ञापन उदाहरण ने अपना राज्य बदल दिया है। इस समय, इस घटना का उपयोग केवल यह इंगित करने के लिए किया जाता है कि एक कनेक्शन के परिणामस्वरूप कौन से विज्ञापन उदाहरण रोक दिया गया था।
सब-इवेंट कोड = 0x55
उप-ईवेंट पैरामीटर | आकार | उद्देश्य |
---|---|---|
Advertising_instance | 1 अष्टक | विशिष्ट विज्ञापन उदाहरण की पहचान करता है मान्य मान max_advt_instances -1 के माध्यम से 0 हैं |
State_Change_Reason | 1 अष्टक | 0x00: कनेक्शन प्राप्त हुआ |
Connection_handle | 2 अष्टक | उस कनेक्शन की पहचान करता है जिसके कारण advt इंस्टेंस को अक्षम कर दिया गया (0xffff यदि अमान्य है) |
ले विज्ञापन ट्रैकिंग सब-इवेंट
यह घटना इंगित करती है कि एक विज्ञापनदाता कब पाया या खो जाता है।
उप घटना कोड = 0x56
उप-ईवेंट पैरामीटर | आकार | उद्देश्य |
---|---|---|
APCF_Filter_Index | 1 अष्टक | फ़िल्टर सूचकांक (0, max_filter -1) |
Advertiser_State | 1 अष्टक | 0x00: विज्ञापनदाता मिला 0x01: विज्ञापनदाता खो गया |
Advt_Info_Present | 1 अष्टक | 0x00: विज्ञापनदाता जानकारी ( Advt_Info ) वर्तमान0x01: विज्ञापनदाता जानकारी ( Advt_Info ) मौजूद नहीं है |
Advertiser_Address | 6 ऑक्टेट्स | सार्वजनिक या यादृच्छिक पता |
Advertiser_Address_Type | 1 अष्टक | 0x00: सार्वजनिक पता 0x01: यादृच्छिक पता |
Advt_Info | Tx_Pwr[0] : 1 ऑक्टेट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 ऑक्टेट्स |
नियंत्रक डिबग जानकारी उप-घटना
इस घटना का उपयोग एक नियंत्रक द्वारा एक होस्ट को बाइनरी डिबग जानकारी प्रदान करने के लिए किया जाता है।
सब-इवेंट कोड = 0x57
उप-ईवेंट पैरामीटर | आकार | उद्देश्य |
---|---|---|
debug_block_byte_offset_start | 2 अष्टक | डीबग ब्लॉक बाइट शुरू से ही ऑफसेट |
last_block | 1 अष्टक | 0x00: अधिक डिबग डेटा वर्तमान 0x01: अंतिम बाइनरी ब्लॉक; कोई और अधिक डिबग डेटा |
cur_pay_load_sz | 2 अष्टक | एक वर्तमान घटना में बाइनरी ब्लॉक आकार |
Debug_Data | चर | cur_payload_sz का डिबग डेटा |
ब्लूटूथ क्वालिटी रिपोर्ट सब-इवेंट
यह घटना निम्न में से एक को इंगित करती है: एक ब्लूटूथ गुणवत्ता घटना हुई, नियंत्रक ने LMP/LL संदेश ट्रेस और ब्लूटूथ मल्टी-लिंक/COEX शेड्यूलिंग ट्रेस, या कंट्रोलर डंप किए गए डिबग सूचना डेटा को अपलोड किया।
सब-इवेंट कोड = 0x58 [realution_report_id = 0x01 ~ 0x04, लिंक क्वालिटी संबंधित घटना]
उप-ईवेंट पैरामीटर | आकार | उद्देश्य |
---|---|---|
Quality_Report_Id | 1 अष्टक | 0x01: निगरानी मोड पर गुणवत्ता रिपोर्टिंग। 0x02: LSTO के पास पहुंचना। 0x03: A2DP ऑडियो तड़का हुआ। 0x04: (ई) स्को वॉयस तड़का हुआ। 0x05 ~ 0x06: आरक्षित। 0x07: ले ऑडियो चॉपी। 0x08: कनेक्ट फेल। 0x09 ~ 0xff: आरक्षित। |
Packet_Types | 1 अष्टक | 0x01: आईडी 0x02: अशक्त 0x03: पोल 0x04: एफएचएस 0x05: HV1 0x06: HV2 0x07: HV3 0x08: डीवी 0x09: ev3 0x0a: ev4 0x0b: ev5 0x0c: 2-EV3 0x0D: 2-EV5 0x0e: 3-EV3 0x0f: 3-EV5 0x11: DH1 0x12: DM3 0x13: DH3 0x14: DM5 0x15: DH5 0x16: aux1 0x17: 2-डीएच 1 0x18: 2-डीएच 3 0x19: 2-डीएच 5 0x1a: 3-डीएच 1 0x1b: 3-dh3 0x1c: 3-डीएच 5 0x1d ~ 0x50: आरक्षित 0x51: आईएसओ पैकेट 0x52 ~ 0xff: आरक्षित |
Connection_Handle | 2 अष्टक | एसीएल/(ई) एससीओ/आईएसओ कनेक्शन हैंडल। |
Connection_Role | 1 अष्टक | कनेक्शन के लिए भूमिका निभाना। 0x00: केंद्रीय 0x01: परिधीय 0x02 ~ 0xff: आरक्षित। |
TX_Power_Level | 1 ऑक्टेट | निर्दिष्ट कनेक्शन_हैंडल के लिए वर्तमान संचारित शक्ति स्तर। यह मान HCI_READ_TRANSMIT_POWER_LEVEL HCI कमांड के लिए नियंत्रक के जवाब के समान होगा। |
RSSI | 1 अष्टक | [डीबीएम में] निर्दिष्ट कनेक्शन_हैंडल के लिए सिग्नल स्ट्रेंथ इंडिकेशन (RSSI) मान प्राप्त किया। |
SNR | 1 ऑक्टेट | [डीबी में] निर्दिष्ट कनेक्शन_हैंडल के लिए सिग्नल-टू-शोर अनुपात (एसएनआर) मान। |
Unused_AFH_Channel_Count | 1 ऑक्टेट | AFH_CHANNEL_MAP में अप्रयुक्त चैनलों की संख्या को इंगित करता है। 0x4f ~ 0xff: आरक्षित। |
AFH_Select_Unideal_Channel_Count | 1 ऑक्टेट | उन चैनलों की संख्या को इंगित करता है जो हस्तक्षेप करते हैं और खराब गुणवत्ता रखते हैं, लेकिन वे अभी भी एएफएच के लिए चुने गए हैं। ब्लूटूथ विनिर्देश द्वारा अनुमत चैनलों की न्यूनतम संख्या 20 है, इसलिए भले ही सभी 79 चैनलों में हस्तक्षेप किया गया हो और इसमें खराब गुणवत्ता हो, नियंत्रक को अभी भी एएफएच के लिए कम से कम 20 चैनल चुनने की आवश्यकता है। |
LSTO | 2 अष्टक | वर्तमान लिंक पर्यवेक्षण टाइमआउट सेटिंग। समय = एन * 0.625 एमएस समय सीमा: 0.625 एमएस से 40.9 एस |
Connection_Piconet_Clock | 4 अष्टक | निर्दिष्ट कनेक्शन_हैंडल के लिए PICONET घड़ी। यह मान 0x01 (piconet घड़ी) के "जो_क्लॉक" के साथ HCI_READ_CLOCK HCI कमांड के लिए नियंत्रक के जवाब के समान होगा। यूनिट: एन * 0.3125 एमएस (1 ब्लूटूथ घड़ी) |
Retransmission_Count | 4 अष्टक | अंतिम घटना के बाद से रिट्रांसमिशन की संख्या। होस्ट को रिपोर्ट करने के बाद यह गिनती रीसेट हो जाएगी। |
No_RX_Count | 4 अष्टक | अंतिम घटना के बाद से कोई आरएक्स गिनती नहीं। गिनती तब बढ़ जाती है जब कोई पैकेट निर्धारित समय स्लॉट में प्राप्त नहीं होता है या प्राप्त पैकेट दूषित होता है। होस्ट को रिपोर्ट करने के बाद यह गिनती रीसेट हो जाएगी। |
NAK_Count | 4 अष्टक | अंतिम घटना के बाद से नाक (नकारात्मक स्वीकार) की गिनती। होस्ट को रिपोर्ट करने के बाद यह गिनती रीसेट हो जाएगी। |
Last_TX_ACK_Timestamp | 4 अष्टक | अंतिम TX ack का टाइमस्टैम्प। यह पिकोनेट सेंट्रल (सीएलके) की ब्लूटूथ घड़ी पर आधारित है। यूनिट: एन * 0.3125 एमएस (1 ब्लूटूथ घड़ी) |
Flow_Off_Count | 4 अष्टक | अंतिम घटना के बाद से कंट्रोलर को फ्लो-ऑफ (स्टॉप) प्राप्त होता है। होस्ट को रिपोर्ट करने के बाद यह गिनती रीसेट हो जाएगी। |
Last_Flow_On_Timestamp | 4 अष्टक | लास्ट फ्लो-ऑन (गो) का टाइमस्टैम्प। यह पिकोनेट सेंट्रल (सीएलके) की ब्लूटूथ घड़ी पर आधारित है। यूनिट: एन * 0.3125 एमएस (1 ब्लूटूथ घड़ी) |
Buffer_Overflow_Bytes | 4 अष्टक | [बाइट में] अंतिम घटना के बाद से बफर ओवरफ्लो गिनती। |
Buffer_Underflow_Bytes | 4 अष्टक | [बाइट में] अंतिम घटना के बाद से बफर अंडरफ्लो गिनती। |
bdaddr | 6 ऑक्टेट्स | सुदूर युक्ति पता |
cal_failed_item_count | 1 ऑक्टेट | अंशांकन की गिनती विफल वस्तुओं |
TX_Total_Packets | 4 अष्टक | पैकेटों की संख्या जो बाहर भेजा जाता है। |
TX_UnAcked_Packets | 4 अष्टक | पैकेटों की संख्या जो एक पावती प्राप्त नहीं करती है। यह गिनती मेजबान को रिपोर्ट करने के बाद रीसेट है। |
TX_Flushed_Packets | 4 अष्टक | पैकेटों की संख्या जो इसके फ्लश पॉइंट द्वारा नहीं भेजी जाती हैं। यह गिनती मेजबान को रिपोर्ट करने के बाद रीसेट है। |
TX_Last_Subevent_Packets | 4 अष्टक | परत को लिंक करने वाले पैकेटों की संख्या CIS ईवेंट के अंतिम सबवेंट में CIS डेटा PDU को प्रसारित करती है। यह गिनती मेजबान को रिपोर्ट करने के बाद रीसेट है। यदि लिंक के लिए कोई मान्य मान नहीं है तो मान शून्य है। |
CRC_Error_Packets | 4 अष्टक | अंतिम घटना के बाद से सीआरसी त्रुटि के साथ प्राप्त पैकेजों की संख्या। यह गिनती मेजबान को रिपोर्ट करने के बाद रीसेट है। |
RX_Duplicate_Packets | 4 अष्टक | अंतिम घटना के बाद से प्राप्त डुप्लिकेट (रिट्रांसमिशन) पैकेजों की संख्या। यह गिनती मेजबान को रिपोर्ट करने के बाद रीसेट है। |
विक्रेता विशिष्ट पारसिगर | (पैरामीटर कुल लंबाई - टीबीडी) * ऑक्टेट्स | नियंत्रक विक्रेता के लिए अधिक विक्रेता विशिष्ट मापदंडों को प्राप्त करने के लिए। |
सब-इवेंट कोड = 0x58 [realution_report_id = 0x05, रूट सूजन घटना]
यह घटना इंगित करती है कि ब्लूटूथ एचएएल या नियंत्रक को एक घातक त्रुटि का सामना करना पड़ा और इस स्थिति को रिकॉर्ड करने और पुनरारंभ करने के लिए ब्लूटूथ स्टैक की आवश्यकता है। किसी भी मामले में डिबग जानकारी घटनाओं का पहला टुकड़ा भेजने से पहले नियंत्रक को ब्लूटूथ स्टैक पर एक Root_inflammation_event भेजना होगा।
ERROR_CODE पैरामीटर में HAL/कंट्रोलर से रिपोर्ट किया गया एक त्रुटि कोड होता है, 0 यदि यह एक चिपसेट विक्रेता विशिष्ट त्रुटि है। VENDOR_SPECIFICIFIC_ERROR_CODE में HAL/कंट्रोलर से एक चिपसेट विक्रेता विशिष्ट त्रुटि कोड होता है। यह 0 के रूप में सेट करना चाहिए यदि पैरामीटर त्रुटि_कोड 0. नहीं है। पैरामीटर ERROR_CODE और VERNOR_SPECIFICIFIC_ERROR_CODE दोनों 0 नहीं होना चाहिए।
उप-ईवेंट पैरामीटर | आकार | उद्देश्य |
---|---|---|
Quality_Report_Id | 1 ऑक्टेट | 0x00 ~ 0x04: आरक्षित। 0x05: जड़ सूजन। 0x06 ~ 0xff: आरक्षित। |
Error_Code | 1 ऑक्टेट | 0x00: चिपसेट विक्रेता विशिष्ट त्रुटि कोड शामिल है। 0x01 ~ 0xff: नियंत्रक विफलता हुई। ब्लूटूथ स्पेक [वॉल्यूम 2] भाग डी, त्रुटि कोड और विवरण की सूची के लिए त्रुटि कोड देखें। |
Vendor_Specific_Error_Code | 1 ऑक्टेट | 0x00: कोई चिपसेट विक्रेता विशिष्ट त्रुटि कोड शामिल नहीं है। 0x01 ~ 0xff: चिपसेट विक्रेता विशिष्ट त्रुटि कोड। |
विक्रेता विशिष्ट पारसिगर | (पैरामीटर कुल लंबाई - 4) * ऑक्टेट्स | नियंत्रक विक्रेता के लिए अधिक विक्रेता विशिष्ट मापदंडों को प्राप्त करने के लिए। |
सब-इवेंट कोड = 0x58 [realution_report_id = 0x11 ~ 0x13, लॉग डंप संबंधित घटना]
उप-ईवेंट पैरामीटर | आकार | उद्देश्य |
---|---|---|
Quality_Report_Id | 1 ऑक्टेट | 0x00 ~ 0x10: आरक्षित। 0x11: lmp/ll संदेश ट्रेस। 0x12: ब्लूटूथ मल्टी-लिंक/कोएक्स शेड्यूलिंग ट्रेस। 0x13: नियंत्रक डिबग सूचना डेटा डंप। 0x14 ~ 0xff: आरक्षित। |
Connection_Handle | 2 अष्टक | कनेक्शन हैंडल। |
विक्रेता विशिष्ट पारसिगर | (पैरामीटर कुल लंबाई - 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 सेट विज्ञापन पैरामीटर कमांड)
उप OCF: 0x01
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Advertising_Interval_Min | प्रति कल्पना | प्रति कल्पना |
Advertising_Interval_Max | प्रति कल्पना | प्रति कल्पना |
Advertising_Type | प्रति कल्पना | प्रति कल्पना |
Own_Address_Type | प्रति कल्पना | प्रति कल्पना |
Own_Address | प्रति कल्पना | प्रति कल्पना |
Direct_Address_Type | प्रति कल्पना | प्रति कल्पना |
Direct_Address | प्रति कल्पना | प्रति कल्पना |
Advertising_Channel_Map | प्रति कल्पना | प्रति कल्पना |
Adverstising_Filter_Policy | प्रति कल्पना | प्रति कल्पना |
Advertising_Instance | 1 ऑक्टेट | उपरोक्त मापदंडों की प्रयोज्यता को एक उदाहरण के लिए निर्दिष्ट करता है |
Tx_power | 1 ऑक्टेट | शक्ति संचारित करें यूनिट - डीबीएम में (हस्ताक्षरित पूर्णांक) रेंज (-70 से +20) |
इस बहु-विज्ञापन उदाहरण को स्थापित करने के समय Own_Address
पैरामीटर एक होस्ट-कॉन्फ़िगर पता हो सकता है। यह पहले बीकन के प्रसारण के समय एक हल करने योग्य निजी पते की क्षमता प्रदान करता है। एक उदाहरण पर विज्ञापन कनेक्शन के बावजूद जारी रहेगा। होस्ट बीटी स्टैक एक उदाहरण, पोस्ट कनेक्शन पर विज्ञापन शुरू करने के लिए एक कमांड जारी कर सकता है।
उपरोक्त कमांड के अनुसार, ब्लूटूथ कोर 4.1 विनिर्देश में निर्दिष्ट के रूप में इस कमांड के लिए एक कमांड पूर्ण घटना उत्पन्न की जाएगी। यदि विज्ञापन उदाहरण या Tx_Power
पैरामीटर अमान्य हैं, तो नियंत्रक एक गैर-सफल (अमान्य पैरामीटर) कोड के साथ जवाब देगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Multi_advt_opcode | 1 ऑक्टेट | 0x01 [ Set_Advt_Param_Multi_Sub_Cmd] |
LE_MULTI_ADVT_COMMAND: SET_ADVT_DATA_MULTI_SUB_CMD
आधार संदर्भ: ब्लूटूथ कोर 4.1 विनिर्देश, पृष्ठ 969 (LE सेट विज्ञापन डेटा कमांड)
उप OCF: 0x02
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Advertising_Data_Length | प्रति कल्पना | प्रति कल्पना |
Advertising_Data | प्रति कल्पना | प्रति कल्पना |
Advertising_Instance | 1 ऑक्टेट | उपरोक्त मापदंडों की प्रयोज्यता को एक उदाहरण के लिए निर्दिष्ट करता है |
उपरोक्त कमांड के अनुसार, ब्लूटूथ कोर 4.1 विनिर्देश में निर्दिष्ट के रूप में इस कमांड के लिए एक कमांड पूर्ण घटना उत्पन्न की जाएगी। यदि विज्ञापन उदाहरण या Tx_Power
पैरामीटर अमान्य हैं, तो नियंत्रक एक गैर-सफल कोड के साथ जवाब देगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Multi_advt_opcode | 1 ऑक्टेट | 0x02 [ Set_Advt_Data_Multi_Sub_Cmd] |
LE_MULTI_ADVT_COMMAND: SET_SCAN_RESP_DATA_MULTI_SUB_CMD
आधार संदर्भ: ब्लूटूथ कोर 4.1 विनिर्देश, पृष्ठ 970 (ले सेट स्कैन प्रतिक्रिया डेटा कमांड)
उप OCF: 0x03
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Scan_Response_Data_Length | प्रति कल्पना | प्रति कल्पना |
Scan_Response_Data | प्रति कल्पना | प्रति कल्पना |
Advertising_Instance | 1 ऑक्टेट | उपरोक्त मापदंडों की प्रयोज्यता को एक उदाहरण के लिए निर्दिष्ट करता है |
उपरोक्त कमांड के अनुसार, ब्लूटूथ कोर 4.1 विनिर्देश में निर्दिष्ट के रूप में इस कमांड के लिए एक कमांड पूर्ण घटना उत्पन्न की जाएगी। यदि विज्ञापन उदाहरण या Tx_Power
पैरामीटर अमान्य हैं, तो नियंत्रक एक गैर-सफल कोड (अमान्य पैरामीटर) के साथ जवाब देगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Multi_advt_opcode | 1 ऑक्टेट | 0x03 [ Set_Scan_Resp_Data_Multi_Sub_Cmd] |
LE_MULTI_ADVT_COMMAND: SET_RANDOM_ADDR_MULTI_SUB_CMD
आधार संदर्भ: ब्लूटूथ कोर 4.1 विनिर्देश, पृष्ठ 963 (ले सेट रैंडम एड्रेस कमांड)
उप OCF: 0x04
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
यादृच्छिक पता | प्रति कल्पना | प्रति कल्पना |
Advertising_Instance | 1 ऑक्टेट | उपरोक्त मापदंडों की प्रयोज्यता को एक उदाहरण के लिए निर्दिष्ट करता है |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Multi_advt_opcode | 1 ऑक्टेट | 0x04 [ Set_Random_Addr_Multi_Sub_Cmd] |
LE_MULTI_ADVT_COMMAND: SET_ADVT_ENABLE_MULTI_SUB_CMD
आधार संदर्भ: ब्लूटूथ कोर 4.1 विनिर्देश, पृष्ठ 971 (LE सेट विज्ञापन उस कोर विनिर्देश में कमांड सक्षम करें)
OCF: 0x05
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Advertising_Enable | 1 ऑक्टेट | 1 का मूल्य सक्षम है। किसी भी अन्य मूल्य का अर्थ है अक्षम। |
Advertising_Instance | 1 ऑक्टेट | उपरोक्त मापदंडों की प्रयोज्यता को एक उदाहरण के लिए निर्दिष्ट करता है। उदाहरण 0 का अर्थ है एक मानक एचसीआई उदाहरण। |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Multi_advt_opcode | 1 ऑक्टेट | 0x05 [ Set_Advt_Enable_Multi_Sub_Cmd] |
निजी पते का संकल्प संकल्प
यह सुविधा नियंत्रक फर्मवेयर या हार्डवेयर में एक निजी पते को हल करती है, जो निम्नलिखित लाभ प्रदान करता है:
- एक निजी पते को हल करने में मेजबान के साथ शामिल विलंबता
- मेजबान को जगाने से परहेज करके बिजली की बचत
LE_SET_RPA_TIMEOUT
OCF: 0x15c
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
LE_local_IRK | 16 ऑक्टेट | स्थानीय डिवाइस IRK का उपयोग यादृच्छिक resolvable पता (ES) उत्पन्न करने के लिए किया जाता है। |
tRPA_min | 2 अष्टक | सेकंड में न्यूनतम आरपीए जनरेशन टाइमआउट। नियंत्रक को इस समय पर या उसके बाद किसी भी विज्ञापन/स्कैनिंग/कनेक्शन की घटनाओं के लिए नए resolvable पते उत्पन्न करना होगा। वैध सीमा: 300-1800 |
tRPA_max | 2 अष्टक | सेकंड में अधिकतम आरपीए जनरेशन टाइमआउट। कंट्रोलर को इस टाइमआउट पर या उससे पहले किसी भी विज्ञापन/स्कैनिंग/कनेक्शन इवेंट के लिए नए रिज़ॉल्यूबल पते उत्पन्न करना होगा। मान्य सीमा: tRPA_min -1800 |
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | आदेश की स्थिति. सुझाए गए एचसीआई स्थिति मान: 0x00 सफलता 0x01 अज्ञात कमांड (यदि समर्थित नहीं है) 0x12 अमान्य कमांड पैरामीटर (यदि कोई पैरामीटर दिए गए रेंज के बाहर हैं) |
LE_RPA_OFFLOAD_COMMAND
OCF: 0x155
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
RPA_offload_opcode | 1 ऑक्टेट | 0x1 - ग्राहक विशिष्ट सुविधा सक्षम करें 0x2 - सूची में irk जोड़ें 0x3 - सूची से irk निकालें 0x4 - स्पष्ट irk सूची 0x5 - IRK सूची प्रविष्टि पढ़ें |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Event_RPA_offload_opcode | 1 ऑक्टेट | 0x1 - ग्राहक विशिष्ट सुविधा सक्षम करें 0x2 - सूची में irk जोड़ें 0x3 - सूची से irk निकालें 0x4 - स्पष्ट irk सूची 0x5 - IRK सूची प्रविष्टि पढ़ें |
LE_RPA_OFFLOAD: ENABLE_CUST_SPECIFICIFIC_SUB_COMMAND
उप OCF: 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
उप OCF: 0x02
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
LE_IRK | 16 अष्टक | ले इर्क (1 बाइट एलएसबी) |
Address_Type | 1 ऑक्टेट | 0: सार्वजनिक पता 1: यादृच्छिक पता |
LE_Device_Address | 6 ऑक्टेट्स | IRK (1 बाइट LSB) से जुड़े सार्वजनिक या यादृच्छिक पता |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Event_cust_specific_feature_opcode | 1 ऑक्टेट | 0x02 [सूची में irk जोड़ें] |
LE_IrkList_AvailableSpaces | 1 ऑक्टेट | वर्तमान ऑपरेशन के बाद उपलब्ध आईआरएल सूची प्रविष्टियाँ |
LE_RPA_OFFLOAD: remove_IRK_TO_LIST_SUB_COMMAND
उप OCF: 0x03
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Address_Type | 1 ऑक्टेट | 0: सार्वजनिक पता 1: यादृच्छिक पता |
LE_Device_Address | 6 ऑक्टेट्स | सार्वजनिक या यादृच्छिक पता जो irk से जुड़ता है |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Event_cust_specific_feature_opcode | 1 ऑक्टेट | 0x03 [सूची से irk निकालें] |
LE_IrkList_AvailableSpaces | 1 ऑक्टेट | वर्तमान ऑपरेशन के बाद उपलब्ध आईआरएल सूची प्रविष्टियाँ |
LE_RPA_OFFLOAD: CLEAR_IRK_LIST_SUB_COMMAND
उप OCF: 0x04
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
कोई नहीं |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Event_cust_specific_feature_opcode | 1 ऑक्टेट | 0x04 [स्पष्ट irk सूची] |
LE_IrkList_AvailableSpaces | 1 ऑक्टेट | वर्तमान ऑपरेशन के बाद उपलब्ध IRL सूची प्रविष्टियाँ [ max_irk_list_sz] |
LE_RPA_OFFLOAD: READ_IRK_LIST_SUB_COMMAND
उप OCF: 0x05
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
LE_read_IRK_list_entry-index | 1 ऑक्टेट | IRK सूची का सूचकांक [0, max_irk_list_sz-1] |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Event_cust_specific_feature_opcode | 1 ऑक्टेट | 0x05 [IRK सूची प्रविष्टि पढ़ें] |
LE_Read_IRK_List_entry | 1 ऑक्टेट | IRK का सूचकांक जो मेजबान वापस पढ़ना चाहता है (अधिकतम IRK सूची का आकार 32 है) |
LE_IRK | 16 अष्टक | अर्क मूल्य |
Address_Type | 1 ऑक्टेट | 0: सार्वजनिक पता 1: यादृच्छिक पता |
LE_Device_Address | 6 ऑक्टेट्स | सार्वजनिक या यादृच्छिक पता irk से जुड़ा हुआ है |
LE_Resolved_Private_Address | 6 ऑक्टेट्स | इस irk का वर्तमान हल करने योग्य निजी पता |
होस्ट कंट्रोलर इंटरफ़ेस (HCI) का उपयोग ब्लूटूथ कंट्रोलर के साथ बातचीत करने के लिए किया जाता है।
यह दस्तावेज़ ब्लूटूथ (बीटी) और ब्लूटूथ लो एनर्जी (बीएलई) एचसीआई आवश्यकताओं की एक सूची प्रदान करता है। उद्देश्य होस्ट बीटी स्टैक विक्रेताओं और बीटी नियंत्रक विक्रेताओं के लिए इन प्लेटफ़ॉर्म आवश्यकताओं के अनुरूप है ताकि नीचे वर्णित सुविधा का उपयोग किया जा सके।
यह दस्तावेज़ ब्लूटूथ कोर 5.2 विनिर्देश को "कल्पना" के रूप में संदर्भित करता है। ब्लूटूथ कोर 5.2 विनिर्देश ब्लूटूथ एसआईजी वेबसाइट पर अन्य गोद लिए गए दस्तावेजों के साथ उपलब्ध है।
सामान्य डिजाइन अवलोकन
चिप क्षमताओं और विन्यास
एक खुले मंच के रूप में, एंड्रॉइड में सॉफ्टवेयर रिलीज़, ओईएम, विक्रेताओं और प्लेटफ़ॉर्म और चिप क्षमताओं का एक मैट्रिक्स है।
अलग -अलग परिदृश्य का प्रबंधन करने और पलायन का प्रबंधन करने के लिए, बीटी नियंत्रकों को अपनी क्षमताओं (मानक ब्लूटूथ कोर 5.2 विनिर्देश से परे) को उजागर करने की अनुमति देने का एक डिजाइन दर्शन इस दस्तावेज़ में वर्णित है। होस्ट बीटी स्टैक तब इन क्षमताओं का उपयोग यह निर्धारित करने के लिए कर सकता है कि कौन सी सुविधाएँ सक्षम करने के लिए हैं।
खुले मानकों का समर्थन करना
Android का एक लक्ष्य ब्लूटूथ विनिर्देश में अनुसमर्थन के बाद खुले मानकों का समर्थन करना है। यदि नीचे वर्णित कोई सुविधा भविष्य के ब्लूटूथ विनिर्देश में मानक एचसीआई विधियों में उपलब्ध हो जाती है, तो हम उस दृष्टिकोण को डिफ़ॉल्ट बनाने की ओर झुकेंगे।
विक्रेता-विशिष्ट क्षमता
विक्रेता-विशिष्ट कमांड: LE_Get_Vendor_Capabilities_Command
Opcode कमांड फ़ील्ड (OCF): 0x153
कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
ना | खाली कमांड पैरामीटर सूची |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
max_advt_instances (अस्वीकृत) | 1 ऑक्टेट | विज्ञापन उदाहरणों की संख्या समर्थित। V0.98 के बाद आरक्षित। यह पैरामीटर Google फ़ीचर Spec v0.98 में और BT Spect संस्करण 5.0 और उच्चतर में उपलब्ध LE विस्तारित विज्ञापन के पक्ष में उच्चतर है। |
offloaded_resolution_of_private-address (अस्वीकृत) | 1 ऑक्टेट | आरपीए की बीटी चिप क्षमता। यदि एक चिप द्वारा समर्थित है, तो उसे मेजबान द्वारा सक्षम करने की आवश्यकता है। 0 = सक्षम नहीं है 1 = सक्षम V0.98 के बाद आरक्षित। इस पैरामीटर को Google फ़ीचर Spec v0.98 और उच्चतर बीटी स्पेस संस्करण 4.2 और उच्चतर में उपलब्ध गोपनीयता सुविधा के पक्ष में पदावनत किया गया है। |
total_scan_results_storage | 2 अष्टक | बाइट्स में स्कैन परिणाम के लिए भंडारण |
max_irk_list_sz | 1 ऑक्टेट | फर्मवेयर में समर्थित IRK प्रविष्टियों की संख्या |
filtering_support | 1 ऑक्टेट | नियंत्रक में फ़िल्टरिंग के लिए समर्थन 0 = समर्थित नहीं है 1 = समर्थित |
max_filter | 1 ऑक्टेट | समर्थित फिल्टर की संख्या |
activity_energy_info_support | 1 ऑक्टेट | गतिविधि और ऊर्जा जानकारी की रिपोर्टिंग का समर्थन करता है 0 = सक्षम नहीं है 1 = सक्षम |
version_supported | 2 अष्टक | Google फ़ीचर कल्पना समर्थित के संस्करण को निर्दिष्ट करता है बाइट [0] = प्रमुख संख्या बाइट [1] = मामूली संख्या v1.03 बाइट [0] = 0x01 बाइट [1] = 0x03 |
total_num_of_advt_tracked | 2 अष्टक | विज्ञापनदाताओं की कुल संख्या OnLost / OnFound उद्देश्यों के लिए ट्रैक की गई |
extended_scan_support | 1 ऑक्टेट | विस्तारित स्कैन विंडो और अंतराल का समर्थन करता है |
debug_logging_supported | 1 ऑक्टेट | नियंत्रक से बाइनरी डिबग जानकारी लॉगिंग का समर्थन करता है |
LE_address_generation_offloading_support (अस्वीकृत) | 1 ऑक्टेट | 0 = समर्थित नहीं है 1 = समर्थित V0.98 के बाद आरक्षित। इस पैरामीटर को Google फ़ीचर Spec v0.98 और उच्चतर बीटी स्पेस संस्करण 4.2 और उच्चतर में उपलब्ध गोपनीयता सुविधा के पक्ष में पदावनत किया गया है। |
A2DP_source_offload_capability_mask | 4 अष्टक | कोडेक प्रकारों के लिए बिट मास्क समर्थित बिट 0 - एसबीसी बिट 1 - एएसी बिट 2 - APTX बिट 3 - APTX HD बिट 4 - एलडीएसी बिट 5-31 आरक्षित हैं |
bluetooth_quality_report_support | 1 ऑक्टेट | ब्लूटूथ गुणवत्ता की घटनाओं की रिपोर्टिंग का समर्थन करता है 0 = सक्षम नहीं है 1 = सक्षम |
dynamic_audio_buffer_support | 4 अष्टक | ब्लूटूथ कंट्रोलर में डायनामिक ऑडियो बफर का समर्थन करता है कोडेक प्रकारों के लिए बिट मास्क समर्थित बिट 0 - एसबीसी बिट 1 - एएसी बिट 2 - APTX बिट 3 - APTX HD बिट 4 - एलडीएसी बिट 5-31 आरक्षित हैं |
स्कैन परिणामों का बैचिंग
एक डिज़ाइन लक्ष्य यह है कि मेजबान में सत्ता बचाने के लिए, ब्लूटूथ ले स्कैन रिस्पांस इवेंट नोटिफिकेशन को मेजबान को कैसे दिया जाता है, इसे बढ़ाना है।
परिणामों को स्कैन करने के लिए कंट्रोलर होस्ट एप्लिकेशन प्रोसेसर को कितनी बार सूचित करता है, यह कम करके, होस्ट एप्लिकेशन प्रोसेसर निष्क्रिय/नींद में लंबे समय तक रह सकता है। यह मेजबान में बिजली की खपत को कम करता है। रिटर्न पैरामीटर total_scan_results_storage
of LE_Get_Vendor_Capabilities_Command
स्कैन परिणामों के भंडारण के लिए चिप क्षमता को इंगित करता है।
यह सुविधा ब्लूटूथ कंट्रोलर में LE स्कैन परिणाम भंडारण सुविधा के प्रबंधन और कॉन्फ़िगरेशन पर केंद्रित है। स्टोरेज का उपयोग अस्थायी रूप से विज्ञापन डेटा और स्कैन डेटा और मेटाडेटा को बैच करने के लिए किया जाता है जो कि होस्ट को बाद में डिलीवरी के लिए नियंत्रक द्वारा प्राप्त किया जाता है।
फर्मवेयर दो प्रकार के बैचिंग का समर्थन करेगा, जो एक साथ संलग्न हो सकता है:
- काट दिया गया। निम्नलिखित सूचना तत्व शामिल हैं: {मैक, TX पावर, RSSI, टाइमस्टैम्प}
- भरा हुआ। निम्नलिखित सूचना तत्व शामिल हैं: {मैक, TX पावर, RSSI, टाइमस्टैम्प, ADV डेटा, स्कैन प्रतिक्रिया}
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: ग्राहक विशिष्ट सुविधा सक्षम करें
उप OCF: 0x01
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
enable_customer_specific_feature_set | 1 ऑक्टेट | 0x01 - बैच स्कैन सुविधा सक्षम करें 0x00 - बैच स्कैन फ़ीचर को अक्षम करें |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Batch_Scan_opcode | 1 ऑक्टेट | 0x1 - ग्राहक -विशिष्ट सुविधा सक्षम करें 0x2 - सेट बैच स्कैन भंडारण पैरामीटर 0x3 - सेट बैच स्कैन पैरामीटर 0x4 - बैच स्कैन परिणाम पैरामीटर पढ़ें |
LE_BATCH_SCAN_COMMAND: सेट बैच स्कैन स्टोरेज परम सबकोमैंड सेट करें
उप OCF: 0x02
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Batch_Scan_Full_Max | 1 ऑक्टेट | मैक्स स्टोरेज स्पेस ( %में) पूर्ण शैली के लिए आवंटित किया गया [रेंज: 0-100] |
Batch_Scan_Truncated_Max | 1 ऑक्टेट | मैक्स स्टोरेज स्पेस ( %में) को काट दिया गया शैली के लिए आवंटित किया गया [रेंज: 0-100] |
Batch_Scan_Notify_Threshold | 1 ऑक्टेट | व्यक्तिगत भंडारण पूल के लिए सेटअप अधिसूचना स्तर ( %में) [रेंज: 0-100] 0 पर सेट करना अधिसूचना को अक्षम कर देगा। विक्रेता-विशिष्ट एचसीआई घटना उत्पन्न होती है (स्टोरेज थ्रेसहोल्ड ब्रीच सबवेंट) |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Batch_scan_opcode | 1 ऑक्टेट | 0x02 [सेट बैच स्कैन पैरामीटर] |
LE_BATCH_SCAN_COMMAND: सेट बैच स्कैन परम सबकोमैंड सेट करें
उप OCF: 0x03
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Batch_Scan_Mode | 1 ऑक्टेट | 0x00 - बैच स्कैन अक्षम है 0x01 - ट्रुंकेटेड मोड सक्षम है 0x02 - पूर्ण मोड सक्षम है 0x03 - छंटनी और पूर्ण मोड सक्षम हैं |
Duty_cycle_scan_window | 4 अष्टक | बैच स्कैन स्कैन समय (# स्लॉट का#) |
Duty_cyle_scan_interval | 4 अष्टक | बैच स्कैन अंतराल अवधि (# स्लॉट का#) |
own_address_type | 1 ऑक्टेट | 0x00 - सार्वजनिक डिवाइस पता 0x01 - यादृच्छिक उपकरण पता |
Batch_scan_Discard_Rule | 1 ऑक्टेट | 0 - सबसे पुराने विज्ञापन को त्यागें 1 - सबसे कमजोर RSSI के साथ विज्ञापन त्यागें |
यह उप-कमांड बैच स्कैनिंग शुरू कर देगा, यदि सक्षम हो। छंटनी की गई स्कैनिंग में, परिणामों को छंटनी के रूप में संग्रहीत किया जाता है, जहां छंटनी की शैली के लिए अद्वितीय कुंजी = { BD_ADDR,
scan_interval}। इसका मतलब है कि प्रत्येक स्कैन अंतराल के लिए केवल एक BD_ADDR will
। छंटनी मोड के लिए रखने का रिकॉर्ड निम्नलिखित है: { BD_ADDR
, TX पावर, RSSI, Timestamp}
जब पूर्ण मोड सक्षम होता है, तो सक्रिय स्कैनिंग का उपयोग किया जाएगा और स्कैन प्रतिक्रियाएं दर्ज की जाएंगी। पूर्ण शैली अद्वितीय कुंजी = {मैक, विज्ञापन पैकेट}, स्कैन अंतराल के बावजूद। पूर्ण मोड के लिए रखने का रिकॉर्ड { BD_ADDR
, TX पावर, RSSI, टाइमस्टैम्प, विज्ञापन पैकेट, स्कैन रिस्पांस} है। पूर्ण शैली में, एक ही विज्ञापन पैकेट, जब विभिन्न स्कैन अंतराल में कई बार देखा जाता है, केवल एक बार दर्ज किया जाता है। हालांकि, छंटनी की गई मोड में, यह विभिन्न स्कैन अंतराल में BA_ADDR
की दृश्यता है जो ब्याज की है (एक बार स्कैन अंतराल के प्रति)। RSSI एक स्कैन अंतराल के भीतर एक अद्वितीय विज्ञापन के सभी डुप्लिकेट का औसत मूल्य है।
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Batch_scan_opcode | 1 ऑक्टेट | 0x03 [सेट बैच स्कैन पैरामीटर]] |
LE_BATCH_SCAN_COMMAND: पढ़ें बैच स्कैन परिणाम उप-कमांड
उप OCF: 0x04
उप-कमांड पैरामीटर | आकार | उद्देश्य |
---|---|---|
Batch_Scan_Data_read | 1 ऑक्टेट | 0x01 - छंटनी मोड डेटा 0x02 - पूर्ण मोड डेटा |
इस कमांड के लिए एक कमांड कम्प्लीट इवेंट उत्पन्न होगा। जब होस्ट इस कमांड को जारी करता है, तो नियंत्रक के सभी परिणाम एक कमांड पूर्ण घटना में फिट नहीं हो सकते हैं। होस्ट इस कमांड को तब तक जारी करेगा जब तक कि कमांड पूर्ण घटना में संबंधित परिणाम रिकॉर्ड की संख्या में 0 को इंगित करते हैं, जो इंगित करता है कि नियंत्रक के पास होस्ट को संवाद करने के लिए अधिक रिकॉर्ड नहीं है। प्रत्येक कमांड पूर्ण घटना में केवल एक प्रकार के डेटा (पूर्ण या छंटनी) के कई रिकॉर्ड हो सकते हैं।
नियंत्रक और होस्ट समय संदर्भ सिंक्रनाइज़ नहीं किए जाते हैं। टाइमस्टैम्प की इकाई 50ms है। टाइमस्टैम्प का मान तब आधारित है जब Read_Batch_Scan_Results_Sub_cmd
होस्ट द्वारा दिया जाता है। यदि फर्मवेयर में एक कमांड आगमन का समय T_c
है, तो फर्मवेयर में टाइमस्टैम्प लिया गया वास्तविक समय T_fw
है। रिपोर्टिंग समय होगा: ( T_c
- T_fw
)। T_c
और T_fw
फर्मवेयर समय डोमेन में हैं। यह मेजबान की गणना करता है कि घटना कितनी देर पहले हुई थी।
वापसी पैरामीटर | आकार | उद्देश्य |
---|---|---|
Status | 1 ऑक्टेट | कमांड पूर्ण स्थिति |
Batch_scan_opcode | 1 ऑक्टेट | 0x03 [सेट बैच स्कैन पैरामीटर]] |
Batch_Scan_data_read | 1 ऑक्टेट | प्रारूप की पहचान करता है (छंटनी या पूर्ण) |
num_of_records | 1 ऑक्टेट | Batch_Scan_data_read के रिकॉर्ड की संख्या |
format_of_data | चर | ट्रंक किए गए मोड: पता [0]: 6 ऑक्टेट्स पता_टाइप [0]: 1 ऑक्टेट Tx_pwr [0]: 1 ऑक्टेट Rssi [0]: 1 ऑक्टेट टाइमस्टैम्प [0]: 2 ऑक्टेट्स [कई रिकॉर्ड ( num_of_records ) उपरोक्त प्रारूप के साथ]पूर्ण मोड: पता [0]: 6 ऑक्टेट्स पता_टाइप [0]: 1 ऑक्टेट Tx_pwr [0]: 1 ऑक्टेट Rssi [0]: 1 ऑक्टेट टाइमस्टैम्प [0]: 2 ऑक्टेट्स Adv packet_len [0]: 1 ऑक्टेट Adv_packet [0]: adv_packet_len ऑक्टेट्स SCAN_DATA_RESP_LEN [0]: 1 ऑक्टेट SCAN_DATA_RESP [0]: Scan_data_resp ऑक्टेट्स[उपरोक्त प्रारूप के साथ कई रिकॉर्ड ( num_of_records )]] |
विज्ञापन पैकेट सामग्री फ़िल्टर
नियंत्रक में विज्ञापन पैकेट सामग्री फ़िल्टर (APCF) को सक्षम/अक्षम/सेटअप करने के लिए इसका उपयोग करें। APCF नियंत्रक में विज्ञापन रिपोर्ट को फ़िल्टर करता है, लेकिन आवधिक विज्ञापन को फ़िल्टर नहीं करता है।
LE_APCF_COMMAND
OCF: 0x157
Command parameter | आकार | उद्देश्य |
---|---|---|
APCF_opcode | 1 octet | 0x00 - APCF Enable 0x01 - APCF Set Filtering parameters 0x02 - APCF Broadcaster Address 0x03 - APCF Service UUID 0x04 - APCF Service Solicitation UUID 0x05 - APCF Local Name 0x06 - APCF Manufacturer Data 0x07 - APCF Service Data 0x08 - APCF Transport Discovery Service 0x09 - APCF AD Type Filter 0x10 ~ 0xAF - Reserved for future use 0xB0 ~ 0xDF - Reserved for vendor 0xE0 ~ 0xFE - Reserved for future use 0xFF - APCF Read extended Features |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | वापसी की स्थिति |
APCF_opcode | 1 octet | 0x00 - APCF Enable 0x01 - APCF Set Filtering parameters 0x02 - APCF Broadcaster Address 0x03 - APCF Service UUID 0x04 - APCF Service Solicitation UUID 0x05 - APCF Local Name 0x06 - APCF Manufacturer Data 0x07 - APCF Service Data 0x08 - APCF Transport Discovery Service 0x09 - APCF AD Type Filter 0x10 ~ 0xAF - Reserved for future use 0xB0 ~ 0xDF - Reserved for vendor 0xE0 ~ 0xFE - Reserved for future use 0xFF - APCF Read extended Features |
LE_APCF_Command: Enable_sub_cmd
Sub OCF: 0x00
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_enable | 1 octet | 0x01 - Enable APCF feature 0x00 - Disable APCF feature |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x0 - APCF Enable |
APCF_Enable | 1 octet | Enable/disable is set via APCF_enable |
LE_APCF_Command: set_filtering_parameters_sub_cmd
This subcommand is used to add or delete a filter specification or clear a filter list for on-chip filtering.
Sub OCF: 0x01
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will clear the specific filter along with associated feature entries in other tables. Clear will clear all the filters and associated entries in other tables. |
APCF_Filter_Index | 1 octet | Filter index (0, max_filter-1 ) |
APCF_Feature_Selection | 2 अष्टक | Bit masks for the selected features: Bit 0: Set to enable Broadcast Address filter Bit 1: Set to enable Service Data Change filter Bit 2: Set to enable Service UUID check Bit 3: Set to enable Service Solicitation UUID check Bit 4: Set to enable Local Name check Bit 5: Set to enable Manufacturer Data Check Bit 6: Set to enable Service Data Check Bit 7: Set to enable Transport Discovery Service Check Bit 8: Set to enable AD Type Check |
APCF_List_Logic_Type | 2 अष्टक | Logic operation for each feature selection (per-bit position) specified in APCF_Feature_Selection .Valid only when a feature is enabled. Bit position value: 0: OR 1: AND If "AND" logic is selected, an ADV packet will pass the filter only if it contains ALL of the entries in the list. If "OR" logic is selected, an ADV packet will pass the filter if it contains any of the entries in the list. |
APCF_Filter_Logic_Type | 1 octet | 0x00: OR 0x01: AND Note: The logic type is N/A for the first three fields of APCF_Feature_Selection , which is always "AND" logic. They are only applicable for (Bit 3 - Bit 6) four fields of APCF_Feature_Selection . |
rssi_high_thresh | 1 octet | [in dBm] The advertiser is considered seen only if the signal is higher than the RSSI high threshold. Otherwise, the firmware must behave as if it never saw it. |
delivery_mode | 1 octet | 0x00 - immediate 0x01 - on_found 0x02 - batched |
onfound_timeout | 2 अष्टक | Valid only if delivery_mode is on_found .[in milliseconds] Time for firmware to linger and collect additional advertisements before reporting. |
onfound_timeout_cnt | 1 octet | Valid only if delivery_mode is on_found .[गिनती करना] If an advertisement in onFound lingers in firmware for the onfound_timeout duration, it will collect a few advertisements and the count is checked. If the count exceeds onfound_timeout_cnt , it's reported OnFound immediately thereafter. |
rssi_low_thresh | 1 octet | Valid only if delivery_mode is on_found .[in dBm] The advertiser packet is considered as not seen if the RSSI of the received packet is not above the RSSI low threshold. |
onlost_timeout | 2 अष्टक | Valid only if delivery_mode is on_found .[in milliseconds] If an advertisement, after being found, is not seen contiguously for the lost_timeout period, it will immediately be reported lost. |
num_of_tracking_entries | 2 अष्टक | Valid only if delivery_mode is on_found .[गिनती करना] Total number of advertisers to track per filter. |
RSSI values must use 2's complement to represent negative values.
Host shall be able to configure multiple filters with APCF_Application_Address_type
set to 0x02 (for all broadcaster addresses) to manage various filter combinations.
Filtering, batching and reporting are inter-related concepts. Every advertisement and related scan response will have to go through all the filters, one after the other. Thus, resulting actions ( delivery_mode
) are closely tied to filtering. The delivery modes are the following: report_immediately
, batch
, and onFound
. The OnLost
value is related to OnFound
in the sense that it will come after OnFound
when lost.
This processing flow depicts the conceptual model:
When an advertisement (or scan response) frame is received, it is applied to all the filters in serial order. It's possible that an advertisement can cause immediate reporting based on one filter and batching of the same due to a different filter action.
RSSI level thresholds (high and low) give the ability to control when the frame is visible for filter processing, even when a valid packet is received by the controller. In case of delivery mode being set to immediate or batched, the RSSI of a frame is considered for further controller processing. Different apps need different reporting and batching behavior. This allows multiple apps to have direct reporting and/or batching of results in firmware, concurrently. An example is a case when a batch scan is active from one app and later a regular LE scan is issued by another app. Before a batch scan is issued, the framework/app sets appropriate filters. Later, when the second app issues a regular scan, previous batching continues. However, due to the regular scan, it is akin to conceptually adding a null filter (along with all the existing filters) along with the LE scan command. The LE scan command parameters take precedence when active. When the regular LE scan is disabled, the controller will revert back to a previous batch scan, if it existed.
The OnFound
delivery mode is based on configured filters. A combination that triggers a filter's action to succeed is considered the entity to track for onLost
. The corresponding event is the LE Advt tracking subevent.
The OnFound/OnLost
transition for a filter (if enabled) will look like the following:
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x01 - APCF Set Filtering Parameters |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of available entries in the filters table |
LE_APCF_Command: broadcast_address_sub_cmd
This subcommand is used to add or delete an advertiser address or to clear the advertiser address list for on-chip filtering.
Sub OCF: 0x02
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will delete the specified broadcaster address in the specified filter. Clear will clear all the broadcaster addresses in the specified filter. |
APCF_Filter_Index | 1 octet | Filter index (0, max_filter-1 ) |
APCF_Broadcaster_Address | 6 octet | 6-byte device address to add to or delete from the broadcaster address list |
APCF_Application_Address_type | 1 octet | 0x00: Public 0x01: Random 0x02: NA (addresses type not applicable) |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x02 - APCF Broadcaster Address |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of free entries still available in the Broadcast Address table |
LE_APCF_Command: service_uuid_sub_cmd
This subcommand is used to add or delete a service UUID or to clear a service UUID list for on-chip filtering.
Sub OCF: 0x03
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will delete the specified service UUID address in the specified filter. Clear will clear all the service UUIDs in the specified filter. |
APCF_Filter_Index | 1 octet | Filter index (0, max_filter -1) |
APCF_UUID | 2,4,16 octet | The Service UUID (16-bit, 32-bit, or 128-bit) for adding to, or deleting from, the list. |
APCF_UUID_MASK | 2,4,16 octet | The Service UUID Mask (16-bit, 32-bit, or 128-bit) to add to the list. It should have the same length as APCF_UUID. |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x03 - APCF Service UUID |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of free entries still available in the Service UUID table |
LE_APCF_Command: solicitation_uuid_sub_cmd
This subcommand is used to add or delete a solicitation UUID or to clear a solicitation UUID list for on-chip filtering.
Sub OCF: 0x04
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will delete the solicitation UUID address in the specified filter. Clear will clear all the solicitation UUIDs in the specified filter. |
APCF_Filter_Index | 1 octet | Filter index (0, max_filter -1) |
APCF_UUID | 2,4,16 octet | The Solicitation UUID (16-bit, 32-bit, or 128-bit) to add to or delete from the list. |
APCF_UUID_MASK | 2,4,16 octet | The Solicitation UUID Mask (16-bit, 32-bit, or 128-bit) to add to the list. It should have the same length as the APCF_UUID . |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x04 - APCF Solicitation UUID |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of free entries still available in the Solicitation UUID table |
LE_APCF_Command: local_name_sub_cmd
This sub-command is used to add or delete a local name string or to clear the local name string list for on-chip filtering.
Sub OCF: 0x05
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will delete the specified local name string in the specified filter. Clear will clear all the local name strings in the specified filter. |
APCF_Filter_Index | 1 octet | Filter index (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData | परिवर्तनीय आकार | A character string for local name. टिप्पणियाँ:
|
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x05 - APCF Local Name |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of free entries still available in the Local name table |
LE_APCF_Command: manf_data_sub_cmd
This subcommand is used to add or delete a manufacturer data string or to clear the manufacturer data string list for on-chip filtering.
Sub OCF: 0x06
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will delete the specified manufacturer data string in the specified filter. Clear will clear all the manufacturer data strings in the specified filter. |
APCF_Filter_Index | 1 octet | Filter Index (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData | परिवर्तनीय आकार | A character string for manufacturer data. टिप्पणियाँ:
|
APCF_ManData_Mask | परिवर्तनीय आकार | The manufacture data mask to add to the list. It should have the same length as APCF_LocName_or_ManData_or_SerData . |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x06 - APCF Manufacturer Data |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of free entries still available in the Manufacturer Data table |
LE_APCF_Command: service_data_sub_cmd
This subcommand is used to add or delete a service data string or to clear the service data string list for on-chip filtering.
Sub OCF: 0x07
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will delete the specified service data string in the specified filter. Clear will clear all the service data strings in the specified filter. |
APCF_Filter_Index | 1 octet | Filter Index (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData | परिवर्तनीय आकार | A character string for service data. टिप्पणियाँ:
|
APCF_LocName_Mandata_or_SerData_Mask | परिवर्तनीय आकार | The service data mask to add to the list. It should have the same length as APCF_LocName_or_ManData_or_SerData. |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x07 - APCF Service Data |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of free entries still available for Service Data table |
LE_APCF_Command: ad_type_sub_cmd
This subcommand is used to add or delete an AD type or to clear an AD type list for on-chip filtering. Use read_extended_features_sub_cmd
to check if this command is supported or not.
Sub OCF: 0x09
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
APCF_Action | 1 octet | 0x00 - Add 0x01 - Delete 0x02 - Clear Delete will delete the specified AD type in the specified filter. Clear will clear all the AD types in the specified filter. |
APCF_Filter_Index | 1 octet | Filter Index (0, max_filter -1) |
APCF_AD_TYPE | 1 octet | The AD Type for adding to, or deleting from, the list. Ignore when APCF_Action is 0x02 (Clear) |
APCF_AD_DATA_Length | परिवर्तनीय आकार | 0x00 - means do not filter data content Ignore when APCF_Action is 0x02 (Clear) |
APCF_AD_DATA | परिवर्तनीय आकार | Ignore when APCF_Action is 0x02 (Clear) |
APCF_AD_DATA_MASK | परिवर्तनीय आकार | Ignore when APCF_Action is 0x02 (Clear) It should have the same length as APCF_AD_DATA . |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0x09 - APCF AD Type |
APCF_Action | 1 octet | Echo back command's APCF_Action |
APCF_AvailableSpaces | 1 octet | Number of free entries still available in the AD Type table |
LE_APCF_Command: read_extended_features_sub_cmd
This subcommand is used to read extended APCF features.
Sub OCF: 0xFF
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
लागू नहीं | Empty command parameter. |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
APCF_opcode | 1 octet | 0xFF - APCF_Read_Extended_Features |
APCF_extended_features | 2 octet | Bit masks for extended features supported:
Value of bit
|
Controller activity and energy information command
The objective of this information is for higher host system functions to analyze the total activities of all components, including the BT controller and its macro state, in conjunction with what is happening in the apps and framework. To do this, the following information is required from the BT stack and the controller:
- BT stack: Reporting the current macro-operational state of the controller
- Firmware: Reporting aggregate activity and energy information
BT host stack macro states, as determined at the user level:
- Idle: [page scan, LE advt, inquiry scan]
- Scan: [paging/inquiry/trying to connect]
- Active: [ACL link on, SCO link ongoing, sniff mode]
The activities that the controller keeps track of over its life are Tx time, Rx time, idle time, and total energy consumed. They are cleared when read from the host.
LE_Get_Controller_Activity_Energy_Info
This is a vendor-specific command.
OCF: 0x159
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
ना | Empty command params |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
total_tx_time_ms | 4 अष्टक | Total time performing Tx |
total_rx_time_ms | 4 अष्टक | Total time performing Rx |
total_idle_time_ms | 4 अष्टक | Total time in idle (non-sleep low power states) |
total_energy_used | 4 अष्टक | Total energy used [product of current (mA), voltage (V) and time (ms)] |
LE extended set scan parameters command
This command can be used to enable a larger scan window and interval in the controller. Per the BT Core 5.2 Specification, a scan window and interval have an upper bound limit of 10.24 seconds, which hampers applications' longer scan intervals beyond 10.24 seconds.
Base reference: BT Core 5.2 Specification, page 2493 (LE Set Scan Parameters Command)
OCF: 0x15A
Command Parameter | आकार | उद्देश्य |
---|---|---|
LE_Ex_Scan_Type | 1 octet | 0x00 - Passive scanning. No SCAN_REQ packets shall be sent (default).0x01 - Active scanning. SCAN_REQ packets may be sent. |
LE_Ex_Scan_Interval | 4 अष्टक | Defined as the time interval from when the Controller started its last LE scan until it began the subsequent LE scan. Range: 0x0004 to 0x00FFFFFF Default: 0x0010 (10 ms) Time = N * 0.625 ms Time range: 2.5 ms to 10442.25 seconds |
LE_Ex_Scan_Window | 4 अष्टक | The duration of the LE scan. LE_Scan_Window shall be less than or equal to LE_Scan_Interval .Range: 0x0004 to 0xFFFF Default: 0x0010 (10 ms) Time = N * 0.625 ms Time Range: 2.5 ms to 40.95 seconds |
Own_Address_Type | 1 octet | 0x00 - Public Device Address (default) 0x01 - Random Device Address |
LE_Ex_Scan_Filter_Policy | 0x00 - Accept all advertisement packets (default). Directed advertising packets which are not addressed for this device shall be ignored. 0x01 - Ignore advertisement packets from devices not in the White List Only list. Directed advertising packets which are not addressed for this device shall be ignored. |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Get controller debug info command
The objective of this information element is to acquire controller debug information by a host, in binary form, for post-processing and analysis. This helps debug on-field issues and provides engineers with a toolkit to log information for analysis. A Controller can provide the information when requested by a host via the event (Controller Debug Info sub-event) or autonomously when desired by the controller. Example uses could be to report firmware state information, crash dump information, logging information, etc.
OCF: 0x15B
Command parameter | आकार | उद्देश्य |
---|---|---|
एन/ए | Empty command parameter list |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
A2DP Hardware Offload Support
The A2DP Offload feature supports the offload of the A2DP audio encoding process to an audio processor attached to the BT Controller. The encoded audio data stream passes directly from the Audio processor to the BT Controller without the BT host's involvement. The BT Host is still responsible for the configuration and control of the A2DP session. Two versions of the commands are available. The legacy commands with Sub OCF 0x01-0x02 only support open-source codecs. The versions with Sub-OCF 0x02-0x03 are agnostic to the configured codec.
OCF: 0x15D
Start A2DP Offload (legacy)
Sub OCF: 0x01
Use this command both to configure the A2DP Offload process and to start the A2DP stream.
Command parameter | आकार | उद्देश्य |
---|---|---|
Codec | 4 अष्टक | Specifies Codec type 0x01 - SBC 0x02 - AAC 0x04 - APTX 0x08 - APTX HD 0x10 - LDAC |
Max_Latency | 2 अष्टक | Max Latency Allowed (in ms). A value of zero disables flush. |
SCMS-T_Enable | 2 अष्टक | Octet 0: Flag that enables addition of SCMS-T header.
Octet 1: Value for the SCMS-T header, when it's enabled. |
Sampling_Frequency | 4 अष्टक | 0x01 - 44100 Hz 0x02 - 48000 Hz 0x04 - 88200 Hz 0x08 - 96000 Hz |
Bits_Per_Sample | 1 octet | 0x01 - 16 bits per sample 0x02 - 24 bits per sample 0x04 - 32 bits per sample |
Channel_Mode | 1 octet | 0x01 - Mono 0x02 - Stereo |
Encoded_Audio_Bitrate | 4 अष्टक | The encoded audio bitrate in bits per second second. 0x00000000 - The audio bitrate is not specified / unused. 0x00000001 - 0x00FFFFFF - Encoded audio bitrate in bits per second. 0x01000000 - 0xFFFFFFFF - Reserved. |
Connection_Handle | 2 अष्टक | Connection Handle of A2DP connection being configured |
L2CAP_Channel_ID | 2 अष्टक | L2CAP Channel ID to be used for this A2DP connection |
L2CAP_MTU_Size | 2 अष्टक | Maximum size of L2CAP MTU containing encoded audio packets |
Codec_Information | 32 octets | Codec-specific Information. SBC Codec: Refer to SBC Codec specific information elements in A2DP v1.3. AAC Codec: Refer to AAC Codec specific information elements in A2DP v1.3 LDAC Codec: Octet 0-3: Vendor ID Octet 4-5: Codec ID Octet 6: Bitrate Index: Octet 7: LDAC Channel Mode Octet 8-31: reserved All other codecs: Octet 0-31: reserved |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Sub_Opcode | 1 octet | 0x01 - Start A2DP Offload |
Start A2DP Offload
Sub OCF: 0x03
Use this command both to configure the A2DP Offload process and to start the A2DP stream.
Command parameter | आकार | उद्देश्य |
---|---|---|
Connection Handle | 2 अष्टक | Handle of the active HCI connection |
L2CAP_Channel_ID | 2 अष्टक | Identifier of the L2CAP Channel opened for A2DP streaming |
Data_Path_Direction | 1 octet | 0x00 - Output (AVDTP Source/Merge) 0x01 - Input (AVDTP Sink/Split) |
Peer_MTU | 2 अष्टक | Maximum size of L2CAP packets, negotiated with the peer. |
CP_Enable_SCMS_T | 1 octet | 0x00 - Disable SCMS-T Content Protection Header 0x01 - Enable SCMS-T Content Protection Header |
CP_Header_SCMS_T | 1 octet | When SCMS-T Content Protection Header is enabled ( CP_SCMS_T_Enable set to 0x01), defines the header value that precedes the audio content (refer to A2DP, section 3.2.1-2) as defined by Bluetooth Assigned Numbers, section 6.3.2.Ignored when SCMS-T Content protection isn't enabled. |
Vendor_Specific_Parameters_Length | 1 octet | Length of Vendor Specific Parameters, in the range from 0 to 128. The value 0 is used when no additional parameters are provided. |
Vendor_Specific_Parameters | 0-128 octets | Vendor Specific Parameters provided by the Bluetooth Audio HAL, CodecParameters.vendorSpecificParameters[] |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Sub_Opcode | 1 octet | 0x03 - Start A2DP Offload |
Stop A2DP Offload (legacy)
Sub OCF: 0x02
This command is used to stop the A2DP Offload stream.
Command parameter | आकार | उद्देश्य |
---|---|---|
एन/ए | Empty command parameter list. |
No parameters are defined for this command.
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 अष्टक | Command Complete status |
Sub_Opcode | 1 octet | 0x02 - Stop A2DP Offload |
Stop A2DP Offload
Sub OCF: 0x04
This command is used to stop the A2DP Offload stream.
Command parameter | आकार | उद्देश्य |
---|---|---|
Connection Handle | 2 अष्टक | Handle of the active HCI connection |
L2CAP_Channel_ID | 2 अष्टक | Identifier of the L2CAP Channel opened for A2DP streaming |
Data_Path_Direction | 1 octet | 0x00 - Output (AVDTP Source/Merge) 0x01 - Input (AVDTP Sink/Split) |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Sub_Opcode | 1 octet | 0x04 - Stop A2DP Offload |
Bluetooth Quality Report command
The BT Quality Report command feature starts the mechanism in the Bluetooth controller to report Bluetooth Quality events to the host. You can enable four options:
- Quality Monitoring Mode: The controller periodically sends a Link Quality related BQR sub-event to the host.
- Approaching LSTO: If no packets are received from the connected BT device for longer than half of the Link Supervision TimeOut (LSTO) value, the controller reports an Approaching LSTO event to the host.
- A2DP Audio Choppy: When the controller detects factors that cause choppy audio, the controller reports an A2DP Audio Choppy event to the host.
- (e)SCO Voice Choppy: When the controller detects factors that cause choppy voice, the controller reports an (e)SCO Voice Choppy event to the host.
- Root Inflammation: This event is sent by the controller to the stack when the HAL or the controller encounters a fatal error and needs to restart Bluetooth.
- LMP/LL message trace: The controller sends the LMP/LL message handshaking with the remote device to the host.
- Bluetooth Multi-profile/Coex scheduling trace: The controller sends its scheduling information on handling multiple Bluetooth profiles and wireless coexistence in the 2.4 Ghz band to the host.
- Controller Debug Information mechanism: When enabled, the controller can autonomously report debug logging information through the Controller debug info sub-event to the host.
OCF: 0x15E
Command parameter | आकार | उद्देश्य |
---|---|---|
BQR_Report_Action | 1 octet | Action to add / delete reporting of quality event(s) set in BQR_Quality_Event_Mask parameter, or clear all. 0x00 - Add Delete will clear specific quality event(s) reporting. |
BQR_Quality_Event_Mask | 4 अष्टक | Bit masks for the selected quality event reporting. Bit 0: Set to enable quality monitoring mode. |
BQR_Minimum_Report_Interval | 2 अष्टक | Define the minimum time interval of quality event reporting for the selected quality event(s). The controller Firmware should not report the next event within the defined time interval. The interval setting shall be respective and dedicated for the quality event(s) which are being added. Unit: ms |
BQR_Vendor_Specific_Quality_Event_Mask | 4 अष्टक | Bit masks for the selected vendor-specific quality event reporting. This parameter is valid only when bit 15 of BQR_Quality_Event_Mask is set.Bit 0 ~ 31: Reserved. |
BQR_Vendor_Specific_Trace_Mask | 4 अष्टक | Bit masks for the selected vendor-specific trace reporting. This parameter is valid only when bit 31 of BQR_Quality_Event_Mask is set.Bit 0 ~ 31: Reserved. |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Current_Quality_Event_Mask | 4 अष्टक | Indicates current bit mask setting. Bit 0: Quality monitoring mode is enabled. Bit 1: Approaching LSTO event reporting is enabled. Bit 2: A2DP Audio Choppy event reporting is enabled. Bit 3: (e)SCO Voice Choppy event reporting is enabled. Bit 4: Root inflammation event reporting is enabled. Bit 5: Energy monitoring mode is enabled. Bit 6: LE audio choppy event reporting is enabled. Bit 7: Connect fail event. Bit 8 ~ 14: Reserved. Bit 15: Vendor-specific quality event reporting is enabled. Bit 16: LMP/LL message trace is enabled. Bit 17: Bluetooth Multi-link/Coex scheduling trace is enabled. Bit 18: Controller Debug Information mechanism is enabled. Bit 19 ~ 30: Reserved. Bit 31: Vendor-specific trace is enabled. |
Current_Vendor_Specific_Quality_Event_Mask | 4 अष्टक | Indicates current bit mask setting. |
Current_Vendor_Specific_Trace_Mask | 4 अष्टक | Indicates current bit mask setting. |
Dynamic Audio Buffer command
The Dynamic Audio Buffer reduces audio glitching by changing the audio buffer size in the Bluetooth controller based on various scenarios.
OCF: 0x15F
Get audio buffer time capability
Sub OCF: 0x01
Use this command to get the audio buffer time capability from the Bluetooth controller.
Command parameter | आकार | उद्देश्य |
---|---|---|
एन/ए | Empty Command parameter list |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Dynamic_Audio_Buffer_opcode | 1 octet | 0x01 - Get audio buffer time |
Audio_Codec_Type_Supported | 4 अष्टक | Bit masks for the supported codec types Bit 0 - SBC Bit 1 - AAC Bit 2 - APTX Bit 3 - APTX HD Bit 4 - LDAC Bit 5-31 are reserved |
Audio_Codec_Buffer_Default_Time_For_Bit_0 | 2 अष्टक | Default buffer time of the Bit 0 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 0 codec type is not supported. Unit: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 | 2 अष्टक | Maximum buffer time of the Bit 0 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 0 codec type is not supported. Unit: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 | 2 अष्टक | Minimum buffer time of the Bit 0 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 0 codec type is not supported. Unit: ms |
Audio_Codec_Buffer_Default_Time_For_Bit_1 | 2 अष्टक | Default buffer time of the Bit 1 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 1 codec type is not supported. Unit: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 | 2 अष्टक | Maximum buffer time of the Bit 1 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 1 codec type is not supported. Unit: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 | 2 अष्टक | Minimum buffer time of the Bit 1 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 1 codec type is not supported. Unit: ms |
...... | ...... | ...... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 | 2 अष्टक | Default buffer time of the Bit 31 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 31 codec type is not supported. Unit: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 | 2 अष्टक | Maximum buffer time of the Bit 31 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 31 codec type is not supported. Unit: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 | 2 अष्टक | Minimum buffer time of the Bit 31 codec type specified in Audio_Codec_Type_Supported. This value shall be 0 if the Bit 31 codec type is not supported. Unit: ms |
Set audio buffer time
Sub OCF: 0x02
Use this command to set the audio buffer time to the Bluetooth controller.
Command parameter | आकार | उद्देश्य |
---|---|---|
Audio_Codec_Buffer_Time | 2 अष्टक | Requested audio buffer time for the current used codec. Unit: ms |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Dynamic_Audio_Buffer_opcode | 1 octet | 0x02 - Set audio buffer time |
Audio_Codec_Buffer_Time | 2 अष्टक | Current audio buffer time in the Bluetooth controller. Unit: ms |
HCI event (vendor-specific)
Vendor-specific HCI events are required in some cases. Refer to Figure 5.4 on page 1897 of the BT Core 5.2 Specification. Event parameter 0 will always contain the first sub-event code, based on which the rest of the HCI event is decoded.
Event Parameter | आकार | उद्देश्य |
---|---|---|
HCI_vendor_specific_event_code | 1 octet | 0xFF |
sub_event_code | 1 octet | A sub-event code will be 1 octet in size, the byte immediately following Parameter Length in the HCI event packet. |
Storage threshold breach sub-event
This event indicates that the storage threshold has been breached.
Sub-event code = 0x54
Sub-event Parameter | आकार | उद्देश्य |
---|---|---|
कोई नहीं |
LE multi-advertising state change sub-event
This event indicates that an advertising instance has changed its state. At this time, this event is only used to indicate which advertising instance was stopped as a result of a connection.
Sub-event code = 0x55
Sub-event parameter | आकार | उद्देश्य |
---|---|---|
Advertising_instance | 1 octet | Identifies the specific advertising instance Valid values are 0 through max_advt_instances -1 |
State_Change_Reason | 1 octet | 0x00: Connection received |
Connection_handle | 2 अष्टक | Identifies the connection that caused the advt instance to be disabled (0xFFFF if invalid) |
LE advertisement tracking sub-event
This event indicates when an advertiser is found or lost.
Sub event code = 0x56
Sub-event Parameter | आकार | उद्देश्य |
---|---|---|
APCF_Filter_Index | 1 octet | Filter Index (0, max_filter -1) |
Advertiser_State | 1 octet | 0x00: Advertiser found 0x01: Advertiser lost |
Advt_Info_Present | 1 octet | 0x00: Advertiser information ( Advt_Info ) present0x01: Advertiser information ( Advt_Info ) not present |
Advertiser_Address | 6 octets | Public or random address |
Advertiser_Address_Type | 1 octet | 0x00: Public address 0x01: Random address |
Advt_Info | Tx_Pwr[0] : 1 octetRSSI[0] : 1 octetTimestamp[0] : 2 octetsAdv packet_len[0] : 1 octetAdv_packet[0] : Adv_packet_len octetsScan_data_resp_len[0] : 1 octetScan_data_resp[0] : Scan_data_resp octets |
Controller debug info sub-event
This event is used by a Controller to provide binary debug information to a host.
Sub-event code = 0x57
Sub-event Parameter | आकार | उद्देश्य |
---|---|---|
debug_block_byte_offset_start | 2 अष्टक | Debug block byte offset from the start |
last_block | 1 octet | 0x00: More debug data present 0x01: Last binary block; no more debug data |
cur_pay_load_sz | 2 अष्टक | Binary block size in a current event |
Debug_Data | चर | Debug data of cur_payload_sz |
Bluetooth Quality Report sub-event
This event indicates one of the following: a Bluetooth quality event occurred, the controller uploaded the LMP/LL message trace and Bluetooth Multi-link/Coex scheduling trace, or the controller dumped debug information data.
Sub-event code = 0x58 [Quality_Report_Id = 0x01 ~ 0x04, Link Quality related event]
Sub-event Parameter | आकार | उद्देश्य |
---|---|---|
Quality_Report_Id | 1 octet | 0x01: Quality reporting on the monitoring mode. 0x02: Approaching LSTO. 0x03: A2DP Audio Choppy. 0x04: (e)SCO Voice Choppy. 0x05 ~ 0x06: Reserved. 0x07: LE audio choppy. 0x08: Connect fail. 0x09 ~ 0xFF: Reserved. |
Packet_Types | 1 octet | 0x01: ID 0x02: NULL 0x03: POLL 0x04: FHS 0x05: HV1 0x06: HV2 0x07: HV3 0x08: DV 0x09: EV3 0x0A: EV4 0x0B: EV5 0x0C: 2-EV3 0x0D: 2-EV5 0x0E: 3-EV3 0x0F: 3-EV5 0x11: DH1 0x12: DM3 0x13: DH3 0x14: DM5 0x15: DH5 0x16: AUX1 0x17: 2-DH1 0x18: 2-DH3 0x19: 2-DH5 0x1A: 3-DH1 0x1B: 3-DH3 0x1C: 3-DH5 0x1D ~ 0x50: Reserved 0x51: ISO packet 0x52 ~ 0xFF: Reserved |
Connection_Handle | 2 अष्टक | ACL/(e)SCO/ISO connection handle. |
Connection_Role | 1 अष्टक | Performing Role for the connection. 0x00: Central 0x01: Peripheral 0x02 ~ 0xFF: Reserved. |
TX_Power_Level | 1 octet | Current transmit power level for the specified Connection_Handle. This value shall be the same as the controller's responding to the HCI_Read_Transmit_Power_Level HCI command. |
RSSI | 1 octet | [in dBm] Received Signal Strength Indication (RSSI) value for the specified Connection_Handle. |
SNR | 1 octet | [in dB] Signal-to-Noise Ratio (SNR) value for the specified Connection_Handle. |
Unused_AFH_Channel_Count | 1 octet | Indicates the number of unused channels in AFH_channel_map. 0x4F ~ 0xFF: Reserved. |
AFH_Select_Unideal_Channel_Count | 1 octet | Indicates the number of the channels which are interfered and have bad quality, but they are still selected for AFH. The minimum number of channels allowed by the Bluetooth specification is 20, so even if all 79 channels are interfered and have bad quality, the controller still needs to choose at least 20 channels for AFH. |
LSTO | 2 अष्टक | Current Link Supervision Timeout Setting. Time = N * 0.625 ms Time Range: 0.625 ms to 40.9 s |
Connection_Piconet_Clock | 4 अष्टक | Piconet Clock for the specified Connection_Handle. This value shall be the same as the controller's responding to HCI_Read_Clock HCI command with parameter "Which_Clock" of 0x01 (Piconet Clock). Unit: N * 0.3125 ms (1 Bluetooth Clock) |
Retransmission_Count | 4 अष्टक | The number of retransmissions since the last event. This count shall be reset after reporting to the host. |
No_RX_Count | 4 अष्टक | No RX count since the last event. The count increases when no packet is received at the scheduled time slot or the received packet is corrupted. This count shall be reset after reporting to the host. |
NAK_Count | 4 अष्टक | NAK (Negative Acknowledge) count since the last event. This count shall be reset after reporting to the host. |
Last_TX_ACK_Timestamp | 4 अष्टक | Timestamp of last TX ACK. It is based on the Bluetooth Clock of the piconet central (CLK). Unit: N * 0.3125 ms (1 Bluetooth Clock) |
Flow_Off_Count | 4 अष्टक | The number of times the controller receives Flow-off (STOP) since the last event. This count shall be reset after reporting to the host. |
Last_Flow_On_Timestamp | 4 अष्टक | Timestamp of last Flow-on (GO). It is based on the Bluetooth Clock of the piconet central (CLK). Unit: N * 0.3125 ms (1 Bluetooth Clock) |
Buffer_Overflow_Bytes | 4 अष्टक | [in Byte] Buffer overflow count since the last event. |
Buffer_Underflow_Bytes | 4 अष्टक | [in Byte] Buffer underflow count since the last event. |
bdaddr | 6 octets | Remote device address |
cal_failed_item_count | 1 octet | The count of calibration failed items |
TX_Total_Packets | 4 अष्टक | The number of packets that are sent out. |
TX_UnAcked_Packets | 4 अष्टक | The number of packets that don't receive an acknowledgment. This count is reset after reporting to the host. |
TX_Flushed_Packets | 4 अष्टक | The number of packets that aren't sent out by its flush point. This count is reset after reporting to the host. |
TX_Last_Subevent_Packets | 4 अष्टक | The number of packets that Link Layer transmits a CIS data PDU in the last subevent of a CIS event. This count is reset after reporting to the host. The value is zero if there's no valid value for the link. |
CRC_Error_Packets | 4 अष्टक | The number of received packages with CRC error since the last event. This count is reset after reporting to the host. |
RX_Duplicate_Packets | 4 अष्टक | The number of duplicate (retransmission) packages received since the last event. This count is reset after reporting to the host. |
Vendor Specific Parameter | (parameter total length - TBD) * octets | For the controller vendor to obtain more vendor specific parameters. |
Sub-event code = 0x58 [Quality_Report_Id = 0x05, Root Inflammation event]
This event indicates that Bluetooth HAL or the controller encountered a fatal error and needs Bluetooth stack to record this situation and restart. The controller must send a Root_Inflammation_Event to Bluetooth stack before sending the first fragment of the debug info events in any case.
The Error_Code parameter contains an error code reported from HAL/Controller, 0 if it is a chipset vendor specific error. The Vendor_Specific_Error_Code contains a chipset vendor specific error code from HAL/Controller. It should set as 0 if the parameter Error_Code is not 0. The parameters Error_Code and Vendor_Specific_Error_Code should not both be 0.
Sub-event Parameter | आकार | उद्देश्य |
---|---|---|
Quality_Report_Id | 1 octet | 0x00 ~ 0x04: Reserved. 0x05: Root inflammation. 0x06 ~ 0xFF: Reserved. |
Error_Code | 1 octet | 0x00: Chipset vendor specific error code is included. 0x01 ~ 0xFF: Controller failure occurred. See Bluetooth Spec [Vol 2] Part D, Error Codes for a list of error codes and descriptions. |
Vendor_Specific_Error_Code | 1 octet | 0x00: No chipset vendor specific error code is included. 0x01 ~ 0xFF: Chipset vendor specific error code. |
Vendor Specific Parameter | (Parameter Total Length - 4) * octets | For the controller vendor to obtain more vendor specific parameters. |
Sub-event code = 0x58 [Quality_Report_Id = 0x11 ~ 0x13, Log Dump related event]
Sub-event Parameter | आकार | उद्देश्य |
---|---|---|
Quality_Report_Id | 1 octet | 0x00 ~ 0x10: Reserved. 0x11: LMP/LL message trace. 0x12: Bluetooth Multi-link/Coex scheduling trace. 0x13: Controller Debug Information data dump. 0x14 ~ 0xFF: Reserved. |
Connection_Handle | 2 अष्टक | Connection Handle. |
Vendor Specific Parameter | (Parameter Total Length - 4) * octets | Vendor Specific format of LMP message trace, Bluetooth Multi-link/Coex scheduling trace and Controller Debug Information data dump. |
Multi-advertiser support
The objectives of multi-advertiser support are the following:
- Ability to support multiple advertisements (
max_advt_instances
) - Different transmit powers to allow for a varying range
- Different advertising content
- An individualized response for each advertiser
- Privacy (non-trackable) for each advertiser
- कनेक्शन
To keep this specification close to existing standards, the following vendor-specific commands are provided. They are derived from the Bluetooth Core 4.1 Specification.
LE_Multi_Advt_Command
OCF: 0x154
Command parameter | आकार | उद्देश्य |
---|---|---|
Multi_advt_opcode | 1 octet | 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 |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Multi_advt_opcode | 1 octet | 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
Base reference: Bluetooth Core 4.1 Specification, page 964 (LE Set Advertising Parameter Command)
Sub OCF: 0x01
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
Advertising_Interval_Min | Per spec | Per spec |
Advertising_Interval_Max | Per spec | Per spec |
Advertising_Type | Per spec | Per spec |
Own_Address_Type | Per spec | Per spec |
Own_Address | Per spec | Per spec |
Direct_Address_Type | Per spec | Per spec |
Direct_Address | Per spec | Per spec |
Advertising_Channel_Map | Per spec | Per spec |
Adverstising_Filter_Policy | Per spec | Per spec |
Advertising_Instance | 1 octet | Specifies the applicability of the above parameters to an instance |
Tx_power | 1 octet | शक्ति संचारित करें Unit - in dBm (signed integer) Range (-70 to +20) |
The Own_Address
parameter could be a host-configured address at the time of setting up this multi-advertisement instance. This provides the ability to have a resolvable private address at the time of the transmit of the first beacon. Advertisement on an instance will continue irrespective of the connection. The host BT stack could issue a command to start advertisement on an instance, post connection.
A Command Complete event will be generated for this command as specified in the Bluetooth Core 4.1 Specification, per the above command. The controller will respond with a non-success (invalid parameter) code if the advertising instance or Tx_Power
parameters are invalid.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Multi_advt_opcode | 1 octet | 0x01 [ Set_Advt_Param_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Advt_Data_Multi_Sub_Cmd
Base reference: Bluetooth Core 4.1 Specification, page 969 (LE Set Advertising Data Command)
Sub OCF: 0x02
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
Advertising_Data_Length | Per spec | Per spec |
Advertising_Data | Per spec | Per spec |
Advertising_Instance | 1 अष्टक | Specifies the applicability of the above parameters to an instance |
A Command Complete event will be generated for this command as specified in the Bluetooth Core 4.1 Specification, per the above command. The controller will respond with a non-success code if the advertising instance or Tx_Power
parameters are invalid.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Multi_advt_opcode | 1 octet | 0x02 [ Set_Advt_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Scan_Resp_Data_Multi_Sub_Cmd
Base reference: Bluetooth Core 4.1 Specification, page 970 (LE Set Scan Response Data Command)
Sub OCF: 0x03
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
Scan_Response_Data_Length | Per spec | Per spec |
Scan_Response_Data | Per spec | Per spec |
Advertising_Instance | 1 octet | Specifies the applicability of the above parameters to an instance |
A Command Complete event will be generated for this command as specified in the Bluetooth Core 4.1 Specification, per the above command. The controller will respond with a non-success code (invalid parameter) if the advertising instance or Tx_Power
parameters are invalid.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Multi_advt_opcode | 1 octet | 0x03 [ Set_Scan_Resp_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Random_Addr_Multi_Sub_Cmd
Base reference: Bluetooth Core 4.1 Specification, page 963 (LE Set Random Address Command)
Sub OCF: 0x04
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
यादृच्छिक पता | Per spec | Per spec |
Advertising_Instance | 1 octet | Specifies the applicability of the above parameters to an instance |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Multi_advt_opcode | 1 octet | 0x04 [ Set_Random_Addr_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Advt_Enable_Multi_Sub_Cmd
Base reference: Bluetooth Core 4.1 Specification, page 971 (LE Set Advertise Enable Command in that core specification)
OCF: 0x05
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
Advertising_Enable | 1 octet | A value of 1 means enable. Any other value means disable. |
Advertising_Instance | 1 octet | Specifies the applicability of the above parameters to an instance. Instance 0 means a standard HCI instance. |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Multi_advt_opcode | 1 octet | 0x05 [ Set_Advt_Enable_Multi_Sub_Cmd] |
Offloaded resolution of private address
This feature resolves a private address in the controller firmware or hardware, which provides the following benefits:
- Latency involved with the host in resolving a private address
- Saving power by refraining from waking up the host
LE_Set_RPA_Timeout
OCF: 0x15C
Command parameter | आकार | उद्देश्य |
---|---|---|
LE_local_IRK | 16 octet | The local device IRK used to generate the random resolvable address(es). |
tRPA_min | 2 अष्टक | The minimum RPA generation timeout in seconds. The controller must generate new resolvable addresses for any advertising/scanning/connection events on or after this timeout. Valid range: 300-1800 |
tRPA_max | 2 अष्टक | The maximum RPA generation timeout in seconds. The controller must generate new resolvable addresses for any advertising/scanning/connection events on or before this timeout. Valid range: tRPA_min -1800 |
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | आदेश की स्थिति. Suggested HCI status values: 0x00 Success 0x01 Unknown command (if not supported) 0x12 Invalid command parameters (if any parameters are outside the given range) |
LE_RPA_offload_Command
OCF: 0x155
Command parameter | आकार | उद्देश्य |
---|---|---|
RPA_offload_opcode | 1 octet | 0x1 - Enable customer specific feature 0x2 - Add IRK to the list 0x3 - Remove IRK from the list 0x4 - Clear IRK list 0x5 - Read IRK list entry |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Event_RPA_offload_opcode | 1 octet | 0x1 - Enable customer specific feature 0x2 - Add IRK to the list 0x3 - Remove IRK from the list 0x4 - Clear IRK list 0x5 - Read IRK list entry |
LE_RPA_offload: Enable_cust_specific_sub_Command
Sub OCF: 0x01
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
enable_customer_specific_feature_set | 1 octet | 0x01 - Enable offloaded RPA feature 0x00 - Disable offloaded RPA feature |
RPA offload is required to be enabled by the host, based on the chip capability. Refer to the LE_Get_Vendor_Capabilities_Command
. Each chip can have a varying max_irk_list_sz
in the firmware.
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Event_cust_specific_feature_opcode | 1 octet | 0x01 [Enable customer-specific feature] |
LE_RPA_offload: Add_IRK_to_list_sub_Command
Sub OCF: 0x02
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
LE_IRK | 16 अष्टक | LE IRK (1st byte LSB) |
Address_Type | 1 octet | 0: Public address 1: Random address |
LE_Device_Address | 6 octets | Public or random address associated to the IRK (1st byte LSB) |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Event_cust_specific_feature_opcode | 1 octet | 0x02 [Add IRK to the list] |
LE_IrkList_AvailableSpaces | 1 octet | Available IRL list entries after current operation |
LE_RPA_offload: Remove_IRK_to_list_sub_Command
Sub OCF: 0x03
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
Address_Type | 1 octet | 0: Public address 1: Random address |
LE_Device_Address | 6 octets | Public or random address that associates to the IRK |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Event_cust_specific_feature_opcode | 1 octet | 0x03 [Remove IRK from the list] |
LE_IrkList_AvailableSpaces | 1 octet | Available IRL list entries after current operation |
LE_RPA_offload: Clear_IRK_list_sub_Command
Sub OCF: 0x04
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
कोई नहीं |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Event_cust_specific_feature_opcode | 1 octet | 0x04 [Clear IRK List] |
LE_IrkList_AvailableSpaces | 1 octet | Available IRL list entries after current operation [ max_irk_list_sz] |
LE_RPA_offload: Read_IRK_list_sub_Command
Sub OCF: 0x05
Sub-command parameter | आकार | उद्देश्य |
---|---|---|
LE_read_IRK_list_entry-index | 1 octet | Index of the IRK list [0, max_irk_list_sz-1] |
A Command Complete event will be generated for this command.
Return parameter | आकार | उद्देश्य |
---|---|---|
Status | 1 octet | Command Complete status |
Event_cust_specific_feature_opcode | 1 octet | 0x05 [Read IRK List Entry] |
LE_Read_IRK_List_entry | 1 octet | Index of the IRK that the host wants to read back (maximum IRK list size is 32) |
LE_IRK | 16 अष्टक | IRK value |
Address_Type | 1 octet | 0: Public address 1: Random address |
LE_Device_Address | 6 octets | Public or random address associated to the IRK |
LE_Resolved_Private_Address | 6 octets | Current resolved resolvable private address of this IRK |