HCI প্রয়োজনীয়তা

হোস্ট কন্ট্রোলার ইন্টারফেস (HCI) একটি ব্লুটুথ কন্ট্রোলারের সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহৃত হয়।

এই নথিটি ব্লুটুথ (বিটি) এবং ব্লুটুথ লো এনার্জি (বিএলই) এইচসিআই প্রয়োজনীয়তার একটি তালিকা প্রদান করে। লক্ষ্য হল হোস্ট BT স্ট্যাক বিক্রেতা এবং BT কন্ট্রোলার বিক্রেতাদের এই প্ল্যাটফর্মের প্রয়োজনীয়তাগুলি মেনে চলার জন্য নীচে বর্ণিত বৈশিষ্ট্য সেট ব্যবহার করার জন্য।

এই নথিটি ব্লুটুথ কোর 5.2 স্পেসিফিকেশনকে "স্পেক" হিসাবে উল্লেখ করে। ব্লুটুথ কোর 5.2 স্পেসিফিকেশন ব্লুটুথ এসআইজি ওয়েবসাইটে অন্যান্য গৃহীত নথির সাথে উপলব্ধ।

সাধারণ নকশা ওভারভিউ

চিপ ক্ষমতা এবং কনফিগারেশন

একটি উন্মুক্ত প্ল্যাটফর্ম হিসাবে, অ্যান্ড্রয়েডে সফ্টওয়্যার রিলিজ, OEM, বিক্রেতা এবং প্ল্যাটফর্ম এবং চিপ ক্ষমতাগুলির একটি ম্যাট্রিক্স রয়েছে৷

পরিবর্তিত ল্যান্ডস্কেপ পরিচালনা করতে এবং মাইগ্রেশন পরিচালনা করতে, বিটি কন্ট্রোলারদের তাদের ক্ষমতা (স্ট্যান্ডার্ড ব্লুটুথ কোর 5.2 স্পেসিফিকেশনের বাইরে) প্রকাশ করার অনুমতি দেওয়ার একটি নকশা দর্শন এই নথিতে বর্ণনা করা হয়েছে। হোস্ট বিটি স্ট্যাক তারপরে কোন বৈশিষ্ট্যগুলি সক্ষম করতে হবে তা নির্ধারণ করতে এই ক্ষমতাগুলি ব্যবহার করতে পারে।

খোলা মান সমর্থন

অ্যান্ড্রয়েডের একটি লক্ষ্য হল একটি ব্লুটুথ স্পেসিফিকেশনে অনুমোদনের পরে উন্মুক্ত মানগুলিকে সমর্থন করা। যদি নীচে বর্ণিত একটি বৈশিষ্ট্য ভবিষ্যতের ব্লুটুথ স্পেসিফিকেশনে স্ট্যান্ডার্ড HCI পদ্ধতিতে উপলব্ধ হয়, আমরা সেই পদ্ধতিটিকে ডিফল্ট করার দিকে ঝুঁকব।

বিক্রেতা-নির্দিষ্ট ক্ষমতা

বিক্রেতা-নির্দিষ্ট কমান্ড: LE_Get_Vendor_Capabilities_Command

OpCode কমান্ড ক্ষেত্র (OCF): 0x153

কমান্ড প্যারামিটার আকার উদ্দেশ্য
এন.এ খালি কমান্ড প্যারামিটার তালিকা

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
max_advt_instances
(বঞ্চিত)
1 অক্টেট সমর্থিত বিজ্ঞাপন উদাহরণ সংখ্যা.

v0.98 এর পরে সংরক্ষিত।
এই প্যারামিটারটি Google বৈশিষ্ট্য স্পেক v0.98 এবং উচ্চতর BT স্পেক সংস্করণ 5.0 এবং উচ্চতর সংস্করণে উপলব্ধ LE এক্সটেন্ডেড বিজ্ঞাপনের পক্ষে অবহেলিত।
offloaded_resolution_of_private-address
(বঞ্চিত)
1 অক্টেট RPA এর BT চিপ ক্ষমতা।
একটি চিপ দ্বারা সমর্থিত হলে, এটি হোস্ট দ্বারা সক্ষমতা প্রয়োজন.
0 = সক্ষম নয়
1 = সক্ষম

v0.98 এর পরে সংরক্ষিত।
এই প্যারামিটারটি Google বৈশিষ্ট্য স্পেক v0.98 এবং উচ্চতর BT স্পেক সংস্করণ 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.04
বাইট[0] = 0x01
বাইট[1] = 0x04
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 বৈশিষ্ট্য স্পেক v0.98 এবং উচ্চতর BT স্পেক সংস্করণ 4.2 এবং উচ্চতর সংস্করণে উপলব্ধ গোপনীয়তা বৈশিষ্ট্যের পক্ষে অবহেলিত হয়েছে।
A2DP_source_offload_capability_mask 4 অক্টেট কোডেক প্রকারের জন্য বিট মাস্ক সমর্থিত
বিট 0 - SBC
বিট 1 - AAC
বিট 2 - APTX
বিট 3 - APTX HD
বিট 4 - LDAC
বিট 5-31 সংরক্ষিত
bluetooth_quality_report_support 1 অক্টেট ব্লুটুথ মানের ইভেন্টগুলির রিপোর্টিং সমর্থন করে
0 = সক্ষম নয়
1 = সক্ষম
dynamic_audio_buffer_support 4 অক্টেট ব্লুটুথ কন্ট্রোলারে গতিশীল অডিও বাফার সমর্থন করে
কোডেক প্রকারের জন্য বিট মাস্ক সমর্থিত
বিট 0 - SBC
বিট 1 - AAC
বিট 2 - APTX
বিট 3 - APTX HD
বিট 4 - LDAC
বিট 5-31 সংরক্ষিত
a2dp_offload_v2_support 1 অক্টেট ব্লুটুথ কন্ট্রোলারে A2DP অফলোড v2 কমান্ড সমর্থন করে (দেখুন A2DP অফলোড শুরু করুন , A2DP অফলোড বন্ধ করুন )
0 = সমর্থিত নয়
1 = সমর্থিত

ব্যাচ স্ক্যান ফলাফল

একটি ডিজাইন লক্ষ্য হল ব্লুটুথ LE স্ক্যান রেসপন্স ইভেন্ট বিজ্ঞপ্তিগুলি হোস্টের কাছে কীভাবে বিতরণ করা হয় তা উন্নত করা, যাতে হোস্টে শক্তি সঞ্চয় করা যায়।

ফলাফল স্ক্যান করার জন্য কন্ট্রোলার হোস্ট অ্যাপ প্রসেসরকে কত ঘনঘন অবহিত করে তা কমিয়ে, হোস্ট অ্যাপ প্রসেসর বেশিক্ষণ নিষ্ক্রিয়/নিদ্রায় থাকতে পারে। এটি হোস্টে শক্তি খরচ হ্রাস করে। LE_Get_Vendor_Capabilities_Command এর রিটার্ন প্যারামিটার total_scan_results_storage স্ক্যান ফলাফলের স্টোরেজের জন্য চিপের ক্ষমতা নির্দেশ করে।

এই বৈশিষ্ট্যটি ব্লুটুথ কন্ট্রোলারে LE স্ক্যান ফলাফল স্টোরেজ সুবিধার ব্যবস্থাপনা এবং কনফিগারেশনের উপর দৃষ্টি নিবদ্ধ করে। স্টোরেজটি অস্থায়ীভাবে বিজ্ঞাপনের ডেটা ব্যাচ করতে এবং হোস্টে পরবর্তী ডেলিভারির জন্য নিয়ামক দ্বারা প্রাপ্ত ডেটা এবং মেটাডেটা স্ক্যান করতে ব্যবহৃত হয়।

ফার্মওয়্যার দুটি ধরণের ব্যাচিং সমর্থন করবে, যা একই সাথে নিযুক্ত হতে পারে:

  • ছাঁটা। নিম্নলিখিত তথ্য উপাদান রয়েছে: {MAC, TX Power, RSSI, Timestamp}
  • পূর্ণ। নিম্নলিখিত তথ্য উপাদান রয়েছে: {MAC, TX Power, RSSI, Timestamp, Adv Data, Scan Response}

LE_Batch_Scan_Command

OCF: 0x156

কমান্ড প্যারামিটার আকার উদ্দেশ্য
Batch_Scan_opcode 1 অক্টেট 0x1 - গ্রাহক-নির্দিষ্ট বৈশিষ্ট্য সক্ষম করুন
0x2 - ব্যাচ স্ক্যান স্টোরেজ প্যারামিটার সেট করুন
0x3 - ব্যাচ স্ক্যান পরামিতি সেট করুন
0x4 - ব্যাচ স্ক্যান ফলাফল পরামিতি পড়ুন

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে। গ্রাহক-নির্দিষ্ট বৈশিষ্ট্য সক্রিয় করা স্ক্যান শুরু করে না।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
Batch_Scan_opcode 1 অক্টেট 0x1 - গ্রাহক-নির্দিষ্ট বৈশিষ্ট্য সক্ষম করুন
0x2 - ব্যাচ স্ক্যান স্টোরেজ প্যারামিটার সেট করুন
0x3 - ব্যাচ স্ক্যান পরামিতি সেট করুন
0x4 - ব্যাচ স্ক্যান ফলাফল পরামিতি পড়ুন

LE_Batch_Scan_Command: গ্রাহক-নির্দিষ্ট বৈশিষ্ট্য সক্ষম করুন

সাব 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 সেট করা বিজ্ঞপ্তি অক্ষম করবে। বিক্রেতা-নির্দিষ্ট HCI ইভেন্ট তৈরি করা হয়েছে (স্টোরেজ থ্রেশহোল্ড লঙ্ঘন সাবইভেন্ট)

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
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 Power, RSSI, Timestamp}

যখন সম্পূর্ণ মোড সক্ষম হয়, সক্রিয় স্ক্যানিং ব্যবহার করা হবে এবং স্ক্যান প্রতিক্রিয়া রেকর্ড করা হবে। সম্পূর্ণ শৈলী অনন্য কী = {MAC, বিজ্ঞাপন প্যাকেট}, স্ক্যানের ব্যবধান নির্বিশেষে। ফুল মোডের জন্য যে রেকর্ড রাখতে হবে তা হল { BD_ADDR , Tx Power, RSSI, টাইমস্ট্যাম্প, অ্যাড প্যাকেট, স্ক্যান রেসপন্স}। সম্পূর্ণ শৈলীতে, একই AD প্যাকেট, যখন বিভিন্ন স্ক্যান ব্যবধানে একাধিকবার দেখা যায়, শুধুমাত্র একবার রেকর্ড করা হয়। যাইহোক, ছেঁড়া মোডে, এটি বিভিন্ন স্ক্যান ব্যবধানে 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 octet
Adv_packet[0]: Adv_packet_len octets
Scan_data_resp_len[0]: 1 অক্টেট
Scan_data_resp[0]: Scan_data_resp অক্টেট
[উপরের বিন্যাস সহ একাধিক রেকর্ড ( num_of_records )]

বিজ্ঞাপন প্যাকেট বিষয়বস্তু ফিল্টার

কন্ট্রোলারে বিজ্ঞাপন প্যাকেট কন্টেন্ট ফিল্টার (APCF) সক্ষম/অক্ষম/সেটআপ করতে এটি ব্যবহার করুন। APCF কন্ট্রোলারে বিজ্ঞাপনের রিপোর্ট ফিল্টার করে কিন্তু পর্যায়ক্রমিক বিজ্ঞাপন ফিল্টার করে না।

LE_APCF_Command

OCF: 0x157

কমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_opcode 1 অক্টেট 0x00 - APCF সক্ষম করুন
0x01 - APCF ফিল্টারিং পরামিতি সেট করুন
0x02 - APCF সম্প্রচারকারীর ঠিকানা
0x03 - APCF পরিষেবা UUID
0x04 - APCF পরিষেবা সলিসিটেশন UUID
0x05 - APCF স্থানীয় নাম
0x06 - APCF ম্যানুফ্যাকচারার ডেটা
0x07 - APCF পরিষেবা ডেটা
0x08 - APCF ট্রান্সপোর্ট ডিসকভারি সার্ভিস
0x09 - APCF AD টাইপ ফিল্টার
0x10 ~ 0xAF - ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত
0xB0 ~ 0xDF - বিক্রেতার জন্য সংরক্ষিত
0xE0 ~ 0xFE - ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত
0xFF - APCF বর্ধিত বৈশিষ্ট্য পড়ুন

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট রিটার্ন স্ট্যাটাস
APCF_opcode 1 অক্টেট 0x00 - APCF সক্ষম করুন
0x01 - APCF ফিল্টারিং পরামিতি সেট করুন
0x02 - APCF সম্প্রচারকারীর ঠিকানা
0x03 - APCF পরিষেবা UUID
0x04 - APCF পরিষেবা সলিসিটেশন UUID
0x05 - APCF স্থানীয় নাম
0x06 - APCF ম্যানুফ্যাকচারার ডেটা
0x07 - APCF পরিষেবা ডেটা
0x08 - APCF ট্রান্সপোর্ট ডিসকভারি সার্ভিস
0x09 - APCF AD টাইপ ফিল্টার
0x10 ~ 0xAF - ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত
0xB0 ~ 0xDF - বিক্রেতার জন্য সংরক্ষিত
0xE0 ~ 0xFE - ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত
0xFF - APCF বর্ধিত বৈশিষ্ট্য পড়ুন

