Ana Makine Denetleyici Arayüzü (HCI), Bluetooth denetleyiciyle etkileşim kurmak için kullanılır.
Bu belgede Bluetooth (BT) ve Bluetooth Düşük Enerji (BLE) HCI gereksinimlerinin listesi sunulmaktadır. Amaç, aşağıda açıklanan özellik grubunu kullanmak için Ana Makine BT yığını tedarikçilerinin ve BT denetleyici tedarikçilerinin bu platform gereksinimlerine uymasıdır.
Bu belgede, "özellikler" olarak Bluetooth Core 5.2 Spesifikasyonundan bahsedilmektedir. Bluetooth Core 5.2 Spesifikasyonu, Bluetooth SIG web sitesinde benimsenen diğer belgelerle birlikte bulunabilir.
Genel tasarıma genel bakış
Çip özellikleri ve yapılandırması
Açık bir platform olan Android'de yazılım sürümleri, OEM'ler ve tedarikçilerin yanı sıra platform ve çip olanaklarından oluşan bir matris vardır.
Bu belgede, değişen ortamı yönetmek ve taşımaları yönetmek için BT kumandalarının yeteneklerini (standart Bluetooth Core 5.2 spesifikasyonunun ötesinde) ortaya çıkarmalarına olanak tanıyan bir tasarım felsefesi açıklanmaktadır. Daha sonra ana makine BT yığını, hangi özelliklerin etkinleştirileceğini belirlemek için bu özellikleri kullanabilir.
Açık standartları destekleme
Android'in amaçlarından biri, bir Bluetooth spesifikasyonunda onaylandıktan sonra açık standartları desteklemektir. Aşağıda açıklanan bir özellik, gelecekteki bir Bluetooth spesifikasyonunda standart HCI yöntemlerinde kullanılabilir hale gelirse bu yaklaşımı varsayılan olarak belirlemeye çalışırız.
Satıcıya özgü özellikler
Tedarikçi firmaya özel komut: LE_Get_Vendor_Capabilities_Command
OpCode Komut Alanı (OCF): 0x153
Komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Boş komut parametresi listesi |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
max_advt_instances (Kullanımdan kaldırıldı) |
1 sekizlik |
Desteklenen reklam örneklerinin sayısı. 0.98 sürümünden sonra ayrılmıştır. Bu parametre, Google özellik spesifikasyonu 0.98 ve üzeri sürümlerde kullanımdan kaldırılmıştır. Bunun yerine, BT spesifikasyonu sürüm 5.0 ve üzeri sürümlerde kullanılabilen LE Genişletilmiş Reklamlar kullanılacaktır. |
offloaded_resolution_of_private-address (Kullanımdan kaldırıldı) |
1 sekizlik |
RPA'nın BT çipi özelliği. Bir çip tarafından destekleniyorsa ana makine tarafından etkinleştirilmesi gerekir. 0 = Uygun değil 1 = Capable 0.98 sürümünden sonra ayrılır. Bu parametre, Google özellik spesifikasyonu v0.98 ve üzeri sürümlerde kullanımdan kaldırılmıştır. Bunun yerine, BT spesifikasyonu sürüm 4.2 ve sonraki sürümlerde kullanılabilen Gizlilik özelliği kullanılacaktır. |
total_scan_results_storage |
2 oktet | Tarama sonuçları için bayt cinsinden depolama alanı |
max_irk_list_sz |
1 sekizlik | Donanım yazılımında desteklenen IRK girişlerinin sayısı |
filtering_support |
1 sekizlik |
Denetleyicide filtreleme desteği 0 = Desteklenmiyor 1 = Destekleniyor |
max_filter |
1 sekizlik | Desteklenen filtre sayısı |
activity_energy_info_support |
1 sekizlik |
Aktivite ve enerji bilgilerinin raporlanmasını destekler 0 = Uygun değil 1 = Uygun |
version_supported |
2 oktet |
Desteklenen Google özellik spesifikasyonunun sürümünü belirtir byte[0] = Büyük sayı byte[1] = Küçük sayı v1.04 byte[0] = 0x01 byte[1] = 0x04 |
total_num_of_advt_tracked |
2 oktet |
OnLost /OnFound amaç için izlenen toplam reklamverenlerin sayısı
|
extended_scan_support |
1 sekizlik | Genişletilmiş tarama penceresini ve aralığını destekler |
debug_logging_supported |
1 sekizlik | Denetleyiciden ikili program hata ayıklama bilgilerinin günlüğe kaydedilmesini destekler |
LE_address_generation_offloading_support (Kullanımdan kaldırıldı) |
1 sekizlik |
0 = Desteklenmiyor 1 = Destekleniyor 0.98 sürümünden sonra ayrılmıştır. Bu parametre, Google özellik spesifikasyonu v0.98 ve üzeri sürümlerde kullanımdan kaldırılmıştır. Bunun yerine, BT spesifikasyonu sürüm 4.2 ve sonraki sürümlerde kullanılabilen Gizlilik özelliği kullanılacaktır. |
A2DP_source_offload_capability_mask |
4 Ekim |
Desteklenen codec türleri için bit maskeleri Bit 0 - SBC Bit 1 - AAC Bit 2 - APTX Bit 3 - APTX HD Bit 4 - LDAC Bit 5-31 ayrılmıştır |
bluetooth_quality_report_support |
1 sekizlik |
Bluetooth kalitesi etkinliklerinin raporlanmasını destekler 0 = Uygun değil 1 = Uygun |
dynamic_audio_buffer_support |
4 oktet |
Bluetooth denetleyicide dinamik ses arabelleğini destekler Desteklenen codec türleri için bit maskeleri Bit 0 - SBC Bit 1 - AAC Bit 2 - APTX Bit 3 - APTX HD Bit 4 - LDAC Bit 5-31 ayrılmıştır |
a2dp_offload_v2_support |
1 sekizlik |
Bluetooth denetleyicide A2dp Offload v2 komutlarını destekler (bkz.
A2DP Boşaltmasını Başlatma,
A2DP Aktarımını Durdurma) 0 = Desteklenmiyor 1 = Destekleniyor |
Tarama sonuçlarını toplu hale getirme
Tasarım hedefi, ana makinede güçten tasarruf etmek için Bluetooth LE Scan Response etkinlik bildirimlerinin ana makineye iletilme şeklini iyileştirmektir.
Denetleyicinin, sonuçları taramak için ana makine uygulama işlemcisini bilgilendirme sıklığını azaltarak ana makine uygulama işlemcisi boşta/uykuda daha uzun süre kalabilir. Bu, ana makinedeki güç tüketimini azaltır. LE_Get_Vendor_Capabilities_Command
öğesinin dönüş parametresi total_scan_results_storage
, tarama sonuçlarının depolanması için çip özelliğini gösterir.
Bu özellik, Bluetooth denetleyicideki LE Scan Results depolama tesisinin yönetimine ve yapılandırılmasına odaklanır. Depolama alanı, geçici olarak toplu reklam verilerini topluca işleme koymak ve denetleyici tarafından alınan veriler ile meta verileri daha sonra ana makineye teslim edilmek üzere taramak için kullanılır.
Donanım yazılımı, aynı anda kullanılabilen iki tür toplu işlemeyi destekleyecektir:
- Kısaltıldı. Şu bilgi öğelerini içerir: {MAC, TX Power, RSSI, Timestamp}
- Dolu. Şu bilgi öğelerini içerir: {MAC, TX Power, RSSI, Timestamp, Adv Data, Scan Response}
LE_Batch_Scan_Command
OCF: 0x156
Komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_opcode |
1 sekizlik |
0x1 - Müşteriye özgü özelliği etkinleştir 0x2 - Toplu Tarama Depolama Alanı parametrelerini ayarlama 0x3 - Toplu Tarama parametrelerini ayarlama 0x4 - Toplu Tarama Sonucu parametrelerini okuma |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur. Müşteriye özgü özellik etkinleştirildiğinde tarama başlamaz.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Batch_Scan_opcode |
1 sekizlik |
0x1 - Müşteriye özgü özelliği etkinleştir 0x2 - Toplu Tarama Depolama Alanı parametrelerini ayarlama 0x3 - Toplu Tarama parametrelerini ayarlama 0x4 - Toplu Tarama Sonucu parametrelerini okuma |
LE_Batch_Scan_Command: Müşteriye Özgü özelliği etkinleştir
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
enable_customer_specific_feature_set |
1 sekizlik |
0x01 - Toplu Tarama özelliğini etkinleştir 0x00 - Toplu Tarama özelliğini devre dışı bırak |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Batch_Scan_opcode |
1 sekizlik |
0x1 - Müşteriye özgü özelliği etkinleştir 0x2 - Toplu Tarama Depolama Alanı parametrelerini ayarlama 0x3 - Toplu Tarama parametrelerini ayarlama 0x4 - Toplu Tarama Sonucu parametrelerini okuma |
LE_Batch_Scan_Command: Toplu Tarama Depolama Parametresi alt komutunu ayarlayın
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_Full_Max |
1 sekizlik |
Tam stil için ayrılmış maksimum depolama alanı (% cinsinden) [Aralık: 0-100] |
Batch_Scan_Truncated_Max |
1 sekizlik |
Kısaltılmış stile ayrılmış maksimum depolama alanı (% cinsinden) [Aralık: 0-100] |
Batch_Scan_Notify_Threshold |
1 sekizlik |
Bireysel depolama alanı havuzu için kurulum bildirim düzeyi (% cinsinden)
[Aralık: 0-100] 0 değerine ayarlanırsa bildirim devre dışı bırakılır. Tedarikçiye özel HCI etkinliği oluşturulur (Depolama eşiği ihlali alt etkinliği) |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Batch_scan_opcode |
1 sekizlik | 0x02 [Toplu Tarama parametrelerini ayarla] |
LE_Batch_Scan_Command: Toplu Tarama Parametresi alt komutunu ayarlayın
Alt OCF: 0x03
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_Mode |
1 sekizlik |
0x00 - Toplu tarama devre dışı 0x01 - Kısaltılmış mod etkin 0x02 - Tam mod etkin 0x03 – Kesik ve Tam mod etkin |
Duty_cycle_scan_window |
4 oktet | Toplu Tarama tarama süresi (# yuva) |
Duty_cyle_scan_interval |
4 oktet | Toplu Tarama aralığı süresi (# yuva) |
own_address_type |
1 sekizlik |
0x00 - Herkese açık cihaz adresi 0x01 - Rastgele cihaz adresi |
Batch_scan_Discard_Rule |
1 sekizlik |
0 - En eski reklamı sil 1 - En zayıf RSSI'ya sahip reklamı silin |
Bu alt komut, etkinleştirilirse toplu taramayı başlatır. Kesik taramada, sonuçlar kısaltılmış stilde benzersiz anahtarın {BD_ADDR,
scan_interval} olduğu durumlarda kısaltılmış biçimde depolanır. Bu nedenle her tarama aralığı için yalnızca bir BD_ADDR will
kaydedilir. Kesik mod için saklanacak kayıt şudur: {BD_ADDR
, Tx Power, RSSI, Zaman Damgası}
Tam mod etkinleştirildiğinde etkin tarama kullanılır ve Tarama Yanıtları kaydedilir. Tam stilde benzersiz anahtar = {MAC, Reklam paketi},
tarama aralığından bağımsız olarak. Tam mod için saklanacak kayıt şudur:
{BD_ADDR
, Tx Power, RSSI, Timestamp, Reklam paketi, Tarama Yanıtı}. Tam stilde, aynı AD paketi farklı tarama aralıklarında birden çok kez görüntülendiğinde yalnızca bir kez kaydedilir. Bununla birlikte, Kesik modda, önemli olan farklı tarama aralıklarında BA_ADDR
öğesinin görünürlüğü (tarama aralığı başına bir kez) olur. RSSI, bir tarama aralığı içindeki benzersiz bir reklamın tüm kopyalarının ortalama değeridir.
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Batch_scan_opcode |
1 sekizlik | 0x03 [Toplu Tarama Parametrelerini Ayarla] |
LE_Batch_Scan_Command: Toplu Tarama Sonuçları alt komutunu oku
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_Data_read |
1 sekizlik |
0x01 – Kesik mod verisi 0x02 – Tam mod verisi |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur. Ana makine bu komutu yayınladığında denetleyicideki tüm sonuçlar tek bir Komut Tamamlama etkinliğine sığmayabilir. Komut tamamlama etkinliğinde ilgili sonuçlar, kayıt sayısında 0 değerini gösterene kadar ana makine bu komutu vermeyi tekrarlayacaktır. Bu, denetleyicinin ana makineye iletişim kuracak başka kaydı olmadığını gösterir. Her bir komut tamamlama etkinliği, yalnızca bir veri türüne (tam veya kesilmiş) ait birden fazla kayıt içerebilir.
Denetleyici ve ana makine zamanı referansları senkronize edilmez. Zaman damgasının birimi 50 ms'dir. Zaman damgasının değeri,
Read_Batch_Scan_Results_Sub_cmd
ana makine tarafından sağlandığı zamana bağlıdır. Donanım yazılımında komut varış zamanı T_c
ise zaman damgasının donanım yazılımında çekildiği gerçek zaman T_fw
şeklindedir. Raporlama zamanı şu şekilde olacaktır:
(T_c
- T_fw
). T_c
ve T_fw
, donanım yazılımı zaman alanında. Bu sayede ana makine, etkinliğin ne kadar zaman önce gerçekleştiğini hesaplayabilir.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Batch_scan_opcode |
1 sekizlik | 0x03 [Toplu Tarama parametrelerini ayarla] |
Batch_Scan_data_read |
1 sekizlik | Biçimi tanımlar (Kesik veya Tam) |
num_of_records |
1 sekizlik | Batch_Scan_data_read kayıt sayısı |
format_of_data |
Değişken |
Truncated Mode: Address[0]: 6 octets [your_pack octets] poltes octets: address_pack1: [octets [octets] address_pack1: num_of_records num_of_records Scan_data_resp
|
Reklam Paketi İçerik Filtresi
Denetleyicide Reklam Paketi İçerik Filtresini (APCF) etkinleştirmek/devre dışı bırakmak/ayarlamak için bunu kullanın. APCF denetleyicide reklam raporlarını filtreler ancak periyodik reklamcılığı filtrelemez.
LE_APCF_Komutu
OCF: 0x157
Komut parametresi | Boyut | Amaç |
---|---|---|
APCF_opcode |
1 sekizlik |
0x00 - APCF Etkinleştir 0x01 için APCF Etkinleştir 0x01 - APCFxAP CFx Hizmet İçin ~CFx0 ve APCF Set Filtresi Genişletilmiş CFxAP CFx Hizmet Şartları - CFx0 ve APCF Set Filtreleme parametreleri 0x02 - APCF Yayınlayıcı Adresi 0x04 - APCF Hizmet Talebi UUID 0x05 - AP AF Yerel Adı 0x05 |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | İade durumu |
APCF_opcode |
1 sekizlik |
0x00 - APCF Etkinleştir 0x01 için APCF Etkinleştir 0x01 - APCFxAP CFx Hizmet İçin ~CFx0 ve APCF Set Filtresi Genişletilmiş CFxAP CFx Hizmet Şartları - CFx0 ve APCF Set Filtreleme parametreleri 0x02 - APCF Yayınlayıcı Adresi 0x04 - APCF Hizmet Talebi UUID 0x05 - AP AF Yerel Adı 0x05 |
LE_APCF_Command: "Enable_sub_cmd"
Alt OCF: 0x00
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_enable |
1 sekizlik |
0x01 - APCF özelliğini etkinleştir 0x00 - APCF özelliğini devre dışı bırak |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x0 - APCF Etkinleştir |
APCF_Enable |
1 sekizlik | Etkinleştirme/devre dışı bırakma ayarı APCF_enable üzerinden yapıldı |
LE_APCF_Command: set_filtering_parameters_sub_cmd
Bu alt komut, bir filtre spesifikasyonu eklemek veya mevcut bir filtre spesifikasyonunu silmek ya da çip üzerinde filtreleme için filtre listesini temizlemek amacıyla kullanılır.
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Delete, belirli filtreyi ve diğer tablolardaki ilişkili özellik girişlerini temizler. Temizle, tüm filtreleri ve diğer tablolardaki ilişkili girişleri temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter-1 ) |
APCF_Feature_Selection |
2 oktet |
Seçilen özellikler için bit maskeleri: Bit 0: Yayın Adresi filtresini etkinleştirecek şekilde ayarlayın Bit 1: Hizmet Verileri Değişikliği filtresini etkinleştirmek için ayarlayın Bit 2: Hizmet UUID'si kontrolünü etkinleştirmek için ayarlayın Bit 3: Hizmet Talebi UUID kontrolünü etkinleştirecek şekilde ayarlayın Bit 4: Yerel Ad kontrolünü etkinleştirecek şekilde ayarlayın Bit 5: Üretici Veri Denetimini etkinleştir: Bit 5: Üretici Veri Denetimini etkinleştir Bit 5: Üretici Veri Denetimini etkinleştir: Bit 5: |
APCF_List_Logic_Type |
2 oktet |
APCF_Feature_Selection içinde belirtilen her özellik seçimi (bit başına) için mantık işlemi.
Yalnızca bir özellik etkinleştirildiğinde geçerlidir. Bit konumu değeri: 0: VEYA 1: VE "VE" mantığı seçilirse bir ADV paketi yalnızca listedeki TÜM girişleri içeriyorsa filtreden geçer. "OR" mantığı seçilirse bir ADV paketi listedeki girişlerden herhangi birini içeriyorsa filtreden geçer. |
APCF_Filter_Logic_Type |
1 sekizlik |
0x00: VEYA 0x01: AND Not: Mantık türü, APCF_Feature_Selection öğesinin ilk üç alanı için Yok ve her zaman "VE" mantığıdır. Yalnızca dört APCF_Feature_Selection alanı (Bit 3 - Bit 6) için geçerlidir.
|
rssi_high_thresh |
1 sekizlik |
[dBm cinsinden] Reklamveren, yalnızca sinyal RSSI yüksek eşiğinden yüksek olduğunda görülüyor olarak kabul edilir. Aksi takdirde, donanım yazılımı hiç görmemiş gibi davranmalıdır. |
delivery_mode |
1 sekizlik |
0x00 - immediate 0x01 - on_found 0x02 - batched
|
onfound_timeout |
2 oktet |
Yalnızca delivery_mode , on_found ise geçerlidir.[milisaniye cinsinden] Donanım yazılımının raporlamadan önce bekleyip ek reklamlar toplaması gerekir. |
onfound_timeout_cnt |
1 sekizlik |
Yalnızca delivery_mode , on_found ise geçerlidir.[count] onFound uygulamasındaki bir reklam onfound_timeout boyunca donanım yazılımında kalırsa birkaç reklam toplar ve bu sayı kontrol edilir. Sayı, onfound_timeout_cnt değerini aşarsa hemen ardından OnFound olarak raporlanır.
|
rssi_low_thresh |
1 sekizlik |
Yalnızca delivery_mode , on_found ise geçerlidir.[dBm cinsinden] Alınan paketin RSSI'si, RSSI alt eşiğinin üzerinde değilse reklamveren paketi görülmedi olarak kabul edilir. |
onlost_timeout |
2 oktet |
Yalnızca delivery_mode , on_found ise geçerlidir.[milisaniye cinsinden] Bulunduktan sonra bir reklam lost_timeout boyunca kesintisiz olarak
görülmezse reklamın derhal kaybolduğu
bildirilir.
|
num_of_tracking_entries |
2 oktet |
Yalnızca delivery_mode , on_found ise geçerlidir.[count] Filtre başına izlenecek toplam reklamveren sayısı. |
RSSI değerleri, negatif değerleri temsil etmek için 2'nin tamamlayıcısını kullanmalıdır.
Ana makine, çeşitli filtre kombinasyonlarını yönetmek için APCF_Application_Address_type
öğesinin 0x02 değerine ayarlandığı (tüm yayıncı adresleri için) birden fazla filtre yapılandırabilmelidir.
Filtreleme, toplu işleme ve raporlama birbiriyle ilişkili kavramlardır. Her reklamın ve ilgili tarama yanıtının birbiri ardına tüm filtrelerden geçmesi gerekir. Bu nedenle, sonuçta elde edilen işlemler (delivery_mode
) filtrelemeyle yakından ilişkilidir. İletim modları şunlardır: report_immediately
, batch
ve onFound
. OnLost
değeri, kaybolduğunda OnFound
sonrasında gelir gibi OnFound
ile ilgilidir.
Bu işleme akışı, kavramsal modeli gösterir:
Bir reklam (veya tarama yanıtı) çerçevesi alındığında, seri sırayla tüm filtrelere uygulanır. Bir reklam, bir filtreye göre anında raporlamaya neden olabilir ve farklı bir filtre işlemi nedeniyle aynı filtrenin gruplandırılmasına neden olabilir.
RSSI seviye eşikleri (yüksek ve düşük), geçerli bir paket denetleyici tarafından alındığında bile çerçevenin filtre işleme için ne zaman görüneceğini kontrol etme olanağı sağlar. İletim modunun hemen veya toplu olarak ayarlanması durumunda, bir çerçevenin RSSI'si denetleyicinin daha fazla işlenmesi için dikkate alınır. Farklı uygulamalar, farklı raporlama ve toplu işlem davranışı gerektirir. Bu, birden fazla uygulamanın aynı anda donanım yazılımında doğrudan raporlamasına ve/veya sonuçları toplu olarak kullanmasına olanak tanır. Bir uygulamada toplu taramanın etkin olduğu ve daha sonra başka bir uygulama tarafından normal bir LE taraması yapıldığı durumlar buna örnek olarak verilebilir. Toplu tarama yapılmadan önce çerçeve/uygulama uygun filtreleri ayarlar. Daha sonra, ikinci uygulama düzenli bir tarama yaptığında önceki toplu işlem devam eder. Ancak normal tarama nedeniyle, LE tarama komutuyla birlikte kavramsal olarak boş filtre (mevcut tüm filtrelerle birlikte) eklemeye benzer. Etkin olduğunda LE tarama komutu parametreleri öncelikli olur. Normal LE taraması devre dışı bırakıldığında kumanda, önceden yapılmış bir toplu taramaya (varsa) geri döner.
OnFound
iletim modu, yapılandırılmış filtrelere dayanır. Bir filtre işleminin başarılı olmasını tetikleyen bir kombinasyon, onLost
için izlenecek varlık olarak kabul edilir. Karşılık gelen etkinlik LE Advt izleme alt etkinliğidir.
Bir filtre için OnFound/OnLost
geçişi (etkinse) aşağıdaki gibi görünür:
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x01 - APCF Filtreleme Parametrelerini Ayarlama |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Filtre tablosundaki kullanılabilir giriş sayısı |
LE_APCF_Command: yayın_adresi_alt_cmd
Bu alt komut, reklamveren adresi eklemek veya silmek ya da çip üzerinde filtreleme için reklamveren adres listesini temizlemek amacıyla kullanılır.
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Delete, belirtilen filtrede belirtilen yayıncı adresini siler. Temizle, belirtilen filtredeki tüm yayıncı adreslerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter-1 ) |
APCF_Broadcaster_Address |
6 sekizli | Yayıncı adresi listesine eklenecek veya listeden silinebilecek 6 baytlık cihaz adresi |
APCF_Application_Address_type |
1 sekizlik |
0x00: Herkese açık 0x01: Rastgele 0x02: NA (adres türünü yoksay) Reklamcılık raporlarını kimlik adresi türlerine (0x02, 0x03) göre filtrelemek için. 0x02 ve 0x03 adres türlerine sahip reklamcılık raporları almak için bu alanı 0x02: Yok (adres türünü yoksay) olarak ayarlayın. |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x02 - APCF Yayıncı Adresi |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Yayın Adresi tablosunda hâlâ kullanılabilir olan ücretsiz giriş sayısı |
LE_APCF_Command: service_uuid_sub_cmd
Bu alt komut, bir hizmet UUID'si eklemek veya mevcut bir UUID'yi silmek ya da çip üzerinde filtreleme için hizmet UUID'si listesini temizlemek amacıyla kullanılır.
Alt OCF: 0x03
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Delete, belirtilen filtrede belirtilen hizmet UUID'sini siler. Temizle, belirtilen filtredeki tüm hizmet UUID'lerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter -1) |
APCF_UUID |
2,4,16 oktet | Listeye ekleme veya listeden silme işlemi için Hizmet UUID'si (16 bit, 32 bit veya 128 bit). |
APCF_UUID_MASK |
2,4,16 oktet |
Listeye eklenecek Hizmet UUID Maskesi (16 bit, 32 bit veya 128 bit).
APCF_UUID. ile aynı uzunlukta olmalıdır
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x03 - APCF Hizmeti UUID'si |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Hizmet UUID'si tablosunda hâlâ mevcut olan ücretsiz giriş sayısı |
LE_APCF_Command: solicitation_uuid_sub_cmd
Bu alt komut, istek UUID'si eklemek veya silmek ya da çip üzerinde filtreleme için talep UUID'si listesini temizlemek amacıyla kullanılır.
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Delete, belirtilen filtredeki istek UUID'sini siler. Temizle, belirtilen filtredeki tüm istek UUID'lerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter -1) |
APCF_UUID |
2,4,16 oktet | Listeye eklenecek veya listeden silinecek Talep UUID'si (16 bit, 32 bit veya 128 bit). |
APCF_UUID_MASK |
2,4,16 oktet |
Listeye eklenecek Talep UUID Maskesi (16 bit, 32 bit veya 128 bit). APCF_UUID ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x04 - APCF Talep UUID'si |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Talep UUID tablosunda hâlâ kullanılabilir olan ücretsiz giriş sayısı |
LE_APCF_Command: yerel_adı_sub_cmd
Bu alt komut, bir yerel ad dizesini eklemek veya silmek ya da çip üzerinde filtreleme için yerel ad dizesi listesini temizlemek amacıyla kullanılır.
Alt OCF: 0x05
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Delete, belirtilen filtrede belirtilen yerel ad dizesini siler. Temizle, belirtilen filtredeki tüm yerel ad dizelerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
Değişken boyut |
Yerel ad için bir karakter dizesi. Notlar:
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x05 - APCF Yerel Adı |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Yerel ad tablosunda hâlâ mevcut olan ücretsiz giriş sayısı |
LE_APCF_Command: manf_data_sub_cmd
Bu alt komut, üretici veri dizesi eklemek veya silmek ya da çip üzerinde filtreleme için üretici veri dizesi listesini temizlemek amacıyla kullanılır.
Alt OCF: 0x06
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Sil, belirtilen filtrede belirtilen üretici veri dizesini siler. Temizle, belirtilen filtredeki tüm üretici veri dizelerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre Dizini (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
Değişken boyut |
Üretici verileri için bir karakter dizesi. Notlar:
|
APCF_ManData_Mask |
Değişken boyut |
Listeye eklenecek üretim veri maskesi. APCF_LocName_or_ManData_or_SerData ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x06 - APCF Üretici Verileri |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Üretici Verileri tablosunda hâlâ mevcut olan ücretsiz giriş sayısı |
LE_APCF_Command: service_data_sub_cmd
Bu alt komut, bir hizmet verileri dizesini eklemek veya silmek ya da çip üzerinde filtreleme için hizmet verileri dizesi listesini temizlemek amacıyla kullanılır.
Alt OCF: 0x07
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Delete, belirtilen filtrede belirtilen hizmet verileri dizesini siler. Temizle, belirtilen filtredeki tüm hizmet verisi dizelerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre Dizini (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
Değişken boyut |
Hizmet verileri için bir karakter dizesi. Notlar:
|
APCF_LocName_Mandata_or_SerData_Mask |
Değişken boyut |
Listeye eklenecek hizmet verileri maskesi. APCF_LocName_or_ManData_or_SerData. ile aynı uzunlukta olmalıdır
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x07 - APCF Hizmet Verileri |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Hizmet Verileri tablosu için hâlâ kullanılabilir olan ücretsiz giriş sayısı |
LE_APCF_Command: ad_type_sub_cmd
Bu alt komut, bir AD türünü eklemek veya silmek ya da çip üzerinde filtreleme için bir AD türü listesini temizlemek amacıyla kullanılır. Bu komutun desteklenip desteklenmediğini kontrol etmek için read_extended_features_sub_cmd
işlevini kullanın.
APCF_AD_DATA_Length
0 olduğunda AD Verileri ile AD Veri Maskesini karşılaştırmadan APCF_AD_TYPE
filtresini filtreleyin.
Alınan ADV paketinin veri uzunluğu AD_DATA_LENGTH
değerini aşıyorsa AD verilerinin yalnızca ilk AD_DATA_LENGTH
baytını karşılaştırın ve kalan verileri yoksayın.
Alt OCF: 0x09
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Delete, belirtilen filtrede belirtilen AD türünü siler. Temizle, belirtilen filtredeki tüm AD türlerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre Dizini (0, max_filter -1) |
APCF_AD_TYPE |
1 sekizlik | Listeye ekleme veya listeden silme işlemi için kullanılan AD Türü. APCF_Action 0x02 olduğunda yoksay (Temizle) |
APCF_AD_DATA_Length |
1 sekizlik |
0x00 - veri içeriğinin filtrelenmemesi anlamına gelirAPCF_Action 0x02 olduğunda yoksay (Temizle)
|
APCF_AD_DATA |
Değişken boyut |
APCF_AD_DATA_Length temel alınarak değişken boyutluAPCF_Action 0x02 olduğunda yoksay (Temizle) |
APCF_AD_DATA_MASK |
Değişken boyut |
APCF_AD_DATA_Length ölçütüne göre değişken boyutluAPCF_Action 0x02 olduğunda yoksay (Temizle)Uzunluğu APCF_AD_DATA ile aynı olmalıdır.
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0x09 - APCF REKLAM Türü |
APCF_Action |
1 sekizlik | Echo geri komutunun APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | REKLAM Türü tablosunda hâlâ mevcut olan ücretsiz giriş sayısı |
LE_APCF_Command: "read_extended_features_sub_cmd"
Bu alt komut, genişletilmiş APCF özelliklerini okumak için kullanılır.
Alt OCF: 0xFF
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Geçerli değil | Boş komut parametresi. |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
APCF_opcode |
1 sekizlik | 0xFF - APCF_Okuma_Genişletilmiş_Özellikler |
APCF_extended_features |
2 sekizli |
Desteklenen genişletilmiş özellikler için bit maskeleri:
Bit değeri
|
Denetleyici etkinliği ve enerji bilgileri komutu
Bu bilgilerin amacı, daha yüksek ana makine sistem işlevlerinin, BT denetleyicisi ve makro durumu da dahil olmak üzere tüm bileşenlerin toplam etkinliklerini, uygulamalarda ve çerçevede olanlarla birlikte analiz etmesidir. Bunun için BT yığınından ve kumandadan aşağıdaki bilgiler gerekir:
- BT yığını: Denetleyicinin mevcut makro işlem durumunu raporlama
- Donanım yazılımı: Toplu etkinliği ve enerji bilgilerini raporlama
Kullanıcı düzeyinde belirlenen BT ana makine yığını makro durumları:
- Boşta: [sayfa tarama, LE advt, sorgu taraması, LE taraması]
- Tara: [sayfalama/sorgu/bağlanmaya çalışıyorum]
- Etkin: [ACL bağlantısı açık, SCO bağlantısı devam ediyor, algılama modu]
Kumandanın kullanım ömrü boyunca izlediği aktiviteler; işlem süresi, Rx süresi, boşta kalma süresi ve toplam enerjidir. Bu dosyalar, ana makineden okunduğunda temizlenir.
LE_Get_Controller_Etkinlik_Enerji_Bilgileri
Bu, tedarikçi firmaya özel bir komuttur.
OCF: 0x159
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Boş komut parametreleri |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
total_tx_time_ms |
4 oktet | Gerçekleşen toplam işlem süresi |
total_rx_time_ms |
4 oktet | Rx gerçekleştiren toplam süre |
total_idle_time_ms |
4 oktet | Boşta kalma süresi (uykusuz, düşük güç durumları) |
total_energy_used |
4 oktet | Kullanılan toplam enerji [akım çarpımı (mA), gerilim (V) ve süre (ms)] |
LE genişletilmiş set tarama parametreleri komutu
Bu komut, kumandada daha büyük bir tarama penceresi ve daha geniş bir tarama aralığı etkinleştirmek için kullanılabilir. BT Core 5.2 Spesifikasyonuna göre, tarama penceresi ve aralığının üst sınır sınırı 10,24 saniyedir. Bu durum, uygulamaların 10,24 saniyeden uzun tarama aralıklarını engeller.
Temel referans: BT Core 5.2 Spesifikasyonu, sayfa 2493 (LE Set Scan Parameters Komutu)
OCF: 0x15A
Komut Parametresi | Boyut | Amaç |
---|---|---|
LE_Ex_Scan_Type |
1 sekizlik |
0x00 - Pasif tarama. SCAN_REQ paketi gönderilemez (varsayılan).0x01 - Etkin tarama. SCAN_REQ paket gönderilebilir.
|
LE_Ex_Scan_Interval |
4 oktet |
Denetleyicinin son LE taramasını başlattığından sonraki LE taramasına kadar geçen zaman aralığı olarak tanımlanır. Aralık: 0x0004 - 0x00FFFFFF Varsayılan: 0x0010 (10 ms) Süre = N * 0,625 ms Zaman aralığı: 2,5 ms - 10.442,25 saniye |
LE_Ex_Scan_Window |
4 oktet |
LE taramasının süresi. LE_Scan_Window , LE_Scan_Interval değerinden küçük veya buna eşit olmalıdır.
Aralık: 0x0004 - 0xFFFF Varsayılan: 0x0010 (10 ms) Süre = N * 0,625 ms Zaman Aralığı: 2,5 ms - 40,95 saniye |
Own_Address_Type |
1 sekizlik |
0x00 - Herkese Açık Cihaz Adresi (varsayılan) 0x01 - Rastgele Cihaz Adresi |
LE_Ex_Scan_Filter_Policy |
0x00 - Tüm reklam paketlerini kabul et (varsayılan). Bu cihaz için gönderilmeyen Yönlendirilmiş reklam paketleri yoksayılacaktır. 0x01 - Yalnızca Beyaz Liste listesinde olmayan cihazlardan gelen reklam paketlerini yoksay. Bu cihaz için hedeflenmeyen Yönlendirilmiş reklam paketleri yoksayılacaktır. |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Denetleyici hata ayıklama bilgisi komutunu al
Bu bilgi öğesinin amacı, işlem sonrası ve analiz için denetleyici hata ayıklama bilgilerini bir ana makineden ikili biçimde almaktır. Bu sayede sahadaki sorunlarda hata ayıklamaya yardımcı olur ve mühendislere, bilgileri analiz için günlüğe kaydedebilecekleri bir araç seti sağlanır. Denetleyiciler, ana makine tarafından etkinlik (Denetleyici Hata Ayıklama Bilgileri alt etkinliği) aracılığıyla istendiğinde veya denetleyici tarafından istendiğinde bağımsız olarak bu bilgileri sağlayabilir. Donanım yazılımı durumu bilgilerini, kilitlenme dökümü bilgilerini, günlük kaydı bilgilerini vb. raporlamak örnek kullanımlar olabilir.
OCF: 0x15B
Komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Boş komut parametresi listesi |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
A2DP Donanım Kaldırma Desteği
A2DP Boşaltma özelliği, A2DP ses kodlama işleminin BT Denetleyici'ye bağlı bir ses işlemcisine yüklenmesini destekler. Kodlanmış ses veri akışı, BT ana makinesinin müdahalesi olmadan doğrudan Ses işlemcisinden BT Denetleyicisi'ne geçer. BT ana makinesi, A2DP oturumunun yapılandırmasından ve kontrolünden hâlâ sorumludur. Komutların iki sürümü mevcuttur. Sub OCF 0x01-0x02 içeren eski komutlar yalnızca açık kaynak codec'leri destekler. Sub-OCF 0x02-0x03 içeren sürümler, yapılandırılmış codec'ten bağımsızdır.
OCF: 0x15D
A2DP Boşluğunu Başlat (eski)
Alt OCF: 0x01
A2DP Boşaltma işlemini yapılandırmak ve A2DP akışını başlatmak için bu komutu kullanın.
Komut parametresi | Boyut | Amaç |
---|---|---|
Codec |
4 oktet |
Codec türünü belirtir 0x01 - SBC 0x02 - AAC 0x04 - APTX 0x08 - APTX HD 0x10 - LDAC |
Max_Latency |
2 oktet | İzin Verilen Maksimum Gecikme (ms olarak). Sıfır değeri, boşaltmayı devre dışı bırakır. |
SCMS-T_Enable |
2 oktet |
0 Ekim: SCMS-T üstbilgisinin eklenmesini sağlayan işaret.
1. Ekim: Etkinleştirildiğinde SCMS-T başlığının değeri. |
Sampling_Frequency |
4 oktet |
0x01 - 44.100 Hz 0x02 - 48.000 Hz 0x04 - 88.200 Hz 0x08 - 96.000 Hz |
Bits_Per_Sample |
1 sekizlik |
Örnek başına 0x01 - 16 bit Örnek başına 0x02 - 24 bit 0x04 - örnek başına 32 bit |
Channel_Mode |
1 sekizlik |
0x01 - Mono 0x02 - Stereo |
Encoded_Audio_Bitrate |
4 oktet |
Saniye başına bit cinsinden kodlanmış ses bit hızı. 0x00000000 - Ses bit hızı belirtilmemiş / unused. 0x00000001 - 0x00FFFFFF - Saniye başına bit cinsinden kodlanmış ses bit hızı. 0x01000000 - 0xFFFFFFFF - Ayrılmış. |
Connection_Handle |
2 oktet | Yapılandırılan A2DP bağlantısının Bağlantı işleyicisi |
L2CAP_Channel_ID |
2 oktet | Bu A2DP bağlantısı için kullanılacak L2CAP Kanal Kimliği |
L2CAP_MTU_Size |
2 oktet | Kodlanmış ses paketleri içeren maksimum L2CAP MTU boyutu |
Codec_Information |
32 oktet |
Codec'e Özel Bilgiler.
SBC Codec'i:
A2DP v1.3'te SBC Codec'e özgü bilgi öğelerine bakın. AAC Codec:
A2DP v1.3'te AAC Codec'e özgü bilgi öğelerine bakın LDAC Codec'i:
0-3 Ekim: Tedarikçi kimliği
4-5 Ekim: Codec Kimliği
6. Ekim: Bit Hızı İndeksi:
7 Ekim: LDAC Kanal Modu 8-31 Ekim: ayrılmış Diğer tüm codec'ler: 0-31 Ekim: ayrılmış |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Sub_Opcode |
1 sekizlik | 0x01 - A2DP Aktarımını Başlat |
A2DP Boşluğunu Başlat
Alt OCF: 0x03
A2DP Boşaltma işlemini yapılandırmak ve A2DP akışını başlatmak için bu komutu kullanın.
Komut parametresi | Boyut | Amaç |
---|---|---|
Connection Handle |
2 oktet | Etkin HCI bağlantısının herkese açık kullanıcı adı |
L2CAP_Channel_ID |
2 oktet | A2DP akışı için açılan L2CAP kanalının tanımlayıcısı |
Data_Path_Direction |
1 sekizlik |
0x00 - Çıkış (AVDTP Kaynağı/Birleştirme) 0x01 - Giriş (AVDTP Havuz/Bölünmüş) |
Peer_MTU |
2 oktet | Eşle üzerinde anlaşılan, L2CAP paketinin maksimum boyutu. |
CP_Enable_SCMS_T |
1 sekizlik |
0x00 - SCMS-T İçerik Koruma Başlığını devre dışı bırak 0x01 - SCMS-T İçerik Koruma Başlığını etkinleştir |
CP_Header_SCMS_T |
1 sekizlik |
SCMS-T İçerik Koruma Başlığı etkinleştirildiğinde (CP_SCMS_T_Enable
0x01 olarak ayarlanırsa), Bluetooth
Atanan Numaraları, bölüm 6.3.2'de tanımlandığı şekilde ses içeriğinden (A2DP, bölüm 3.2.1-2'ye bakın) önce gelen başlık değerini
tanımlar.SCMS-T İçerik koruması etkinleştirilmediğinde yoksayılır. |
Vendor_Specific_Parameters_Length |
1 sekizlik |
Tedarikçiye Özel Parametrelerin uzunluğu, 0-128 aralığındadır. Ek parametre sağlanmadığında 0 değeri kullanılır. |
Vendor_Specific_Parameters |
0-128 sekizlik |
Bluetooth Ses HAL tarafından sağlanan Satıcıya Özel Parametreler,
CodecParameters.vendorSpecificParameters[] .
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Sub_Opcode |
1 sekizlik | 0x03 - A2DP Boşluğunu Başlatma |
A2DP Aktarımını Durdur (eski)
Alt OCF: 0x02
Bu komut, A2DP Boşaltma akışını durdurmak için kullanılır.
Komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Komut parametresi listesi boş. |
Bu komut için parametre tanımlı değil.
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Sub_Opcode |
1 sekizlik | 0x02 - A2DP Boşluğunu Durdurma |
A2DP Boşluğunu Durdur
Alt OCF: 0x04
Bu komut, A2DP Boşaltma akışını durdurmak için kullanılır.
Komut parametresi | Boyut | Amaç |
---|---|---|
Connection Handle |
2 oktet | Etkin HCI bağlantısının herkese açık kullanıcı adı |
L2CAP_Channel_ID |
2 oktet | A2DP akışı için açılan L2CAP kanalının tanımlayıcısı |
Data_Path_Direction |
1 sekizlik |
0x00 - Çıkış (AVDTP Kaynağı/Birleştirme) 0x01 - Giriş (AVDTP Havuz/Bölünmüş) |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Sub_Opcode |
1 sekizlik | 0x04 - A2DP Boşluğunu Durdurma |
Bluetooth Kalite Raporu komutu
BT Kalite Raporu komut özelliği, Bluetooth kalitesi etkinliklerini ana makineye bildirmek için Bluetooth denetleyicide mekanizma başlatır. Dört seçeneği etkinleştirebilirsiniz:
- Kalite İzleme Modu: Denetleyici, ana makineye düzenli aralıklarla Bağlantı Kalitesi ile ilgili bir BQR alt etkinliği gönderir.
- LSTO'ya yaklaşılıyor: Bağlı BT cihazından Bağlantı Gözetimi Zaman Aşımı (LSTO) değerinin yarısından uzun bir süre boyunca hiçbir paket alınmazsa kumanda, ana makineye Yaklaşılan LSTO etkinliği bildirir.
- A2DP Seste Kesinti: Kumanda, sesin kesik olmasına yol açan faktörler algıladığında ana makineye bir A2DP Ses Değişken etkinliği bildirir.
- (e)SCO Seste Kesinti: Kumanda sesin kesik olmasına yol açan faktörler algıladığında (e)SCO Ses Kesintili etkinliği bildirir.
- Kök Enflamasyonu: Bu etkinlik, HAL veya kumanda önemli bir hatayla karşılaştığında ve Bluetooth'un yeniden başlatılması gerektiğinde denetleyici tarafından yığına gönderilir.
- LMP/LL mesaj izleme: Denetleyici, uzak cihazla el sıkışarak LMP/LL mesajını ana makineye gönderir.
- Bluetooth Çoklu Profil/Coex planlama izi: Kumanda, birden fazla Bluetooth profilinin ve 2,4 Ghz bandındaki kablosuz birlikte kullanımla ilgili planlama bilgilerini ana makineye gönderir.
- Denetleyici Hata Ayıklama Bilgileri mekanizması: Etkinleştirildiğinde denetleyici, Denetleyici hata ayıklama bilgileri alt etkinliği aracılığıyla hata ayıklama günlük bilgilerini otomatik olarak ana makineye bildirebilir.
- LE Audio Kesintili: Kumanda, sesin kesintili olmasına yol açan faktörler algıladığında ana makineye bir LE Audio Kesintili etkinliği bildirir.
-
Gelişmiş RF İstatistikleri modu: Kumanda, RF istatistikleriyle ilgili bilgileri ana makineye bildirerek aşağıdaki iki kullanım alanını destekler:
- Periyodik raporlar
- Etkinlik tetikleyicileri (akış başlatma/durdurma ve bağlantı kalitesi etkinlik tetikleyicisi).
- Bluetooth Kalite Raporu Komutunun BQR_Rapor_İşlemi: Ana makine bu HCI komutunu kalite izleme modu, enerji izleme modu veya gelişmiş RF istatistik modu için tek seferlik bir sorgu almak için kullanabilir.
OCF: 0x15E
Komut parametresi | Boyut | Amaç |
---|---|---|
BQR_Report_Action |
1 sekizlik |
BQR_Quality_Event_Mask parametresinde ayarlanan kalite etkinliklerinin raporlanmasını
ekleme / silme veya tümünü temizleme işlemi.
0x00 - Ekle
Silme işlemi, belirli kalite etkinliklerinin raporlarını temizler. |
BQR_Quality_Event_Mask |
4 oktet |
Seçilen kaliteli etkinlik raporlaması için bit maskeleri.
Bit 0: Kalite izleme modunu etkinleştirecek şekilde ayarlayın. |
BQR_Minimum_Report_Interval |
2 oktet |
Seçilen kalite etkinlikleri için kaliteli etkinlik raporlamasında minimum zaman aralığını tanımlayın. Denetleyici Donanım Yazılımı, tanımlanan zaman aralığı içinde bir sonraki etkinliği raporlamamalıdır. Aralık ayarı, eklenmekte olan kalite etkinliklerine bağlı olmalı ve bunlara özel olmalıdır.
Birim: ms |
BQR_Vendor_Specific_Quality_Event_Mask |
4 oktet |
Seçilen tedarikçiye özel kalite etkinliği raporlaması için bit maskeleri. Bu parametre yalnızca BQR_Quality_Event_Mask öğesinin bit 15'i ayarlandığında geçerlidir.
Bit 0 ~ 31: Ayrılmış. |
BQR_Vendor_Specific_Trace_Mask |
4 oktet |
Seçilen tedarikçiye özel iz raporlaması için bit maskeleri. Bu parametre yalnızca BQR_Quality_Event_Mask öğesinin bit 31'i ayarlandığında geçerlidir.
Bit 0 ~ 31: Ayrılmış. |
Report_interval_multiple |
4 oktet |
BQR_Minimum_Report_Interval çarpanı. Bu değer >= 1 olduğunda, BQR Rapor Aralığı şu biçimde olur: BQR Rapor Aralığı = BQR_Minimum_Rapor_Interval x Report_interval_Multiple. Denetleyici Donanım Yazılımı, tanımlanan zaman aralığı içinde bir sonraki etkinliği bildirmemelidir. Aralık ayarı özellikle eklenen kalite etkinlikleri için ayrılmıştır.
Birim: ms BQR_Report_Interval ayarı kumandanın kapasitesinden büyükse kumanda, komut tamamlandığında maksimum BQR_Report_Interval süresini döndürmelidir.
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Current_Quality_Event_Mask |
4 oktet |
Geçerli bit maskesi ayarını gösterir. Bit 0: Kalite izleme modu etkindir. Bit 1: LSTO etkinlik raporlamasına yaklaşılma etkin. Bit 2: A2DP Ses Değişken etkinlik raporlaması etkin. Bit 3: (e)SCO Ses Değişken etkinlik raporlaması etkin. Bit 4: Kök enflamasyon etkinliği raporlaması etkin. Bit 5: Enerji izleme modu etkindir. Bit 6: LE ses değişken etkinlik raporlaması etkin. Bit 7: Bağlantı başarısız etkinliği. Bit 8: Gelişmiş RF İstatistikleri modu etkinlik tetikleyicisini etkinleştirecek şekilde ayarlayın. Bit 9: Gelişmiş RF İstatistiklerinin düzenli aralıklarla raporlanmasını etkinleştirecek şekilde ayarlayın. Bit 10 ~ 14: Ayrılmış. Bit 15: Tedarikçiye özgü kalite etkinlik raporlaması etkindir. Bit 16: LMP/LL ileti izleme etkindir. Bit 17: Bluetooth çoklu bağlantı/Coex planlama izlemesi etkin. Bit 18: Denetleyici Hata Ayıklama Bilgileri mekanizması etkin. Bit 19 ~ 30: Ayrılmış. Bit 31: Tedarikçiye özel izleme etkindir. |
Current_Vendor_Specific_Quality_Event_Mask |
4 oktet | Geçerli bit maskesi ayarını gösterir. |
Current_Vendor_Specific_Trace_Mask |
4 oktet | Geçerli bit maskesi ayarını gösterir. |
BQR_Report_interval |
4 oktet | Geçerli bit maskesi ayarını gösterir. |
Current_Vendor_Specific_Trace_Mask |
4 oktet |
BQR_Report_interval ayarı. BQR_Minimum_report_Interval * Report_interval_Multiple veya denetleyicinin maksimum destek aralığı arasında olması gereken minimum değer olmalıdır. |
Dinamik Ses Arabelleği komutu
Dinamik Ses Arabelleği, çeşitli senaryolara göre Bluetooth denetleyicideki ses arabelleği boyutunu değiştirerek ses kesintilerini azaltır.
OCF: 0x15F
Ses arabellek süresi özelliği alın
Alt OCF: 0x01
Bluetooth denetleyiciden ses arabellek süresi özelliğini almak için bu komutu kullanın.
Komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Boş komut parametresi listesi |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Dynamic_Audio_Buffer_opcode |
1 sekizlik | 0x01 - Ses arabellek süresini alma |
Audio_Codec_Type_Supported |
4 oktet |
Desteklenen codec türleri için bit maskeleri Bit 0 - SBC Bit 1 - AAC Bit 2 - APTX Bit 3 - APTX HD Bit 4 - LDAC Bit 5-31 ayrılmıştır |
Audio_Codec_Buffer_Default_Time_For_Bit_0 |
2 oktet |
Audio_Codec_Type_Supported bölümünde belirtilen Bit 0 codec türünün varsayılan arabellek süresi. Bit 0 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 |
2 oktet |
Audio_Codec_Type_Supported bölümünde belirtilen Bit 0 codec türünün maksimum arabellek süresi. Bit 0 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 |
2 oktet |
Audio_Codec_Type_Supported etiketinde belirtilen Bit 0 codec türünün minimum arabellek süresi. Bit 0 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Default_Time_For_Bit_1 |
2 oktet |
Audio_Codec_Type_Supported bölümünde belirtilen Bit 1 codec türünün varsayılan arabellek süresi. Bit 1 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 |
2 oktet |
Audio_Codec_Type_Supported bölümünde belirtilen Bit 1 codec türünün maksimum arabellek süresi. Bit 1 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 |
2 oktet |
Audio_Codec_Type_Supported bölümünde belirtilen Bit 1 codec türünün minimum arabellek süresi. Bit 1 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
...... | ...... | ...... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 |
2 oktet |
Audio_Codec_Type_supported bölümünde belirtilen Bit 31 codec türünün varsayılan arabellek süresi. Bit 31 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 |
2 oktet |
Audio_Codec_Type_Supported bölümünde belirtilen Bit 31 codec türünün maksimum arabellek süresi. Bit 31 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 |
2 oktet |
Audio_Codec_Type_Supported bölümünde belirtilen Bit 31 codec türünün minimum arabellek süresi. Bit 31 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Ses arabellek süresini ayarlayın
Alt OCF: 0x02
Ses arabellek süresini Bluetooth denetleyiciye ayarlamak için bu komutu kullanın.
Komut parametresi | Boyut | Amaç |
---|---|---|
Audio_Codec_Buffer_Time |
2 oktet |
Kullanılan mevcut codec için istenen ses arabellek süresi. Birim: ms |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Dynamic_Audio_Buffer_opcode |
1 sekizlik | 0x02 - Ses arabellek süresini ayarla |
Audio_Codec_Buffer_Time |
2 oktet |
Bluetooth denetleyicideki mevcut ses arabellek süresi. Birim: ms |
HCI etkinliği (sağlayıcıya özel)
Bazı durumlarda tedarikçi firmaya özel HCI etkinlikleri gereklidir. BT Core 5.2 Spesifikasyonu'nun 1897. sayfasındaki Şekil 5.4'e bakın. Etkinlik parametresi 0, her zaman HCI etkinliğinin geri kalanının çözüldüğü ilk alt etkinlik kodunu içerir.
Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
HCI_vendor_specific_event_code |
1 sekizlik | 0xFF |
sub_event_code |
1 sekizlik | Alt etkinlik kodunun boyutu 1 sekizlik olur ve bayt, HCI etkinlik paketinde Parametre Uzunluğu'nun hemen ardından gelir. |
Depolama alanı eşiği ihlali alt etkinliği
Bu etkinlik, depolama alanı eşiğinin aşıldığını gösterir.
Alt etkinlik kodu = 0x54
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Yok |
LE çoklu reklamcılık durum değişikliği alt etkinliği
Bu etkinlik, bir reklamcılık örneğinin durumunun değiştiğini gösterir. Şu anda bu etkinlik yalnızca bağlantı sonucunda hangi reklam örneğinin durdurulduğunu belirtmek için kullanılmaktadır.
Alt etkinlik kodu = 0x55
Alt etkinlik parametresi | Boyut | Amaç |
---|---|---|
Advertising_instance |
1 sekizlik |
Belirli bir reklam örneğini tanımlar Geçerli değerler 0 ile max_advt_instances -1 arasındadır
|
State_Change_Reason |
1 sekizlik | 0x00: Bağlantı alındı |
Connection_handle |
2 oktet |
advt örneğinin devre dışı bırakılmasına neden olan bağlantıyı tanımlar (geçersizse 0xFFFF)
|
LE reklam izleme alt etkinliği
Bu etkinlik, reklamverenin bulunduğunu veya kaybolduğunu gösterir.
Alt etkinlik kodu = 0x56
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
APCF_Filter_Index |
1 sekizlik | Filtre Dizini (0, max_filter -1) |
Advertiser_State |
1 sekizlik |
0x00: Reklamveren bulundu 0x01: Reklamveren kaybetti |
Advt_Info_Present |
1 sekizlik |
0x00: Reklamveren bilgileri (Advt_Info ) mevcut0x01: Reklamveren bilgileri ( Advt_Info ) yok
|
Advertiser_Address |
6 oktet | Herkese açık veya rastgele adres |
Advertiser_Address_Type |
1 sekizlik |
0x00: Genel adres 0x01: Rastgele adres |
Advt_Info |
Tx_Pwr[0] : 1 sekizlikRSSI[0] : 1 sekizlikTimestamp[0] : 2 sekizlikAdv packet_len[0] : 1 sekizlikAdv_packet[0] : Adv_packet_len sekizlikScan_data_resp_len[0] : 1 sekizlikScan_data_resp[0] : Scan_data_resp sekizlik
|
Denetleyici hata ayıklama bilgileri alt etkinliği
Bu etkinlik, bir Denetleyici tarafından ana makineye ikili program hata ayıklama bilgileri sağlamak için kullanılır.
Alt etkinlik kodu = 0x57
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
debug_block_byte_offset_start |
2 oktet | Başlangıçtan itibaren blok bayt farkı hatalarını ayıkla |
last_block |
1 sekizlik |
0x00: Daha fazla hata ayıklama verisi mevcut 0x01: Son ikili program bloğu; daha fazla hata ayıklama verisi yok |
cur_pay_load_sz |
2 oktet | Geçerli bir etkinlikteki ikili blok boyutu |
Debug_Data |
Değişken | cur_payload_sz verilerinde hata ayıklama |
Bluetooth Kalite Raporu alt etkinliği
Bu etkinlik şunlardan birini gösterir: Bluetooth kalite etkinliği meydana geldi, kumanda, LMP/LL mesaj izlemeyi ve Bluetooth çoklu bağlantı/Coex planlama takibini yükledi ya da denetleyici dökümü için hata ayıklama bilgisi verileri kullanıyor.
Alt etkinlik kodu = 0x58 [Quality_Rapor_kimliği = 0x01 ~ 0x04, Bağlantı Kalitesi ile ilgili etkinlik]
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Quality_Report_Id |
1 sekizlik |
0x01: İzleme modunda kalite raporlaması. 0x02: LSTO'ya yaklaşılıyor. 0x03: A2DP Ses Kesikliği. 0x04: (e)SCO Değişken Ses. 0x05 ~ 0x06: Ayrılmış. 0x07: LE ses kesik kesik. 0x08: Bağlantı başarısız. 0x09 ~ 0xFF: Ayrılmış. |
Packet_Types |
1 sekizlik |
{/0} |
Connection_Handle |
2 oktet | ACL/(e)SCO/ISO bağlantı işleyicisi. |
Connection_Role |
1 sekizlik |
Bağlantı için rol gerçekleştiriliyor. 0x00: Merkezi 0x01: Çevre birimi 0x02 ~ 0xFF: Ayrılmış. |
TX_Power_Level |
1 sekizlik |
Belirtilen Connection_Handle' için geçerli aktarım gücü seviyesi.
Bu değer, kumandanın HCI_Read_Transmit_Power_Level HCI komutuna verdiği yanıtla aynı olmalıdır. |
RSSI |
1 sekizlik |
[dBm cinsinden]
Belirtilen Connection_Handle' için Sinyal Gücü Göstergesi (RSSI) değeri alındı. |
SNR |
1 sekizlik |
[dB cinsinden]
Belirtilen Connection_Handle'ın Sinyal-Gürültü Oranı (SNR) değeri. |
Unused_AFH_Channel_Count |
1 sekizlik |
AFH_channel_map'deki kullanılmayan kanalların sayısını belirtir. 0x4F ~ 0xFF: Ayrılmış. |
AFH_Select_Unideal_Channel_Count |
1 sekizlik |
Engellenen ve kalitesi düşük olan ancak AFH için seçilen kanalların sayısını belirtir. Bluetooth spesifikasyonunun izin verdiği minimum kanal sayısı 20'dir. Bu nedenle, 79 kanalın hepsi parazitlenmiş ve düşük kaliteye sahip olsa bile kumandanın AFH için en az 20 kanal seçmesi gerekir. |
LSTO |
2 oktet |
Geçerli Bağlantı Gözetimi Zaman Aşımı Ayarı. Süre = N * 0,625 ms Zaman Aralığı: 0,625 ms - 40,9 sn |
Connection_Piconet_Clock |
4 oktet |
Belirtilen Connection_Handle' için Piconet Saati. Bu değer, denetleyicinin HCI_Read_Clock HCI komutuna verdiği yanıtta 0x01 (Piconet Clock) parametresi "What_Clock" parametresiyle aynı olmalıdır. Birim: N * 0,3125 ms (1 Bluetooth Saat) |
Retransmission_Count |
4 oktet |
Son etkinlikten bu yana yapılan yeniden iletim sayısı. Bu sayı, ana makineye bildirildikten sonra sıfırlanır. |
No_RX_Count |
4 oktet |
Son etkinlikten bu yana RX sayısı yok. Planlanan zaman aralığında hiçbir paket alınmadığında veya alınan paket bozuk olduğunda sayı artar. Bu sayı, ana makineye bildirildikten sonra sıfırlanır. |
NAK_Count |
4 oktet |
Son etkinlikten bu yana NAK (Negatif Onay) sayısı. Bu sayı, ana makineye bildirildikten sonra sıfırlanır. |
Last_TX_ACK_Timestamp |
4 oktet |
Son TX ACK'nın zaman damgası. piconet center'ın (CLK) Bluetooth Saati'ne dayanır. Birim: N * 0,3125 ms (1 Bluetooth Saat) |
Flow_Off_Count |
4 oktet |
Denetleyicinin, son etkinlikten bu yana akıştan (STOP) bu yana kaç kez akış aldığı. Bu sayı, ana makineye bildirildikten sonra sıfırlanır. |
Last_Flow_On_Timestamp |
4 oktet |
Son akışın (GO) zaman damgası. piconet center'ın (CLK) Bluetooth Saati'ne dayanır. Birim: N * 0,3125 ms (1 Bluetooth Saat) |
Buffer_Overflow_Bytes |
4 oktet |
[Bayt cinsinden]
Son etkinlikten bu yana arabellek taşma sayısı. |
Buffer_Underflow_Bytes |
4 oktet |
[Bayt cinsinden]
Son etkinlikten bu yana arabellek eksikliği sayısı. |
bdaddr |
6 oktet | Uzak cihaz adresi |
cal_failed_item_count |
1 sekizlik | Kalibrasyonda başarısız olan öğelerin sayısı |
TX_Total_Packets |
4 oktet | Gönderilen paket sayısı. |
TX_UnAcked_Packets |
4 oktet |
Onay almayan paketlerin sayısı. Bu sayı, ana makineye raporlandıktan sonra sıfırlanır. |
TX_Flushed_Packets |
4 oktet |
Boşaltma noktası tarafından gönderilmeyen paket sayısı. Bu sayı, ana makineye raporlandıktan sonra sıfırlanır. |
TX_Last_Subevent_Packets |
4 oktet |
Bağlantı Katmanı'nın bir CIS etkinliğinin son alt etkinliğinde CIS verisi PDU'su ilettiği paket sayısı. Bu sayı, ana makineye raporlandıktan sonra sıfırlanır. Bağlantı için geçerli bir değer yoksa değer sıfırdır. |
CRC_Error_Packets |
4 oktet |
Son etkinlikten bu yana CRC hatası içeren alınan paketlerin sayısı. Bu sayı, ana makineye raporlandıktan sonra sıfırlanır. |
RX_Duplicate_Packets |
4 oktet |
Son etkinlikten bu yana alınan yinelenen (yeniden iletim) paketlerin sayısı. Bu sayı, ana makineye raporlandıktan sonra sıfırlanır. |
RX_Unreceived_Packets |
4 oktet |
Alınmayan paketlerin sayısı, LE READ ISO Link kalite komutunun parametresiyle aynıdır (bkz. Bluetooth temel spesifikasyonu sürüm 5.4). İlişkili akışlar CIS ve BIS'dir. Bu değer artırıldığında Bağlantı Katmanı, boşaltma noktasına göre (CIS'de) veya ilişkilendirildiği etkinliğin sonunda belirli bir yük almaz (BIS'de, Bluetooth temel Spesifikasyonu Sürüm 5.4 6 Bölüm B, Bölüm 4.4.6.6'ya bakın). |
Coex_Info_Mask |
2 oktet |
Bit 0 - CoexInvolvement: Bu rapor oluşturulurken ortak cinsiyet faaliyetlerinin dahil olduğundan şüphelenildiğini gösterecek şekilde ayarlanır (örneğin, A2DP Chop'ları ve LSTO'ya yaklaşma). Bit 1 - WL 2G Radyo Etkin: WLAN 2G Radyonun etkin olduğunu gösterecek şekilde ayarlanır. Bit 2 - WL 2G Bağlı: WLAN 2G Radyonun etkin ve bağlı olduğunu gösterecek şekilde ayarlanır. Bit 3 - WL 5G/6G Radyo Etkin: WLAN 5G/6G Radyonun etkin olduğunu belirtecek şekilde ayarlanır. Bit 4-15 - Ayrılmış |
Tedarikçiye Özel Parametre | (parametre toplam uzunluğu - TBD) * sekizlikler | Denetleyici tedarikçisinin daha fazla satıcıya özel parametre alabilmesi için. |
Alt etkinlik kodu = 0x58 [Quality_Rapor_kimliği = 0x05, Kök Enflamasyon etkinliği]
Bu etkinlik, Bluetooth HAL'nin veya kumandanın önemli bir hatayla karşılaştığını ve bu durumu kaydedip yeniden başlatmak için Bluetooth yığınının gerektiğini gösterir. Denetleyici, hiçbir durumda hata ayıklama bilgisi etkinliklerinin ilk parçasını göndermeden önce Bluetooth yığınına bir Root_Inflammation_Event göndermelidir.
Error_Code parametresi, HAL/Denetleyici tarafından bildirilen bir hata kodu içerir. Yonga seti tedarikçi firmasına özel bir hataysa 0 değerini alır. Vendor_Specific_Error_Code, HAL/Denetleyiciden alınan yonga seti tedarikçisine özgü bir hata kodu içerir. Error_Code parametresi 0 değilse 0 olarak ayarlanmalıdır. Error_Code ve Vendor_Specific_Error_Code parametresinin ikisi de 0 olmamalıdır.
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Quality_Report_Id |
1 sekizlik |
0x00 ~ 0x04: Ayrılmış. 0x05: Kök iltihabı. 0x06 ~ 0xFF: Ayrılmış. |
Error_Code |
1 sekizlik |
0x00: Yonga seti satıcısına özel hata kodu dahil. 0x01 ~ 0xFF: Denetleyici hatası oluştu. Hata kodlarının ve açıklamalarının listesi için Bluetooth Teknik Özellikleri [Vol 2] Bölüm D, Hata Kodları'na bakın. |
Vendor_Specific_Error_Code |
1 sekizlik |
0x00: Yonga seti tedarikçi firmasına özel hata kodu dahil edilmemiş. 0x01 ~ 0xFF: Yonga seti tedarikçi firmasına özel hata kodu. |
Tedarikçiye Özel Parametre | (Parametre Toplam Uzunluğu - 4) * sekizlikler | Denetleyici tedarikçisinin daha fazla satıcıya özel parametre alabilmesi için. |
Alt etkinlik kodu = 0x58 [Quality_Rapor_kimliği = 0x11 ~ 0x13, Günlük Dökümü ile ilgili etkinlik]
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Quality_Report_Id |
1 sekizlik |
0x00 ~ 0x10: Ayrılmış. 0x11: LMP/LL mesaj izleme. 0x12: Bluetooth çoklu bağlantı/Coex planlama izlemesi. 0x13: Denetleyici Hata Ayıklama Bilgileri veri dökümü. 0x14 ~ 0xFF: Ayrılmış. |
Connection_Handle |
2 oktet | Bağlantı Tutamacı. |
Tedarikçiye Özel Parametre | (Parametre Toplam Uzunluğu - 4) * sekizlikler | LMP mesaj izlemenin tedarikçiye özel biçimi, Bluetooth çoklu bağlantı/Coex planlama izlemesi ve denetleyici hata ayıklama bilgileri veri dökümü. |
Birden çok reklamveren desteği
Birden çok reklamveren desteğinin hedefleri şunlardır:
-
Birden fazla reklamı destekleme özelliği
(
max_advt_instances
) - Değişken bir menzili sağlamak için farklı iletim güçleri
- Farklı reklam içerikleri
- Her reklamveren için kişiselleştirilmiş bir yanıt
- Her reklamveren için gizlilik (izlenemez)
- Bağlanabilir
Bu spesifikasyonu mevcut standartlara yakın tutmak için tedarikçi firmaya özel aşağıdaki komutlar sağlanır. Bluetooth Core 4.1 spesifikasyonundan türetilir.
LE_Çoklu_Gelişmiş_Komut
OCF: 0x154
Komut parametresi | Boyut | Amaç |
---|---|---|
Multi_advt_opcode |
1 sekizlik |
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
|
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Multi_advt_opcode |
1 sekizlik |
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"
Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 964 (LE Set Advertising Parametresi Komutu)
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Advertising_Interval_Min |
Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Interval_Max |
Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Type |
Spesifikasyon bazında | Spesifikasyon bazında |
Own_Address_Type |
Spesifikasyon bazında | Spesifikasyon bazında |
Own_Address |
Spesifikasyon bazında | Spesifikasyon bazında |
Direct_Address_Type |
Spesifikasyon bazında | Spesifikasyon bazında |
Direct_Address |
Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Channel_Map |
Spesifikasyon bazında | Spesifikasyon bazında |
Adverstising_Filter_Policy |
Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir |
Tx_power |
1 sekizlik |
Transmit_Power Birim - dBm (işaretli tam sayı) cinsinden Aralık (-70 - +20) |
Own_Address
parametresi, bu çoklu reklam örneğini oluşturma sırasında ana makine tarafından yapılandırılmış bir adres olabilir. Bu, ilk işaretçinin gönderilmesi sırasında çözümlenebilir özel bir adrese sahip olma imkanı sağlar. Bir örnekte reklam, bağlantıdan bağımsız olarak
devam eder. Ana makine BT yığını, bağlantı sonrasında bir örnekte reklamı başlatmak için komut gönderebilir.
Bluetooth Core 4.1 Spesifikasyonu'nda yukarıdaki komuta göre belirtilen şekilde, bu komut için bir Komut Tamamlama etkinliği oluşturulur. Reklam örneği veya Tx_Power
parametreleri geçersizse denetleyici, başarısız olmayan bir (geçersiz parametre) koduyla yanıt verir.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Multi_advt_opcode |
1 sekizlik | 0x01 [Set_Advt_Param_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: "Set_Advt_Data_Multi_Sub_Cmd"
Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 969 (LE Set Advertising Data Command)
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Advertising_Data_Length |
Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Data |
Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir |
Bluetooth Core 4.1 Spesifikasyonu'nda yukarıdaki komuta göre belirtilen şekilde, bu komut için bir Komut Tamamlama etkinliği oluşturulur. Reklam örneği veya Tx_Power
parametreleri geçersizse denetleyici, başarısız olan bir kodla yanıt verir.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Multi_advt_opcode |
1 sekizlik | 0x02 [Set_Advt_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Scan_Resp_Data_Multi_Sub_Cmd
Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 970 (LE Set Scan Response Data Command)
Alt OCF: 0x03
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Scan_Response_Data_Length |
Spesifikasyon bazında | Spesifikasyon bazında |
Scan_Response_Data |
Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir |
Bluetooth Core 4.1 Spesifikasyonu'nda yukarıdaki komuta göre belirtilen şekilde, bu komut için bir Komut Tamamlama etkinliği oluşturulur. Reklam örneği veya Tx_Power
parametreleri geçersizse denetleyici, başarısız olmayan bir kod (geçersiz parametre) ile yanıt verir.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Multi_advt_opcode |
1 sekizlik | 0x03 [Set_Scan_Resp_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: "Set_Random_Addr_Multi_Sub_Cmd"
Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 963 (LE Set Random Address Command)
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Rastgele Adres | Spesifikasyon bazında | Spesifikasyon bazında |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Multi_advt_opcode |
1 sekizlik | 0x04 [Set_Random_Addr_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: "Set_Advt_Enable_Multi_Sub_Cmd"
Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 971 (LE Set Reklam Veren Bu temel spesifikasyonda Komutu Etkinleştir)
OCF: 0x05
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Advertising_Enable |
1 sekizlik | 1 değeri, etkinleştir anlamına gelir. Başka herhangi bir değer devre dışı bırak anlamına gelir. |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir. Örnek 0, standart bir HCI örneği anlamına gelir. |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Multi_advt_opcode |
1 sekizlik | 0x05 [Set_Advt_Enable_Multi_Sub_Cmd] |
Özel adresin indirilmiş çözünürlüğü
Bu özellik, kumandanın donanım yazılımı veya donanımındaki özel adresi çözerek aşağıdaki avantajları sağlar:
- Özel bir adresin çözümlenmesinde ana makineyle yaşanan gecikme
- Sunucuyu uyandırmadan güç tasarrufu
LE_Ayarla_RPA_Zaman Aşımı
OCF: 0x15C
Komut parametresi | Boyut | Amaç |
---|---|---|
LE_local_IRK |
16 oktet | Rastgele çözümlenebilir adres oluşturmak için kullanılan yerel cihaz IRK'si. |
tRPA_min |
2 oktet |
Saniye cinsinden minimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımı tarihinde veya sonrasında tüm reklam/tarama/bağlantı etkinlikleri için yeni çözümlenebilir adresler oluşturmalıdır. Geçerli aralık: 300-1800 |
tRPA_max |
2 oktet |
Saniye cinsinden maksimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımı tarihinde veya öncesinde tüm reklam/tarama/bağlantı etkinlikleri için yeni çözümlenebilir adresler oluşturmalıdır. Geçerli aralık: tRPA_min -1.800
|
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik |
Komutun durumu. Önerilen HCI durum değerleri: 0x00 Başarılı 0x01 Bilinmeyen komut (desteklenmiyorsa) 0x12 Geçersiz komut parametreleri (parametreler belirtilen aralığın dışındaysa) |
LE_RPA_Aktarma_Komutu
OCF: 0x155
Komut parametresi | Boyut | Amaç |
---|---|---|
RPA_offload_opcode |
1 sekizlik |
0x1 - Müşteriye özel özelliği etkinleştir 0x2 - IRK'yı listeye ekle 0x3 - IRK'yı listeden kaldır 0x4 - IRK listesini temizle 0x5 - IRK listesi girişini oku |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Event_RPA_offload_opcode |
1 sekizlik |
0x1 - Müşteriye özel özelliği etkinleştir 0x2 - IRK'yı listeye ekle 0x3 - IRK'yı listeden kaldır 0x4 - IRK listesini temizle 0x5 - IRK listesi girişini oku |
LE_RPA_offload: "cust_specific_sub_Command_"
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
enable_customer_specific_feature_set |
1 sekizlik |
0x01 - Devre dışı bırakılan RPA özelliğini etkinleştir 0x00 - Yüklü RPA özelliğini devre dışı bırak |
RPA boşaltımı, çip özelliğine bağlı olarak ana makine tarafından etkinleştirilmelidir. LE_Get_Vendor_Capabilities_Command
inceleyin.
Her çipin donanım yazılımında değişiklik gösteren max_irk_list_sz
bulunabilir.
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x01 [Müşteriye özel özelliği etkinleştir] |
LE_RPA_offload: "Listeye_IRK_listesine_ek_Komut_ekleme"
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
LE_IRK |
16 oktet | LE IRK (1. bayt LSB) |
Address_Type |
1 sekizlik |
0: Herkese açık adres 1: Rastgele adres |
LE_Device_Address |
6 oktet | IRK (1. bayt LSB) ile ilişkili herkese açık veya rastgele adres |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x02 [Listeye IRK'yı ekle] |
LE_IrkList_AvailableSpaces |
1 sekizlik | Geçerli işlemden sonra kullanılabilir gerçek hayattaki liste girişleri |
LE_RPA_offload: "IRK_to_list_sub_Command_Kaldır_"
Alt OCF: 0x03
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Address_Type |
1 sekizlik |
0: Herkese açık adres 1: Rastgele adres |
LE_Device_Address |
6 oktet | IRK ile ilişkili herkese açık veya rastgele adres |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x03 [Listeden IRK'yi kaldırın] |
LE_IrkList_AvailableSpaces |
1 sekizlik | Geçerli işlemden sonra kullanılabilir gerçek hayattaki liste girişleri |
LE_RPA_offload: Temiz_IRK_listesi_sub_Command
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Yok |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x04 [IRK Listesini Temizle] |
LE_IrkList_AvailableSpaces |
1 sekizlik |
Geçerli işlemden sonra kullanılabilen gerçek hayattaki liste girişleri [max_irk_list_sz]
|
LE_RPA_offload: "Read_IRK_list_sub_Command"
Alt OCF: 0x05
Alt komut parametresi | Boyut | Amaç |
---|---|---|
LE_read_IRK_list_entry-index |
1 sekizlik | IRK listesi dizini [0, max_irk_list_sz-1] |
Bu komut için bir Komut Tamamlama etkinliği oluşturulur.
Döndürme parametresi | Boyut | Amaç |
---|---|---|
Status |
1 sekizlik | Komut Tamamlanma durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x05 [IRK Liste Girişini Oku] |
LE_Read_IRK_List_entry |
1 sekizlik | Ana makinenin tekrar okumak istediği IRK dizininin dizini (maksimum IRK listesi boyutu 32'dir) |
LE_IRK |
16 oktet | IRK değeri |
Address_Type |
1 sekizlik |
0: Herkese açık adres 1: Rastgele adres |
LE_Device_Address |
6 oktet | IRK ile ilişkilendirilmiş herkese açık veya rastgele adres |
LE_Resolved_Private_Address |
6 oktet | Bu IRK'nin mevcut çözülmüş özel adresi |