อินเทอร์เฟซตัวควบคุมโฮสต์ (HCI) ใช้สำหรับการโต้ตอบกับตัวควบคุมบลูทูธ
เอกสารนี้แสดงรายการข้อกำหนด HCI ของบลูทูธ (BT) และบลูทูธพลังงานต่ำ (BLE) เป้าหมายคือการที่ผู้ให้บริการสแต็ก BT ของโฮสต์และผู้ให้บริการตัวควบคุม BT ปฏิบัติตามข้อกำหนดของแพลตฟอร์มเหล่านี้เพื่อใช้ชุดฟีเจอร์ที่อธิบายไว้ด้านล่าง
เอกสารนี้อ้างถึงข้อมูลจำเพาะของ Bluetooth Core 5.2 ว่าเป็น "ข้อมูลจำเพาะ" ข้อมูลจำเพาะของ Bluetooth Core 5.2 มีอยู่ใน เว็บไซต์ Bluetooth SIG พร้อมกับเอกสารอื่นๆ ที่นำมาใช้
ภาพรวมการออกแบบทั่วไป
ความสามารถของชิปและการกำหนดค่า
ในฐานะแพลตฟอร์มแบบเปิด Android มีเมทริกซ์ของรุ่นซอฟต์แวร์, OEM, ผู้ให้บริการ รวมถึงความสามารถของแพลตฟอร์มและชิป
ในการจัดการกับภูมิทัศน์ที่แตกต่างกันและจัดการการย้ายข้อมูล ปรัชญาการออกแบบในการอนุญาตให้ตัวควบคุม BT แสดงขีดความสามารถ (นอกเหนือจากข้อมูลจำเพาะของ Bluetooth Core 5.2 มาตรฐาน) ไว้ในเอกสารนี้ จากนั้นสแต็กโฮสต์ BT จะใช้ความสามารถเหล่านี้เพื่อกำหนดฟีเจอร์ที่จะเปิดใช้ได้
การรองรับมาตรฐานแบบเปิด
เป้าหมายอย่างหนึ่งของ Android คือการรองรับมาตรฐานแบบเปิดหลังจากให้สัตยาบันในข้อกำหนดของบลูทูธ หากฟีเจอร์ที่อธิบายด้านล่างพร้อมใช้งานในเมธอด HCI มาตรฐานในข้อกำหนดของบลูทูธในอนาคต เราจะใช้วิธีการนั้นเป็นค่าเริ่มต้น
ความสามารถเฉพาะผู้ให้บริการ
คำสั่งเฉพาะผู้ให้บริการ: LE_Get_Vendor_Capabilities_Command
ช่องคำสั่ง OpCode (OCF): 0x153
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
ไม่มี | รายการพารามิเตอร์คำสั่งว่างเปล่า |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
max_advt_instances (เลิกใช้งาน) |
1 อ็อกเท็ต |
จำนวนอินสแตนซ์โฆษณาที่รองรับ จองหลังเวอร์ชัน 0.98 เราจะเลิกใช้งานพารามิเตอร์นี้ในข้อมูลจำเพาะของฟีเจอร์ v0.98 และสูงกว่าของ Google เพื่อเปลี่ยนไปใช้ LE Extended Advertising ที่มีใน BT spec เวอร์ชัน 5.0 ขึ้นไป |
offloaded_resolution_of_private-address (เลิกใช้งาน) |
1 อ็อกเท็ต |
ความสามารถของชิป BT ของ RPA หากชิปรองรับ ก็จะต้องให้โฮสต์เปิดใช้ 0 = ไม่มีความสามารถ 1 = ใช้งานได้ จองหลัง v0.98 เราจะเลิกใช้งานพารามิเตอร์นี้ในข้อมูลจำเพาะของฟีเจอร์ Google เวอร์ชัน 0.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 ที่รองรับ bytes[0] = Major number bytes[1] = หมายเลขรอง v1.04 bytes[0] = 0x01 bytes[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 = รองรับ จองหลังเวอร์ชัน 0.98 เราจะเลิกใช้งานพารามิเตอร์นี้ในข้อมูลจำเพาะของฟีเจอร์ Google เวอร์ชัน 0.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 Bit 2 - APTX Bit 3 - APTX HD Bit 4 - LDAC บิต 5-31 สงวนไว้ |
a2dp_offload_v2_support |
1 อ็อกเท็ต |
รองรับคำสั่ง A2dp Offload v2 ในตัวควบคุมบลูทูธ (โปรดดู
เริ่มต้นการลด A2DP,
หยุด A2DP Offload) 0 = ไม่รองรับ 1 = รองรับ |
ผลการสแกนแบบกลุ่ม
เป้าหมายในการออกแบบคือการปรับปรุงวิธีการส่งการแจ้งเตือนเหตุการณ์เกี่ยวกับบลูทูธ LE SL ไปยังโฮสต์เพื่อประหยัดพลังงานในโฮสต์
การลดความถี่ที่ตัวควบคุมจะแจ้งเตือนตัวประมวลผลแอปพลิเคชันโฮสต์เพื่อสแกนผลลัพธ์ จะทำให้ตัวประมวลผลแอปพลิเคชันโฮสต์อยู่ในสถานะไม่มีการใช้งาน/อยู่ในโหมดสลีปได้นานขึ้น ซึ่งจะลดการใช้พลังงานในโฮสต์ พารามิเตอร์การแสดงผล total_scan_results_storage
ของ LE_Get_Vendor_Capabilities_Command
ระบุความสามารถของชิปในการจัดเก็บข้อมูลผลการสแกน
ฟีเจอร์นี้มุ่งเน้นที่การจัดการและการกำหนดค่าของพื้นที่เก็บข้อมูล LEสแกนผลลัพธ์ในตัวควบคุมบลูทูธ ระบบจะใช้พื้นที่เก็บข้อมูลเพื่อจัดกลุ่มข้อมูลโฆษณาไว้ชั่วคราว รวมทั้งสแกนข้อมูลและข้อมูลเมตาที่ตัวควบคุมได้รับเพื่อส่งไปยังโฮสต์ในภายหลัง
เฟิร์มแวร์ต้องรองรับการทำงานแบบกลุ่ม 2 ประเภท ซึ่งมีส่วนร่วมได้พร้อมกัน:
- ตัด ประกอบด้วยองค์ประกอบข้อมูลต่อไปนี้ {MAC, TX Power, RSSI, Timestamp}
- เต็ม ประกอบด้วยองค์ประกอบข้อมูลต่อไปนี้ {MAC, TX Power, RSSI, Timestamp, Adv Data, Scan Response}
คำสั่ง_สแกน_LE_Batch
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
เพียง 1 รายการสำหรับช่วงเวลาการสแกนแต่ละช่วง ระเบียนที่จะเก็บไว้สําหรับโหมดถูกตัดทอนคือ {BD_ADDR
, Tx Power, RSSI, Timestamp}
เมื่อเปิดใช้โหมดเต็ม ระบบจะใช้การสแกนที่ใช้งานอยู่และจะบันทึกการตอบกลับการสแกน คีย์ที่ไม่ซ้ำกันของรูปแบบแบบเต็ม = {MAC, Ad Platform} โดยไม่คำนึงถึงช่วงเวลาการสแกน ระเบียนที่จะเก็บไว้สำหรับโหมดเต็มคือ {BD_ADDR
, Tx Power, RSSI, Timestamp, Ad Platform, Scan
Response} ในโหมดเต็มหน้าจอ ระบบจะบันทึกแพ็กเกต AD เดียวกันหลายครั้งในช่วงการสแกนต่างๆ เพียงครั้งเดียว อย่างไรก็ตาม ในโหมดถูกตัดทอน ค่าจะเป็นการเปิดเผยของ BA_ADDR
ในช่วงเวลาการสแกนต่างๆ ที่สนใจ (1 ครั้งต่อช่วงเวลาการสแกน) RSSI คือค่าเฉลี่ยของโฆษณาที่ไม่ซ้ำทั้งหมดที่ซ้ำกันภายในช่วงเวลาการสแกน
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Batch_scan_opcode |
1 อ็อกเท็ต | 0x03 [ตั้งค่าพารามิเตอร์การสแกนเป็นกลุ่ม] |
LE_Batch_Scan_Command: อ่านคำสั่งย่อยของผลลัพธ์การสแกนเป็นกลุ่ม
OCF ย่อย: 0x04
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Batch_Scan_Data_read |
1 อ็อกเท็ต |
0x01 – ข้อมูลโหมดตัดทอน 0x02 – ข้อมูลโหมดเต็ม |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้ เมื่อโฮสต์ออกคำสั่งนี้ ผลลัพธ์ทั้งหมดในตัวควบคุมอาจไม่ตรงกับเหตุการณ์คำสั่งเสร็จสมบูรณ์เพียงเหตุการณ์เดียว โฮสต์จะออกคำสั่งนี้ซ้ำจนกว่าผลลัพธ์ที่สอดคล้องกันในเหตุการณ์คำสั่งเสร็จสมบูรณ์จะระบุว่าเป็น 0 ในจำนวนระเบียน ซึ่งระบุว่าตัวควบคุมไม่มีระเบียนที่จะสื่อสารกับโฮสต์แล้ว เหตุการณ์คำสั่งเสร็จสมบูรณ์แต่ละรายการอาจมีระเบียนข้อมูลเพียงประเภทเดียวหลายรายการ (แบบเต็มหรือถูกตัด)
การอ้างอิงเวลาของตัวควบคุมและโฮสต์จะไม่ซิงค์กัน โดยหน่วยของการประทับเวลาคือ 50 มิลลิวินาที ค่าของการประทับเวลาจะอิงตามเมื่อโฮสต์กำหนด Read_Batch_Scan_Results_Sub_cmd
หากเวลาถึงตามคำสั่งในเฟิร์มแวร์คือ T_c
เวลาจริงที่ใช้การประทับเวลาในเฟิร์มแวร์คือ T_fw
เวลาในการรายงานคือ
(T_c
- T_fw
) T_c
และ
T_fw
อยู่ในโดเมนเวลาเฟิร์มแวร์ การดำเนินการนี้จะช่วยให้โฮสต์คำนวณระยะเวลาที่ผ่านมาของเหตุการณ์ได้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Batch_scan_opcode |
1 อ็อกเท็ต | 0x03 [ตั้งค่าพารามิเตอร์การสแกนเป็นกลุ่ม] |
Batch_Scan_data_read |
1 อ็อกเท็ต | ระบุรูปแบบ (ตัดให้สั้นลงหรือแบบเต็ม) |
num_of_records |
1 อ็อกเท็ต | จำนวนระเบียนของ Batch_Scan_data_read |
format_of_data |
ปรับเปลี่ยนได้ |
Truncated _1 _samp00
-1octet [0]: 6 octet [0]: 6 octet0 Address_Type[0]: 1 octet Tx_Pwr[0]: 1 octet RSSI[0] : 1 octet การประทับเวลา[0]: 2 octet [octet [octet] [octet [octet] [over-data] num_of_records num_of_records Scan_data_resp
|
ตัวกรองเนื้อหาแพ็กเก็ตโฆษณา
ใช้ตัวเลือกนี้เพื่อเปิดใช้/ปิดใช้/ตั้งค่าตัวกรองเนื้อหาแพ็กเก็ตโฆษณา (APCF) ในตัวควบคุม APCF จะกรองรายงานการโฆษณาในตัวควบคุม แต่จะไม่กรองโฆษณาเป็นระยะ
คำสั่ง LE_APCF
OCF: 0x157
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
APCF_opcode |
1 อ็อกเท็ต |
0x00 - เปิดใช้ APCF ในอนาคต 0x01 - APCF ตั้งค่าพารามิเตอร์การกรอง APCF ~ 0 - 0 0x02 - Fx0 ในอนาคต - 0 0x02 - Fx0 สำรองไว้สำหรับผู้ให้บริการข้อมูล APCF ในอนาคต 0x01 - ใช้ Fx เพื่อกู้คืนผู้ให้บริการข้อมูล APCF ในอนาคต 0x02 - ที่อยู่ผู้ออกอากาศ APCF Fx 0x03 - UUID บริการ APCF - UUID บริการ APCF - APCF - UUID การนำส่งบริการ APCF 0x05 - APCF Transport Name 0x06 |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะการคืนสินค้า |
APCF_opcode |
1 อ็อกเท็ต |
0x00 - เปิดใช้ APCF ในอนาคต 0x01 - APCF ตั้งค่าพารามิเตอร์การกรอง APCF ~ 0 - 0 0x02 - Fx0 ในอนาคต - 0 0x02 - Fx0 สำรองไว้สำหรับผู้ให้บริการข้อมูล APCF ในอนาคต 0x01 - ใช้ Fx เพื่อกู้คืนผู้ให้บริการข้อมูล APCF ในอนาคต 0x02 - ที่อยู่ผู้ออกอากาศ APCF Fx 0x03 - UUID บริการ APCF - UUID บริการ APCF - APCF - UUID การนำส่งบริการ APCF 0x05 - APCF Transport Name 0x06 |
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 อ็อกเท็ต |
อัตราบิต 8 สำหรับฟีเจอร์ที่เลือกมีดังนี้ บิต 0: ตั้งค่าเพื่อเปิดใช้ตัวกรองที่อยู่การออกอากาศ บิต 1: ตั้งค่าเพื่อเปิดใช้ตัวกรองการเปลี่ยนแปลงข้อมูลบริการ Bit 2: ตั้งค่าเพื่อเปิดใช้การตรวจสอบ UUID บริการ Bit 3: ตั้งค่าเพื่อเปิดใช้การตรวจสอบ UUID การชักชวนบริการ Bit 4: ตั้งค่าเพื่อเปิดใช้การตรวจสอบชื่อในพื้นที่ Bit 5: ตั้งค่าเพื่อเปิดใช้การตรวจสอบข้อมูลบริการ AD ตั้งค่าเพื่อเปิดใช้การตรวจสอบข้อมูลบริการ AD ตั้งค่าเพื่อเปิดใช้การตรวจสอบ UUID ของบริการ |
APCF_List_Logic_Type |
2 อ็อกเท็ต |
การดำเนินการเชิงตรรกะสำหรับการเลือกฟีเจอร์แต่ละรายการ (ตำแหน่งต่อบิต) ที่ระบุใน APCF_Feature_Selection
ใช้ได้เมื่อมีการเปิดใช้ฟีเจอร์เท่านั้น ค่าตำแหน่งบิต: 0: หรือ 1: AND หากเลือกตรรกะ "AND" แพ็กเก็ต ADV จะส่งตัวกรองก็ต่อเมื่อมีรายการทั้งหมดในรายการเท่านั้น หากเลือกตรรกะ "OR" แพ็กเกต ADV จะส่งตัวกรองหากมีรายการต่างๆ ในรายการ |
APCF_Filter_Logic_Type |
1 อ็อกเท็ต |
0x00: หรือ 0x01: AND หมายเหตุ: ประเภทตรรกะเป็น "N/A" สำหรับ 3 ช่องแรกของ APCF_Feature_Selection ซึ่งเป็นตรรกะ "AND" เสมอ ซึ่งใช้ได้เฉพาะกับ (บิต 3 - บิต 6) 4 ช่องของ APCF_Feature_Selection
|
rssi_high_thresh |
1 อ็อกเท็ต |
[in dBm] ระบบจะถือว่าผู้ลงโฆษณาเห็นคุณก็ต่อเมื่อสัญญาณสูงกว่าเกณฑ์ที่สูงของ 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 [count] หากโฆษณาใน onFound อยู่ในเฟิร์มแวร์เป็นเวลา onfound_timeout โฆษณาจะรวบรวมโฆษณา 2-3 รายการและจะมีการตรวจสอบจำนวน หากจำนวนเกิน onfound_timeout_cnt ระบบจะรายงาน OnFound ทันทีหลังจากนั้น
|
rssi_low_thresh |
1 อ็อกเท็ต |
ใช้ได้เฉพาะเมื่อ delivery_mode คือ on_found [in dBm] ระบบจะพิจารณาว่าแพ็กเก็ตของผู้ลงโฆษณาไม่แสดงให้เห็นหาก RSSI ของแพ็กเก็ตที่ได้รับไม่สูงกว่าเกณฑ์ขั้นต่ำของ RSSI |
onlost_timeout |
2 อ็อกเท็ต |
ใช้ได้เฉพาะเมื่อ delivery_mode คือ on_found [เป็นมิลลิวินาที] หากหลังจากพบโฆษณาแล้ว ไม่มีการเห็นโฆษณาติดต่อกันเป็นเวลา lost_timeout ระบบจะรายงานว่าโฆษณาหายไปทันที
|
num_of_tracking_entries |
2 อ็อกเท็ต |
ใช้ได้เฉพาะเมื่อ delivery_mode คือ on_found [count] จำนวนผู้ลงโฆษณาทั้งหมดที่จะติดตามต่อตัวกรอง |
ค่า RSSI ต้องใช้การเสริม 2 เพื่อแสดงค่าลบ
โฮสต์จะต้องกำหนดค่าตัวกรองหลายรายการได้โดยตั้งค่า APCF_Application_Address_type
เป็น 0x02 (สำหรับที่อยู่ของผู้ออกอากาศทั้งหมด) เพื่อจัดการชุดค่าผสมตัวกรองต่างๆ
การกรอง การจัดกลุ่ม และการรายงานเป็นแนวคิดที่เกี่ยวข้องกัน โฆษณาและการตอบกลับการสแกนที่เกี่ยวข้องทุกรายการจะต้องผ่านตัวกรองทั้งหมดทีละรายการ ดังนั้น การดำเนินการที่ได้ (delivery_mode
) จึงเกี่ยวข้องกับการกรองอย่างมาก วิธีการส่งข้อมูลราคามีดังนี้ report_immediately
, batch
และ onFound
ค่า OnLost
เกี่ยวข้องกับ OnFound
ในลักษณะที่จะแสดงหลัง OnFound
เมื่อสูญหาย
ขั้นตอนการประมวลผลนี้จะแสดงโมเดลแนวคิด ดังนี้
![](https://source.android.google.cn/static/docs/core/connect/bluetooth/images/bt_filter_batch_report.png?authuser=2&hl=th)
เมื่อได้รับเฟรมโฆษณา (หรือการตอบสนองการสแกน) เฟรมแล้ว ระบบจะใช้เฟรมนั้นกับตัวกรองทั้งหมดตามลำดับ มีความเป็นไปได้ที่โฆษณาอาจทําให้รายงานด่วนโดยอิงตามตัวกรอง 1 รายการและการรวมกลุ่มตัวกรองเดียวกัน เนื่องจากการดำเนินการของตัวกรองที่ต่างกัน
เกณฑ์ระดับ RSSI (สูงและต่ำ) มอบความสามารถในการควบคุมว่าจะให้ตัวควบคุมมองเห็นเฟรมเมื่อใดสำหรับการประมวลผลตัวกรอง แม้ว่าตัวควบคุมจะได้รับแพ็กเก็ตที่ถูกต้องก็ตาม ในกรณีที่ตั้งค่าวิธีการส่งเป็นแบบทันทีหรือเป็นกลุ่ม ระบบจะพิจารณา RSSI ของเฟรมเพื่อประมวลผลตัวควบคุมเพิ่มเติม แอปต่างๆ ต้องการการรายงานและลักษณะการทำงานแบบกลุ่มที่แตกต่างกัน วิธีนี้ช่วยให้แอปหลายแอปมีการรายงานโดยตรงและ/หรือจัดกลุ่มผลลัพธ์ในเฟิร์มแวร์พร้อมกันได้ เช่น กรณีที่มีการใช้งานการสแกนแบบกลุ่มจากแอปหนึ่ง และแอปหนึ่งจะออกการสแกน LE ตามปกติในภายหลัง เฟรมเวิร์ก/แอปจะตั้งค่าตัวกรองที่เหมาะสมก่อนที่จะมีการสแกนแบบกลุ่ม หลังจากนั้น เมื่อแอปที่ 2 ทำการสแกนตามปกติ การจัดกลุ่มก่อนหน้านี้จะดำเนินต่อไป แต่เนื่องจากการสแกนปกติ จึงคล้ายกับการเพิ่มตัวกรอง Null ในแนวคิด (พร้อมด้วยตัวกรองที่มีอยู่ทั้งหมด) พร้อมกับคำสั่ง LE scan พารามิเตอร์คำสั่ง LE scan จะมีความสำคัญเมื่อทำงาน เมื่อปิดใช้การสแกน LE ตามปกติ ตัวควบคุมจะเปลี่ยนกลับไปเป็นการสแกนแบบกลุ่มก่อนหน้า หากมี
วิธีการส่งข้อมูลราคาOnFound
จะอิงตามตัวกรองที่กำหนดค่าไว้ ชุดค่าผสมที่ทริกเกอร์การดำเนินการของตัวกรองให้ประสบความสำเร็จจะถือว่าเป็นเอนทิตีที่จะติดตามสำหรับ onLost
เหตุการณ์ที่เกี่ยวข้องคือเหตุการณ์ย่อยของการติดตาม LE Advt
การเปลี่ยน OnFound/OnLost
สำหรับตัวกรอง (หากเปิดใช้) จะมีลักษณะดังต่อไปนี้
![](https://source.android.google.cn/static/docs/core/connect/bluetooth/images/bt_onfound_onlost.png?authuser=2&hl=th)
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
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 - ล้าง ลบจะลบที่อยู่ผู้ออกอากาศที่ระบุในตัวกรองที่ระบุ "ล้าง" จะล้างที่อยู่ของผู้ออกอากาศทั้งหมดในตัวกรองที่ระบุ |
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 - ล้าง ลบจะลบที่อยู่ UUID ของบริการที่ระบุในตัวกรองที่ระบุ ล้างจะล้าง 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 - UUID ของบริการ APCF |
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 - ล้าง ลบจะลบที่อยู่ UUID การชักชวนในตัวกรองที่ระบุ "ล้าง" จะล้าง 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 - UUID การชักชวนของ APCF |
APCF_Action |
1 อ็อกเท็ต | APCF_Action ของคำสั่งการย้อนกลับ |
APCF_AvailableSpaces |
1 อ็อกเท็ต | จำนวนรายการฟรีที่ยังคงเข้าถึงได้ในตาราง UUID การส่งคำขอ |
LE_APCF_Command: local_name_sub_cmd
คำสั่งย่อยนี้ใช้เพื่อเพิ่มหรือลบสตริงชื่อในเครื่องหรือเพื่อล้างรายการสตริงชื่อในเครื่องสำหรับการกรองบนชิป
OCF ย่อย: 0x05
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
APCF_Action |
1 อ็อกเท็ต |
0x00 - เพิ่ม 0x01 - ลบ 0x02 - ล้าง ลบจะลบสตริงชื่อในเครื่องที่ระบุในตัวกรองที่ระบุ "ล้าง" จะล้างสตริงชื่อในเครื่องทั้งหมดในตัวกรองที่ระบุ |
APCF_Filter_Index |
1 อ็อกเท็ต | ดัชนีตัวกรอง (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
ขนาดสามารถเปลี่ยนแปลงได้ |
สตริงอักขระสำหรับชื่อท้องถิ่น หมายเหตุ
|
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
APCF_opcode |
1 อ็อกเท็ต | 0x05 - ชื่อท้องถิ่นของ APCF |
APCF_Action |
1 อ็อกเท็ต | APCF_Action ของคำสั่งการย้อนกลับ |
APCF_AvailableSpaces |
1 อ็อกเท็ต | จำนวนรายการฟรีที่ยังคงเข้าถึงได้ในตารางชื่อท้องถิ่น |
LE_APCF_Command: manf_data_sub_cmd
คำสั่งย่อยนี้ใช้เพื่อเพิ่มหรือลบสตริงข้อมูลผู้ผลิต หรือเพื่อล้างรายการสตริงข้อมูลผู้ผลิตสำหรับการกรองบนชิป
OCF ย่อย: 0x06
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
APCF_Action |
1 อ็อกเท็ต |
0x00 - เพิ่ม 0x01 - ลบ 0x02 - ล้าง ลบจะลบสตริงข้อมูลของผู้ผลิตที่ระบุในตัวกรองที่ระบุ "ล้าง" จะล้างสตริงข้อมูลผู้ผลิตทั้งหมดในตัวกรองที่ระบุ |
APCF_Filter_Index |
1 อ็อกเท็ต | ดัชนีตัวกรอง (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
ขนาดสามารถเปลี่ยนแปลงได้ |
สตริงอักขระสําหรับข้อมูลผู้ผลิต หมายเหตุ
|
APCF_ManData_Mask |
ขนาดสามารถเปลี่ยนแปลงได้ |
มาสก์ข้อมูลการผลิตที่จะเพิ่มลงในรายการ โดยควรมีความยาวเท่ากับ APCF_LocName_or_ManData_or_SerData
|
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
APCF_opcode |
1 อ็อกเท็ต | 0x06 - ข้อมูลผู้ผลิต APCF |
APCF_Action |
1 อ็อกเท็ต | APCF_Action ของคำสั่งการย้อนกลับ |
APCF_AvailableSpaces |
1 อ็อกเท็ต | จำนวนรายการฟรีที่ยังคงเข้าถึงได้ในตารางข้อมูลผู้ผลิต |
LE_APCF_Command: service_data_sub_cmd
คำสั่งย่อยนี้ใช้เพื่อเพิ่มหรือลบสตริงข้อมูลบริการ หรือเพื่อล้างรายการสตริงข้อมูลบริการสำหรับการกรองบนชิป
OCF ย่อย: 0x07
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
APCF_Action |
1 อ็อกเท็ต |
0x00 - เพิ่ม 0x01 - ลบ 0x02 - ล้าง ลบจะลบสตริงข้อมูลบริการที่ระบุในตัวกรองที่ระบุ ล้างจะล้างสตริงข้อมูลบริการทั้งหมดในตัวกรองที่ระบุ |
APCF_Filter_Index |
1 อ็อกเท็ต | ดัชนีตัวกรอง (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
ขนาดสามารถเปลี่ยนแปลงได้ |
สตริงอักขระสําหรับข้อมูลบริการ หมายเหตุ
|
APCF_LocName_Mandata_or_SerData_Mask |
ขนาดสามารถเปลี่ยนแปลงได้ |
มาสก์ข้อมูลบริการที่จะเพิ่มในรายการ โดยควรมีความยาวเท่ากับ APCF_LocName_or_ManData_or_SerData.
|
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
APCF_opcode |
1 อ็อกเท็ต | 0x07 - ข้อมูลบริการ APCF |
APCF_Action |
1 อ็อกเท็ต | APCF_Action ของคำสั่งการย้อนกลับ |
APCF_AvailableSpaces |
1 อ็อกเท็ต | จำนวนรายการฟรีที่ใช้ได้สำหรับตารางข้อมูลบริการ |
LE_APCF_Command: ad_type_sub_cmd
คำสั่งย่อยนี้ใช้เพื่อเพิ่มหรือลบประเภท AD หรือเพื่อล้างรายการประเภท AD สำหรับการกรองบนชิป ใช้ read_extended_features_sub_cmd
เพื่อตรวจสอบว่าระบบรองรับคำสั่งนี้หรือไม่
เมื่อ APCF_AD_DATA_Length
เท่ากับ 0 ให้กรอง APCF_AD_TYPE
โดยไม่เปรียบเทียบข้อมูล AD กับมาสก์ข้อมูล AD
หากข้อมูลของแพ็กเก็ต ADV ที่ได้รับมีความยาวเกิน AD_DATA_LENGTH
ให้เปรียบเทียบเฉพาะข้อมูล AD จำนวน AD_DATA_LENGTH
ไบต์แรกและละเว้นข้อมูลที่เหลือ
OCF ย่อย: 0x09
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
APCF_Action |
1 อ็อกเท็ต |
0x00 - เพิ่ม 0x01 - ลบ 0x02 - ล้าง ลบจะลบประเภทโฆษณาที่ระบุในตัวกรองที่ระบุ "ล้าง" จะล้างโฆษณาทุกประเภทในตัวกรองที่ระบุ |
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 |
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 อ็อกเท็ต |
บิตมาสก์สำหรับฟีเจอร์เสริมที่รองรับมีดังนี้
ค่าของบิต
|
คำสั่งเกี่ยวกับกิจกรรมของตัวควบคุมและข้อมูลพลังงาน
จุดประสงค์ของข้อมูลนี้มีไว้สำหรับฟังก์ชันระบบโฮสต์ที่สูงขึ้นเพื่อวิเคราะห์กิจกรรมทั้งหมดของคอมโพเนนต์ทั้งหมด ซึ่งรวมถึงตัวควบคุม BT และสถานะมาโคร ร่วมกับสิ่งที่เกิดขึ้นในแอปและเฟรมเวิร์ก หากต้องการดำเนินการดังกล่าว จำเป็นต้องใช้ข้อมูลต่อไปนี้จากสแต็ก BT และตัวควบคุม
- สแต็ก BT: การรายงานสถานะปัจจุบันของการดำเนินการแบบมาโครของตัวควบคุม
- เฟิร์มแวร์: การรายงานกิจกรรมโดยรวมและข้อมูลพลังงาน
สถานะมาโครสแต็กโฮสต์ BT ตามที่ระบุที่ระดับผู้ใช้:
- ไม่มีการใช้งาน: [page scan, LE advt, inquiry scan, LE scan]
- สแกน: [การแบ่งหน้า/การสอบถาม/กำลังพยายามเชื่อมต่อ]
- ใช้งานอยู่: [ลิงก์ ACL เปิดอยู่, ใช้งานลิงก์ SCO อยู่, โหมดตรวจสอบ]
กิจกรรมที่ตัวควบคุมติดตามตลอดอายุการใช้งานคือเวลา Tx, เวลา Rx, เวลาที่ไม่มีการใช้งาน และพลังงานทั้งหมดที่ใช้ ระบบจะล้างบัญชีเมื่ออ่านจากโฮสต์
LE_Get_Controller_กิจกรรม_Energy_ข้อมูล
ซึ่งเป็นคำสั่งเฉพาะผู้ให้บริการ
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) และเวลา (มิลลิวินาที)] |
คำสั่งสแกนพารามิเตอร์การค้นหาแบบขยายของ LE
คุณใช้คำสั่งนี้เพื่อเปิดใช้ช่วงเวลาและหน้าต่างสแกนที่มีขนาดใหญ่ขึ้นในตัวควบคุมได้ ตามข้อกำหนดของ BT Core 5.2 หน้าต่างการสแกนและช่วงเวลามีขีดจำกัดสูงสุดอยู่ที่ 10.24 วินาที ซึ่งขัดขวางช่วงเวลาการสแกนที่นานกว่า 10.24 วินาทีของแอปพลิเคชัน
ข้อมูลอ้างอิงพื้นฐาน: ข้อมูลจำเพาะของ BT Core 5.2 หน้า 2493 (LE SetScan Parameters Parameters)
OCF: 0x15A
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
LE_Ex_Scan_Type |
1 อ็อกเท็ต |
0x00 - การสแกนแบบแพสซีฟ และจะไม่มีการส่งแพ็กเก็ต SCAN_REQ (ค่าเริ่มต้น)0x01 - การสแกนที่ใช้งานอยู่ อาจมีการส่ง SCAN_REQ แพ็กเก็ต
|
LE_Ex_Scan_Interval |
4 อ็อกเท็ต |
กำหนดเป็นช่วงเวลาตั้งแต่ที่ตัวควบคุมเริ่มการสแกน LE ครั้งล่าสุดจนกระทั่งเริ่มการสแกน LE ที่ตามมา ช่วง: 0x0004 ถึง 0x00FFFFFF ค่าเริ่มต้น: 0x0010 (10 มิลลิวินาที) เวลา = N * 0.625 มิลลิวินาที ช่วงเวลา: 2.5 มิลลิวินาที ถึง 10442.25 วินาที |
LE_Ex_Scan_Window |
4 อ็อกเท็ต |
ระยะเวลาของการสแกน LE LE_Scan_Window ต้องมีค่าน้อยกว่าหรือเท่ากับ LE_Scan_Interval
ช่วง: 0x0004 ถึง 0xFFFF ค่าเริ่มต้น: 0x0010 (10 มิลลิวินาที) เวลา = N * 0.625 มิลลิวินาที ช่วงเวลา: 2.5 ถึง 40.95 วินาที |
Own_Address_Type |
1 อ็อกเท็ต |
0x00 - ที่อยู่อุปกรณ์สาธารณะ (ค่าเริ่มต้น) 0x01 - ที่อยู่อุปกรณ์แบบสุ่ม |
LE_Ex_Scan_Filter_Policy |
0x00 - ยอมรับแพ็กเก็ตโฆษณาทั้งหมด (ค่าเริ่มต้น) ระบบจะไม่สนใจแพ็กเก็ตโฆษณาที่มีการกำหนดทิศทางซึ่งไม่ได้ระบุที่อยู่สำหรับอุปกรณ์นี้ 0x01 - ไม่สนใจแพ็กเก็ตโฆษณาจากอุปกรณ์ที่ไม่ได้อยู่ในรายการที่อนุญาต เท่านั้น ระบบจะไม่สนใจแพ็กเก็ตโฆษณาที่มีการกำหนดทิศทางซึ่งไม่ได้ระบุที่อยู่สำหรับอุปกรณ์นี้ |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
รับคำสั่งข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุม
วัตถุประสงค์ขององค์ประกอบข้อมูลนี้คือการรับข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุมโดยโฮสต์ในรูปแบบไบนารี เพื่อประมวลผลในภายหลังและการวิเคราะห์ ซึ่งจะช่วยแก้ไขข้อบกพร่องของปัญหาภาคสนามและช่วยให้วิศวกรพร้อมชุดเครื่องมือในการบันทึกข้อมูลสำหรับการวิเคราะห์ ตัวควบคุมสามารถให้ข้อมูลเมื่อโฮสต์ขอผ่านเหตุการณ์ (เหตุการณ์ย่อยของข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุม) หรือให้เองเมื่อตัวควบคุมต้องการ ตัวอย่างการใช้งานอาจเป็นการรายงานข้อมูลสถานะเฟิร์มแวร์ ข้อมูลข้อขัดข้อง ข้อมูลการบันทึก ฯลฯ
OCF: 0x15 พันล้าน
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
ไม่มีข้อมูล | รายการพารามิเตอร์คำสั่งว่างเปล่า |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
รองรับการลดภาระงานฮาร์ดแวร์ A2DP
ฟีเจอร์ A2DP Offload รองรับการลดภาระของกระบวนการเข้ารหัสเสียง A2DP ไปยังตัวประมวลผลเสียงที่เชื่อมต่อกับตัวควบคุม BT สตรีมข้อมูลเสียงที่เข้ารหัสจะส่งจากตัวประมวลผลเสียงไปยังตัวควบคุม BT โดยตรงโดยที่โฮสต์ BT ไม่เกี่ยวข้องกับ BT Host ยังคงเป็นผู้รับผิดชอบการกำหนดค่าและการควบคุมเซสชัน A2DP โดยมีคำสั่ง 2 เวอร์ชัน คำสั่งเดิมที่มี Sub OCF 0x01-0x02 รองรับเฉพาะตัวแปลงรหัสโอเพนซอร์สเท่านั้น เวอร์ชันที่มี Sub-OCF 0x02-0x03 ไม่เกี่ยวข้องกับตัวแปลงรหัสที่กำหนดค่าไว้
OCF: 0x15D
เริ่มการลดภาระงาน A2DP (เดิม)
OCF ย่อย: 0x01
ใช้คำสั่งนี้ทั้งเพื่อกำหนดค่ากระบวนการออฟโหลด A2DP และเพื่อเริ่มสตรีม A2DP
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
Codec |
4 อ็อกเท็ต |
ระบุประเภทตัวแปลงรหัส 0x01 - SBC 0x02 - AAC 0x04 - APTX 0x08 - APTX HD 0x10 - LDAC |
Max_Latency |
2 อ็อกเท็ต | เวลาในการตอบสนองสูงสุดที่อนุญาต (เป็นมิลลิวินาที) ค่า 0 จะเป็นการปิดใช้การล้าง |
SCMS-T_Enable |
2 อ็อกเท็ต |
Octet 0: แฟล็กที่เปิดใช้การเพิ่มส่วนหัว SCMS-T
Octet 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 - ไม่ได้ระบุอัตราบิตของเสียง / unused 0x00000001 - 0x00FFFFFF - อัตราบิตของเสียงที่เข้ารหัสเป็นบิตต่อวินาที 0x01000000 - 0xFFFFFFFF - จองแล้ว |
Connection_Handle |
2 อ็อกเท็ต | กำลังกำหนดค่าแฮนเดิลการเชื่อมต่อของการเชื่อมต่อ A2DP |
L2CAP_Channel_ID |
2 อ็อกเท็ต | รหัสช่อง L2CAP ที่จะใช้สำหรับการเชื่อมต่อ A2DP นี้ |
L2CAP_MTU_Size |
2 อ็อกเท็ต | ขนาดสูงสุดของ L2CAP MTU ที่มีแพ็กเก็ตเสียงที่เข้ารหัส |
Codec_Information |
32 อ็อกเท็ต |
ข้อมูลเฉพาะตัวแปลงรหัส
ตัวแปลงรหัส SBC:
โปรดดูองค์ประกอบข้อมูลเฉพาะของตัวแปลงรหัส SBC ใน A2DP v1.3 ตัวแปลงสัญญาณ AAC:
โปรดดูองค์ประกอบข้อมูลเฉพาะของตัวแปลงรหัส AAC ใน A2DP v1.3 ตัวแปลงรหัส LDAC:
Octet 0-3: รหัสผู้ให้บริการ
Octet 4-5: รหัสตัวแปลงรหัส
Octet 6: ดัชนีอัตราบิต:
Octet 7: โหมดช่องสัญญาณ LDAC วันที่ 8-31 ต.ค.: สงวนไว้ ตัวแปลงรหัสอื่นๆ ทั้งหมด: ต.ค. 0-31: สงวนไว้ |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Sub_Opcode |
1 อ็อกเท็ต | 0x01 - เริ่มลดการโหลด A2DP |
เริ่มการออฟโหลด A2DP
OCF ย่อย: 0x03
ใช้คำสั่งนี้ทั้งเพื่อกำหนดค่ากระบวนการออฟโหลด A2DP และเพื่อเริ่มสตรีม A2DP
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
Connection Handle |
2 อ็อกเท็ต | แฮนเดิลของการเชื่อมต่อ HCI ที่ใช้งานอยู่ |
L2CAP_Channel_ID |
2 อ็อกเท็ต | ตัวระบุของช่อง L2CAP ที่เปิดสำหรับสตรีมมิงแบบ A2DP |
Data_Path_Direction |
1 อ็อกเท็ต |
0x00 - เอาต์พุต (ที่มา AVDTP/ผสาน) 0x01 - อินพุต (AVDTP Sink/Split) |
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 Offload
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
ไม่มีข้อมูล | รายการพารามิเตอร์คำสั่งว่างเปล่า |
ไม่มีการกำหนดพารามิเตอร์สำหรับคำสั่งนี้
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Sub_Opcode |
1 อ็อกเท็ต | 0x02 - หยุดลดการโหลด A2DP |
หยุดลดการโหลด A2DP
OCF ย่อย: 0x04
คำสั่งนี้ใช้เพื่อหยุดสตรีม A2DP Offload
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
Connection Handle |
2 อ็อกเท็ต | แฮนเดิลของการเชื่อมต่อ HCI ที่ใช้งานอยู่ |
L2CAP_Channel_ID |
2 อ็อกเท็ต | ตัวระบุของช่อง L2CAP ที่เปิดสำหรับสตรีมมิงแบบ A2DP |
Data_Path_Direction |
1 อ็อกเท็ต |
0x00 - เอาต์พุต (ที่มา AVDTP/ผสาน) 0x01 - อินพุต (AVDTP Sink/Split) |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Sub_Opcode |
1 อ็อกเท็ต | 0x04 - หยุดลดการโหลด A2DP |
คำสั่งรายงานคุณภาพของบลูทูธ
ฟีเจอร์คำสั่งรายงานคุณภาพ BT จะเริ่มต้นกลไกในตัวควบคุมบลูทูธเพื่อรายงานกิจกรรมคุณภาพของบลูทูธไปยังโฮสต์ คุณเปิดใช้ตัวเลือกได้ 4 รายการดังนี้
- โหมดการตรวจสอบคุณภาพ: ตัวควบคุมจะส่งกิจกรรมย่อย BQR ที่เกี่ยวข้องกับคุณภาพลิงก์ให้กับโฮสต์เป็นระยะๆ
- เข้าใกล้ LSTO: หากไม่มีแพ็กเก็ตจากอุปกรณ์ BT ที่เชื่อมต่ออยู่นานกว่าครึ่งหนึ่งของค่า Link Supervision TimeOut (LSTO) ตัวควบคุมจะรายงานเหตุการณ์ LSTO ที่ใกล้จะมาถึงให้โฮสต์ทราบ
- เสียง A2DP กระตุก: เมื่อตัวควบคุมตรวจพบปัจจัยที่ทำให้เกิดเสียงกระตุก ตัวควบคุมจะรายงานเหตุการณ์เสียงกระตุก A2DP ให้โฮสต์ทราบ
- (จ)SCO เสียงกระตุก: เมื่อตัวควบคุมตรวจพบปัจจัยที่ก่อให้เกิดเสียงกระตุก ตัวควบคุมจะรายงาน (จ)SCO เสียงกระตุกให้ผู้จัดทราบ
- รากอักเสบ: ตัวควบคุมจะส่งเหตุการณ์นี้ไปยังสแต็กเมื่อ HAL หรือตัวควบคุมพบข้อผิดพลาดร้ายแรงและต้องรีสตาร์ทบลูทูธ
- การติดตามข้อความ LMP/LL: ตัวควบคุมจะส่งการแฮนเดิลข้อความ LMP/LL ด้วยอุปกรณ์ระยะไกลไปยังโฮสต์
- การติดตามการกำหนดเวลาแบบหลายโปรไฟล์/Coex ของบลูทูธ: ตัวควบคุมจะส่งข้อมูลการกำหนดเวลาในการจัดการโปรไฟล์บลูทูธหลายโปรไฟล์และการอยู่ร่วมกันแบบไร้สายในย่านความถี่ 2.4 GHz ไปยังโฮสต์
- กลไกข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุม: เมื่อเปิดใช้ ตัวควบคุมจะรายงานข้อมูลการบันทึกการแก้ไขข้อบกพร่องผ่านเหตุการณ์ย่อยของข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุมไปยังโฮสต์ได้โดยอัตโนมัติ
- LE Audio กระตุก: เมื่อตัวควบคุมตรวจพบปัจจัยที่ทำให้เสียงกระตุก ตัวควบคุมจะรายงานเหตุการณ์ LE Audio Choppy ไปยังโฮสต์
-
โหมดสถิติ RF ขั้นสูง: ตัวควบคุมจะรายงานข้อมูลที่เกี่ยวข้องกับสถิติ RF ไปยังโฮสต์ ซึ่งรองรับกรณีการใช้งานรายงาน 2 กรณีดังนี้
- รายงานเป็นระยะ
- ทริกเกอร์เหตุการณ์ (เริ่ม/หยุดสตรีมและทริกเกอร์เหตุการณ์คุณภาพลิงก์)
- BQR_Report_Action ของคำสั่งรายงานคุณภาพของบลูทูธ: โฮสต์สามารถใช้คำสั่ง HCI นี้เพื่อรับการค้นหาแบบครั้งเดียวสำหรับโหมดการตรวจสอบคุณภาพ โหมดตรวจสอบพลังงาน หรือโหมดสถิติ RF ขั้นสูง
OCF: 0x15E
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
BQR_Report_Action |
1 อ็อกเท็ต |
การดำเนินการเพื่อเพิ่ม / ลบการรายงานเหตุการณ์คุณภาพที่ตั้งค่าไว้ในพารามิเตอร์ BQR_quality_Event_Mask หรือล้างทั้งหมด
0x00 - เพิ่ม
การลบจะล้างการรายงานเหตุการณ์คุณภาพที่เฉพาะเจาะจง |
BQR_Quality_Event_Mask |
4 อ็อกเท็ต |
มาสก์บิตสำหรับการรายงานเหตุการณ์คุณภาพที่เลือก
บิต 0: ตั้งค่าให้เปิดใช้โหมดการตรวจสอบคุณภาพ |
BQR_Minimum_Report_Interval |
2 อ็อกเท็ต |
กําหนดช่วงเวลาขั้นต่ำของการรายงานเหตุการณ์ด้านคุณภาพสําหรับเหตุการณ์คุณภาพที่เลือก เฟิร์มแวร์ตัวควบคุมไม่ควรรายงานเหตุการณ์ถัดไปภายในระยะเวลาที่กำหนด การตั้งค่าช่วงเวลาจะต้องสัมพันธ์กันและมีไว้สำหรับเหตุการณ์ด้านคุณภาพที่จะเพิ่มเข้ามาโดยเฉพาะ
หน่วย: ms |
BQR_Vendor_Specific_Quality_Event_Mask |
4 อ็อกเท็ต |
มาสก์บิตสำหรับการรายงานเหตุการณ์คุณภาพเฉพาะผู้ให้บริการที่เลือก พารามิเตอร์นี้ใช้ได้เฉพาะเมื่อตั้งค่าบิต 15 ของ BQR_Quality_Event_Mask
บิต 0 ~ 31: สงวนไว้ |
BQR_Vendor_Specific_Trace_Mask |
4 อ็อกเท็ต |
มาสก์บิตสำหรับการรายงานการติดตามเฉพาะผู้ให้บริการที่เลือก พารามิเตอร์นี้จะใช้ได้เฉพาะเมื่อตั้งค่าบิต 31 ของ BQR_Quality_Event_Mask ไว้เท่านั้น
บิต 0 ~ 31: สงวนไว้ |
Report_interval_multiple |
4 อ็อกเท็ต |
ตัวคูณสำหรับ BQR_Minimum_Report_Interval เมื่อค่านี้ >= 1
ระยะเวลาของรายงาน BQR เป็นไปตามรูปแบบ ระยะเวลาของรายงาน BQR = BQR_minimum_Report_Interval x Report_interval_multiple เฟิร์มแวร์ของตัวควบคุมต้องไม่รายงานเหตุการณ์ถัดไปภายใน ช่วงเวลาที่กำหนดไว้ การตั้งค่าช่วงเวลามีไว้สําหรับเหตุการณ์คุณภาพที่เพิ่มเข้ามาโดยเฉพาะ
หน่วย: ms BQR_Report_Interval มีขนาดใหญ่กว่าความสามารถของตัวควบคุม ตัวควบคุมจะต้องแสดงผลไม่เกิน BQR_Report_Interval สูงสุดหลังจากคำสั่งเสร็จสมบูรณ์
|
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Current_Quality_Event_Mask |
4 อ็อกเท็ต |
ระบุการตั้งค่าบิตมาสก์ปัจจุบัน บิต 0: โหมดการตรวจสอบคุณภาพเปิดใช้อยู่ บิต 1: เปิดใช้การรายงานเหตุการณ์ LSTO แล้ว บิต 2: เปิดใช้การรายงานเหตุการณ์เสียงกระตุก A2DP อยู่ บิต 3: เปิดใช้การรายงานเหตุการณ์เสียงกระตุกของ SCO อยู่ บิต 4: เปิดใช้การรายงานเหตุการณ์การอักเสบของราก บิต 5: โหมดการตรวจสอบพลังงานเปิดใช้อยู่ บิต 6: เปิดใช้การรายงานเหตุการณ์กระตุก LE Audio อยู่ บิต 7: เหตุการณ์การเชื่อมต่อล้มเหลว บิต 8: ตั้งค่าเพื่อเปิดใช้ทริกเกอร์เหตุการณ์โหมด RF ขั้นสูง บิต 9: ตั้งค่าเพื่อเปิดใช้รายงานสถิติ RF ขั้นสูงเป็นระยะๆ บิต 10 ~ 14: สงวนไว้ บิต 15: เปิดใช้การรายงานเหตุการณ์คุณภาพเฉพาะผู้ให้บริการ บิต 16: เปิดใช้การติดตามข้อความ LMP/LL อยู่ Bit 17: เปิดใช้การติดตามการกำหนดเวลาของ Bluetooth Multi-link/Coex อยู่ บิต 18: เปิดใช้กลไกข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุมแล้ว บิต 19 ~ 30: สงวนไว้ Bit 31: เปิดใช้การติดตามเฉพาะผู้ให้บริการอยู่ |
Current_Vendor_Specific_Quality_Event_Mask |
4 อ็อกเท็ต | ระบุการตั้งค่าบิตมาสก์ปัจจุบัน |
Current_Vendor_Specific_Trace_Mask |
4 อ็อกเท็ต | ระบุการตั้งค่าบิตมาสก์ปัจจุบัน |
BQR_Report_interval |
4 อ็อกเท็ต | ระบุการตั้งค่าบิตมาสก์ปัจจุบัน |
Current_Vendor_Specific_Trace_Mask |
4 อ็อกเท็ต |
การตั้งค่าของ BQR_Report_interval ค่านี้ต้องเป็นค่าต่ำสุดระหว่าง
BQR_minimum_Report_Interval * Report_interval_multiple หรือช่วงเวลาการสนับสนุนสูงสุดของ
ตัวควบคุม |
คำสั่งบัฟเฟอร์เสียงแบบไดนามิก
บัฟเฟอร์เสียงแบบไดนามิกช่วยลดสัญญาณรบกวนของเสียงโดยการเปลี่ยนขนาดบัฟเฟอร์ของเสียงในตัวควบคุมบลูทูธตามสถานการณ์ต่างๆ
OCF: 0x15F
รับความสามารถในการเผื่อเวลาบัฟเฟอร์ของเสียง
OCF ย่อย: 0x01
ใช้คำสั่งนี้เพื่อรับความสามารถในการบัฟเฟอร์ของเสียงจากตัวควบคุมบลูทูธ
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
ไม่มีข้อมูล | รายการพารามิเตอร์คำสั่งว่างเปล่า |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Dynamic_Audio_Buffer_opcode |
1 อ็อกเท็ต | 0x01 - รับเวลาบัฟเฟอร์ของเสียง |
Audio_Codec_Type_Supported |
4 อ็อกเท็ต |
มาสก์บิตสำหรับประเภทตัวแปลงรหัสที่รองรับ บิต 0 - SBC บิต 1 - AAC บิต 2 - APTX บิต 3 - APTX HD บิต 4 - LDAC สงวนบิต 5-31 ไว้ |
Audio_Codec_Buffer_Default_Time_For_Bit_0 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์เริ่มต้นของประเภทตัวแปลงรหัสบิต 0 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากไม่รองรับประเภทตัวแปลงรหัสบิต 0 หน่วย: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์สูงสุดของตัวแปลงรหัสประเภท Bit 0 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากไม่รองรับประเภทตัวแปลงรหัสบิต 0 หน่วย: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์ขั้นต่ำของตัวแปลงรหัสประเภท Bit 0 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากไม่รองรับประเภทตัวแปลงรหัสบิต 0 หน่วย: ms |
Audio_Codec_Buffer_Default_Time_For_Bit_1 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์เริ่มต้นของประเภทตัวแปลงรหัสบิต 1 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากระบบไม่รองรับตัวแปลงรหัสประเภทบิต 1 หน่วย: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์สูงสุดของตัวแปลงรหัสประเภท Bit 1 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากระบบไม่รองรับตัวแปลงรหัสประเภทบิต 1 หน่วย: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์ขั้นต่ำของตัวแปลงรหัสประเภท Bit 1 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากระบบไม่รองรับตัวแปลงรหัสประเภทบิต 1 หน่วย: ms |
... | ... | ... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์เริ่มต้นของประเภทตัวแปลงรหัส Bit 31 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากไม่รองรับประเภทตัวแปลงรหัส Bit 31 หน่วย: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์สูงสุดของประเภทตัวแปลงรหัส Bit 31 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากไม่รองรับประเภทตัวแปลงรหัส Bit 31 หน่วย: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์ขั้นต่ำของประเภทตัวแปลงรหัส Bit 31 ที่ระบุใน Audio_Codec_Type_Supported ค่านี้จะเป็น 0 หากไม่รองรับประเภทตัวแปลงรหัส Bit 31 หน่วย: ms |
ตั้งค่าระยะเวลาบัฟเฟอร์ของเสียง
OCF ย่อย: 0x02
ใช้คำสั่งนี้เพื่อตั้งเวลาบัฟเฟอร์เสียงให้กับตัวควบคุมบลูทูธ
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
Audio_Codec_Buffer_Time |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์ของเสียงที่ขอสำหรับตัวแปลงรหัสที่ใช้ในปัจจุบัน หน่วย: มิลลิวินาที |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Dynamic_Audio_Buffer_opcode |
1 อ็อกเท็ต | 0x02 - ตั้งค่าบัฟเฟอร์ของเสียง |
Audio_Codec_Buffer_Time |
2 อ็อกเท็ต |
เวลาบัฟเฟอร์ของเสียงปัจจุบันในตัวควบคุมบลูทูธ หน่วย: ms |
เหตุการณ์ HCI (เฉพาะผู้ให้บริการ)
ในบางกรณี จำเป็นต้องมีเหตุการณ์ HCI เฉพาะผู้ให้บริการ โปรดดูรูปที่ 5.4 ในหน้า 1897 ของข้อมูลจำเพาะของ BT Core 5.2 พารามิเตอร์เหตุการณ์ 0 จะมีโค้ดเหตุการณ์ย่อยแรกเสมอ โดยอิงตามการถอดรหัสเหตุการณ์ HCI ที่เหลือ
พารามิเตอร์เหตุการณ์ | ขนาด | วัตถุประสงค์ |
---|---|---|
HCI_vendor_specific_event_code |
1 อ็อกเท็ต | 0xFF |
sub_event_code |
1 อ็อกเท็ต | โค้ดเหตุการณ์ย่อยจะมีขนาด 1 อ็อกเท็ต ซึ่งก็คือไบต์ตามความยาวของพารามิเตอร์ในแพ็กเก็ตเหตุการณ์ HCI |
เหตุการณ์ย่อยเกี่ยวกับการละเมิดเกณฑ์พื้นที่เก็บข้อมูล
เหตุการณ์นี้บ่งชี้ว่าเกณฑ์พื้นที่เก็บข้อมูลมีการละเมิด
รหัสเหตุการณ์ย่อย = 0x54
พารามิเตอร์เหตุการณ์ย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
ไม่มี |
เหตุการณ์ย่อยการเปลี่ยนแปลงสถานะการโฆษณาหลายรายการของ LE
เหตุการณ์นี้บ่งชี้ว่าอินสแตนซ์โฆษณาเปลี่ยนสถานะแล้ว ปัจจุบันเหตุการณ์นี้ใช้เพื่อระบุว่าอินสแตนซ์การโฆษณาใดหยุดทำงานเนื่องจากการเชื่อมต่อเท่านั้น
รหัสเหตุการณ์ย่อย = 0x55
พารามิเตอร์เหตุการณ์ย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Advertising_instance |
1 อ็อกเท็ต |
ระบุอินสแตนซ์การโฆษณาที่เจาะจง ค่าที่ถูกต้องคือ 0 ถึง max_advt_instances -1
|
State_Change_Reason |
1 อ็อกเท็ต | 0x00: ได้รับการเชื่อมต่อแล้ว |
Connection_handle |
2 อ็อกเท็ต |
ระบุการเชื่อมต่อที่ทำให้อินสแตนซ์ advt ถูกปิดใช้ (0xFFFF หากไม่ถูกต้อง)
|
กิจกรรมย่อยการติดตามโฆษณา LE
เหตุการณ์นี้จะระบุเมื่อพบผู้ลงโฆษณาหรือไม่พบผู้ลงโฆษณา
รหัสเหตุการณ์ย่อย = 0x56
พารามิเตอร์เหตุการณ์ย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
APCF_Filter_Index |
1 อ็อกเท็ต | ดัชนีตัวกรอง (0, max_filter -1) |
Advertiser_State |
1 อ็อกเท็ต |
0x00: พบผู้ลงโฆษณา 0x01: ผู้ลงโฆษณาแพ้ |
Advt_Info_Present |
1 อ็อกเท็ต |
0x00: ไม่มีข้อมูลผู้ลงโฆษณา (Advt_Info )0x01: ไม่มีข้อมูลผู้ลงโฆษณา ( Advt_Info )
|
Advertiser_Address |
6 อ็อกเท็ต | ที่อยู่สาธารณะหรือที่อยู่แบบสุ่ม |
Advertiser_Address_Type |
1 อ็อกเท็ต |
0x00: ที่อยู่สาธารณะ 0x01: ที่อยู่แบบสุ่ม |
Advt_Info |
Tx_Pwr[0] : 1 อ็อกเท็ตRSSI[0] : 1 อ็อกเท็ตTimestamp[0] : 2 อ็อกเท็ตAdv packet_len[0] : 1 อ็อกเท็ตAdv_packet[0] : Adv_packet_len อ็อกเท็ตScan_data_resp_len[0] : 1 อ็อกเท็ตScan_data_resp[0] : Scan_data_resp อ็อกเท็ต
|
เหตุการณ์ย่อยเกี่ยวกับข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุม
ผู้ควบคุมข้อมูลใช้เหตุการณ์นี้เพื่อให้ข้อมูลการแก้ไขข้อบกพร่องไบนารีแก่โฮสต์
รหัสเหตุการณ์ย่อย = 0x57
พารามิเตอร์เหตุการณ์ย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
debug_block_byte_offset_start |
2 อ็อกเท็ต | แก้ไขข้อบกพร่องออฟเซ็ตไบต์บล็อกตั้งแต่เริ่มต้น |
last_block |
1 อ็อกเท็ต |
0x00: มีข้อมูลการแก้ไขข้อบกพร่องมากขึ้น 0x01: บล็อกไบนารีสุดท้าย ไม่มีข้อมูลการแก้ไขข้อบกพร่องอีก |
cur_pay_load_sz |
2 อ็อกเท็ต | ขนาดบล็อกไบนารีในเหตุการณ์ปัจจุบัน |
Debug_Data |
ปรับเปลี่ยนได้ | ข้อมูลการแก้ไขข้อบกพร่องของ cur_payload_sz |
เหตุการณ์ย่อยของรายงานคุณภาพบลูทูธ
เหตุการณ์นี้บ่งชี้ถึงสิ่งใดสิ่งหนึ่งต่อไปนี้: เกิดเหตุการณ์คุณภาพของบลูทูธขึ้น, ตัวควบคุมได้อัปโหลดการติดตามข้อความ LMP/LL และการติดตามการตั้งเวลามัลติลิงก์/Coex ของบลูทูธ หรือตัวควบคุมถ่ายโอนข้อมูลการแก้ไขข้อบกพร่อง
รหัสกิจกรรมย่อย = 0x58 [ Quality_Report_Id = 0x01 ~ 0x04, กิจกรรมที่เกี่ยวข้องกับคุณภาพลิงก์]
พารามิเตอร์เหตุการณ์ย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Quality_Report_Id |
1 อ็อกเท็ต |
0x01: การรายงานคุณภาพในโหมดการตรวจสอบ 0x02: เข้าใกล้ LSTO 0x03: เสียง A2DP กระตุก 0x04: (e)SCO เสียงกระตุก 0x05 ~ 0x06: สงวนไว้ 0x07: LE Audio กระตุก 0x08: เชื่อมต่อไม่สำเร็จ 0x09 ~ 0xFF: จองแล้ว |
Packet_Types |
1 อ็อกเท็ต |
0x01: ID 0x02: NULL 0x03: POLL 0x04: FHS 0x05: HV1 0x06: HV2 0x07: HV3: 0x08: DV3: EV3 0x04: FHS 0x05: HV1 0x06: HV2 0x07: HV3: 0x08: DV3: |
Connection_Handle |
2 อ็อกเท็ต | แฮนเดิลการเชื่อมต่อ ACL/(e)SCO/ISO |
Connection_Role |
1 อ็อกเท็ต |
บทบาทการแสดงสำหรับการเชื่อมต่อ 0x00: ตอนกลาง 0x01: อุปกรณ์ต่อพ่วง 0x02 ~ 0xFF: สงวนไว้ |
TX_Power_Level |
1 อ็อกเท็ต |
ระดับกำลังส่งปัจจุบันสำหรับ Connection_Handle ที่ระบุ
ค่านี้จะตรงกับการตอบสนองของตัวควบคุมสำหรับคำสั่ง HCI_Read_Transmit_Power_Level HCI |
RSSI |
1 อ็อกเท็ต |
[ใน dBm]
ได้รับค่าตัวบ่งชี้ความแรงของสัญญาณ (RSSI) สำหรับ Connection_Handle ที่ระบุ |
SNR |
1 อ็อกเท็ต |
[ใน dB]
ค่าอัตราส่วนสัญญาณต่อสัญญาณรบกวน (SNR) สำหรับ Connection_Handle ที่ระบุ |
Unused_AFH_Channel_Count |
1 อ็อกเท็ต |
ระบุจำนวนช่องที่ไม่ได้ใช้ใน AFH_channel_map 0x4F ~ 0xFF: จองแล้ว |
AFH_Select_Unideal_Channel_Count |
1 อ็อกเท็ต |
ระบุจำนวนของช่องที่ถูกแทรกแซงและมีคุณภาพไม่ดี แต่ยังคงเลือกสำหรับ AFH จำนวนช่องต่ำสุดที่ข้อมูลจำเพาะของบลูทูธอนุญาตคือ 20 ช่อง ดังนั้นแม้ว่าสัญญาณเสียงทั้ง 79 ช่องจะถูกรบกวนและมีคุณภาพไม่ดี ตัวควบคุมยังคงต้องเลือกอย่างน้อย 20 ช่องสำหรับ AFH |
LSTO |
2 อ็อกเท็ต |
การตั้งค่าระยะหมดเวลาของการควบคุมดูแลลิงก์ปัจจุบัน เวลา = N * 0.625 มิลลิวินาที ช่วงเวลา: 0.625 มิลลิวินาที ถึง 40.9 วินาที |
Connection_Piconet_Clock |
4 อ็อกเท็ต |
นาฬิกา Piconet สำหรับ Connection_Handle ที่ระบุ ค่านี้จะเหมือนกับการตอบสนองต่อคำสั่ง HCI_Read_Clock HCI ของตัวควบคุมที่มีพารามิเตอร์ "Where_Clock" เป็น 0x01 (Piconet Clock) หน่วย: N * 0.3125 ms (นาฬิกาบลูทูธ 1 เรือน) |
Retransmission_Count |
4 อ็อกเท็ต |
จํานวนการส่งข้อมูลซ้ำนับตั้งแต่เหตุการณ์ล่าสุด จำนวนนี้จะรีเซ็ตหลังจากการรายงานไปยังโฮสต์ |
No_RX_Count |
4 อ็อกเท็ต |
ไม่มีจำนวน RX นับตั้งแต่เหตุการณ์ล่าสุด จำนวนจะเพิ่มขึ้นเมื่อไม่ได้รับแพ็กเก็ตในช่วงเวลาที่กำหนด หรือแพ็กเก็ตที่ได้รับเกิดความเสียหาย จำนวนนี้จะรีเซ็ตหลังจากการรายงานไปยังโฮสต์ |
NAK_Count |
4 อ็อกเท็ต |
จำนวน NAK (การรับทราบเชิงลบ) นับตั้งแต่เหตุการณ์ล่าสุด จำนวนนี้จะรีเซ็ตหลังจากการรายงานไปยังโฮสต์ |
Last_TX_ACK_Timestamp |
4 อ็อกเท็ต |
การประทับเวลาของ TX ACK ล่าสุด โดยอิงตามนาฬิกาบลูทูธของ Piconet Central (CLK) หน่วย: N * 0.3125 ms (นาฬิกาบลูทูธ 1 เรือน) |
Flow_Off_Count |
4 อ็อกเท็ต |
จำนวนครั้งที่ตัวควบคุมได้รับ Flow-off (STOP) นับตั้งแต่เหตุการณ์ล่าสุด จำนวนนี้จะรีเซ็ตหลังจากการรายงานไปยังโฮสต์ |
Last_Flow_On_Timestamp |
4 อ็อกเท็ต |
การประทับเวลาของ Flow-on (GO) ล่าสุด โดยอิงตามนาฬิกาบลูทูธของ piconet Central (CLK) หน่วย: N * 0.3125 ms (นาฬิกาบลูทูธ 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 อ็อกเท็ต |
จำนวนแพ็กเก็ตที่เลเยอร์ลิงก์ส่ง PDU ของข้อมูล CIS ในเหตุการณ์ย่อยสุดท้ายของเหตุการณ์ CIS จำนวนนี้จะรีเซ็ตหลังจากการรายงานไปยังโฮสต์ ค่าจะเป็น 0 หากไม่มีค่าที่ถูกต้องสำหรับลิงก์ |
CRC_Error_Packets |
4 อ็อกเท็ต |
จำนวนแพ็กเกจที่ได้รับที่มีข้อผิดพลาด CRC นับตั้งแต่เหตุการณ์ล่าสุด จำนวนนี้จะรีเซ็ตหลังจากการรายงานไปยังโฮสต์ |
RX_Duplicate_Packets |
4 อ็อกเท็ต |
จำนวนแพ็กเกจที่ซ้ำกัน (การส่งซ้ำ) ที่ได้รับตั้งแต่เหตุการณ์ล่าสุด จำนวนนี้จะรีเซ็ตหลังจากการรายงานไปยังโฮสต์ |
RX_Unreceived_Packets |
4 อ็อกเท็ต |
จำนวนของแพ็กเก็ตที่ไม่ได้รับจะเหมือนกับพารามิเตอร์ของคำสั่งด้านคุณภาพลิงก์ LE READ ISO Link (ดู Bluetooth Core Specification เวอร์ชัน 5.4) สตรีมที่เกี่ยวข้องคือ CIS และ BIS เมื่อเพิ่มค่านี้ เลเยอร์ของลิงก์จะไม่ได้รับเพย์โหลดที่ระบุจากจุดล้าง (ใน CIS) หรือเมื่อสิ้นสุดเหตุการณ์ที่เชื่อมโยงอยู่ (ใน BIS ดูข้อมูลจำเพาะหลักของบลูทูธ เวอร์ชัน 5.4 Vol 6 ส่วน B ส่วนที่ 4.4.6.6) |
Coex_Info_Mask |
2 อ็อกเท็ต |
บิต 0 - CoexInvolvement: ตั้งเพื่อระบุว่าระบบสงสัยว่ากิจกรรม Coex จะเกี่ยวข้อง
เมื่อมีการสร้างรายงานนี้ (เช่น A2DP Chops และ Approaching LSTO) บิต 1 - วิทยุ WL 2G ทำงานอยู่: ตั้งค่าเพื่อระบุว่าวิทยุ WLAN 2G ทำงานอยู่ บิต 2 - เชื่อมต่อ WL 2G แล้ว: ตั้งค่าเพื่อระบุว่าวิทยุ WLAN 2G ทำงานอยู่และเชื่อมต่อแล้ว บิต 3 - วิทยุ WL 5G/6G ทำงานอยู่: ตั้งค่าเพื่อระบุว่าวิทยุ WLAN 5G/6G ทำงานอยู่ บิต 4-15 - สงวนไว้ |
พารามิเตอร์เฉพาะผู้ให้บริการ | (ความยาวรวมของพารามิเตอร์ - TBD) * อ็อกเท็ต | สำหรับผู้ให้บริการตัวควบคุมในการรับพารามิเตอร์เฉพาะผู้ให้บริการเพิ่มเติม |
รหัสเหตุการณ์ย่อย = 0x58 [quality_Report_Id = 0x05, เหตุการณ์การอักเสบของราก]
เหตุการณ์นี้แสดงว่าบลูทูธ HAL หรือตัวควบคุมพบข้อผิดพลาดร้ายแรงและต้องใช้สแต็กบลูทูธเพื่อบันทึกสถานการณ์นี้และรีสตาร์ท ตัวควบคุมต้องส่ง Root_Influmation_Event ไปยังสแต็กบลูทูธก่อนที่จะส่งส่วนย่อยแรกของเหตุการณ์ข้อมูลการแก้ไขข้อบกพร่องไม่ว่าในกรณีใดก็ตาม
พารามิเตอร์ Error_Code มีรหัสข้อผิดพลาดที่รายงานจาก HAL/Controller และค่า 0 หากเป็นข้อผิดพลาดเฉพาะของผู้ให้บริการชิปเซ็ต Vendor_Specific_Error_Code มีรหัสข้อผิดพลาดเฉพาะผู้ให้บริการชิปเซ็ตจาก HAL/Controller ควรตั้งค่าเป็น 0 หากพารามิเตอร์ Error_Code ไม่ใช่ 0 พารามิเตอร์ Error_Code และ Vendor_Specific_Error_Code ไม่ควรเป็น 0 ทั้งคู่
พารามิเตอร์เหตุการณ์ย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Quality_Report_Id |
1 อ็อกเท็ต |
0x00 ~ 0x04: สงวนไว้ 0x05: รากอักเสบ 0x06 ~ 0xFF: จองแล้ว |
Error_Code |
1 อ็อกเท็ต |
0x00: รวมรหัสข้อผิดพลาดสำหรับผู้ให้บริการชิปเซ็ตโดยเฉพาะ 0x01 ~ 0xFF: ตัวควบคุมล้มเหลว ดูข้อมูลจำเพาะของบลูทูธ [Vol 2] ส่วน D, รหัสข้อผิดพลาด เพื่อดูรายการรหัสข้อผิดพลาดและคำอธิบาย |
Vendor_Specific_Error_Code |
1 อ็อกเท็ต |
0x00: ไม่มีรหัสข้อผิดพลาดเฉพาะผู้ให้บริการชิปเซ็ต 0x01 ~ 0xFF: รหัสข้อผิดพลาดเฉพาะผู้ให้บริการชิปเซ็ต |
พารามิเตอร์เฉพาะผู้ให้บริการ | (ความยาวรวมของพารามิเตอร์ - 4) * อ็อกเท็ต | สำหรับผู้ให้บริการตัวควบคุมในการรับพารามิเตอร์เฉพาะผู้ให้บริการเพิ่มเติม |
รหัสกิจกรรมย่อย = 0x58 [quality_Report_Id = 0x11 ~ 0x13, เหตุการณ์ที่เกี่ยวข้องกับ Log Dump]
พารามิเตอร์เหตุการณ์ย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Quality_Report_Id |
1 อ็อกเท็ต |
0x00 ~ 0x10: สงวนไว้ 0x11: การติดตามข้อความ LMP/LL 0x12: การติดตามการกำหนดเวลาของ Bluetooth Multi-link/Coex 0x13: ดัมพ์ข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุม 0x14 ~ 0xFF: จองแล้ว |
Connection_Handle |
2 อ็อกเท็ต | แฮนเดิลการเชื่อมต่อ |
พารามิเตอร์เฉพาะผู้ให้บริการ | (ความยาวรวมของพารามิเตอร์ - 4) * อ็อกเท็ต | รูปแบบเฉพาะของผู้ให้บริการสำหรับการติดตามข้อความ LMP, การติดตามการกำหนดเวลาสำหรับหลายลิงก์/Coex ของบลูทูธ และดัมพ์ของข้อมูลการแก้ไขข้อบกพร่องของตัวควบคุม |
การสนับสนุนผู้ลงโฆษณาหลายราย
วัตถุประสงค์ของการสนับสนุนผู้ลงโฆษณาหลายรายมีดังนี้
-
ความสามารถในการรองรับโฆษณาหลายรายการ (
max_advt_instances
) - กำลังส่งที่แตกต่างกันเพื่อให้มีช่วงที่ต่างกัน
- เนื้อหาโฆษณาที่แตกต่างกัน
- คำตอบสำหรับผู้ลงโฆษณาแต่ละราย
- ความเป็นส่วนตัว (ไม่สามารถติดตามได้) สำหรับผู้ลงโฆษณาแต่ละราย
- เชื่อมต่อได้
มีคำสั่งเฉพาะผู้ให้บริการดังต่อไปนี้เพื่อให้ข้อกำหนดนี้ใกล้เคียงกับมาตรฐานที่มีอยู่ โดยมาจากข้อกำหนดของ Bluetooth Core 4.1
คำสั่ง LE_Multi_Advt
OCF: 0x154
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
Multi_advt_opcode |
1 อ็อกเท็ต |
0x01 - Set_Advt_Param_Multi_Sub_Cmd 0x02 - Set_Advt_Data_Multi_Sub_Cmd 0x03 - Set_Scan_Resp_Data_Multi_Sub_Cmd 0x04 - Set_Random_Addr_Multi_Sub_Cmd 0x05 - Set_Advt_Enable_Multi_Sub_Cmd
|
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Multi_advt_opcode |
1 อ็อกเท็ต |
0x01 - Set_Advt_Param_Multi_Command 0x02 - Set_Advt_Data_Multi_Command 0x03 - Set_Scan_Resp_Data_Multi_Command 0x04 - Set_Random_Addr_Multi_Command 0x05 - Set_Advt_Enable_Multi_Command
|
LE_Multi_Advt_Command: Set_Advt_Param_Multi_Sub_Cmd
ข้อมูลอ้างอิงพื้นฐาน: ข้อมูลจำเพาะของ Bluetooth Core 4.1 หน้า 964 (LE Set คำสั่งพารามิเตอร์การโฆษณา)
OCF ย่อย: 0x01
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Advertising_Interval_Min |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Interval_Max |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Type |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Own_Address_Type |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Own_Address |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Direct_Address_Type |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Direct_Address |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Channel_Map |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Adverstising_Filter_Policy |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Instance |
1 อ็อกเท็ต | ระบุความเกี่ยวข้องของพารามิเตอร์ข้างต้นกับอินสแตนซ์ |
Tx_power |
1 อ็อกเท็ต |
Transmit_Power หน่วย - ใน dBm (จำนวนเต็มที่ลงนาม) ช่วง (-70 ถึง +20) |
พารามิเตอร์ Own_Address
อาจเป็นที่อยู่ที่กำหนดค่าโดยโฮสต์ ณ เวลาที่ตั้งค่าอินสแตนซ์โฆษณาหลายรายการนี้ ซึ่งจะช่วยให้คุณมีที่อยู่ส่วนตัวที่ปรับเปลี่ยนได้ ณ เวลาที่ส่งสัญญาณบีคอนแรก การโฆษณาบนอินสแตนซ์จะดำเนินต่อไปโดยไม่คำนึงถึงการเชื่อมต่อ สแต็ก BT ของโฮสต์อาจออกคำสั่งเพื่อเริ่มโฆษณาบนอินสแตนซ์ โพสต์การเชื่อมต่อ
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้ตามที่ระบุไว้ในข้อกำหนดของ Bluetooth Core 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
ข้อมูลอ้างอิงพื้นฐาน: ข้อมูลจำเพาะของ Bluetooth Core 4.1 หน้า 969 (LE Set Advertising Data Command)
OCF ย่อย: 0x02
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Advertising_Data_Length |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Data |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Instance |
1 อ็อกเท็ต | ระบุความเกี่ยวข้องของพารามิเตอร์ข้างต้นกับอินสแตนซ์ |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้ตามที่ระบุไว้ในข้อกำหนดของ Bluetooth Core 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
ข้อมูลอ้างอิงพื้นฐาน: ข้อมูลจำเพาะของ Bluetooth Core 4.1 หน้า 970 (LE Set Scan Response Data Command)
OCF ย่อย: 0x03
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Scan_Response_Data_Length |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Scan_Response_Data |
ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Instance |
1 อ็อกเท็ต | ระบุความเกี่ยวข้องของพารามิเตอร์ข้างต้นกับอินสแตนซ์ |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้ตามที่ระบุไว้ในข้อกำหนดของ Bluetooth Core 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
ข้อมูลอ้างอิงพื้นฐาน: ข้อมูลจำเพาะของ Bluetooth Core 4.1 หน้า 963 (LE Set Random Address Command)
OCF ย่อย: 0x04
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
ที่อยู่แบบสุ่ม | ต่อข้อกำหนด | ต่อข้อกำหนด |
Advertising_Instance |
1 อ็อกเท็ต | ระบุความเกี่ยวข้องของพารามิเตอร์ข้างต้นกับอินสแตนซ์ |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Multi_advt_opcode |
1 อ็อกเท็ต | 0x04 [Set_Random_Addr_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Advt_Enabled_Multi_Sub_Cmd
ข้อมูลอ้างอิงพื้นฐาน: ข้อมูลจำเพาะของ Bluetooth Core 4.1 หน้า 971 (คำสั่ง LE Set Advertiseเว็บไซต์เปิดใช้ในข้อกำหนดหลัก)
OCF: 0x05
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Advertising_Enable |
1 อ็อกเท็ต | ค่า 1 หมายถึงเปิดใช้ ค่าอื่นๆ จะหมายถึงปิดใช้ |
Advertising_Instance |
1 อ็อกเท็ต | ระบุความเกี่ยวข้องของพารามิเตอร์ข้างต้นกับอินสแตนซ์ อินสแตนซ์ 0 หมายถึงอินสแตนซ์ HCI มาตรฐาน |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Multi_advt_opcode |
1 อ็อกเท็ต | 0x05 [Set_Advt_Enable_Multi_Sub_Cmd] |
การลดภาระงานส่วนตัวของที่อยู่ส่วนตัว
โดยฟีเจอร์นี้จะแก้ไขที่อยู่ส่วนตัวในเฟิร์มแวร์หรือฮาร์ดแวร์ของตัวควบคุม ซึ่งมีประโยชน์ดังต่อไปนี้
- เวลาในการตอบสนองที่เกี่ยวข้องกับโฮสต์ในการแก้ไขที่อยู่ส่วนตัว
- ประหยัดพลังงานด้วยการละเว้นการปลุกโฮสต์
LE_Set_RPA_ระยะหมดเวลา
OCF: 0x15C
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
LE_local_IRK |
16 อ็อกเท็ต | IRK ของอุปกรณ์ในเครื่องที่ใช้สร้างที่อยู่ที่แปลงได้แบบสุ่ม |
tRPA_min |
2 อ็อกเท็ต |
ระยะหมดเวลาการสร้าง RPA ขั้นต่ำเป็นวินาที ตัวควบคุมต้องสร้างที่อยู่ที่แก้ไขได้ใหม่สำหรับกิจกรรมการโฆษณา/การสแกน/การเชื่อมต่อในหรือหลังจากระยะหมดเวลานี้ ช่วงที่ใช้ได้: 300-1800 |
tRPA_max |
2 อ็อกเท็ต |
ระยะหมดเวลาการสร้าง RPA สูงสุดเป็นวินาที ตัวควบคุมต้องสร้างที่อยู่ที่แก้ไขได้ใหม่สำหรับกิจกรรมการโฆษณา/การสแกน/การเชื่อมต่อในหรือก่อนระยะหมดเวลานี้ ช่วงที่ใช้ได้: tRPA_min -1800
|
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต |
สถานะของคำสั่ง ค่าสถานะ HCI ที่แนะนำ: 0x00 Success 0x01 คำสั่งที่ไม่รู้จัก (หากไม่รองรับ) 0x12 พารามิเตอร์คำสั่งไม่ถูกต้อง (หากมีพารามิเตอร์อยู่นอกช่วงที่กำหนด) |
คำสั่งยกเลิกการโหลด LE_RPA
OCF: 0x155
พารามิเตอร์คำสั่ง | ขนาด | วัตถุประสงค์ |
---|---|---|
RPA_offload_opcode |
1 อ็อกเท็ต |
0x1 - เปิดใช้ฟีเจอร์เฉพาะลูกค้า 0x2 - เพิ่ม IRK ลงในรายการ 0x3 - นำ IRK ออกจากรายการ 0x4 - ล้างรายการ IRK 0x5 - อ่านรายการ IRK |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Event_RPA_offload_opcode |
1 อ็อกเท็ต |
0x1 - เปิดใช้ฟีเจอร์เฉพาะลูกค้า 0x2 - เพิ่ม IRK ลงในรายการ 0x3 - นำ IRK ออกจากรายการ 0x4 - ล้างรายการ IRK 0x5 - อ่านรายการ IRK |
ลดภาระงาน LE_RPA: คำสั่งเปิดใช้ [cust_specific_sub_Command]
OCF ย่อย: 0x01
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
enable_customer_specific_feature_set |
1 อ็อกเท็ต |
0x01 - เปิดใช้ฟีเจอร์ RPA ที่มีการออฟโหลด 0x00 - ปิดใช้ฟีเจอร์ RPA ที่มีการออฟโหลด |
โฮสต์ต้องเปิดใช้การลด RPA ตามความสามารถของชิป โปรดดูที่ LE_Get_Vendor_Capabilities_Command
ชิปแต่ละรายการจะมี max_irk_list_sz
ต่างกันในเฟิร์มแวร์
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Event_cust_specific_feature_opcode |
1 อ็อกเท็ต | 0x01 [เปิดใช้ฟีเจอร์เฉพาะลูกค้า] |
ลดการโหลด LE_RPA: เพิ่ม_IRK_to_list_sub_Command
OCF ย่อย: 0x02
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
LE_IRK |
16 อ็อกเท็ต | LE IRK (LSB 1 ไบต์) |
Address_Type |
1 อ็อกเท็ต |
0: ที่อยู่สาธารณะ 1: ที่อยู่แบบสุ่ม |
LE_Device_Address |
6 อ็อกเท็ต | ที่อยู่สาธารณะหรือที่อยู่แบบสุ่มที่เชื่อมโยงกับ IRK (1 ไบต์ LSB) |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Event_cust_specific_feature_opcode |
1 อ็อกเท็ต | 0x02 [เพิ่ม IRK ลงในรายการ] |
LE_IrkList_AvailableSpaces |
1 อ็อกเท็ต | รายการ IRL ที่ใช้ได้หลังจากการดำเนินการปัจจุบัน |
ลดการโหลด LE_RPA: คำสั่งนำออก_IRK_to_list_sub_
OCF ย่อย: 0x03
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
Address_Type |
1 อ็อกเท็ต |
0: ที่อยู่สาธารณะ 1: ที่อยู่แบบสุ่ม |
LE_Device_Address |
6 อ็อกเท็ต | ที่อยู่สาธารณะหรือที่อยู่แบบสุ่มที่เชื่อมโยงกับ IRK |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Event_cust_specific_feature_opcode |
1 อ็อกเท็ต | 0x03 [ลบ IRK ออกจากรายการ] |
LE_IrkList_AvailableSpaces |
1 อ็อกเท็ต | รายการ IRL ที่ใช้ได้หลังจากการดำเนินการปัจจุบัน |
ลดภาระงาน LE_RPA: คำสั่งล้าง_IRK_list_sub_
OCF ย่อย: 0x04
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
ไม่มี |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Event_cust_specific_feature_opcode |
1 อ็อกเท็ต | 0x04 [รายการ IRK ล้าง] |
LE_IrkList_AvailableSpaces |
1 อ็อกเท็ต |
รายการ IRL ที่ใช้ได้หลังการดำเนินการปัจจุบัน [max_irk_list_sz]
|
ลดภาระงาน LE_RPA: คำสั่งอ่าน_IRK_list_sub_
OCF ย่อย: 0x05
พารามิเตอร์คำสั่งย่อย | ขนาด | วัตถุประสงค์ |
---|---|---|
LE_read_IRK_list_entry-index |
1 อ็อกเท็ต | ดัชนีรายการ IRK [0, max_irk_list_sz-1] |
ระบบจะสร้างเหตุการณ์คำสั่งเสร็จสมบูรณ์สำหรับคำสั่งนี้
พารามิเตอร์การคืนสินค้า | ขนาด | วัตถุประสงค์ |
---|---|---|
Status |
1 อ็อกเท็ต | สถานะคำสั่งเสร็จสมบูรณ์ |
Event_cust_specific_feature_opcode |
1 อ็อกเท็ต | 0x05 [อ่านรายการ IRK] |
LE_Read_IRK_List_entry |
1 อ็อกเท็ต | ดัชนีของ IRK ที่โฮสต์ต้องการอ่านกลับมา (ขนาดรายการ IRK สูงสุดคือ 32) |
LE_IRK |
16 อ็อกเท็ต | ค่า IRK |
Address_Type |
1 อ็อกเท็ต |
0: ที่อยู่สาธารณะ 1: ที่อยู่แบบสุ่ม |
LE_Device_Address |
6 อ็อกเท็ต | ที่อยู่สาธารณะหรือที่อยู่แบบสุ่มที่เกี่ยวข้องกับ IRK |
LE_Resolved_Private_Address |
6 อ็อกเท็ต | ที่อยู่ส่วนตัวที่แก้ไขได้ในปัจจุบันซึ่งแก้ไขได้ของ IRK นี้ |