LE_APCF_Command: Enable_sub_cmd

সাব OCF: 0x00

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_enable 1 অক্টেট 0x01 - APCF বৈশিষ্ট্য সক্ষম করুন
0x00 - APCF বৈশিষ্ট্য অক্ষম করুন

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x0 - APCF সক্ষম করুন
APCF_Enable 1 অক্টেট সক্ষম/অক্ষম APCF_enable এর মাধ্যমে সেট করা হয়েছে

LE_APCF_Command: set_filtering_parameters_sub_cmd

এই সাবকমান্ডটি একটি ফিল্টার স্পেসিফিকেশন যোগ করতে বা মুছতে বা অন-চিপ ফিল্টারিংয়ের জন্য একটি ফিল্টার তালিকা পরিষ্কার করতে ব্যবহৃত হয়।

সাব OCF: 0x01

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
মুছে ফেললে অন্যান্য টেবিলে সংশ্লিষ্ট বৈশিষ্ট্যের এন্ট্রি সহ নির্দিষ্ট ফিল্টার সাফ হবে।
সাফ অন্যান্য টেবিলের সমস্ত ফিল্টার এবং সংশ্লিষ্ট এন্ট্রি সাফ করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter-1 )
APCF_Feature_Selection 2 অক্টেট নির্বাচিত বৈশিষ্ট্যগুলির জন্য বিট মাস্ক:
বিট 0: সম্প্রচার ঠিকানা ফিল্টার সক্ষম করতে সেট করুন
বিট 1: পরিষেবা ডেটা পরিবর্তন ফিল্টার সক্ষম করতে সেট করুন৷
বিট 2: পরিষেবা UUID চেক সক্ষম করতে সেট করুন
বিট 3: পরিষেবা সলিসিটেশন UUID চেক সক্ষম করতে সেট করুন
বিট 4: স্থানীয় নাম চেক সক্ষম করতে সেট করুন
বিট 5: প্রস্তুতকারকের ডেটা চেক সক্ষম করতে সেট করুন
বিট 6: পরিষেবা ডেটা চেক সক্ষম করতে সেট করুন
বিট 7: ট্রান্সপোর্ট ডিসকভারি সার্ভিস চেক সক্ষম করতে সেট করুন
বিট 8: AD টাইপ চেক সক্ষম করতে সেট করুন
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" যুক্তি। এগুলি শুধুমাত্র (বিট 3 - বিট 6) APCF_Feature_Selection এর চারটি ক্ষেত্রের জন্য প্রযোজ্য।
rssi_high_thresh 1 অক্টেট [ডিবিএমে]
সংকেত RSSI উচ্চ থ্রেশহোল্ডের চেয়ে বেশি হলেই বিজ্ঞাপনদাতাকে দেখা বলে মনে করা হয়। অন্যথায়, ফার্মওয়্যারটিকে এমন আচরণ করতে হবে যেন এটি কখনও দেখেনি।
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 স্তরের থ্রেশহোল্ডগুলি (উচ্চ এবং নিম্ন) ফিল্টার প্রক্রিয়াকরণের জন্য ফ্রেমটি দৃশ্যমান হলে নিয়ন্ত্রণ করার ক্ষমতা দেয়, এমনকি যখন নিয়ামক দ্বারা একটি বৈধ প্যাকেট পাওয়া যায়। ডেলিভারি মোড অবিলম্বে সেট করা বা ব্যাচ করা হলে, একটি ফ্রেমের RSSI আরও কন্ট্রোলার প্রক্রিয়াকরণের জন্য বিবেচনা করা হয়। বিভিন্ন অ্যাপের আলাদা রিপোর্টিং এবং ব্যাচিং আচরণ প্রয়োজন। এটি একাধিক অ্যাপকে একই সাথে ফার্মওয়্যারে সরাসরি রিপোর্টিং এবং/অথবা ফলাফলের ব্যাচিং করার অনুমতি দেয়। একটি উদাহরণ হল একটি কেস যখন একটি ব্যাচ স্ক্যান একটি অ্যাপ থেকে সক্রিয় থাকে এবং পরে অন্য একটি অ্যাপ দ্বারা একটি নিয়মিত LE স্ক্যান জারি করা হয়। একটি ব্যাচ স্ক্যান জারি করার আগে, ফ্রেমওয়ার্ক/অ্যাপ উপযুক্ত ফিল্টার সেট করে। পরে, যখন দ্বিতীয় অ্যাপ নিয়মিত স্ক্যান জারি করে, আগের ব্যাচিং চলতে থাকে। যাইহোক, নিয়মিত স্ক্যান করার কারণে, এটি ধারণাগতভাবে LE স্ক্যান কমান্ডের সাথে একটি নাল ফিল্টার (সমস্ত বিদ্যমান ফিল্টার সহ) যোগ করার মতো। সক্রিয় থাকাকালীন LE স্ক্যান কমান্ড প্যারামিটারগুলি অগ্রাধিকার পায়। যখন নিয়মিত LE স্ক্যান অক্ষম করা হয়, তখন কন্ট্রোলারটি পূর্ববর্তী ব্যাচ স্ক্যানে ফিরে যাবে, যদি এটি বিদ্যমান থাকে।

OnFound ডেলিভারি মোড কনফিগার করা ফিল্টারের উপর ভিত্তি করে। একটি সংমিশ্রণ যা একটি ফিল্টারের ক্রিয়াকে সফল হওয়ার জন্য ট্রিগার করে তাকে onLost এর জন্য ট্র্যাক করার জন্য সত্তা হিসাবে বিবেচনা করা হয়। সংশ্লিষ্ট ইভেন্ট হল LE Advt ট্র্যাকিং subevent।

একটি ফিল্টারের জন্য OnFound/OnLost ট্রানজিশন (যদি সক্ষম করা থাকে) নিচের মত দেখাবে:

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x01 - APCF ফিল্টারিং পরামিতি সেট করুন
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট ফিল্টার টেবিলে উপলব্ধ এন্ট্রির সংখ্যা

LE_APCF_Command: broadcast_address_sub_cmd

এই সাবকমান্ডটি বিজ্ঞাপনদাতার ঠিকানা যোগ করতে বা মুছতে বা অন-চিপ ফিল্টারিংয়ের জন্য বিজ্ঞাপনদাতার ঠিকানা তালিকা সাফ করতে ব্যবহৃত হয়।

সাব OCF: 0x02

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
Delete নির্দিষ্ট ফিল্টারে নির্দিষ্ট ব্রডকাস্টার ঠিকানা মুছে ফেলবে।
সাফ নির্দিষ্ট ফিল্টারে সমস্ত সম্প্রচারকারীর ঠিকানা পরিষ্কার করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter-1 )
APCF_Broadcaster_Address 6 অক্টেট ব্রডকাস্টার ঠিকানা তালিকা থেকে যুক্ত বা মুছে ফেলার জন্য 6-বাইট ডিভাইস ঠিকানা
APCF_Application_Address_type 1 অক্টেট 0x00: সর্বজনীন
0x01: এলোমেলো
0x02: NA (ঠিকানার ধরন উপেক্ষা করুন)
পরিচয় ঠিকানার ধরন (0x02, 0x03) সহ বিজ্ঞাপন প্রতিবেদনগুলি ফিল্টার করতে। ঠিকানার ধরন 0x02 এবং 0x03 সহ বিজ্ঞাপনের প্রতিবেদনগুলি পেতে, এই ক্ষেত্রটিকে 0x02: NA এ সেট করুন (ঠিকানার ধরন উপেক্ষা করুন)।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x02 - APCF সম্প্রচারকারীর ঠিকানা
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট সম্প্রচার ঠিকানা সারণীতে বিনামূল্যের এন্ট্রির সংখ্যা এখনও উপলব্ধ

LE_APCF_Command: service_uuid_sub_cmd

এই সাবকমান্ডটি একটি পরিষেবা UUID যোগ করতে বা মুছতে বা অন-চিপ ফিল্টারিংয়ের জন্য একটি পরিষেবা UUID তালিকা সাফ করতে ব্যবহৃত হয়।

সাব OCF: 0x03

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
Delete নির্দিষ্ট ফিল্টারে নির্দিষ্ট পরিষেবা UUID ঠিকানা মুছে ফেলবে।
Clear নির্দিষ্ট ফিল্টারে সমস্ত পরিষেবা UUID সাফ করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter -1)
APCF_UUID 2,4,16 অক্টেট পরিষেবা UUID (16-বিট, 32-বিট, বা 128-বিট) তালিকায় যোগ করার বা মুছে ফেলার জন্য।
APCF_UUID_MASK 2,4,16 অক্টেট পরিষেবা UUID মাস্ক (16-বিট, 32-বিট, বা 128-বিট) তালিকায় যোগ করতে। এটির দৈর্ঘ্য APCF_UUID.

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x03 - APCF পরিষেবা UUID
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট পরিষেবা UUID সারণীতে বিনামূল্যের এন্ট্রির সংখ্যা এখনও উপলব্ধ

LE_APCF_Command: solicitation_uuid_sub_cmd

এই সাবকমান্ডটি একটি সলিসিটেশন UUID যোগ করতে বা মুছতে বা অন-চিপ ফিল্টারিংয়ের জন্য একটি সলিসিটেশন UUID তালিকা সাফ করতে ব্যবহৃত হয়।

সাব OCF: 0x04

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
Delete নির্দিষ্ট ফিল্টারে থাকা অনুরোধ UUID ঠিকানা মুছে ফেলবে।
Clear নির্দিষ্ট ফিল্টারে সমস্ত সলিসিটেশন UUID সাফ করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter -1)
APCF_UUID 2,4,16 অক্টেট সলিসিটেশন UUID (16-বিট, 32-বিট, বা 128-বিট) তালিকা থেকে যুক্ত বা মুছে ফেলার জন্য।
APCF_UUID_MASK 2,4,16 অক্টেট তালিকায় যোগ করার জন্য সলিসিটেশন UUID মাস্ক (16-বিট, 32-বিট, বা 128-বিট)। এটির দৈর্ঘ্য APCF_UUID এর সমান হওয়া উচিত।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x04 - APCF সলিসিটেশন UUID
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট সলিসিটেশন UUID টেবিলে বিনামূল্যের এন্ট্রির সংখ্যা এখনও পাওয়া যায়

LE_APCF_Command: local_name_sub_cmd

এই সাবকমান্ডটি স্থানীয় নামের স্ট্রিং যোগ করতে বা মুছে ফেলতে বা অন-চিপ ফিল্টারিংয়ের জন্য স্থানীয় নামের স্ট্রিং তালিকাটি পরিষ্কার করতে ব্যবহৃত হয়।

সাব OCF: 0x05

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
Delete নির্দিষ্ট ফিল্টারে নির্দিষ্ট স্থানীয় নামের স্ট্রিং মুছে ফেলবে।
Clear নির্দিষ্ট ফিল্টারে সমস্ত স্থানীয় নামের স্ট্রিংগুলি সাফ করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter -1)
APCF_LocName_Mandata_or_SerData পরিবর্তনশীল আকার স্থানীয় নামের জন্য একটি অক্ষর স্ট্রিং।

নোট:
  • বর্তমানে স্থানীয় নামের স্ট্রিং-এ অক্ষরের সর্বোচ্চ সংখ্যা 29
  • অ্যাকশন "ক্লিয়ার" হলে প্রযোজ্য নয় (0x2)

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x05 - APCF স্থানীয় নাম
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট স্থানীয় নামের সারণিতে বিনামূল্যের এন্ট্রির সংখ্যা এখনও পাওয়া যায়

LE_APCF_Command: manf_data_sub_cmd

এই সাবকমান্ডটি একটি প্রস্তুতকারকের ডেটা স্ট্রিং যোগ করতে বা মুছতে বা অন-চিপ ফিল্টারিংয়ের জন্য প্রস্তুতকারকের ডেটা স্ট্রিং তালিকা সাফ করতে ব্যবহৃত হয়।

সাব OCF: 0x06

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
Delete নির্দিষ্ট ফিল্টারে নির্দিষ্ট নির্মাতার ডেটা স্ট্রিং মুছে ফেলবে।
Clear নির্দিষ্ট ফিল্টারে সমস্ত প্রস্তুতকারকের ডেটা স্ট্রিংগুলি সাফ করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter -1)
APCF_LocName_Mandata_or_SerData পরিবর্তনশীল আকার প্রস্তুতকারকের ডেটার জন্য একটি অক্ষর স্ট্রিং।

নোট:
  • বর্তমানে স্থানীয় নামের স্ট্রিং-এ অক্ষরের সর্বোচ্চ সংখ্যা 29
  • অ্যাকশন "ক্লিয়ার" হলে প্রযোজ্য নয় (0x2)
APCF_ManData_Mask পরিবর্তনশীল আকার তালিকায় যোগ করার জন্য ম্যানুফ্যাকচার ডেটা মাস্ক। এটির দৈর্ঘ্য APCF_LocName_or_ManData_or_SerData এর সমান হওয়া উচিত।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x06 - APCF ম্যানুফ্যাকচারার ডেটা
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট ম্যানুফ্যাকচারার ডেটা টেবিলে বিনামূল্যের এন্ট্রির সংখ্যা এখনও পাওয়া যায়

LE_APCF_Command: service_data_sub_cmd

এই সাবকমান্ডটি একটি পরিষেবা ডেটা স্ট্রিং যোগ করতে বা মুছতে বা অন-চিপ ফিল্টারিংয়ের জন্য পরিষেবা ডেটা স্ট্রিং তালিকা সাফ করতে ব্যবহৃত হয়।

সাব OCF: 0x07

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
Delete নির্দিষ্ট ফিল্টারে নির্দিষ্ট পরিষেবা ডেটা স্ট্রিং মুছে ফেলবে।
সাফ নির্দিষ্ট ফিল্টারে সমস্ত পরিষেবা ডেটা স্ট্রিং সাফ করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter -1)
APCF_LocName_Mandata_or_SerData পরিবর্তনশীল আকার পরিষেবা ডেটার জন্য একটি অক্ষর স্ট্রিং।

নোট:
  • বর্তমানে স্থানীয় নামের স্ট্রিং-এ অক্ষরের সর্বোচ্চ সংখ্যা 29
  • অ্যাকশন "ক্লিয়ার" হলে প্রযোজ্য নয় (0x2)
APCF_LocName_Mandata_or_SerData_Mask পরিবর্তনশীল আকার তালিকায় যোগ করার জন্য পরিষেবা ডেটা মাস্ক। এটির দৈর্ঘ্য APCF_LocName_or_ManData_or_SerData.

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x07 - APCF পরিষেবা ডেটা
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট পরিষেবা ডেটা টেবিলের জন্য বিনামূল্যের এন্ট্রির সংখ্যা এখনও উপলব্ধ

LE_APCF_Command: ad_type_sub_cmd

এই সাবকমান্ডটি একটি AD টাইপ যোগ বা মুছে ফেলার জন্য বা অন-চিপ ফিল্টারিংয়ের জন্য একটি AD প্রকারের তালিকা সাফ করতে ব্যবহৃত হয়। এই কমান্ডটি সমর্থিত কিনা তা পরীক্ষা করতে read_extended_features_sub_cmd ব্যবহার করুন।
APCF_AD_DATA_Length 0 হলে, AD ডেটা এবং AD ডেটা মাস্কের তুলনা না করে APCF_AD_TYPE ফিল্টার করুন। যদি প্রাপ্ত ADV প্যাকেটের ডেটা দৈর্ঘ্য AD_DATA_LENGTH ছাড়িয়ে যায়, শুধুমাত্র AD ডেটার প্রথম AD_DATA_LENGTH বাইটের তুলনা করুন এবং অবশিষ্ট ডেটা উপেক্ষা করুন৷

সাব OCF: 0x09

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
APCF_Action 1 অক্টেট 0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
Delete নির্দিষ্ট ফিল্টারে নির্দিষ্ট AD প্রকার মুছে ফেলবে।
Clear নির্দিষ্ট ফিল্টারে সমস্ত AD প্রকার সাফ করবে।
APCF_Filter_Index 1 অক্টেট ফিল্টার সূচক (0, max_filter -1)
APCF_AD_TYPE 1 অক্টেট তালিকায় যোগ করার বা মুছে ফেলার জন্য AD প্রকার। APCF_Action 0x02 হলে উপেক্ষা করুন (ক্লিয়ার)
APCF_AD_DATA_Length 1 অক্টেট 0x00 - মানে ডেটা কন্টেন্ট ফিল্টার করবেন না
APCF_Action 0x02 হলে উপেক্ষা করুন (ক্লিয়ার)
APCF_AD_DATA পরিবর্তনশীল আকার APCF_AD_DATA_Length এর উপর ভিত্তি করে পরিবর্তনশীল-আকার
APCF_Action 0x02 হলে উপেক্ষা করুন (ক্লিয়ার)
APCF_AD_DATA_MASK পরিবর্তনশীল আকার APCF_AD_DATA_Length এর উপর ভিত্তি করে পরিবর্তনশীল-আকার
APCF_Action 0x02 হলে উপেক্ষা করুন (ক্লিয়ার)
এটির দৈর্ঘ্য APCF_AD_DATA এর সমান হওয়া উচিত।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0x09 - APCF AD প্রকার
APCF_Action 1 অক্টেট ইকো ব্যাক কমান্ডের APCF_Action
APCF_AvailableSpaces 1 অক্টেট AD টাইপ সারণিতে বিনামূল্যের এন্ট্রির সংখ্যা এখনও পাওয়া যায়

LE_APCF_Command: read_extended_features_sub_cmd

এই সাবকমান্ডটি বর্ধিত APCF বৈশিষ্ট্যগুলি পড়তে ব্যবহৃত হয়।

সাব OCF: 0xFF

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
প্রযোজ্য নয় খালি কমান্ড প্যারামিটার।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
APCF_opcode 1 অক্টেট 0xFF - APCF_Read_Extended_features
APCF_extended_features 2 অক্টেট

বর্ধিত বৈশিষ্ট্যগুলির জন্য বিট মাস্ক সমর্থিত:

  • বিট 0: ট্রান্সপোর্ট ডিসকভারি সার্ভিস ফিল্টার সমর্থন করে
  • বিট 1: AD টাইপ ফিল্টার সমর্থন করে
  • বিট 2 ~15: ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত

বিটের মান

  • 0 = সমর্থিত নয়
  • 1 = সমর্থিত

কন্ট্রোলার কার্যকলাপ এবং শক্তি তথ্য কমান্ড

এই তথ্যের উদ্দেশ্য হল উচ্চতর হোস্ট সিস্টেম ফাংশনগুলির জন্য BT কন্ট্রোলার এবং এর ম্যাক্রো স্টেট সহ সমস্ত উপাদানগুলির মোট ক্রিয়াকলাপ বিশ্লেষণ করা, অ্যাপস এবং ফ্রেমওয়ার্কে যা ঘটছে তার সাথে একত্রে। এটি করার জন্য, BT স্ট্যাক এবং কন্ট্রোলার থেকে নিম্নলিখিত তথ্য প্রয়োজন:

  • BT স্ট্যাক: কন্ট্রোলারের বর্তমান ম্যাক্রো-অপারেশনাল অবস্থার প্রতিবেদন করা
  • ফার্মওয়্যার: সামগ্রিক কার্যকলাপ এবং শক্তি তথ্য প্রতিবেদন করা

BT হোস্ট স্ট্যাক ম্যাক্রো অবস্থা, যেমন ব্যবহারকারীর স্তরে নির্ধারিত হয়:

  • নিষ্ক্রিয়: [পৃষ্ঠা স্ক্যান, LE বিজ্ঞাপন, অনুসন্ধান স্ক্যান, LE স্ক্যান]
  • স্ক্যান: [পেজিং/তদন্ত/সংযোগ করার চেষ্টা করা হচ্ছে]
  • সক্রিয়: [ACL লিঙ্ক চালু, SCO লিঙ্ক চলমান, স্নিফ মোড]

নিয়ন্ত্রক তার জীবনের উপর যে কার্যকলাপগুলি ট্র্যাক রাখে তা হল Tx সময়, Rx সময়, নিষ্ক্রিয় সময়, এবং মোট শক্তি খরচ হয়। হোস্ট থেকে পড়া যখন তারা সাফ করা হয়.

LE_Get_Controller_Activity_Energy_Info

এটি একটি বিক্রেতা-নির্দিষ্ট কমান্ড।

OCF: 0x159

সাবকমান্ড প্যারামিটার আকার উদ্দেশ্য
এন.এ খালি কমান্ড প্যারাম

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
total_tx_time_ms 4 অক্টেট Tx পারফর্ম করার মোট সময়
total_rx_time_ms 4 অক্টেট Rx পারফর্ম করার মোট সময়
total_idle_time_ms 4 অক্টেট নিষ্ক্রিয় থাকা মোট সময় (অনিদ্রা কম পাওয়ার স্টেট)
total_energy_used 4 অক্টেট ব্যবহৃত মোট শক্তি [কারেন্ট (mA), ভোল্টেজ (V) এবং সময় (ms)]

LE বর্ধিত সেট স্ক্যান প্যারামিটার কমান্ড

এই কমান্ডটি কন্ট্রোলারে একটি বড় স্ক্যান উইন্ডো এবং ব্যবধান সক্রিয় করতে ব্যবহার করা যেতে পারে। বিটি কোর 5.2 স্পেসিফিকেশন অনুসারে, একটি স্ক্যান উইন্ডো এবং ব্যবধানের 10.24 সেকেন্ডের ঊর্ধ্বসীমা সীমা থাকে, যা অ্যাপগুলির জন্য 10.24 সেকেন্ডের বেশি স্ক্যানের ব্যবধানকে বাধা দেয়।

বেস রেফারেন্স: বিটি কোর 5.2 স্পেসিফিকেশন, পৃষ্ঠা 2493 (এলই সেট স্ক্যান প্যারামিটার কমান্ড)

OCF: 0x15A

কমান্ড প্যারামিটার আকার উদ্দেশ্য
LE_Ex_Scan_Type 1 অক্টেট 0x00 - প্যাসিভ স্ক্যানিং। কোন SCAN_REQ প্যাকেট পাঠানো হবে না (ডিফল্ট)।
0x01 - সক্রিয় স্ক্যানিং। SCAN_REQ প্যাকেট পাঠানো হতে পারে।
LE_Ex_Scan_Interval 4 অক্টেট কন্ট্রোলার যখন তার শেষ LE স্ক্যান শুরু করে তখন থেকে পরবর্তী LE স্ক্যান শুরু না হওয়া পর্যন্ত সময়ের ব্যবধান হিসেবে সংজ্ঞায়িত করা হয়।
ব্যাপ্তি: 0x0004 থেকে 0x00FFFFFF
ডিফল্ট: 0x0010 (10 ms)
সময় = N * 0.625 ms
সময়সীমা: 2.5 ms থেকে 10442.25 সেকেন্ড
LE_Ex_Scan_Window 4 অক্টেট LE স্ক্যানের সময়কাল। LE_Scan_Window LE_Scan_Interval এর থেকে কম বা সমান হবে।
ব্যাপ্তি: 0x0004 থেকে 0xFFFF
ডিফল্ট: 0x0010 (10 ms)
সময় = N * 0.625 ms
সময়সীমা: 2.5 ms থেকে 40.95 সেকেন্ড
Own_Address_Type 1 অক্টেট 0x00 - সর্বজনীন ডিভাইসের ঠিকানা (ডিফল্ট)
0x01 - র্যান্ডম ডিভাইস ঠিকানা
LE_Ex_Scan_Filter_Policy 0x00 - সমস্ত বিজ্ঞাপন প্যাকেট গ্রহণ করুন (ডিফল্ট)। নির্দেশিত বিজ্ঞাপন প্যাকেট যা এই ডিভাইসের জন্য সম্বোধন করা হয় না উপেক্ষা করা হবে.
0x01 - শুধুমাত্র সাদা তালিকার তালিকায় নেই এমন ডিভাইস থেকে বিজ্ঞাপনের প্যাকেটগুলি উপেক্ষা করুন৷ নির্দেশিত বিজ্ঞাপন প্যাকেট যা এই ডিভাইসের জন্য সম্বোধন করা হয় না উপেক্ষা করা হবে.

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা

কন্ট্রোলার ডিবাগ তথ্য কমান্ড পান

এই তথ্য উপাদানটির উদ্দেশ্য হল পোস্ট-প্রসেসিং এবং বিশ্লেষণের জন্য বাইনারি আকারে একটি হোস্টের দ্বারা কন্ট্রোলার ডিবাগ তথ্য অর্জন করা। এটি মাঠের সমস্যাগুলি ডিবাগ করতে সহায়তা করে এবং বিশ্লেষণের জন্য তথ্য লগ করার জন্য ইঞ্জিনিয়ারদের একটি টুলকিট প্রদান করে। একটি কন্ট্রোলার ইভেন্টের (কন্ট্রোলার ডিবাগ ইনফো সাব-ইভেন্ট) মাধ্যমে বা স্বায়ত্তশাসিতভাবে যখন কন্ট্রোলারের ইচ্ছা অনুযায়ী হোস্ট দ্বারা অনুরোধ করা হয় তখন তথ্য প্রদান করতে পারে। উদাহরণ ব্যবহার ফার্মওয়্যার স্টেট তথ্য, ক্র্যাশ ডাম্প তথ্য, লগিং তথ্য ইত্যাদি রিপোর্ট করা হতে পারে।

OCF: 0x15B

কমান্ড প্যারামিটার আকার উদ্দেশ্য
N/A খালি কমান্ড প্যারামিটার তালিকা

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা

A2DP হার্ডওয়্যার অফলোড সমর্থন

A2DP অফলোড বৈশিষ্ট্যটি BT কন্ট্রোলারের সাথে সংযুক্ত একটি অডিও প্রসেসরে A2DP অডিও এনকোডিং প্রক্রিয়ার অফলোড সমর্থন করে। এনকোড করা অডিও ডাটা স্ট্রীম সরাসরি অডিও প্রসেসর থেকে বিটি কন্ট্রোলারে চলে যায় বিটি হোস্টের অংশগ্রহণ ছাড়াই। BT হোস্ট এখনও A2DP সেশনের কনফিগারেশন এবং নিয়ন্ত্রণের জন্য দায়ী। কমান্ডের দুটি সংস্করণ উপলব্ধ। সাব OCF 0x01-0x02 সহ লিগ্যাসি কমান্ডগুলি শুধুমাত্র ওপেন সোর্স কোডেক সমর্থন করে৷ Sub-OCF 0x03-0x04 সহ সংস্করণগুলি কনফিগার করা কোডেকের কাছে অজ্ঞেয়বাদী৷

OCF: 0x15D

A2DP অফলোড শুরু করুন (উত্তরাধিকার)

সাব OCF: 0x01

A2DP অফলোড প্রক্রিয়া কনফিগার করতে এবং A2DP স্ট্রীম শুরু করতে উভয়ই এই কমান্ডটি ব্যবহার করুন।

কমান্ড প্যারামিটার আকার উদ্দেশ্য
Codec 4 অক্টেট কোডেক প্রকার নির্দিষ্ট করে
0x01 - SBC
0x02 - AAC
0x04 - APTX
0x08 - APTX HD
0x10 - LDAC
Max_Latency 2 অক্টেট সর্বাধিক লেটেন্সি অনুমোদিত (এমএসে)। শূন্যের মান ফ্লাশ নিষ্ক্রিয় করে।
SCMS-T_Enable 2 অক্টেট অক্টেট 0: পতাকা যা SCMS-T শিরোনাম যোগ করতে সক্ষম করে।
  • 0x00 - SCMS-T হেডার অন্তর্ভুক্ত নয়।
  • 0x01 - SCMS-T হেডার অন্তর্ভুক্ত।

অক্টেট 1: SCMS-T হেডারের মান, যখন এটি সক্ষম হয়।

Sampling_Frequency 4 অক্টেট 0x01 - 44100 Hz
0x02 - 48000 Hz
0x04 - 88200 Hz
0x08 - 96000 Hz
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 অক্টেট কোডেক-নির্দিষ্ট তথ্য।

SBC কোডেক:

A2DP v1.3-এ SBC কোডেক নির্দিষ্ট তথ্য উপাদানগুলি পড়ুন।
অক্টেট 0: ব্লকের দৈর্ঘ্য | সাবব্যান্ড | বরাদ্দ পদ্ধতি
অক্টেট 1: ন্যূনতম বিটপুল মান
অক্টেট 2: সর্বোচ্চ বিটপুল মান
অক্টেট 3: স্যাম্পলিং ফ্রিকোয়েন্সি | চ্যানেল মোড
অক্টেট 4-31: সংরক্ষিত

AAC কোডেক:

A2DP v1.3-এ AAC কোডেক নির্দিষ্ট তথ্য উপাদানগুলি পড়ুন
অক্টেট 0: অবজেক্ট টাইপ
অক্টেট 1; b7: VBR
অক্টেট 2-31: সংরক্ষিত

LDAC কোডেক:

অক্টেট 0-3: ভেন্ডর আইডি
0x0000012D

অক্টেট 4-5: কোডেক আইডি
0x00AA - LDAC
অন্যান্য সমস্ত মান সংরক্ষিত

অক্টেট 6: বিটরেট সূচক:
0x00 - উচ্চ
0x01 - মাঝামাঝি
0x02 - কম
0x03 - 0x7E - সংরক্ষিত
0x7F - ABR (অ্যাডাপ্টিভ বিট রেট)
0x80 - 0xFF - সংরক্ষিত

অক্টেট 7: LDAC চ্যানেল মোড
0x01 - স্টেরিও
0x02 - দ্বৈত
0x04 - মনো
অন্যরা সংরক্ষিত

অক্টেট 8-31: সংরক্ষিত

অন্যান্য সমস্ত কোডেক:

অক্টেট 0-31: সংরক্ষিত

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
Sub_Opcode 1 অক্টেট 0x01 - A2DP অফলোড শুরু করুন

A2DP অফলোড শুরু করুন

সাব OCF: 0x03

A2DP অফলোড প্রক্রিয়া কনফিগার করতে এবং A2DP স্ট্রীম শুরু করতে উভয়ই এই কমান্ডটি ব্যবহার করুন।

কমান্ড প্যারামিটার আকার উদ্দেশ্য
Connection Handle 2 অক্টেট সক্রিয় HCI সংযোগের হ্যান্ডেল
L2CAP_Channel_ID 2 অক্টেট A2DP স্ট্রিমিংয়ের জন্য L2CAP চ্যানেলের শনাক্তকারী খোলা হয়েছে
Data_Path_Direction 1 অক্টেট 0x00 - আউটপুট (AVDTP উৎস/মার্জ)
0x01 - ইনপুট (AVDTP সিঙ্ক/স্প্লিট)
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 অক্টেট ব্লুটুথ অডিও HAL, CodecParameters.vendorSpecificParameters[] দ্বারা প্রদত্ত বিক্রেতা নির্দিষ্ট পরামিতি।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
Sub_Opcode 1 অক্টেট 0x03 - A2DP অফলোড শুরু করুন

A2DP অফলোড বন্ধ করুন (উত্তরাধিকার)

সাব OCF: 0x02

এই কমান্ডটি A2DP অফলোড স্ট্রীম বন্ধ করতে ব্যবহৃত হয়।

কমান্ড প্যারামিটার আকার উদ্দেশ্য
N/A খালি কমান্ড প্যারামিটার তালিকা।

এই কমান্ডের জন্য কোন পরামিতি সংজ্ঞায়িত করা হয় না।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
Sub_Opcode 1 অক্টেট 0x02 - A2DP অফলোড বন্ধ করুন

A2DP অফলোড বন্ধ করুন

সাব OCF: 0x04

এই কমান্ডটি A2DP অফলোড স্ট্রীম বন্ধ করতে ব্যবহৃত হয়।

কমান্ড প্যারামিটার আকার উদ্দেশ্য
Connection Handle 2 অক্টেট সক্রিয় HCI সংযোগের হ্যান্ডেল
L2CAP_Channel_ID 2 অক্টেট A2DP স্ট্রিমিংয়ের জন্য L2CAP চ্যানেলের শনাক্তকারী খোলা হয়েছে
Data_Path_Direction 1 অক্টেট 0x00 - আউটপুট (AVDTP উৎস/মার্জ)
0x01 - ইনপুট (AVDTP সিঙ্ক/স্প্লিট)

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ অবস্থা
Sub_Opcode 1 অক্টেট 0x04 - A2DP অফলোড বন্ধ করুন

ব্লুটুথ কোয়ালিটি রিপোর্ট কমান্ড

বিটি কোয়ালিটি রিপোর্ট কমান্ড ফিচারটি ব্লুটুথ কন্ট্রোলারে মেকানিজম শুরু করে যাতে হোস্টকে ব্লুটুথ কোয়ালিটি ইভেন্ট রিপোর্ট করা যায়। আপনি চারটি বিকল্প সক্ষম করতে পারেন:

  • কোয়ালিটি মনিটরিং মোড: কন্ট্রোলার পর্যায়ক্রমে হোস্টের কাছে একটি লিঙ্ক কোয়ালিটি সম্পর্কিত বিকিউআর সাবইভেন্ট পাঠায়।
  • অ্যাপ্রোচিং এলএসটিও: লিঙ্ক সুপারভিশন টাইমআউট (এলএসটিও) মানের অর্ধেকের বেশি সময় ধরে সংযুক্ত বিটি ডিভাইস থেকে কোনও প্যাকেট না পাওয়া গেলে, নিয়ন্ত্রক হোস্টের কাছে একটি এলএসটিও ইভেন্টের কাছে রিপোর্ট করে।
  • এ 2 ডিপি অডিও চপ্পি: যখন নিয়ামক চপ্পি অডিওর কারণগুলির কারণগুলি সনাক্ত করে, তখন নিয়ামক হোস্টের কাছে একটি এ 2 ডিপি অডিও চপ্পি ইভেন্টের প্রতিবেদন করে।
  • )
  • রুট প্রদাহ: এইচএল বা নিয়ামক যখন মারাত্মক ত্রুটির মুখোমুখি হয় এবং ব্লুটুথ পুনরায় চালু করতে হয় তখন এই ইভেন্টটি কন্ট্রোলার দ্বারা স্ট্যাকের কাছে প্রেরণ করা হয়।
  • এলএমপি/এলএল বার্তা ট্রেস: কন্ট্রোলার এলএমপি/এলএল বার্তা হ্যান্ডশেকিংকে দূরবর্তী ডিভাইস সহ হোস্টের কাছে প্রেরণ করে।
  • ব্লুটুথ মাল্টি-প্রোফাইল/কোয়েক্স শিডিয়ুলিং ট্রেস: কন্ট্রোলার তার সময়সূচী তথ্য একাধিক ব্লুটুথ প্রোফাইল এবং ওয়্যারলেস সহাবস্থান পরিচালনা করার বিষয়ে 2.4 গিগাহার্টজ ব্যান্ডে হোস্টের কাছে প্রেরণ করে।
  • কন্ট্রোলার ডিবাগ ইনফরমেশন মেকানিজম: সক্ষম করা হলে, নিয়ামক স্বায়ত্তশাসিতভাবে ডিবাগ লগিং তথ্যটি কন্ট্রোলার ডিবাগ তথ্যের মাধ্যমে হোস্টের কাছে সাবভেন্টের মাধ্যমে প্রতিবেদন করতে পারে।
  • লে অডিও চপ্পি: যখন নিয়ামক চপ্পি অডিওর কারণগুলি সনাক্ত করে, তখন নিয়ামক হোস্টকে একটি লে অডিও চপ্পি ইভেন্টের প্রতিবেদন করে।
  • অগ্রিম আরএফ স্ট্যাটাস মোড: কন্ট্রোলার তার আরএফ পরিসংখ্যান সম্পর্কিত তথ্য হোস্টের কাছে রিপোর্ট করে, দুটি প্রতিবেদনের ব্যবহারের ক্ষেত্রে সমর্থন করে:
    • পর্যায়ক্রমিক প্রতিবেদন
    • ইভেন্ট ট্রিগারস (স্ট্রিম স্টার্ট/স্টপ এবং লিঙ্ক মানের ইভেন্ট ট্রিগার)।
  • ব্লুটুথ কোয়ালিটি রিপোর্ট কমান্ডের বিকিউআর_আরপোর্ট_অ্যাকশন: হোস্ট এই এইচসিআই কমান্ডটি গুণমান মনিটরিং মোড, এনার্জি মনিটর মোড বা অ্যাডভান্স আরএফ স্ট্যাটাস মোডের জন্য এক সময়ের ক্যোয়ারী পেতে ব্যবহার করতে পারে।

ওসিএফ: 0x15e

কমান্ড প্যারামিটার আকার উদ্দেশ্য
BQR_Report_Action 1 অক্টেট BQR_QUALY_EVENT_MASK প্যারামিটারে সেট করা মানের ইভেন্ট (গুলি) এর প্রতিবেদন যুক্ত / মুছতে ক্রিয়া, বা সমস্ত সাফ করুন।

0x00 - যোগ করুন
0x01 - মুছুন
0x02 - পরিষ্কার
0x03 - এক সময় ক্যোয়ারী

মুছুন নির্দিষ্ট মানের ইভেন্ট (গুলি) রিপোর্টিং সাফ করবে।
ক্লিয়ার সমস্ত মানের ইভেন্ট রিপোর্টিং সাফ করবে (বিকিউআর_কুয়েলিটি_ভেন্ট_মাস্ক প্যারামিটার উপেক্ষা করা যেতে পারে)।

BQR_Quality_Event_Mask 4 অক্টেট নির্বাচিত মানের ইভেন্ট রিপোর্টিংয়ের জন্য বিট মাস্ক।

বিট 0: মান পর্যবেক্ষণ মোড সক্ষম করতে সেট করুন।
বিট 1: এলএসটিও ইভেন্টে পৌঁছানোর জন্য সেট করুন (এসিএল/(ই) এসসিও/আইএসও)।
বিট 2: A2DP অডিও চপ্পি ইভেন্ট সক্ষম করতে সেট করুন।
বিট 3: সক্ষম করতে সেট করুন (ঙ) এসসিও ভয়েস চপ্পি ইভেন্ট।
বিট 4: মূল প্রদাহ ইভেন্ট সক্ষম করতে সেট করুন।
বিট 5: শক্তি পর্যবেক্ষণ মোড সক্ষম করতে সেট করুন।
বিট 6: লে অডিও চপ্পি ইভেন্ট সক্ষম করতে সেট করুন।
বিট 7: সংযোগ ব্যর্থ ইভেন্ট সক্ষম করতে সেট করুন।
বিট 8: অগ্রিম আরএফ স্ট্যাটাস মোড ইভেন্ট ট্রিগার সক্ষম করতে সেট করুন।
বিট 9: অগ্রিম আরএফ পরিসংখ্যান পর্যায়ক্রমিক প্রতিবেদন সক্ষম করতে সেট করুন।
বিট 10 ~ 14: সংরক্ষিত।
বিট 15: বিক্রেতা-নির্দিষ্ট মানের ইভেন্টগুলি সক্ষম করতে সেট করুন।
বিট 16: এলএমপি/এলএল বার্তা ট্রেস সক্ষম করতে সেট করুন।
বিট 17: ব্লুটুথ মাল্টি-লিংক/কোয়েক্স সময়সূচী ট্রেস সক্ষম করতে সেট করুন।
বিট 18: কন্ট্রোলার ডিবাগ তথ্য প্রক্রিয়া সক্ষম করতে সেট করুন।
বিট 19 ~ 30: সংরক্ষিত।
বিট 31: বিক্রেতা-নির্দিষ্ট ট্রেস সক্ষম করতে সেট করুন।

BQR_Minimum_Report_Interval 2 অক্টেট নির্বাচিত মানের ইভেন্ট (গুলি) এর জন্য মানের ইভেন্ট রিপোর্টিংয়ের সর্বনিম্ন সময়ের ব্যবধান নির্ধারণ করুন। কন্ট্রোলার ফার্মওয়্যারটি নির্ধারিত সময়ের ব্যবধানের মধ্যে পরবর্তী ইভেন্টটি রিপোর্ট করা উচিত নয়। ব্যবধান সেটিংটি যুক্ত করা হচ্ছে এমন মানের ইভেন্ট (গুলি) এর জন্য সংশ্লিষ্ট এবং উত্সর্গীকৃত হবে।

ইউনিট: এমএস
ডিফল্ট: 0 (ব্যবধানের জন্য কোনও সীমাবদ্ধতা নেই))
পরিসীমা: 0 ~ 65535 এমএস

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: সংরক্ষিত।

Report_interval_multiple 4 অক্টেট BQR_Minimum_Report_Interval এর গুণক। যখন এই মান> = 1, বিকিউআর রিপোর্টের ব্যবধানটি ফর্ম্যাটটি অনুসরণ করে
বিকিউআর রিপোর্টের ব্যবধান = বিকিউআর_মিনিমাম_আরপোর্ট_ইন্টারভাল এক্স রিপোর্ট_আইন্টারভাল_মিলিটিপল।
কন্ট্রোলার ফার্মওয়্যারটি অবশ্যই নির্ধারিত সময়ের ব্যবধানের মধ্যে পরবর্তী ইভেন্টটি রিপোর্ট করতে হবে না। অন্তর সেটিংটি বিশেষভাবে যুক্ত মানের ইভেন্ট (গুলি) এর জন্য উত্সর্গীকৃত।

ইউনিট: এমএস
ডিফল্ট: 1
ব্যাপ্তি: 0 ~ 4294967295 (0: সমান সেট 1)

দ্রষ্টব্য: যদি BQR_Report_Interval এর সেটিংটি নিয়ামকের দক্ষতার চেয়ে বড় হয় তবে কন্ট্রোলারকে অবশ্যই কমান্ডের সমাপ্তিতে সর্বাধিক BQR_Report_Interval সময়টি ফিরিয়ে দিতে হবে।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Current_Quality_Event_Mask 4 অক্টেট বর্তমান বিট মাস্ক সেটিং নির্দেশ করে।
বিট 0: গুণমান পর্যবেক্ষণ মোড সক্ষম করা হয়েছে।
বিট 1: এলএসটিও ইভেন্ট রিপোর্টিংয়ের কাছে পৌঁছানো সক্ষম করা হয়েছে।
বিট 2: এ 2 ডিপি অডিও চপ্পি ইভেন্ট রিপোর্টিং সক্ষম করা হয়েছে।
বিট 3: (ঙ) এসসিও ভয়েস চপ্পি ইভেন্ট রিপোর্টিং সক্ষম করা হয়েছে।
বিট 4: রুট প্রদাহ ইভেন্ট রিপোর্টিং সক্ষম করা হয়েছে।
বিট 5: শক্তি পর্যবেক্ষণ মোড সক্ষম করা হয়েছে।
বিট 6: লে অডিও চপ্পি ইভেন্ট রিপোর্টিং সক্ষম করা হয়েছে।
বিট 7: সংযোগ ব্যর্থ ইভেন্ট।
বিট 8: অগ্রিম আরএফ স্ট্যাটাস মোড ইভেন্ট ট্রিগার সক্ষম করতে সেট করুন।
বিট 9: অগ্রিম আরএফ পরিসংখ্যানগুলি পর্যায়ক্রমে প্রতিবেদন সক্ষম করতে সেট করুন।
বিট 10 ~ 14: সংরক্ষিত।
বিট 15: বিক্রেতা-নির্দিষ্ট মানের ইভেন্ট রিপোর্টিং সক্ষম করা হয়েছে।
বিট 16: এলএমপি/এলএল বার্তা ট্রেস সক্ষম করা হয়েছে।
বিট 17: ব্লুটুথ মাল্টি-লিংক/কোএক্সের সময়সূচী ট্রেস সক্ষম করা হয়েছে।
বিট 18: কন্ট্রোলার ডিবাগ তথ্য প্রক্রিয়া সক্ষম করা হয়েছে।
বিট 19 ~ 30: সংরক্ষিত।
বিট 31: বিক্রেতা-নির্দিষ্ট ট্রেস সক্ষম করা হয়েছে।
Current_Vendor_Specific_Quality_Event_Mask 4 অক্টেট বর্তমান বিট মাস্ক সেটিং নির্দেশ করে।
Current_Vendor_Specific_Trace_Mask 4 অক্টেট বর্তমান বিট মাস্ক সেটিং নির্দেশ করে।
BQR_Report_interval 4 অক্টেট বর্তমান বিট মাস্ক সেটিং নির্দেশ করে।
Current_Vendor_Specific_Trace_Mask 4 অক্টেট BQR_Report_interval এর সেটিং। এটি অবশ্যই বিকিউআর_মিনিমাম_আরপোর্ট_ইন্টারভাল * রিপোর্ট_ইন্টারভাল_মিলিটিপল বা নিয়ামকের সর্বাধিক সমর্থন ব্যবধানের মধ্যে ন্যূনতম মান হতে হবে।

গতিশীল অডিও বাফার কমান্ড

গতিশীল অডিও বাফার বিভিন্ন পরিস্থিতিতে ভিত্তিতে ব্লুটুথ কন্ট্রোলারে অডিও বাফার আকার পরিবর্তন করে অডিও গ্লিচিং হ্রাস করে।

ওসিএফ: 0x15f

অডিও বাফার সময় সক্ষমতা পান

সাব ওসিএফ: 0x01

ব্লুটুথ কন্ট্রোলার থেকে অডিও বাফার সময় সক্ষমতা পেতে এই কমান্ডটি ব্যবহার করুন।

কমান্ড প্যারামিটার আকার উদ্দেশ্য
N/A খালি কমান্ড প্যারামিটার তালিকা

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Dynamic_Audio_Buffer_opcode 1 অক্টেট 0x01 - অডিও বাফার সময় পান
Audio_Codec_Type_Supported 4 অক্টেট সমর্থিত কোডেক প্রকারের জন্য বিট মাস্ক
বিট 0 - এসবিসি
বিট 1 - এএসি
বিট 2 - এপিটিএক্স
বিট 3 - এপিটিএক্স এইচডি
বিট 4 - এলডিএসি
বিট 5-31 সংরক্ষিত
Audio_Codec_Buffer_Default_Time_For_Bit_0 2 অক্টেট বিট 0 এর ডিফল্ট বাফার সময় 0 কোডেক প্রকারের অডিও_কোডেক_ টাইপ_সপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 0 কোডেক টাইপ সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 2 অক্টেট বিট 0 এর সর্বাধিক বাফার সময় 0 কোডেক প্রকারের অডিও_কোডেক_ টাইপ_সপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 0 কোডেক টাইপ সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 2 অক্টেট বিট 0 এর সর্বনিম্ন বাফার সময় 0 কোডেক প্রকারের অডিও_কোডেক_ টাইপ_সপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 0 কোডেক টাইপ সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
Audio_Codec_Buffer_Default_Time_For_Bit_1 2 অক্টেট বিট 1 কোডেক প্রকারের ডিফল্ট বাফার সময় অডিও_কোডেক_ টাইপ_সুপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 1 কোডেক প্রকারটি সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 2 অক্টেট বিট 1 কোডেক প্রকারের সর্বাধিক বাফার সময় অডিও_কোডেক_ টাইপ_সপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 1 কোডেক প্রকারটি সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 2 অক্টেট বিট 1 কোডেক প্রকারের সর্বনিম্ন বাফার সময় অডিও_কোডেক_ টাইপ_সুপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 1 কোডেক প্রকারটি সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
...... ...... ......
Audio_Codec_Buffer_Default_Time_For_Bit_31 2 অক্টেট বিট 31 কোডেক প্রকারের ডিফল্ট বাফার সময় অডিও_কোডেক_ টাইপ_সপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 31 কোডেক প্রকারটি সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 2 অক্টেট বিট 31 কোডেক প্রকারের সর্বাধিক বাফার সময় অডিও_কোডেক_ টাইপ_সপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 31 কোডেক প্রকারটি সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 2 অক্টেট বিট 31 কোডেক প্রকারের সর্বনিম্ন বাফার সময় অডিও_কোডেক_ টাইপ_সপোর্টডে নির্দিষ্ট করা হয়েছে।
বিট 31 কোডেক প্রকারটি সমর্থিত না হলে এই মানটি 0 হবে।
ইউনিট: এমএস

অডিও বাফার সময় সেট করুন

সাব ওসিএফ: 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 এর ডিবাগ ডেটা

ব্লুটুথ মানের রিপোর্ট সাবভেন্ট

এই ইভেন্টটি নিম্নলিখিতগুলির মধ্যে একটিকে নির্দেশ করে: একটি ব্লুটুথ মানের ইভেন্ট ঘটেছে, নিয়ামক এলএমপি/এলএল বার্তা ট্রেস এবং ব্লুটুথ মাল্টি-লিংক/কোয়েক্স শিডিয়ুলিং ট্রেস, বা কন্ট্রোলার ডাম্পড ডিবাগ তথ্য ডেটা আপলোড করেছে।

সাবভেন্ট প্যারামিটার আকার উদ্দেশ্য
Quality_Report_Id 1 অক্টেট 0x01: মনিটরিং মোডে মানের প্রতিবেদন।
0x02: এলএসটিওর কাছে আসা।
0x03: A2DP অডিও চপ্পি।
0x04: (ঙ) এসসিও ভয়েস চপ্পি।
0x05 ~ 0x06: সংরক্ষিত।
0x07: লে অডিও চপ্পি।
0x08: সংযোগ ব্যর্থ।
0x09 ~ 0xff: সংরক্ষিত।
Packet_Types 1 অক্টেট 0x01: আইডি
0x02: নাল
0x03: পোল
0x04: এফএইচএস
0x05: এইচভি 1
0x06: এইচভি 2
0x07: এইচভি 3
0x08: ডিভি
0x09: EV3
0x0a: EV4
0x0 বি: ইভি 5
0x0C: 2-EV3
0x0D: 2-EV5
0x0e: 3-EV3
0x0f: 3-EV5
0x11: ডিএইচ 1
0x12: ডিএম 3
0x13: ডিএইচ 3
0x14: ডিএম 5
0x15: ডিএইচ 5
0x16: AUX1
0x17: 2-ডিএইচ 1
0x18: 2-ডিএইচ 3
0x19: 2-ডিএইচ 5
0x1a: 3-ডিএইচ 1
0x1 বি: 3-ডিএইচ 3
0x1C: 3-DH5
0x1D ~ 0x50: সংরক্ষিত
0x51: আইএসও প্যাকেট
0x52 ~ 0xff: সংরক্ষিত
Connection_Handle 2 অক্টেট এসিএল/(ই) এসসিও/আইএসও সংযোগ হ্যান্ডেল।
Connection_Role 1 অক্টেট সংযোগের জন্য ভূমিকা পালন করছে।
0x00: কেন্দ্রীয়
0x01: পেরিফেরাল
0x02 ~ 0xff: সংরক্ষিত।
TX_Power_Level 1 অক্টেট নির্দিষ্ট সংযোগ_হ্যান্ডেলের জন্য বর্তমান প্রেরণ শক্তি স্তর।

এই মানটি HCI_READ_TRANSMIT_POWRE_LEVEL এইচসিআই কমান্ডে কন্ট্রোলারের প্রতিক্রিয়া হিসাবে একই হবে।

RSSI 1 অক্টেট [ডিবিএম]

নির্দিষ্ট সংযোগ_হ্যান্ডেলের জন্য সিগন্যাল শক্তি ইঙ্গিত (আরএসএসআই) মান পেয়েছে।
এই মানটি একটি পরম রিসিভার সিগন্যাল শক্তি মান হবে।
ব্যাপ্তি: -127 থেকে +20

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 অক্টেট নির্দিষ্ট সংযোগ_হ্যান্ডেলের জন্য পিকনেট ঘড়ি।
এই মানটি 0x01 (পিকনেট ক্লক) এর "যা_ক্লক" প্যারামিটার সহ HCI_READ_CLOCK এইচসিআই কমান্ডে কন্ট্রোলারের প্রতিক্রিয়া হিসাবে একই হবে।
ইউনিট: এন * 0.3125 এমএস (1 ব্লুটুথ ক্লক)
Retransmission_Count 4 অক্টেট শেষ ইভেন্টের পর থেকে retransmission এর সংখ্যা।
এই গণনাটি হোস্টকে রিপোর্ট করার পরে পুনরায় সেট করা হবে।
No_RX_Count 4 অক্টেট শেষ ইভেন্টের পরে কোনও আরএক্স গণনা নেই।
নির্ধারিত সময় স্লটে কোনও প্যাকেট না পাওয়া গেলে বা প্রাপ্ত প্যাকেটটি দূষিত হয় যখন গণনা বৃদ্ধি পায়।
এই গণনাটি হোস্টকে রিপোর্ট করার পরে পুনরায় সেট করা হবে।
NAK_Count 4 অক্টেট শেষ ইভেন্ট থেকে নাক (নেতিবাচক স্বীকৃতি) গণনা।
এই গণনাটি হোস্টকে রিপোর্ট করার পরে পুনরায় সেট করা হবে।
Last_TX_ACK_Timestamp 4 অক্টেট শেষ টিএক্স এসির টাইমস্ট্যাম্প। এটি পিকনেট সেন্ট্রাল (সিএলকে) এর ব্লুটুথ ঘড়ির উপর ভিত্তি করে।
ইউনিট: এন * 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 অক্টেট লিঙ্ক স্তর যে প্যাকেটের সংখ্যা একটি সিআইএস ইভেন্টের শেষ সাবভেন্টে একটি সিআইএস ডেটা পিডিইউ প্রেরণ করে।
এই গণনাটি হোস্টকে রিপোর্ট করার পরে পুনরায় সেট করা হয়।
লিঙ্কটির জন্য কোনও বৈধ মান না থাকলে মানটি শূন্য।
CRC_Error_Packets 4 অক্টেট শেষ ইভেন্ট থেকে সিআরসি ত্রুটি সহ প্রাপ্ত প্যাকেজগুলির সংখ্যা।
এই গণনাটি হোস্টকে রিপোর্ট করার পরে পুনরায় সেট করা হয়।
RX_Duplicate_Packets 4 অক্টেট শেষ ইভেন্ট থেকে প্রাপ্ত সদৃশ (retransmission) প্যাকেজগুলির সংখ্যা।
এই গণনাটি হোস্টকে রিপোর্ট করার পরে পুনরায় সেট করা হয়।
RX_Unreceived_Packets 4 অক্টেট অমান্যযুক্ত প্যাকেটের সংখ্যা এলই রিড আইএসও লিঙ্ক কোয়ালিটি কমান্ডের প্যারামিটারের সমান (ব্লুটুথ কোর স্পেসিফিকেশন সংস্করণ 5.4 দেখুন)। সম্পর্কিত স্ট্রিমগুলি সিআইএস এবং বিআইএস।
যখন এই মানটি বাড়ানো হয়, লিঙ্ক স্তরটি তার ফ্লাশ পয়েন্ট (একটি সিআইএসে) দ্বারা বা ইভেন্টের শেষে এটি সম্পর্কিত (একটি বিআইএসে; ব্লুটুথ কোর স্পেসিফিকেশন সংস্করণ 5.4 ভোল 6 অংশ দেখুন বি, বিভাগ 4.4.6.6)।
Coex_Info_Mask 2 অক্টেট বিট 0 - কোএক্সিনভলভমেন্ট: এই প্রতিবেদনটি উত্পন্ন হওয়ার পরে কোএক্স ক্রিয়াকলাপগুলি জড়িত বলে সন্দেহ করা হয় (উদাহরণস্বরূপ, এ 2 ডিপি চপস এবং এলএসটিওর কাছে আসা)।
বিট 1 - ডাব্লুএল 2 জি রেডিও অ্যাক্টিভ: ডাব্লুএলএএন 2 জি রেডিওটি সক্রিয় রয়েছে তা নির্দেশ করতে সেট করুন।
বিট 2 - ডাব্লুএল 2 জি সংযুক্ত: ডাব্লুএলএএন 2 জি রেডিও সক্রিয় এবং সংযুক্ত রয়েছে তা নির্দেশ করতে সেট করুন।
বিট 3 - ডাব্লুএল 5 জি/6 জি রেডিও অ্যাক্টিভ: ডাব্লুএলএএন 5 জি/6 জি রেডিওটি সক্রিয় করার জন্য সেট করুন।
বিট 4-15 - সংরক্ষিত
বিক্রেতা নির্দিষ্ট প্যারামিটার (প্যারামিটার মোট দৈর্ঘ্য - টিবিডি) * অক্টেটস নিয়ামক বিক্রেতার জন্য আরও বিক্রেতার নির্দিষ্ট পরামিতিগুলি পাওয়ার জন্য।

সাবভেন্ট কোড = 0x58 [কোয়ালিটি_আরপোর্ট_আইডি = 0x05, রুট প্রদাহ ইভেন্ট]

এই ইভেন্টটি ইঙ্গিত দেয় যে ব্লুটুথ এইচএল বা নিয়ামক একটি মারাত্মক ত্রুটির মুখোমুখি হয়েছিল এবং এই পরিস্থিতিটি রেকর্ড করতে এবং পুনরায় চালু করতে ব্লুটুথ স্ট্যাকের প্রয়োজন হয়। কন্ট্রোলারকে অবশ্যই যে কোনও ক্ষেত্রে ডিবাগ তথ্য ইভেন্টগুলির প্রথম খণ্ডটি প্রেরণের আগে ব্লুটুথ স্ট্যাকের জন্য একটি ROOT_INFLAMMATION_EVENT প্রেরণ করতে হবে।

ত্রুটি_কোড প্যারামিটারে এইচএল/কন্ট্রোলার থেকে রিপোর্ট করা একটি ত্রুটি কোড রয়েছে, 0 যদি এটি চিপসেট বিক্রেতার নির্দিষ্ট ত্রুটি হয়। বিক্রেতা_স্পেসিফিক_আরআর_কোডে এইচএল/কন্ট্রোলার থেকে একটি চিপসেট বিক্রেতার নির্দিষ্ট ত্রুটি কোড রয়েছে। এটি 0 হিসাবে সেট করা উচিত যদি প্যারামিটার ত্রুটি_কোড 0 না থাকে তবে প্যারামিটারগুলি ত্রুটি_কোড এবং বিক্রেতা_স্পেসিফিক_আরআর_কোড উভয়ই 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) * অক্টেটস নিয়ামক বিক্রেতার জন্য আরও বিক্রেতার নির্দিষ্ট পরামিতিগুলি পাওয়ার জন্য।
সাবভেন্ট প্যারামিটার আকার উদ্দেশ্য
Quality_Report_Id 1 অক্টেট 0x00 ~ 0x10: সংরক্ষিত।
0x11: এলএমপি/এলএল বার্তা ট্রেস।
0x12: ব্লুটুথ মাল্টি-লিংক/কোএক্স শিডিয়ুলিং ট্রেস।
0x13: কন্ট্রোলার ডিবাগ তথ্য ডেটা ডাম্প।
0x14 ~ 0xff: সংরক্ষিত।
Connection_Handle 2 অক্টেট সংযোগ হ্যান্ডেল।
বিক্রেতা নির্দিষ্ট প্যারামিটার (প্যারামিটার মোট দৈর্ঘ্য - 4) * অক্টেটস এলএমপি বার্তা ট্রেস, ব্লুটুথ মাল্টি-লিংক/কোএক্স শিডিয়ুলিং ট্রেস এবং কন্ট্রোলার ডিবাগ তথ্য ডেটা ডাম্পের বিক্রেতার নির্দিষ্ট ফর্ম্যাট।

মাল্টি-অ্যাডভার্টাইজার সমর্থন

মাল্টি-অ্যাডভার্টাইজার সমর্থনের উদ্দেশ্যগুলি নিম্নলিখিত:

  • একাধিক বিজ্ঞাপন সমর্থন করার ক্ষমতা ( max_advt_instances )
  • বিভিন্ন পরিসরের জন্য অনুমতি দেওয়ার জন্য বিভিন্ন প্রেরণ ক্ষমতা
  • বিভিন্ন বিজ্ঞাপন সামগ্রী
  • প্রতিটি বিজ্ঞাপনদাতার জন্য একটি পৃথক প্রতিক্রিয়া
  • প্রতিটি বিজ্ঞাপনদাতার জন্য গোপনীয়তা (অ-ট্র্যাকযোগ্য)
  • সংযোগযোগ্য

এই স্পেসিফিকেশনটি বিদ্যমান মানগুলির কাছাকাছি রাখতে, নিম্নলিখিত বিক্রেতা-নির্দিষ্ট কমান্ডগুলি সরবরাহ করা হয়। এগুলি ব্লুটুথ কোর 4.1 স্পেসিফিকেশন থেকে প্রাপ্ত।

Le_multi_advt_command

ওসিএফ: 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 (লে সেট বিজ্ঞাপন প্যারামিটার কমান্ড)

সাব ওসিএফ: 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 (লে সেট বিজ্ঞাপন ডেটা কমান্ড)

সাব ওসিএফ: 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 (এলই সেট স্ক্যান প্রতিক্রিয়া ডেটা কমান্ড)

সাব ওসিএফ: 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 (এলই এলোমেলো ঠিকানা কমান্ড সেট করুন)

সাব ওসিএফ: 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 (লে সেট বিজ্ঞাপনটি সেই মূল স্পেসিফিকেশনে কমান্ড সক্ষম করুন)

ওসিএফ: 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

ওসিএফ: 0x15 সি

কমান্ড প্যারামিটার আকার উদ্দেশ্য
LE_local_IRK 16 অক্টেট স্থানীয় ডিভাইস আইআরকে এলোমেলো সমাধানযোগ্য ঠিকানা (ইএস) উত্পন্ন করতে ব্যবহৃত হয়েছিল।
tRPA_min 2 অক্টেট সেকেন্ডে সর্বনিম্ন আরপিএ প্রজন্মের সময়সীমা। নিয়ামককে অবশ্যই এই সময়সীমা বা তার পরে বা তার পরে কোনও বিজ্ঞাপন/স্ক্যানিং/সংযোগ ইভেন্টের জন্য নতুন সমাধানযোগ্য ঠিকানা তৈরি করতে হবে।
বৈধ পরিসীমা: 300-1800
tRPA_max 2 অক্টেট সেকেন্ডে সর্বাধিক আরপিএ প্রজন্মের সময়সীমা। নিয়ামককে এই সময়সীমা বা তার আগে বা তার আগে কোনও বিজ্ঞাপন/স্ক্যানিং/সংযোগ ইভেন্টের জন্য নতুন সমাধানযোগ্য ঠিকানা তৈরি করতে হবে।
বৈধ পরিসীমা: tRPA_min -1800
রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ডের স্থিতি।

প্রস্তাবিত এইচসিআই স্থিতি মান:
0x00 সাফল্য
0x01 অজানা কমান্ড (যদি সমর্থিত না হয়)
0x12 অবৈধ কমান্ড পরামিতি (যদি কোনও পরামিতি প্রদত্ত পরিসরের বাইরে থাকে)

Le_rpa_offload_command

ওসিএফ: 0x155

কমান্ড প্যারামিটার আকার উদ্দেশ্য
RPA_offload_opcode 1 অক্টেট 0x1 - গ্রাহক নির্দিষ্ট বৈশিষ্ট্য সক্ষম করুন
0x2 - তালিকায় আইআরকে যুক্ত করুন
0x3 - তালিকা থেকে আইআরকে সরান
0x4 - আইআরকে তালিকা পরিষ্কার করুন
0x5 - আইআরকে তালিকা এন্ট্রি পড়ুন

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Event_RPA_offload_opcode 1 অক্টেট 0x1 - গ্রাহক নির্দিষ্ট বৈশিষ্ট্য সক্ষম করুন
0x2 - তালিকায় আইআরকে যুক্ত করুন
0x3 - তালিকা থেকে আইআরকে সরান
0x4 - আইআরকে তালিকা পরিষ্কার করুন
0x5 - আইআরকে তালিকা এন্ট্রি পড়ুন

Le_rpa_offload: সক্ষম_কাস্ট_স্পেসিফিক_সুব_কম্যান্ড সক্ষম করুন

সাব ওসিএফ: 0x01

সাবকম্যান্ড প্যারামিটার আকার উদ্দেশ্য
enable_customer_specific_feature_set 1 অক্টেট 0x01 - অফলোড আরপিএ বৈশিষ্ট্য সক্ষম করুন
0x00 - অফলোড আরপিএ বৈশিষ্ট্যটি অক্ষম করুন

আরপিএ অফলোড চিপ সক্ষমতার উপর ভিত্তি করে হোস্ট দ্বারা সক্ষম করা প্রয়োজন। LE_Get_Vendor_Capabilities_Command দেখুন। প্রতিটি চিপে ফার্মওয়্যারে একটি বিভিন্ন max_irk_list_sz থাকতে পারে।

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Event_cust_specific_feature_opcode 1 অক্টেট 0x01 [গ্রাহক-নির্দিষ্ট বৈশিষ্ট্য সক্ষম করুন]

Le_rpa_offload: add_irk_to_list_sub_command

সাব ওসিএফ: 0x02

সাবকম্যান্ড প্যারামিটার আকার উদ্দেশ্য
LE_IRK 16 অক্টেট লে ইরক (1 ম বাইট এলএসবি)
Address_Type 1 অক্টেট 0: সর্বজনীন ঠিকানা
1: এলোমেলো ঠিকানা
LE_Device_Address 6 অক্টেট আইআরকে সম্পর্কিত পাবলিক বা এলোমেলো ঠিকানা (1 ম বাইট এলএসবি)

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Event_cust_specific_feature_opcode 1 অক্টেট 0x02 [তালিকায় ইরক যুক্ত করুন]
LE_IrkList_AvailableSpaces 1 অক্টেট বর্তমান অপারেশন পরে উপলভ্য আইআরএল তালিকা এন্ট্রি

Le_rpa_offload: সরান_আরকে_টো_লিস্ট_সুব_কম্যান্ড

সাব ওসিএফ: 0x03

সাবকম্যান্ড প্যারামিটার আকার উদ্দেশ্য
Address_Type 1 অক্টেট 0: সর্বজনীন ঠিকানা
1: এলোমেলো ঠিকানা
LE_Device_Address 6 অক্টেট পাবলিক বা এলোমেলো ঠিকানা যা আইআরকে সহযোগিতা করে

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Event_cust_specific_feature_opcode 1 অক্টেট 0x03 [তালিকা থেকে আইআরকে সরান]
LE_IrkList_AvailableSpaces 1 অক্টেট বর্তমান অপারেশন পরে উপলভ্য আইআরএল তালিকা এন্ট্রি

Le_rpa_offload: Clear_irk_list_sub_command

সাব ওসিএফ: 0x04

সাবকম্যান্ড প্যারামিটার আকার উদ্দেশ্য
কোনোটিই নয়

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Event_cust_specific_feature_opcode 1 অক্টেট 0x04 [আইআরকে তালিকা পরিষ্কার করুন]
LE_IrkList_AvailableSpaces 1 অক্টেট বর্তমান অপারেশনের পরে উপলভ্য আইআরএল তালিকার এন্ট্রি [ max_irk_list_sz]

LE_RPA_OFFLALD: READ_IRK_LIST_SUB_COMMAND

সাব ওসিএফ: 0x05

সাবকম্যান্ড প্যারামিটার আকার উদ্দেশ্য
LE_read_IRK_list_entry-index 1 অক্টেট আইআরকে তালিকার সূচক [0, max_irk_list_sz-1]

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
Event_cust_specific_feature_opcode 1 অক্টেট 0x05 [আইআরকে তালিকা এন্ট্রি পড়ুন]
LE_Read_IRK_List_entry 1 অক্টেট আইআরকে -র সূচক যা হোস্ট ফিরে পড়তে চায় (সর্বাধিক আইআরকে তালিকার আকার 32)
LE_IRK 16 অক্টেট আইআরকে মান
Address_Type 1 অক্টেট 0: সর্বজনীন ঠিকানা
1: এলোমেলো ঠিকানা
LE_Device_Address 6 অক্টেট আইআরকে সম্পর্কিত পাবলিক বা এলোমেলো ঠিকানা
LE_Resolved_Private_Address 6 অক্টেট এই আইআরকে বর্তমান সমাধান করা সমাধানযোগ্য ব্যক্তিগত ঠিকানা
,

হোস্ট কন্ট্রোলার ইন্টারফেস (এইচসিআই) একটি ব্লুটুথ কন্ট্রোলারের সাথে কথোপকথনের জন্য ব্যবহৃত হয়।

এই দস্তাবেজটি ব্লুটুথ (বিটি) এবং ব্লুটুথ লো এনার্জি (বিএলই) এইচসিআই প্রয়োজনীয়তার একটি তালিকা সরবরাহ করে। লক্ষ্যটি হোস্ট বিটি স্ট্যাক বিক্রেতাদের এবং বিটি নিয়ামক বিক্রেতাদের জন্য নীচে বর্ণিত বৈশিষ্ট্য সেটটি ব্যবহার করার জন্য এই প্ল্যাটফর্মের প্রয়োজনীয়তাগুলি মেনে চলার জন্য।

এই দস্তাবেজটি ব্লুটুথ কোর 5.2 স্পেসিফিকেশনটিকে "স্পেস" হিসাবে উল্লেখ করে। ব্লুটুথ কোর 5.2 স্পেসিফিকেশন অন্যান্য গৃহীত নথিগুলির সাথে ব্লুটুথ সিগ ওয়েবসাইটে উপলব্ধ।

সাধারণ নকশা ওভারভিউ

চিপ ক্ষমতা এবং কনফিগারেশন

একটি উন্মুক্ত প্ল্যাটফর্ম হিসাবে, অ্যান্ড্রয়েডে সফ্টওয়্যার রিলিজ, ওএমএস, বিক্রেতারা এবং প্ল্যাটফর্ম এবং চিপ ক্ষমতাগুলির একটি ম্যাট্রিক্স রয়েছে।

বিভিন্ন ল্যান্ডস্কেপ পরিচালনা করতে এবং মাইগ্রেশনগুলি পরিচালনা করতে, বিটি কন্ট্রোলারদের তাদের ক্ষমতাগুলি (স্ট্যান্ডার্ড ব্লুটুথ কোর 5.2 স্পেসিফিকেশন ছাড়িয়ে) প্রকাশের অনুমতি দেওয়ার একটি নকশা দর্শন এই নথিতে বর্ণিত হয়েছে। হোস্ট বিটি স্ট্যাক তারপরে কোন বৈশিষ্ট্যগুলি সক্ষম করতে নির্ধারণ করতে এই ক্ষমতাগুলি ব্যবহার করতে পারে।

উন্মুক্ত মান সমর্থন করুন

অ্যান্ড্রয়েডের একটি লক্ষ্য হ'ল ব্লুটুথ স্পেসিফিকেশনে অনুমোদনের পরে উন্মুক্ত মানকে সমর্থন করা। যদি নীচে বর্ণিত কোনও বৈশিষ্ট্য ভবিষ্যতের ব্লুটুথ স্পেসিফিকেশনে স্ট্যান্ডার্ড এইচসিআই পদ্ধতিতে উপলভ্য হয়ে যায় তবে আমরা সেই ডিফল্টটি তৈরি করার দিকে ঝুঁকছি।

বিক্রেতা-নির্দিষ্ট ক্ষমতা

বিক্রেতা-নির্দিষ্ট কমান্ড: LE_Get_Vendor_Capabilities_Command

ওপকোড কমান্ড ফিল্ড (ওসিএফ): 0x153

কমান্ড প্যারামিটার আকার উদ্দেশ্য
এন.এ খালি কমান্ড প্যারামিটার তালিকা

এই কমান্ডের জন্য একটি কমান্ড সম্পূর্ণ ইভেন্ট তৈরি করা হবে।

রিটার্ন প্যারামিটার আকার উদ্দেশ্য
Status 1 অক্টেট কমান্ড সম্পূর্ণ স্থিতি
max_advt_instances
(অবমূল্যায়িত)
1 অক্টেট বিজ্ঞাপনের উদাহরণগুলির সংখ্যা সমর্থিত।

V0.98 এর পরে সংরক্ষিত।
এই প্যারামিটারটি গুগল ফিচার স্পেস ভি 0.98 এ অবমূল্যায়ন করা হয়েছে এবং বিটি স্পেস সংস্করণ 5.0 এবং উচ্চতর উপলভ্য এলই এক্সটেন্ডেড বিজ্ঞাপনের পক্ষে উচ্চতর।
offloaded_resolution_of_private-address
(অবমূল্যায়িত)
1 অক্টেট আরপিএর বিটি চিপ ক্ষমতা।
যদি কোনও চিপ দ্বারা সমর্থিত হয় তবে এটি হোস্টের দ্বারা সক্ষমকরণ প্রয়োজন।
0 = সক্ষম নয়
1 = সক্ষম

V0.98 এর পরে সংরক্ষিত।
এই প্যারামিটারটি গুগল ফিচার স্পেস ভি 0.98 এ অবমূল্যায়িত হয়েছে এবং বিটি স্পেস সংস্করণ 4.2 এবং উচ্চতর উপলভ্য গোপনীয়তা বৈশিষ্ট্যের পক্ষে উচ্চতর।
total_scan_results_storage 2 অক্টেট স্ক্যানের জন্য স্টোরেজ বাইটের ফলাফল
max_irk_list_sz 1 অক্টেট ফার্মওয়্যারে সমর্থিত আইআরকে এন্ট্রি সংখ্যা
filtering_support 1 অক্টেট নিয়ামকটিতে ফিল্টারিংয়ের জন্য সমর্থন
0 = সমর্থিত নয়
1 = সমর্থিত
max_filter 1 অক্টেট সমর্থিত ফিল্টার সংখ্যা
activity_energy_info_support 1 অক্টেট ক্রিয়াকলাপ এবং শক্তির তথ্যের প্রতিবেদন সমর্থন করে
0 = সক্ষম নয়
1 = সক্ষম
version_supported 2 অক্টেট সমর্থিত গুগল বৈশিষ্ট্য স্পেসের সংস্করণ নির্দিষ্ট করে
বাইট [0] = প্রধান সংখ্যা
বাইট [1] = গৌণ সংখ্যা

v1.04
বাইট [0] = 0x01
বাইট [1] = 0x04
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 এর পরে সংরক্ষিত।
এই প্যারামিটারটি গুগল ফিচার স্পেস ভি 0.98 এ অবমূল্যায়িত হয়েছে এবং বিটি স্পেস সংস্করণ 4.2 এবং উচ্চতর উপলভ্য গোপনীয়তা বৈশিষ্ট্যের পক্ষে উচ্চতর।
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 সংরক্ষিত
a2dp_offload_v2_support 1 অক্টেট ব্লুটুথ কন্ট্রোলারে A2DP অফলোড ভি 2 কমান্ডগুলি সমর্থন করে ( এ 2 ডিপি অফলোড শুরু করুন , এ 2 ডিপি অফলোড বন্ধ করুন )
0 = সমর্থিত নয়
1 = সমর্থিত

ব্যাচ স্ক্যান ফলাফল

একটি নকশার লক্ষ্য হ'ল হোস্টে শক্তি বাঁচাতে কীভাবে ব্লুটুথ লে স্ক্যান প্রতিক্রিয়া ইভেন্টের বিজ্ঞপ্তিগুলি হোস্টকে সরবরাহ করা হয় তা বাড়ানো।

কন্ট্রোলার কত ঘন ঘন হোস্ট অ্যাপ প্রসেসরকে স্ক্যান ফলাফলের জন্য অবহিত করে তা হ্রাস করে, হোস্ট অ্যাপ প্রসেসর অলস/ঘুমাতে আরও বেশি সময় থাকতে পারে। এটি হোস্টে বিদ্যুৎ খরচ হ্রাস করে। রিটার্ন প্যারামিটার total_scan_results_storage LE_Get_Vendor_Capabilities_Command স্ক্যান ফলাফল সংরক্ষণের জন্য চিপ সক্ষমতা নির্দেশ করে।

এই বৈশিষ্ট্যটি ব্লুটুথ কন্ট্রোলারে এলই স্ক্যান ফলাফল স্টোরেজ সুবিধার পরিচালনা এবং কনফিগারেশনের উপর দৃষ্টি নিবদ্ধ করে। স্টোরেজটি অস্থায়ীভাবে ব্যাচের বিজ্ঞাপনের ডেটা এবং স্ক্যান ডেটা এবং মেটাডেটা যা নিয়ন্ত্রণকারী দ্বারা পরে হোস্টের কাছে প্রসবের জন্য প্রাপ্ত হয়।

ফার্মওয়্যার দুটি ধরণের ব্যাচিং সমর্থন করবে, যা একই সাথে নিযুক্ত হতে পারে:

  • ছাঁটা। নিম্নলিখিত তথ্য উপাদান রয়েছে: {ম্যাক, টিএক্স পাওয়ার, আরএসএসআই, টাইমস্ট্যাম্প}
  • পূর্ণ। নিম্নলিখিত তথ্য উপাদান রয়েছে: {ম্যাক, টিএক্স পাওয়ার, আরএসএসআই, টাইমস্ট্যাম্প, এডিভি ডেটা, স্ক্যান প্রতিক্রিয়া}

Le_batch_scan_command

ওসিএফ: 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 – Truncated and Full mode are enabled
Duty_cycle_scan_window 4 অক্টেট Batch Scan scan time (# of slot)
Duty_cyle_scan_interval 4 অক্টেট Batch Scan interval period (# of slot)
own_address_type 1 octet 0x00 - Public device address
0x01 - Random device address
Batch_scan_Discard_Rule 1 octet 0 - Discard oldest advertisement
1 - Discard advertisement with weakest RSSI

This subcommand will start batch scanning, if enabled. In Truncated scanning, results are stored in truncated form where the unique key for Truncated style = { BD_ADDR, scan_interval}. This means only one BD_ADDR will be recorded for each scan interval. The record to keep for Truncated mode is the following: { BD_ADDR , Tx Power, RSSI, Timestamp}

When Full mode is enabled, active scanning will be used and Scan Responses will be recorded. The Full style unique key = {MAC, Ad packet}, irrespective of scan interval. The record to keep for Full mode is { BD_ADDR , Tx Power, RSSI, Timestamp, Ad packet, Scan Response}. In Full style, the same AD packet, when seen multiple times across different scan intervals, is recorded only once. However, in Truncated mode, it is the visibility of BA_ADDR across different scan intervals that is of interest (once per scan interval). The RSSI is the averaged value of all duplicates of a unique advertisement within a scan interval.

A Command Complete event will be generated for this command.

Return parameter আকার উদ্দেশ্য
Status 1 octet Command Complete status
Batch_scan_opcode 1 octet 0x03 [Set Batch Scan Parameters]

LE_Batch_Scan_Command: Read batch scan results subcommand

Sub OCF: 0x04

Subcommand parameter আকার উদ্দেশ্য
Batch_Scan_Data_read 1 octet 0x01 - Truncated mode data
0x02 - Full mode data

A Command Complete event will be generated for this command. When the host issues this command, all the results in the controller may not fit in one Command Complete event. The host will iterate issuing this command until the corresponding results in the Command Complete event indicate 0 in the number of records, which indicates the controller has no more records to communicate to the host. Each Command Complete event could contain multiple records of only one type of data (Full or Truncated).

Controller and host time references are not synchronized. The unit of the timestamp is 50ms. The value of the timestamp is based off when the Read_Batch_Scan_Results_Sub_cmd is given by the host. If a command arrival time is T_c in the firmware, then the actual time the timestamp was taken in the firmware is T_fw . The reporting time will be: ( T_c - T_fw ). T_c and T_fw are in the firmware time domain. This lets the host compute how long ago the event happened.

Return parameter আকার উদ্দেশ্য
Status 1 octet Command Complete status
Batch_scan_opcode 1 octet 0x03 [Set Batch Scan parameters]
Batch_Scan_data_read 1 অক্টেট Identifies the format (Truncated or Full)
num_of_records 1 octet Number of records of Batch_Scan_data_read
format_of_data পরিবর্তনশীল Truncated Mode:
Address[0]: 6 octets
Address_Type[0]: 1 octet
Tx_Pwr[0]: 1 octet
RSSI[0] : 1 octet
Timestamp[0]: 2 octets
[multiple records ( num_of_records ) with above format]

সম্পূর্ণ মোড:
Address[0]: 6 octets
Address_Type[0]: 1 octet
Tx_Pwr[0]: 1 octet
RSSI[0]: 1 octet
Timestamp[0]: 2 octets
Adv packet_len[0]: 1 octet
Adv_packet[0]: Adv_packet_len octets
Scan_data_resp_len[0]: 1 octet
Scan_data_resp[0]: Scan_data_resp octets
[multiple records with above format ( num_of_records )]

Advertising Packet Content Filter

Use this to enable/disable/setup the Advertising Packet Content Filter (APCF) in the controller. APCF filters advertising reports in the controller but doesn't filter periodic advertising.

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

Subcommand 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

Subcommand 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: এবং
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

Subcommand 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 (ignore the address type)
To filter advertising reports with identity address types (0x02, 0x03). To obtain advertising reports with address types 0x02 and 0x03, set this field to 0x02: NA (ignore the address type).

A Command Complete event will be generated for this command.

Return parameter আকার উদ্দেশ্য
Status 1 অক্টেট 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

Subcommand 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

Subcommand 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 subcommand 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

Subcommand 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.

নোট:
  • Currently the max number of characters in a local name string is 29
  • Not applicable when action is "Clear" (0x2)

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

Subcommand 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.

নোট:
  • Currently the max number of characters in a local name string is 29
  • Not applicable when action is "Clear" (0x2)
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 অক্টেট 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

Subcommand 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.

নোট:
  • Currently the max number of characters in a local name string is 29
  • Not applicable when action is "Clear" (0x2)
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.
When APCF_AD_DATA_Length is 0, filter APCF_AD_TYPE without comparing AD Data and AD Data Mask. If the received ADV packet's data length exceeds AD_DATA_LENGTH , compare only the first AD_DATA_LENGTH bytes of AD Data and ignore the remaining data.

Sub OCF: 0x09

Subcommand 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 1 octet 0x00 - means do not filter data content
Ignore when APCF_Action is 0x02 (Clear)
APCF_AD_DATA পরিবর্তনশীল আকার Variable-sized, based on APCF_AD_DATA_Length
Ignore when APCF_Action is 0x02 (Clear)
APCF_AD_DATA_MASK পরিবর্তনশীল আকার Variable-sized, based on APCF_AD_DATA_Length
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

Subcommand 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:

  • Bit 0: Support Transport Discovery Service filter
  • Bit 1: Support AD Type filter
  • Bit 2 ~15: Reserved for future use

Value of bit

  • 0 = Not supported
  • 1 = Supported

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, LE 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

Subcommand 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 scan intervals beyond 10.24 seconds for apps.

Base reference: BT Core 5.2 Specification, page 2493 (LE Set Scan Parameters Command)

OCF: 0x15A

কমান্ড প্যারামিটার আকার উদ্দেশ্য
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 অক্টেট 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 subevent) 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 আকার উদ্দেশ্য
N/A 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 0x03-0x04 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.
  • 0x00 - SCMS-T Header not included.
  • 0x01 - SCMS-T Header included.

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.
Octet 0: Block length | Subbands | বরাদ্দ পদ্ধতি
Octet 1: Minimum Bitpool value
Octet 2: Maximum Bitpool value
Octet 3: Sampling Frequency | চ্যানেল মোড
Octet 4-31: reserved

AAC Codec:

Refer to AAC Codec specific information elements in A2DP v1.3
Octet 0: Object Type
Octet 1; b7: VBR
Octet 2-31: reserved

LDAC Codec:

Octet 0-3: Vendor ID
0x0000012D

Octet 4-5: Codec ID
0x00AA - LDAC
All other values are reserved

Octet 6: Bitrate Index:
0x00 - High
0x01 - Mid
0x02 - Low
0x03 - 0x7E - Reserved
0x7F - ABR (Adaptive Bit Rate)
0x80 - 0xFF - Reserved

Octet 7: LDAC Channel Mode
0x01 - Stereo
0x02 - Dual
0x04 - Mono
Others are reserved

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 আকার উদ্দেশ্য
N/A 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 octet 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 subevent 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 subevent to the host.
  • LE Audio Choppy: When the controller detects factors that cause choppy audio, the controller reports an LE Audio Choppy event to the host.
  • Advance RF Stats mode: The controller reports its RF stats related information to the host, supporting two report use cases:
    • Periodic reports
    • Event triggers (stream start/stop and link quality event trigger).
  • BQR_Report_Action of Bluetooth Quality Report Command: The host can use this HCI command to get a one time query for quality monitoring mode, energy monitor mode, or an advance RF stats mode.

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
0x01 - Delete
0x02 - Clear
0x03 - One time query

Delete will clear specific quality event(s) reporting.
Clear will clear all quality events reporting (BQR_Quality_Event_Mask parameter can be ignored).

BQR_Quality_Event_Mask 4 অক্টেট Bit masks for the selected quality event reporting.

Bit 0: Set to enable quality monitoring mode.
Bit 1: Set to enable Approaching LSTO event (for ACL/(e)SCO/ISO).
Bit 2: Set to enable A2DP Audio Choppy event.
Bit 3: Set to enable (e)SCO Voice Choppy event.
Bit 4: Set to enable Root inflammation event.
Bit 5: Set to enable energy monitoring mode.
Bit 6: Set to enable LE audio choppy event.
Bit 7: Set to enable connect fail event.
Bit 8: Set to enable Advance RF Stats mode event trigger.
Bit 9: Set to enable Advance RF Stats periodic report.
Bit 10 ~ 14: Reserved.
Bit 15: Set to enable vendor-specific quality events.
Bit 16: Set to enable LMP/LL message trace.
Bit 17: Set to enable Bluetooth Multi-link/Coex scheduling trace.
Bit 18: Set to enable the Controller Debug Information mechanism.
Bit 19 ~ 30: Reserved.
Bit 31: Set to enable vendor-specific trace.

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
Default: 0 (No limitation for the interval.)
Range: 0 ~ 65535 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.

Report_interval_multiple 4 অক্টেট The multiplier for BQR_Minimum_Report_Interval . When this value >= 1, the BQR Report Interval follows the format
BQR Report Interval = BQR_Minimum_Report_Interval x Report_interval_multiple.
The controller Firmware must not report the next event within the defined time interval. The interval setting is specifically dedicated for the added quality event(s).

Unit: ms
ডিফল্ট: 1
Range: 0 ~ 4294967295 (0: is equal set to 1)

Note: if the setting of BQR_Report_Interval is larger than the ability of the controller, the controller must return the maximum BQR_Report_Interval time on the completion of the command.

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: Set to enable Advance RF Stats mode event trigger.
Bit 9: Set to enable Advance RF Stats periodically report.
Bit 10 ~ 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.
BQR_Report_interval 4 অক্টেট Indicates current bit mask setting.
Current_Vendor_Specific_Trace_Mask 4 অক্টেট The setting of BQR_Report_interval . It must be the minimum value between BQR_Minimum_Report_Interval * Report_interval_multiple or the maximum support interval of the controller.

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 আকার উদ্দেশ্য
N/A 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 subevent code, based on which the rest of the HCI event is decoded.

Event Parameter আকার উদ্দেশ্য
HCI_vendor_specific_event_code 1 অক্টেট 0xFF
sub_event_code 1 octet A subevent code will be 1 octet in size, the byte immediately following Parameter Length in the HCI event packet.

Storage threshold breach subevent

This event indicates that the storage threshold has been breached.

Subevent code = 0x54

Subevent Parameter আকার উদ্দেশ্য
কোনোটিই নয়

LE multi-advertising state change subevent

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.

Subevent code = 0x55

Subevent 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 subevent

This event indicates when an advertiser is found or lost.

Sub event code = 0x56

Subevent 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 ) present
0x01: Advertiser information ( Advt_Info ) not present
Advertiser_Address 6 অক্টেট Public or random address
Advertiser_Address_Type 1 octet 0x00: Public address
0x01: Random address
Advt_Info Tx_Pwr[0] : 1 octet
RSSI[0] : 1 octet
Timestamp[0] : 2 octets
Adv packet_len[0] : 1 octet
Adv_packet[0] : Adv_packet_len octets
Scan_data_resp_len[0] : 1 octet
Scan_data_resp[0] : Scan_data_resp octets

Controller debug info subevent

This event is used by a Controller to provide binary debug information to a host.

Subevent code = 0x57

Subevent 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 subevent

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.

Subevent 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 octet 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.
This value shall be an absolute receiver signal strength value.
Range: -127 to +20

SNR 1 octet [in dB]

Signal-to-Noise Ratio (SNR) value for the specified Connection_Handle.
The controller shall provide the average SNR of all the channels used by the link.

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.
The controller counts how many bytes of data are dropped.
This count shall be reset after reporting to host.

Buffer_Underflow_Bytes 4 অক্টেট [in Byte]

Buffer underflow count since the last event.
This count shall be reset after reporting to host.

bdaddr 6 অক্টেট দূরবর্তী ডিভাইস ঠিকানা
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.
RX_Unreceived_Packets 4 অক্টেট The number of unreceived packets is the same as the parameter of the LE READ ISO Link Quality command (see Bluetooth core Specification Version 5.4). The associated streams are CIS and BIS.
When this value is incremented, the Link Layer doesn't receive a specific payload by its flush point (on a CIS) or at the end of the event it is associated with (on a BIS; see Bluetooth core Specification Version 5.4 Vol 6 Part B, Section 4.4.6.6).
Coex_Info_Mask 2 অক্টেট Bit 0 - CoexInvolvement: Set to indicate coex activities are suspected to be involved when this report is generated (for example, A2DP Chops and Approaching LSTO).
Bit 1 - WL 2G Radio Active: Set to indicate WLAN 2G Radio is active.
Bit 2 - WL 2G Connected: Set to indicate WLAN 2G Radio is active and connected.
Bit 3 - WL 5G/6G Radio Active: Set to indicate WLAN 5G/6G Radio is active.
Bit 4-15 - Reserved
Vendor Specific Parameter (parameter total length - TBD) * octets For the controller vendor to obtain more vendor specific parameters.

Subevent 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.

Subevent 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 অক্টেট 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.
Subevent 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
  • Connectable

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

Subcommand 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 Transmit_Power
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

Subcommand parameter আকার উদ্দেশ্য
Advertising_Data_Length Per spec Per spec
Advertising_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 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

Subcommand 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

Subcommand parameter আকার উদ্দেশ্য
Random Address 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

Subcommand 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 The status of the command.

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

Subcommand 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

Subcommand parameter আকার উদ্দেশ্য
LE_IRK 16 octets LE IRK (1st byte LSB)
Address_Type 1 octet 0: Public address
1: Random address
LE_Device_Address 6 অক্টেট 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 অক্টেট 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

Subcommand parameter আকার উদ্দেশ্য
Address_Type 1 octet 0: Public address
1: Random address
LE_Device_Address 6 অক্টেট 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

Subcommand 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

Subcommand 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 octets IRK value
Address_Type 1 octet 0: Public address
1: Random address
LE_Device_Address 6 অক্টেট Public or random address associated to the IRK
LE_Resolved_Private_Address 6 অক্টেট Current resolved resolvable private address of this IRK