Ana Makine Denetleyici Arayüzü (HCI), Bluetooth denetleyiciyle etkileşime geçmek için kullanılır.
Bu belgede, Bluetooth (BT) ve Bluetooth Düşük Enerji (BDE) HCI gereksinimlerinin listesi verilmiştir. Amaç, aşağıda açıklanan özellik grubunu kullanabilmek için ana makine BT yığını tedarikçilerinin ve BT denetleyicisi tedarikçilerinin bu platform koşullarına uymasını sağlamaktır.
Bu dokümanda Bluetooth Core 5.2 Spesifikasyonu "spesifikasyon" olarak adlandırılmaktadır. Bluetooth Core 5.2 Spesifikasyonu, diğer kabul edilen belgelerle birlikte Bluetooth SIG web sitesinde 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, satıcılar, platform ve çip özellikleri matrisi bulunur.
Değişen ortamı ve geçişleri yönetmek için bu dokümanda, BT denetleyicilerinin yeteneklerini (standart Bluetooth Core 5.2 spesifikasyonunun ötesinde) göstermesine izin veren bir tasarım felsefesi açıklanmaktadır. Ardından ana makine BT yığını, hangi özelliklerin etkinleştirileceğini belirlemek için bu özellikleri kullanabilir.
Açık standartları destekleme
Android'in hedeflerinden biri, 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ıma sunulursa bu yaklaşımı varsayılan olarak kullanmaya çalışacağız.
Tedarikçi firmaya özgü özellikler
Tedarikçiye özgü 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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
max_advt_instances (Kullanımdan kaldırıldı) |
1 bayt |
Desteklenen reklam örneği sayısı. 0.98 sürümünden sonra ayrıldı. Bu parametrenin desteği, Google özellik spesifikasyonu 0.98 ve sonraki sürümlerde sonlandırılmıştır. Bunun yerine, BT spesifikasyonu 5.0 ve sonraki sürümlerde kullanılabilen LE Genişletilmiş Reklamcılık tercih edilmektedir. |
offloaded_resolution_of_private-address (Kullanımdan kaldırıldı) |
1 bayt |
RPA'nın BT çipi özelliği. Bir çip tarafından destekleniyorsa barındırıcı tarafından etkinleştirilmesi gerekir. 0 = Yetenekli değil 1 = Yetenekli v0.98'den sonra ayrıldı. Bu parametrenin desteği, Google özellik spesifikasyonunun 0.98 ve sonraki sürümlerinde, BT spesifikasyonunun 4.2 ve sonraki sürümlerinde bulunan Gizlilik özelliği için kaldırılmıştır. |
total_scan_results_storage |
2 bayt | Tarama sonuçları için depolama alanı (bayt) |
max_irk_list_sz |
1 bayt | Donanım yazılımında desteklenen IRK girişlerinin sayısı |
filtering_support |
1 bayt |
Denetleyicide filtreleme desteği 0 = Desteklenmiyor 1 = Desteklenir |
max_filter |
1 bayt | Desteklenen filtre sayısı |
activity_energy_info_support |
1 bayt |
Etkinlik ve enerji bilgilerinin raporlanmasını destekler 0 = Desteklenmiyor 1 = Desteklenir |
version_supported |
2 bayt |
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 bayt |
OnLost /OnFound amacıyla izlenen reklamverenlerin toplam sayısı
|
extended_scan_support |
1 bayt | Genişletilmiş tarama aralığını ve aralığını destekler |
debug_logging_supported |
1 bayt | Denetleyiciden ikili hata ayıklama bilgilerinin günlüğe kaydedilmesini destekler |
LE_address_generation_offloading_support (Kullanımdan kaldırıldı) |
1 bayt |
0 = Desteklenmiyor 1 = Desteklenir 0.98 sürümünden sonra ayrılmıştır. Bu parametrenin desteği, Google özellik spesifikasyonunun 0.98 ve sonraki sürümlerinde, BT spesifikasyonunun 4.2 ve sonraki sürümlerinde bulunan Gizlilik özelliği için kaldırılmıştır. |
A2DP_source_offload_capability_mask |
4 bayt |
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 bayt |
Bluetooth kalitesi etkinliklerinin raporlanmasını destekler 0 = Desteklenmiyor 1 = Desteklenir |
dynamic_audio_buffer_support |
4 bayt |
Bluetooth denetleyicide dinamik ses arabelleği desteklenir 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 bayt |
Bluetooth denetleyicisinde A2DP offload v2 komutlarını destekler (A2DP offload'u başlatma, A2DP offload'u durdurma başlıklı makalelere bakın) 0 = Desteklenmez 1 = Desteklenir |
Toplu tarama sonuçları
Tasarım hedeflerinden biri, ana makinede güç tasarrufu sağlamak için Bluetooth LE Tarama Yanıtı etkinlik bildirimlerinin ana makineye nasıl iletildiğini iyileştirmektir.
Denetleyicinin, ana uygulama işleyiciyi sonuçları taraması için bildirme sıklığını azaltarak ana uygulama işleyici daha uzun süre boşta/uyku modunda kalabilir. Bu, ana makinedeki güç tüketimini azaltır. LE_Get_Vendor_Capabilities_Command
işlevinin döndürdüğü total_scan_results_storage
parametresi, tarama sonuçlarının depolanması için çip kapasitesini gösterir.
Bu özellik, Bluetooth denetleyicisindeki LE Tarama Sonuçları depolama alanının yönetimine ve yapılandırmasına odaklanır. Depolama alanı, reklam verilerini geçici olarak gruplandırmak ve denetleyici tarafından alınan verileri ve meta verileri tarayarak daha sonra barındırıcıya iletmek için kullanılır.
Donanım yazılımı, aynı anda etkinleştirilebilen iki tür gruplandırmayı desteklemelidir:
- Kısaltılmış. Aşağıdaki bilgi öğelerini içerir: {MAC, TX Gücü, RSSI, Zaman damgası}
- Tam. Aşağıdaki bilgi öğelerini içerir: {MAC, TX Gücü, RSSI, Zaman damgası, Gelişmiş Veriler, Tarama Yanıtı}
LE_Batch_Scan_Command
OCF: 0x156
Komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_opcode |
1 bayt |
0x1 - Müşteriye özel özelliği etkinleştir 0x2 - Toplu Tarama Depolama parametrelerini ayarla 0x3 - Toplu Tarama parametrelerini ayarla 0x4 - Toplu Tarama Sonucu parametrelerini oku |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur. Müşteriye özgü özelliği etkinleştirmek taramayı başlatmaz.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Batch_Scan_opcode |
1 bayt |
0x1 - Müşteriye özel özelliği etkinleştir 0x2 - Toplu Tarama Depolama parametrelerini ayarla 0x3 - Toplu Tarama parametrelerini ayarla 0x4 - Toplu Tarama Sonucu parametrelerini oku |
LE_Batch_Scan_Command: Müşteriye özel özelliği etkinleştir
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
enable_customer_specific_feature_set |
1 bayt |
0x01: Toplu tarama özelliğini etkinleştir 0x00: Toplu tarama özelliğini devre dışı bırak |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Batch_Scan_opcode |
1 bayt |
0x1 - Müşteriye özel özelliği etkinleştir 0x2 - Toplu Tarama Depolama parametrelerini ayarla 0x3 - Toplu Tarama parametrelerini ayarla 0x4 - Toplu Tarama Sonucu parametrelerini oku |
LE_Batch_Scan_Command: Toplu tarama depolama alanı parametresi alt komutunu ayarlama
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_Full_Max |
1 bayt |
Tam stile ayrılan maksimum depolama alanı (% olarak) [Aralık: 0-100] |
Batch_Scan_Truncated_Max |
1 sekizlik |
Kısaltılmış stile ayrılan maksimum depolama alanı (% olarak) [Aralık: 0-100] |
Batch_Scan_Notify_Threshold |
1 bayt |
Her depolama havuzu için bildirim düzeyini (yüzde cinsinden) ayarlama
[Aralık: 0-100] 0 olarak ayarlandığında bildirim devre dışı bırakılır. Tedarikçiye özgü HCI etkinliği oluşturulur (Depolama alanı eşiği ihlali alt etkinliği) |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Batch_scan_opcode |
1 bayt | 0x02 [Set Batch Scan parameters] |
LE_Batch_Scan_Command: Toplu tarama parametresi alt komutunu ayarlama
Alt OCF: 0x03
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_Mode |
1 bayt |
0x00 – Toplu tarama devre dışıdır 0x01 – Kısaltılmış mod etkindir 0x02 – Tam mod etkindir 0x03 – Kısaltılmış ve Tam mod etkindir |
Duty_cycle_scan_window |
4 bayt | Toplu tarama tarama süresi ("slot sayısı") |
Duty_cyle_scan_interval |
4 bayt | Toplu tarama aralığı dönemi (aralık sayısı) |
own_address_type |
1 sekizlik |
0x00: Herkese açık cihaz adresi 0x01: Rastgele cihaz adresi |
Batch_scan_Discard_Rule |
1 bayt |
0 - En eski reklamı atla 1 - En zayıf RSSI'ye sahip reklamı atla |
Bu alt komut, etkinse toplu taramayı başlatır. Kısaltılmış taramada, sonuçlar kısaltılmış biçimde depolanır. Kısaltılmış stilin benzersiz anahtarı = {BD_ADDR,
scan_interval}. Bu, her tarama aralığı için yalnızca bir BD_ADDR will
kaydedileceği anlamına gelir. Kısaltılmış modda tutulacak kayıt şudur: {BD_ADDR
,
Tx Gücü, RSSI, Zaman damgası}
Tam mod etkinleştirildiğinde etkin tarama kullanılır ve Tarama Yanıtları kaydedilir. Tam stil benzersiz anahtarı = {MAC, Reklam paketi}, tarama aralığına bakılmaksızın. Tam mod için tutulacak kayıt şudur:
{BD_ADDR
, Tx Gücü, RSSI, Zaman damgası, Reklam paketi, Tarama
Yanıtı}. Tam stilde, aynı reklam paketi farklı tarama aralıklarında birden çok kez görüldüğünde yalnızca bir kez kaydedilir. Ancak, kesikli modda, ilgilenilen şey farklı tarama aralıkları boyunca BA_ADDR
'ün görünürlüğüdür (tarama aralığı başına bir kez). RSSI, bir tarama aralığında benzersiz bir reklamın tüm kopyalarının ortalama değeridir.
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Batch_scan_opcode |
1 bayt | 0x03 [Toplu Tarama Parametrelerini Ayarlama] |
LE_Batch_Scan_Command: Grup tarama sonuçlarını okuma alt komutu
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Batch_Scan_Data_read |
1 bayt |
0x01 - Kısaltılmış mod verileri 0x02 - Tam mod verileri |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur. Ana makine bu komutu verdiğinde, kontrol cihazındaki tüm sonuçlar tek bir Komut Tamamlandı etkinliğine sığmayabilir. Ana makine, Komut Tamamlandı etkinliğindeki ilgili sonuçlarda kayıt sayısı 0'ı gösterene kadar bu komutu tekrar tekrar gönderir. Bu durum, denetleyicinin ana makineyle paylaşacak başka kaydı olmadığını gösterir. Her Komut Tamamlandı etkinliği, yalnızca bir tür veri (Tam veya Kısaltılmış) ile ilgili birden fazla kayıt içerebilir.
Denetleyici ve ana makine zaman referansları senkronize edilmemiştir. Zaman damgasının birimi 50 ms'dir. Zaman damgasının değeri, Read_Batch_Scan_Results_Sub_cmd
değerinin barındırıcı tarafından verildiği zamana dayanır. Bir komutun donanım yazılımındaki varış zamanı T_c
ise donanım yazılımında zaman damgasının alındığı gerçek zaman T_fw
'tür. Raporlama zamanı:
(T_c
- T_fw
). T_c
ve
T_fw
, donanım yazılımı zaman alanındadır. Bu sayede ev sahibi, etkinliğin ne kadar zaman önce gerçekleştiğini hesaplayabilir.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Batch_scan_opcode |
1 bayt | 0x03 [Set Batch Scan parameters] |
Batch_Scan_data_read |
1 bayt | Biçimi (kırpılmış veya tam) tanımlar |
num_of_records |
1 bayt | Batch_Scan_data_read kayıt sayısı |
format_of_data |
Değişken |
Kısaltılmış Mod: Address[0]: 6 bayt Address_Type[0]: 1 bayt Tx_Pwr[0]: 1 bayt RSSI[0] : 1 bayt Timestamp[0]: 2 bayt [yukarıdaki biçime sahip birden fazla kayıt ( num_of_records )]Tam Mod: Address[0]: 6 bayt Address_Type[0]: 1 bayt Tx_Pwr[0]: 1 bayt RSSI[0]: 1 bayt Timestamp[0]: 2 bayt Adv packet_len[0]: 1 bayt Adv_packet[0]: Adv_packet_len bayt Scan_data_resp_len[0]: 1 bayt Scan_data_resp[0]: Scan_data_resp bayt[yukarıdaki biçime sahip birden fazla kayıt ( num_of_records )]
|
Reklam Paketi İçerik Filtresi
Denetleyicide Reklam Paketi İçerik Filtresi'ni (APCF) etkinleştirmek/devre dışı bırakmak/ayarlamak için bu seçeneği kullanın. APCF, denetleyicideki reklam raporlarını filtreler ancak düzenli reklamcılığı filtrelemez.
LE_APCF_Command
OCF: 0x157
Komut parametresi | Boyut | Amaç |
---|---|---|
APCF_opcode |
1 bayt |
0x00 - APCF Etkinleştir 0x01 - APCF Filtreleme parametrelerini ayarla 0x02 - APCF Yayıncı Adresi 0x03 - APCF Hizmet UUID'si 0x04 - APCF Hizmet Talebi UUID'si 0x05 - APCF Yerel Adı 0x06 - APCF Üretici Verileri 0x07 - APCF Hizmet Verileri 0x08 - APCF Aktarım Keşfi Hizmeti 0x09 - APCF Reklam Türü Filtresi 0x10 ~ 0xAF - Gelecekte kullanılmak üzere ayrılmıştır 0xB0 ~ 0xDF - Tedarikçi firma için ayrılmıştır 0xE0 ~ 0xFE - Gelecekte kullanılmak üzere ayrılmıştır 0xFF - APCF Genişletilmiş Özellikleri Oku |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | İade durumu |
APCF_opcode |
1 bayt |
0x00 - APCF Etkinleştir 0x01 - APCF Filtreleme parametrelerini ayarla 0x02 - APCF Yayıncı Adresi 0x03 - APCF Hizmet UUID'si 0x04 - APCF Hizmet Talebi UUID'si 0x05 - APCF Yerel Adı 0x06 - APCF Üretici Verileri 0x07 - APCF Hizmet Verileri 0x08 - APCF Aktarım Keşfi Hizmeti 0x09 - APCF Reklam Türü Filtresi 0x10 ~ 0xAF - Gelecekte kullanılmak üzere ayrılmıştır 0xB0 ~ 0xDF - Tedarikçi firma için ayrılmıştır 0xE0 ~ 0xFE - Gelecekte kullanılmak üzere ayrılmıştır 0xFF - APCF Genişletilmiş Özellikleri Oku |
LE_APCF_Command: Enable_sub_cmd
Alt OCF: 0x00
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_enable |
1 bayt |
0x01: APCF özelliğini etkinleştir 0x00: APCF özelliğini devre dışı bırak |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x0 - APCF Etkin |
APCF_Enable |
1 bayt | Etkinleştirme/devre dışı bırakma APCF_enable üzerinden ayarlanır |
LE_APCF_Command: set_filtering_parameters_sub_cmd
Bu alt komut, çip üzerinde filtreleme için filtre spesifikasyonu eklemek veya silmek ya da filtre listesini temizlemek için kullanılır.
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirli filtreyi ve diğer tablolardaki ilişkili özellik girişlerini temizler. Temizle seçeneği, tüm filtreleri ve diğer tablolardaki ilişkili girişleri temizler. |
APCF_Filter_Index |
1 bayt | Filtre dizini (0, max_filter-1 ) |
APCF_Feature_Selection |
2 bayt |
Seçilen özellikler için bit maskeleri: Bit 0: Yayın Adresi filtresini etkinleştirmek için ayarlanır Bit 1: Hizmet Verileri Değişikliği filtresini etkinleştirmek için ayarlanır Bit 2: Hizmet UUID kontrolünü etkinleştirmek için ayarlanır Bit 3: Hizmet Talebi UUID kontrolünü etkinleştirmek için ayarlanır Bit 4: Yerel Ad kontrolünü etkinleştirmek için ayarlanır Bit 5: Üretici Verileri Kontrolü'nü etkinleştirmek için ayarlanır Bit 6: Hizmet Verileri Kontrolü'nü etkinleştirmek için ayarlanır Bit 7: Aktarım Keşfi Hizmeti Kontrolü'nü etkinleştirmek için ayarlanır Bit 8: Reklam Türü Kontrolü'nü etkinleştirmek için ayarlanır |
APCF_List_Logic_Type |
2 bayt |
APCF_Feature_Selection içinde belirtilen her özellik seçimi için mantıksal işlem (bit başına konum).
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. "VEYA" mantığı seçilirse ADV paketi, listedeki girişlerden herhangi birini içeriyorsa filtreden geçer. |
APCF_Filter_Logic_Type |
1 bayt |
0x00: VEYA 0x01: VE Not: APCF_Feature_Selection 'ın ilk üç alanı için mantık türü geçersizdir ve her zaman "VE" mantığıdır. Bunlar yalnızca APCF_Feature_Selection 'ün dört alanı (Bit 3 - Bit 6) için geçerlidir.
|
rssi_high_thresh |
1 bayt |
[dBm cinsinden] Reklamverenin görüldüğü kabul edilir ancak sinyal yalnızca RSSI yüksek eşiğinden daha yüksekse. Aksi takdirde, donanım yazılımı bu mesajı hiç görmemiş gibi davranmalıdır. |
delivery_mode |
1 bayt |
0x00 - immediate 0x01 - on_found 0x02 - batched
|
onfound_timeout |
2 bayt |
Yalnızca delivery_mode on_found ise geçerlidir.[milisaniye cinsinden] Donanım yazılımının, raporlamadan önce bekleyip ek reklam toplama süresi. |
onfound_timeout_cnt |
1 bayt |
Yalnızca delivery_mode on_found ise geçerlidir.[count] onFound 'daki bir reklam, donanım yazılımında onfound_timeout süre boyunca kalırsa birkaç reklam toplanır ve sayı kontrol edilir. Sayı onfound_timeout_cnt 'ü aşarsa hemen ardından OnFound bildirilir.
|
rssi_low_thresh |
1 bayt |
Yalnızca delivery_mode on_found ise geçerlidir.[dBm cinsinden] Alınan paketin RSSI değeri RSSI düşük eşiğinin üzerinde değilse reklamveren paketi görülmemiş olarak kabul edilir. |
onlost_timeout |
2 bayt |
Yalnızca delivery_mode on_found ise geçerlidir.[milisaniye cinsinden] Bir reklam, bulunduktan sonra lost_timeout süre boyunca art arda görülmezse hemen kaybolmuş olarak bildirilir.
|
num_of_tracking_entries |
2 bayt |
Yalnızca delivery_mode on_found ise geçerlidir.[count] Filtre başına izlenecek reklamverenlerin toplam sayısı. |
RSSI değerleri, negatif değerleri temsil etmek için 2'nin tamamlayıcısını kullanmalıdır.
Sunucu, çeşitli filtre kombinasyonlarını yönetmek için APCF_Application_Address_type
değerini 0x02 olarak ayarlayarak birden fazla filtre yapılandırabilir (tüm yayıncı adresleri için).
Filtreleme, gruplandırma ve raporlama birbiriyle ilişkili kavramlardır. Her reklamın ve ilgili tarama yanıtının, tüm filtrelerden tek tek geçmesi gerekir. Bu nedenle, ortaya çıkan işlemler (delivery_mode
), filtrelemeye yakından bağlıdır. Yayınlama modları şunlardır: report_immediately
,
batch
ve onFound
. OnLost
değeri, kaybedildiğinde OnFound
değerinden sonra geleceğiOnFound
Bu işlem akışı, kavramsal modeli göstermektedir:

Bir reklam (veya tarama yanıtı) çerçevesi alındığında, seri sırada tüm filtrelere uygulanır. Bir reklamın, bir filtreye göre anında raporlanmasına ve farklı bir filtre işlemi nedeniyle aynı reklamın gruplandırılmasına neden olması mümkündür.
RSSI seviyesi eşikleri (yüksek ve düşük), denetleyici tarafından geçerli bir paket alındığında bile çerçevenin filtre işlenmesinde ne zaman görünür olacağını kontrol etme olanağı sunar. Yayınlama modu anında veya toplu olarak ayarlanmışsa bir çerçevenin RSSI'si, daha fazla kontrolör işleme için dikkate alınır. Farklı uygulamalar için farklı raporlama ve gruplandırma davranışları gerekir. Bu sayede birden fazla uygulamanın, donanım yazılımında sonuçların doğrudan raporlanmasına ve/veya toplu olarak işlenmesine aynı anda izin verilir. Örneğin, bir uygulamadan toplu tarama etkinken başka bir uygulama tarafından normal bir LE taraması yayınlandığında bu durum ortaya çıkar. Toplu tarama yayınlanmadan önce çerçeve/uygulama uygun filtreleri ayarlar. Daha sonra, ikinci uygulama normal bir tarama yaptığında önceki gruplandırma devam eder. Ancak normal tarama nedeniyle, bu işlem, LE tarama komutuyla birlikte kavramsal olarak bir null filtre (mevcut tüm filtrelerle birlikte) eklemeye benzer. LE tarama komutu parametreleri etkinken önceliklidir. Normal LE taraması devre dışı bırakıldığında, kontrolör varsa önceki bir toplu taramaya geri döner.
OnFound
yayınlama modu, yapılandırılmış filtrelere dayanır. Bir filtrenin başarılı olmasını sağlayan işlemi tetikleyen bir kombinasyon, onLost
için izlenecek varlık olarak kabul edilir. İlgili etkinlik, LE reklam 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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x01 - APCF Filtreleme Parametrelerini Ayarlama |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | Filtreler tablosunda bulunan girişlerin sayısı |
LE_APCF_Command: broadcast_address_sub_cmd
Bu alt komut, bir reklamveren adresi eklemek veya silmek ya da çip üzerinde filtreleme için reklamveren adresi listesini temizlemek için kullanılır.
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtredeki belirtilen yayıncı adresini siler. Temizle, belirtilen filtredeki tüm yayıncı adreslerini temizler. |
APCF_Filter_Index |
1 bayt | Filtre dizini (0, max_filter-1 ) |
APCF_Broadcaster_Address |
6 bayt | Yayıncı adres listesine eklenecek veya listeden silinecek 6 baytlık cihaz adresi |
APCF_Application_Address_type |
1 bayt |
0x00: Herkese açık 0x01: Rastgele 0x02: Yok (adres türü yoksayılır) Reklam raporlarını kimlik adresi türleriyle (0x02, 0x03) filtrelemek için. 0x02 ve 0x03 adres türlerine sahip reklamcılık raporları almak için bu alanı 0x02: NA (adres türünü yoksay) olarak ayarlayın. |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x02 - APCF Yayıncı Adresi |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | Yayın adresi tablosunda hâlâ kullanılabilen ücretsiz girişlerin sayısı |
LE_APCF_Command: service_uuid_sub_cmd
Bu alt komut, çip üzerinde filtreleme için bir hizmet UUID'si eklemek veya silmek ya da hizmet UUID listesini temizlemek için kullanılır.
Alt OCF: 0x03
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Sil, belirtilen filtredeki belirtilen hizmet UUID adresini siler. Temizle, belirtilen filtredeki tüm hizmet UUID'lerini temizler. |
APCF_Filter_Index |
1 bayt | Filtre dizini (0, max_filter -1) |
APCF_UUID |
2,4,16 bayt | Listeye eklemek veya listeden silmek için hizmet UUID'si (16 bit, 32 bit veya 128 bit). |
APCF_UUID_MASK |
2,4,16 bayt |
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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x03 - APCF Hizmeti UUID'si |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | Hizmet UUID tablosunda hâlâ kullanılabilir durumdaki ücretsiz girişlerin sayısı |
LE_APCF_Command: solicitation_uuid_sub_cmd
Bu alt komut, çip üzerinde filtreleme için bir istek UUID'si eklemek veya silmek ya da istek UUID listesini temizlemek için kullanılır.
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtredeki istek UUID adresini siler. Temizle, belirtilen filtredeki tüm istek UUID'lerini temizler. |
APCF_Filter_Index |
1 bayt | Filtre dizini (0, max_filter -1) |
APCF_UUID |
2,4,16 bayt | Listeye eklenecek veya listeden silinecek istek UUID'si (16 bit, 32 bit veya 128 bit). |
APCF_UUID_MASK |
2,4,16 bayt |
Listeye eklenecek istek UUID maskesi (16 bit, 32 bit veya 128 bit). APCF_UUID ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x04 - APCF Talep UUID'si |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | Talep UUID tablosunda hâlâ kullanılabilir durumdaki ücretsiz girişlerin sayısı |
LE_APCF_Command: local_name_sub_cmd
Bu alt komut, yerel ad dizesi eklemek veya silmek ya da çip üzerinde filtreleme için yerel ad dizesi listesini temizlemek için kullanılır.
Alt OCF: 0x05
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtredeki belirtilen yerel ad dizesini siler. Temizle, belirtilen filtredeki tüm yerel ad dizelerini temizler. |
APCF_Filter_Index |
1 bayt | 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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x05 - APCF Yerel Adı |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | Yerel ad tablosunda hâlâ kullanılabilen ücretsiz girişlerin sayısı |
LE_APCF_Command: manf_data_sub_cmd
Bu alt komut, çip üzerinde filtreleme için bir üretici veri dizesi eklemek veya silmek ya da üretici veri dizesi listesini temizlemek için kullanılır.
Alt OCF: 0x06
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtredeki belirtilen üretici veri dizesini siler. Temizle, belirtilen filtredeki tüm üretici veri dizelerini temizler. |
APCF_Filter_Index |
1 bayt | Filtre dizini (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
Değişken boyut |
Üretici verileri için karakter dizesi. Notlar:
|
APCF_ManData_Mask |
Değişken boyut |
Listeye eklenecek üretici veri maskesi. APCF_LocName_or_ManData_or_SerData ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x06 - APCF Üretici Verileri |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | Üretici Verileri tablosunda hâlâ kullanılabilen ücretsiz girişlerin sayısı |
LE_APCF_Command: service_data_sub_cmd
Bu alt komut, hizmet verileri dizesi eklemek veya silmek ya da çip üzerinde filtreleme için hizmet verileri dizesi listesini temizlemek için kullanılır.
Alt OCF: 0x07
Alt komut parametresi | Boyut | Amaç |
---|---|---|
APCF_Action |
1 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtredeki belirtilen hizmet verileri dizesini siler. Temizle, belirtilen filtredeki tüm hizmet verisi dizelerini temizler. |
APCF_Filter_Index |
1 bayt | 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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x07 - APCF Hizmet Verileri |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | Hizmet verileri tablosu için hâlâ kullanılabilir ücretsiz girişlerin sayısı |
LE_APCF_Command: ad_type_sub_cmd
Bu alt komut, çip üzerinde filtreleme için bir reklam türü eklemek veya silmek ya da bir reklam türü listesini temizlemek için kullanılır. Bu komutun desteklenip desteklenmediğini kontrol etmek için read_extended_features_sub_cmd
simgesini kullanın.
APCF_AD_DATA_Length
0 olduğunda, AD Verileri ve AD Veri Maskesi'ni karşılaştırmadan APCF_AD_TYPE
'yi filtreleyin.
Alınan ADV paketinin veri uzunluğu AD_DATA_LENGTH
'ü aşarsa yalnızca AD Verileri'nin 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 bayt |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Sil, belirtilen filtredeki belirtilen reklam türünü siler. Temizle, belirtilen filtredeki tüm reklam türlerini temizler. |
APCF_Filter_Index |
1 bayt | Filtre dizini (0, max_filter -1) |
APCF_AD_TYPE |
1 sekizlik | Listeye ekleme veya listeden silme için AD türü. APCF_Action 0x02 (Clear) olduğunda yoksay |
APCF_AD_DATA_Length |
1 bayt |
0x00: Veri içeriğini filtrelemeAPCF_Action 0x02 (Temiz) olduğunda yoksayılır
|
APCF_AD_DATA |
Değişken boyut |
APCF_AD_DATA_Length 'e göre değişken boyutlu APCF_Action 0x02 (Temiz) olduğunda yoksayılır |
APCF_AD_DATA_MASK |
Değişken boyut |
APCF_AD_DATA_Length 'e göre değişken boyutlu APCF_Action 0x02 (Clear) olduğunda yoksayılırAPCF_AD_DATA ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 bayt | 0x09 - APCF Reklam Türü |
APCF_Action |
1 bayt | Komutun APCF_Action kısmını geri yansıt |
APCF_AvailableSpaces |
1 bayt | AD Type tablosunda hâlâ kullanılabilen ücretsiz girişlerin 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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0xFF - APCF_Read_Extended_Features |
APCF_extended_features |
2 bayt |
Desteklenen genişletilmiş özellikler için bit maskeleri:
Bitin değeri
|
Denetleyici etkinliği ve enerji bilgileri komutu
Bu bilgilerin amacı, daha yüksek ana sistem işlevlerinin BT denetleyicisi ve makro durumu da dahil olmak üzere tüm bileşenlerin toplam etkinliklerini, uygulamalarda ve çerçevede gerçekleşenlerle birlikte analiz etmektir. Bunu yapmak için BT yığınından ve denetleyiciden aşağıdaki bilgiler gereklidir:
- BT yığını: Denetleyicinin mevcut makro işlevsel durumunu bildirme
- Donanım yazılımı: Toplu etkinlik ve enerji bilgilerini raporlama
Kullanıcı düzeyinde belirlenen BT ana makine yığını makro durumları:
- Boş: [sayfa taraması, LE reklamı, sorgu taraması, LE taraması]
- Tarama: [sayfalama/sorgulama/bağlanmaya çalışıyor]
- Etkin: [ACL bağlantısı açık, SCO bağlantısı devam ediyor, koku alma modu]
Denetleyicinin ömrü boyunca takip ettiği etkinlikler; Tx süresi, Rx süresi, boş zaman ve tüketilen toplam enerjidir. Bu veriler, ana makineden okunurken temizlenir.
LE_Get_Controller_Activity_Energy_Info
Bu, tedarikçiye özgü bir komuttur.
OCF: 0x159
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Boş komut parametreleri |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
total_tx_time_ms |
4 bayt | Gönderme işleminin toplam süresi |
total_rx_time_ms |
4 sekizlik | Rx işleminin toplam süresi |
total_idle_time_ms |
4 bayt | Devre dışı durumda toplam süre (uyku dışı düşük güç durumları) |
total_energy_used |
4 bayt | Kullanılan toplam enerji [akım (mA), voltaj (V) ve sürenin (ms) çarpımı] |
LE genişletilmiş tarama parametreleri ayarlama komutu
Bu komut, denetleyicide daha büyük bir tarama aralığı ve aralığı etkinleştirmek için kullanılabilir. BT Core 5.2 Spesifikasyonu uyarınca, tarama aralığı ve aralığı 10,24 saniyelik bir üst sınıra sahiptir. Bu da uygulamalar için 10,24 saniyenin üzerindeki tarama aralıklarını engeller.
Temel referans: BT Core 5.2 Spesifikasyonu, sayfa 2493 (LE Set Scan Parametreleri Komutu)
OCF: 0x15A
Komut Parametresi | Boyut | Amaç |
---|---|---|
LE_Ex_Scan_Type |
1 bayt |
0x00: Pasif tarama. SCAN_REQ paketi gönderilmez (varsayılan).0x01: Etkin tarama. SCAN_REQ paketi gönderilebilir.
|
LE_Ex_Scan_Interval |
4 bayt |
Denetleyicinin son LE taramasını başlattığı andan sonraki LE taramasını başlattığı ana kadar geçen zaman aralığı olarak tanımlanır. Aralık: 0x0004 ila 0x00FFFFFF Varsayılan: 0x0010 (10 ms) Zaman = N * 0,625 ms Zaman aralığı: 2,5 ms ila 10.442,25 saniye |
LE_Ex_Scan_Window |
4 bayt |
LE taramasının süresi. LE_Scan_Window , LE_Scan_Interval değerinden küçük veya eşit olmalıdır.
Aralık: 0x0004 ila 0xFFFF Varsayılan: 0x0010 (10 ms) Zaman = N * 0,625 ms Zaman Aralığı: 2,5 ms ila 40,95 saniye |
Own_Address_Type |
1 bayt |
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 cihaza yönelik olmayan yönlendirilmiş reklam paketleri yoksayılır. 0x01 - Yalnızca Beyaz Liste'de bulunmayan cihazlardan gelen reklam paketlerini yoksay. Bu cihaza yönlendirilmeyen yönlendirilmiş reklam paketleri yok sayılır. |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Denetleyici hata ayıklama bilgilerini alma komutu
Bu bilgi öğesinin amacı, bir ana makinenin, son işleme ve analiz için denetleyici hata ayıklama bilgilerini ikili biçimde edinmesidir. Bu, sahadaki sorunları gidermenize yardımcı olur ve mühendislere analiz için bilgi günlüğe kaydetmelerini sağlayan bir araç seti sunar. Denetleyici, bir ana makine tarafından istenen bilgileri etkinlik (Denetleyici Hata Ayıklama Bilgileri alt etkinliği) aracılığıyla veya denetleyici tarafından istendiğinde bağımsız olarak sağlayabilir. Örneğin, donanım yazılımı durum bilgilerini, kilitlenme döküm bilgilerini, günlük kaydı bilgilerini vb. bildirmek için kullanılabilir.
OCF: 0x15B
Komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Boş komut parametresi listesi |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
A2DP donanım yükünü devre dışı bırakma desteği
A2DP aktarma özelliği, A2DP ses kodlama işleminin BT denetleyiciye bağlı bir ses işlemcisine aktarılmasını destekler. Kodlanmış ses veri akışı, BT ana makinesinin katılımı olmadan doğrudan ses işlemciden BT denetleyicisine geçer. BT ana makinesi, A2DP oturumunun yapılandırılmasından ve kontrolünden hâlâ sorumludur. Komutların iki sürümü vardır. Alt OCF 0x01-0x02 içeren eski komutlar yalnızca açık kaynak codec'leri destekler. Alt OCF 0x03-0x04 içeren sürümler, yapılandırılmış codec'e bağlı değildir.
OCF: 0x15D
A2DP yükünü devre dışı bırakma (eski)
Alt OCF: 0x01
Bu komutu hem A2DP aktarma işlemini yapılandırmak hem de A2DP akışını başlatmak için kullanın.
Komut parametresi | Boyut | Amaç |
---|---|---|
Codec |
4 sekizlik |
Codec türünü belirtir 0x01 - SBC 0x02 - AAC 0x04 - APTX 0x08 - APTX HD 0x10 - LDAC |
Max_Latency |
2 bayt | İzin verilen maksimum gecikme (ms cinsinden). Sıfır değeri, temizlemeyi devre dışı bırakır. |
SCMS-T_Enable |
2 bayt |
0 oktet: SCMS-T başlığının eklenmesini sağlayan işaret.
1. bayt: Etkinleştirildiğinde SCMS-T başlığının değeri. |
Sampling_Frequency |
4 bayt |
0x01 - 44.100 Hz 0x02 - 48.000 Hz 0x04 - 88.200 Hz 0x08 - 96.000 Hz |
Bits_Per_Sample |
1 bayt |
0x01: Örnek başına 16 bit 0x02: Örnek başına 24 bit 0x04: Örnek başına 32 bit |
Channel_Mode |
1 sekizlik |
0x01 - Mono 0x02 - Stereo |
Encoded_Audio_Bitrate |
4 bayt |
Saniye başına bit cinsinden kodlanmış ses bit hızı. 0x00000000: Ses bit hızı belirtilmemiş / kullanılmamış. 0x00000001 - 0x00FFFFFF: Saniye başına bit cinsinden kodlanmış ses bit hızı. 0x01000000 - 0xFFFFFFFF - Ayrılmış. |
Connection_Handle |
2 bayt | Yapılandırılan A2DP bağlantısının bağlantı kolu |
L2CAP_Channel_ID |
2 bayt | Bu A2DP bağlantısı için kullanılacak L2CAP kanal kimliği |
L2CAP_MTU_Size |
2 bayt | Kodlanmış ses paketleri içeren L2CAP MTU'nun maksimum boyutu |
Codec_Information |
32 bayt |
Kodek'e özgü bilgiler.
SBC codec'i:
A2DP v1.3'teki SBC codec'e özgü bilgi öğelerine bakın. AAC codec'i:
A2DP v1.3'teki AAC codec'ine özgü bilgi öğelerine bakın LDAC codec'i:
0-3 bayt: Tedarikçi firma kimliği
4-5. sekizli: Kodek kimliği
6. bayt: Bit hızı dizini:
7. bayt: LDAC kanal modu 8-31 oktet: ayrılmış Diğer tüm codec'ler: 0-31 oktet: ayrılmış |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Sub_Opcode |
1 sekizlik | 0x01 - A2DP yükünü başlat |
A2DP yükünü devre dışı bırakma
Alt OCF: 0x03
Bu komutu hem A2DP aktarma işlemini yapılandırmak hem de A2DP akışını başlatmak için kullanın.
Komut parametresi | Boyut | Amaç |
---|---|---|
Connection Handle |
2 bayt | Etkin HCI bağlantısının herkese açık adı |
L2CAP_Channel_ID |
2 bayt | A2DP akış için açılan L2CAP kanalının tanımlayıcısı |
Data_Path_Direction |
1 bayt |
0x00 - Çıkış (AVDTP Kaynağı/Birleştirme) 0x01 - Giriş (AVDTP Alıcısı/Bölme) |
Peer_MTU |
2 bayt | Eşle pazarlık yapılan L2CAP paketlerinin maksimum boyutu. |
CP_Enable_SCMS_T |
1 bayt |
0x00 - SCMS-T İçerik Koruma Üst Bilgisini Devre Dışı Bırak 0x01 - SCMS-T İçerik Koruma Üst Bilgisini Etkinleştir |
CP_Header_SCMS_T |
1 bayt |
SCMS-T İçerik Koruma Başlığı etkinleştirildiğinde (CP_SCMS_T_Enable 0x01 değerine ayarlanır), Bluetooth Atanmış Sayılar Bölüm 6.3.2'de tanımlandığı gibi ses içeriğinden önce gelen başlık değerini (A2DP Bölüm 3.2.1-2'ye bakın) tanımlar.SCMS-T içerik koruması etkinleştirilmemişse yoksayılır. |
Vendor_Specific_Parameters_Length |
1 bayt |
Tedarikçiye özgü parametrelerin uzunluğu (0 ile 128 arasında). Ek parametre sağlanmadığında 0 değeri kullanılır. |
Vendor_Specific_Parameters |
0-128 bayt |
Bluetooth Audio HAL tarafından sağlanan Satıcıya Özel Parametreler,
CodecParameters.vendorSpecificParameters[] .
|
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Sub_Opcode |
1 bayt | 0x03: A2DP aktarımını başlat |
A2DP yükünü durdurma (eski)
Alt OCF: 0x02
Bu komut, A2DP aktarma akışını durdurmak için kullanılır.
Komut parametresi | Boyut | Amaç |
---|---|---|
Yok | Boş komut parametresi listesi. |
Bu komut için parametre tanımlanmamıştır.
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Sub_Opcode |
1 bayt | 0x02 - A2DP aktarımını durdur |
A2DP yükünü durdurma
Alt OCF: 0x04
Bu komut, A2DP aktarma akışını durdurmak için kullanılır.
Komut parametresi | Boyut | Amaç |
---|---|---|
Connection Handle |
2 bayt | Etkin HCI bağlantısının herkese açık adı |
L2CAP_Channel_ID |
2 bayt | A2DP akış için açılan L2CAP kanalının tanımlayıcısı |
Data_Path_Direction |
1 bayt |
0x00 - Çıkış (AVDTP Kaynağı/Birleştirme) 0x01 - Giriş (AVDTP Alıcısı/Bölme) |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Sub_Opcode |
1 bayt | 0x04 - A2DP aktarımını durdur |
Bluetooth Kalite Raporu komutu
BT Kalite Raporu komut özelliği, Bluetooth Kalite etkinliklerini ana makineye bildirmek için Bluetooth denetleyicisindeki mekanizmayı başlatır. Aşağıdaki dört seçeneği etkinleştirebilirsiniz:
- Kalite İzleme Modu: Denetleyici, ana makineye düzenli olarak Bağlantı Kalitesi ile ilgili bir BQR alt etkinliği gönderir.
- LSTO'ya Yaklaşma: Bağlanan BT cihazından Bağlantı Gözetimi Zaman Aşımı (LSTO) değerinin yarısından uzun süre boyunca paket alınmazsa kontrol cihazı, ana makineye LSTO'ya Yaklaşma etkinliği bildirir.
- A2DP Ses Kesintisi: Denetleyici, sesin kesintili olmasına neden olan faktörleri algıladığında, ana makineye A2DP ses kesintisi etkinliği bildirir.
- (e)SCO Ses Kesintisi: Denetleyici, sesin kesintili olmasına neden olan faktörleri algıladığında, (e)SCO ses kesintisi etkinliğini ana makineye bildirir.
- Kök iltihabı: Bu etkinlik, HAL veya denetleyici ölümcül 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 LMP/LL mesajı el sıkışmasını ana makineye gönderir.
- Bluetooth Çoklu Profil/Coex planlama izlemesi: Denetleyici, 2,4 GHz bandında birden fazla Bluetooth profilinin ve kablosuz birlikte varoluşunun işlenmesiyle 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 kaydı bilgilerini ana makineye bağımsız olarak bildirebilir.
- LE Audio Kesintili: Denetleyici, sesin kesintili olmasına neden olan faktörler algıladığında, LE Audio Kesintili etkinliğini toplantı sahibine bildirir.
-
Gelişmiş RF İstatistikleri modu: Denetleyici, RF istatistikleriyle ilgili bilgilerini ana makineye raporlar ve iki rapor kullanım alanını destekler:
- Periyodik raporlar
- Etkinlik tetikleyicileri (yayın başlangıcı/durdurması ve bağlantı kalitesi etkinliği tetikleyicisi).
- Bluetooth Kalite Raporu Komutu'nun BQR_Report_Action: Ana makine, kalite izleme modu, enerji izleme modu veya gelişmiş RF istatistikleri modu için tek seferlik bir sorgu almak amacıyla bu HCI komutunu kullanabilir.
OCF: 0x15E
Komut parametresi | Boyut | Amaç |
---|---|---|
BQR_Report_Action |
1 bayt |
BQR_Quality_Event_Mask parametresinde ayarlanan kalite etkinliklerinin raporlamasını ekleme / silme veya tümünü temizleme işlemi.
0x00 - Ekle
Silme işlemi, belirli kalite etkinlikleri raporlarını temizler. |
BQR_Quality_Event_Mask |
4 bayt |
Seçilen kalite etkinliği raporlaması için bit maskeleri.
Bit 0: Kalite izleme modunu etkinleştirmek için ayarlayın. |
BQR_Minimum_Report_Interval |
2 bayt |
Seçilen kalite etkinlikleri için kalite etkinliği raporlamasının minimum zaman aralığını tanımlayın. Denetleyici donanım yazılımı, sonraki etkinliği belirlenen zaman aralığında bildirmemelidir. Aralık ayarı, eklenen kalite etkinliklerine özel olmalıdır.
Birim: ms |
BQR_Vendor_Specific_Quality_Event_Mask |
4 bayt |
Seçilen tedarikçiye özgü kalite etkinliği raporlaması için bit maskeleri. Bu parametre yalnızca BQR_Quality_Event_Mask 'un 15. biti ayarlandığında geçerlidir.
Bit 0 ~ 31: Ayrılmış. |
BQR_Vendor_Specific_Trace_Mask |
4 bayt |
Seçilen tedarikçiye özgü izleme raporlaması için bit maskeleri. Bu parametre yalnızca BQR_Quality_Event_Mask 'un 31. biti ayarlandığında geçerlidir.
Bit 0 ~ 31: Ayrılmış. |
Report_interval_multiple |
4 bayt |
BQR_Minimum_Report_Interval için çarpan. Bu değer >= 1 olduğunda, BQR Rapor Aralıkları biçimini izler: BQR Rapor Aralıkları = BQR_Minimum_Rapor_Aralığı x Rapor_aralığı_çarpanı. Denetleyici donanım yazılımı, bir sonraki etkinliği tanımlanan zaman aralığında bildirmemelidir. Aralık ayarı, özellikle eklenen kalite etkinlikleri içindir.
Birim: ms BQR_Report_Interval ayarı denetleyicinin kapasitesinden daha büyükse denetleyici, komutun tamamlanmasıyla birlikte maksimum BQR_Report_Interval süresini döndürmelidir.
|
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Current_Quality_Event_Mask |
4 bayt |
Mevcut bit maskesi ayarını gösterir. Bit 0: Kalite izleme modu etkindir. 1. bit: Yaklaşan LSTO etkinliği raporlaması etkindir. Bit 2: A2DP Audio Choppy etkinlik raporlaması etkindir. 3. bit: (e)SCO Voice Choppy etkinlik raporlaması etkindir. 4. bit: Kök iltihabı etkinliği raporlaması etkindir. 5. bit: Enerji izleme modu etkinleştirilmiştir. 6. bit: LE ses kesintili etkinlik raporlaması etkindir. 7. bit: Bağlantı hatası etkinliği. 8. Bit: Gelişmiş RF İstatistikleri modu etkinlik tetikleyicisini etkinleştirmek için ayarlayın. 9. bit: Gelişmiş RF istatistiklerinin düzenli olarak raporlanmasını etkinleştirmek için ayarlayın. 10. ~ 14. bit: Ayrılmış. 15. bit: Tedarikçiye özgü kalite etkinliği raporlaması etkindir. 16. bit: LMP/LL mesaj izleme etkindir. 17. bit: Bluetooth Çoklu Bağlantı/Coex planlama izleme etkindir. 18. bit: Denetleyici Hata Ayıklama Bilgileri mekanizması etkin. 19. ~ 30. bit: Ayrılmış. 31. bit: Tedarikçiye özgü izleme etkindir. |
Current_Vendor_Specific_Quality_Event_Mask |
4 bayt | Mevcut bit maskesi ayarını gösterir. |
Current_Vendor_Specific_Trace_Mask |
4 bayt | Mevcut bit maskesi ayarını gösterir. |
BQR_Report_interval |
4 bayt | Mevcut bit maskesi ayarını gösterir. |
Current_Vendor_Specific_Trace_Mask |
4 bayt |
BQR_Report_interval ayarı. BQR_Minimum_Report_Interval * Report_interval_multiple ile denetleyicinin maksimum destek aralığı arasında minimum değer olmalıdır. |
Dinamik ses arabelleği komutu
Dinamik ses arabelleği, Bluetooth denetleyicisindeki ses arabelleği boyutunu çeşitli senaryolara göre değiştirerek ses hatalarını azaltır.
OCF: 0x15F
Ses arabelleğe alma süresi özelliğini alma
Alt OCF: 0x01
Bluetooth kontrol cihazından ses arabelleği 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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Dynamic_Audio_Buffer_opcode |
1 bayt | 0x01 - Ses arabelleği süresini alma |
Audio_Codec_Type_Supported |
4 bayt |
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 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen Bit 0 codec türünün varsayılan arabelleğe alma süresi. Bit 0 codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen Bit 0 codec türünün maksimum arabelleğe alma süresi. Bit 0 codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen Bit 0 codec türünün minimum arabelleğe alma süresi. Bit 0 codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Audio_Codec_Buffer_Default_Time_For_Bit_1 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen 1 bitlik codec türünün varsayılan arabellek süresi. Bit 1 codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen Bit 1 codec türünün maksimum arabelleğe alma süresi. Bit 1 codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen 1 bitlik codec türünün minimum arabelleğe alma süresi. Bit 1 codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
...... | ...... | ...... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen 31 bitlik codec türünün varsayılan arabellek süresi. 31 bitlik codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen 31 bitlik codec türünün maksimum arabelleğe alma süresi. 31 bitlik codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 |
2 bayt |
Audio_Codec_Type_Supported parametresinde belirtilen 31 bitlik codec türü için minimum arabelleğe alma süresi. 31 bitlik codec türü desteklenmiyorsa bu değer 0 olur. Birim: ms |
Ses arabelleği süresini ayarlama
Alt OCF: 0x02
Bluetooth denetleyicide ses arabelleği süresini ayarlamak için bu komutu kullanın.
Komut parametresi | Boyut | Amaç |
---|---|---|
Audio_Codec_Buffer_Time |
2 bayt |
Kullanılan mevcut codec için istenen ses arabelleği süresi. Birim: ms |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Dynamic_Audio_Buffer_opcode |
1 sekizlik | 0x02: Ses arabelleği süresini ayarlama |
Audio_Codec_Buffer_Time |
2 bayt |
Bluetooth kumandasındaki mevcut ses arabelleği süresi. Birim: ms |
HCI etkinliği (tedarikçiye özgü)
Bazı durumlarda tedarikçiye özgü HCI etkinlikleri gerekir. BT Core 5.2 Spesifikasyonunun 1897. sayfasındaki Şekil 5.4'e bakın. 0 numaralı etkinlik parametresi, her zaman HCI etkinliğinin geri kalanının kodunu çözmek için kullanılan ilk alt etkinlik kodunu içerir.
Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
HCI_vendor_specific_event_code |
1 bayt | 0xFF |
sub_event_code |
1 bayt | Alt etkinlik kodu 1 oktett boyutundadır ve HCI etkinlik paketinde Parametre Uzunluğu'ndan hemen sonra gelen bayttır. |
Depolama alanı eşiği ihlali alt etkinliği
Bu etkinlik, depolama alanı eşiğinin ihlal edildiğini gösterir.
Alt etkinlik kodu = 0x54
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Yok |
LE çoklu reklamcılık durumu 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 bir bağlantı sonucunda hangi reklamcılık örneğinin durdurulduğunu belirtmek için kullanılır.
Alt etkinlik kodu = 0x55
Alt etkinlik parametresi | Boyut | Amaç |
---|---|---|
Advertising_instance |
1 bayt |
Belirli reklamcılık örneğini tanımlar Geçerli değerler 0 ile max_advt_instances -1 arasındadır
|
State_Change_Reason |
1 bayt | 0x00: Bağlantı alındı |
Connection_handle |
2 bayt |
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, bir reklamverenin ne zaman bulunduğunu veya kaybolduğunu gösterir.
Alt etkinlik kodu = 0x56
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
APCF_Filter_Index |
1 bayt | Filtre dizini (0, max_filter -1) |
Advertiser_State |
1 bayt |
0x00: Reklamveren bulundu 0x01: Reklamveren kayboldu |
Advt_Info_Present |
1 bayt |
0x00: Reklamveren bilgileri (Advt_Info ) mevcut0x01: Reklamveren bilgileri ( Advt_Info ) mevcut değil
|
Advertiser_Address |
6 bayt | Herkese açık veya rastgele adres |
Advertiser_Address_Type |
1 bayt |
0x00: Herkese açık adres 0x01: Rastgele adres |
Advt_Info |
Tx_Pwr[0] : 1 baytRSSI[0] : 1 baytTimestamp[0] : 2 baytAdv packet_len[0] : 1 baytAdv_packet[0] : Adv_packet_len baytScan_data_resp_len[0] : 1 baytScan_data_resp[0] : Scan_data_resp bayt
|
Denetleyici hata ayıklama bilgileri alt etkinliği
Bu etkinlik, bir denetleyici tarafından ana makineye ikili 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 bayt | Başlangıçtan itibaren blok bayt ofsetinde hata ayıklama |
last_block |
1 bayt |
0x00: Daha fazla hata ayıklama verisi var 0x01: Son ikili blok; başka hata ayıklama verisi yok |
cur_pay_load_sz |
2 bayt | Mevcut bir etkinlikteki ikili blok boyutu |
Debug_Data |
Değişken | cur_payload_sz verilerini hata ayıklama |
Bluetooth Kalite Raporu alt etkinliği
Bu etkinlik aşağıdakilerden birini gösterir: Bluetooth kalitesiyle ilgili bir etkinlik meydana geldi, kontrol cihazı LMP/LL mesaj izlemesini ve Bluetooth Çoklu Bağlantı/Coex planlama izlemesini yükledi veya kontrol cihazı hata ayıklama bilgileri verilerini döktü.
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x01 ~ 0x04, Bağlantı Kalitesi ile ilgili etkinlik]
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Quality_Report_Id |
1 bayt |
0x01: İzleme modunda kalite raporlaması. 0x02: LSTO'ya yaklaşıyor. 0x03: A2DP Ses Kesik Kesik. 0x04: (e)SCO Sesi Kesik. 0x05 ~ 0x06: Ayrılmış. 0x07: LE ses kesintili. 0x08: Bağlantı kurulamadı. 0x09 ~ 0xFF: Ayrılmış. |
Packet_Types |
1 bayt |
0x01: KIMLIK 0x02: BOŞ 0x03: ANKET 0x04: FHS 0x05: HV1 0x06: HV2 0x07: HV3 0x08: DV 0x09: EV3 0x0A: EV4 0x0B: EV5 0x0C: 2-EV3 0x0D: 2-EV5 0x0E: 3-EV3 0x0F: 3-EV5 0x11: DH1 0x12: DM3 0x13: DH3 0x14: DM5 0x15: DH5 0x16: AUX1 0x17: 2-DH1 0x18: 2-DH3 0x19: 2-DH5 0x1A: 3-DH1 0x1B: 3-DH3 0x1C: 3-DH5 0x1D ~ 0x50: Ayrılmış 0x51: ISO paketi 0x52 ~ 0xFF: Ayrılmış |
Connection_Handle |
2 bayt | ACL/(e)SCO/ISO bağlantısı tutamaç. |
Connection_Role |
1 bayt |
Bağlantı için rolü yürütme. 0x00: Merkezi 0x01: Çevresel 0x02 ~ 0xFF: Ayrılmış. |
TX_Power_Level |
1 bayt |
Belirtilen Connection_Handle için geçerli iletim gücü seviyesi.
Bu değer, denetleyicinin HCI_Read_Transmit_Power_Level HCI komutuna verdiği yanıtla aynı olmalıdır. |
RSSI |
1 bayt |
[dBm cinsinden]
Belirtilen Connection_Handle için Alınan Sinyal Gücü Göstergesi (RSSI) değeri. |
SNR |
1 bayt |
[dB cinsinden]
Belirtilen Connection_Handle için sinyal-gürültü oranı (SNR) değeri. |
Unused_AFH_Channel_Count |
1 bayt |
AFH_channel_map tablosunda kullanılmayan kanalların sayısını belirtir. 0x4F ~ 0xFF: Ayrılmış. |
AFH_Select_Unideal_Channel_Count |
1 bayt |
Parazitli ve kötü kalitede olan ancak AFH için yine de seçilen kanalların sayısını gösterir. Bluetooth spesifikasyonunun izin verdiği minimum kanal sayısı 20'dir. Bu nedenle, 79 kanalın tümü parazitli olsa ve kötü kalitede olsa bile denetleyicinin AFH için en az 20 kanal seçmesi gerekir. |
LSTO |
2 bayt |
Mevcut Bağlantı Gözetimi Zaman Aşımı Ayarı. Zaman = N * 0,625 ms Zaman Aralığı: 0,625 ms ila 40,9 saniye |
Connection_Piconet_Clock |
4 bayt |
Belirtilen Connection_Handle için Piconet Clock. Bu değer, denetleyicinin HCI_Read_Clock HCI komutuna 0x01 değerine sahip "Which_Clock" parametresiyle yanıt vermesiyle aynı olmalıdır (Piconet Clock). Birim: N * 0,3125 ms (1 Bluetooth Saat) |
Retransmission_Count |
4 bayt |
Son etkinlikten bu yana yeniden yayınların sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
No_RX_Count |
4 bayt |
Son etkinlikten bu yana RX sayısı yok. Planlanan zaman aralığında paket alınmadığında veya alınan paket bozuk olduğunda sayı artar. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
NAK_Count |
4 bayt |
Son etkinlikten bu yana NAK (Olumsuz Onay) sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
Last_TX_ACK_Timestamp |
4 bayt |
Son TX ACK'nin zaman damgası. Bu, piconet merkezinin (CLK) Bluetooth saatine dayanır. Birim: N * 0,3125 ms (1 Bluetooth Saat) |
Flow_Off_Count |
4 bayt |
Denetleyicinin son etkinlikten bu yana akış kapatma (STOP) sinyalini alma sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
Last_Flow_On_Timestamp |
4 bayt |
Son Flow-on'un (GO) zaman damgası. Bu, piconet merkezinin (CLK) Bluetooth saatine dayanır. Birim: N * 0,3125 ms (1 Bluetooth Saat) |
Buffer_Overflow_Bytes |
4 bayt |
[Bayt cinsinden]
Son etkinlikten bu yana arabellek taşması sayısı. |
Buffer_Underflow_Bytes |
4 bayt |
[Bayt cinsinden]
Son etkinlikten bu yana arabellek alt akış sayısı. |
bdaddr |
6 bayt | Uzak cihaz adresi |
cal_failed_item_count |
1 bayt | Kalibrasyonda başarısız olan öğelerin sayısı |
TX_Total_Packets |
4 bayt | Gönderilen paket sayısı. |
TX_UnAcked_Packets |
4 sekizlik |
Onay almayan paketlerin sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
TX_Flushed_Packets |
4 bayt |
Boşaltma noktasına göre gönderilmeyen paketlerin sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
TX_Last_Subevent_Packets |
4 bayt |
Bağlantı Katmanı'nın, bir CIS etkinliğinin son alt etkinliğinde CIS veri PDU'su ilettiği paket sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten 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 bayt |
Son etkinlikten bu yana CRC hatası içeren alınan paketlerin sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
RX_Duplicate_Packets |
4 bayt |
Son etkinlikten bu yana alınan yinelenen (yeniden iletilen) paketlerin sayısı. Bu sayı, düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
RX_Unreceived_Packets |
4 bayt |
Alınmayan paketlerin sayısı, LE READ ISO Bağlantı Kalitesi komutunun parametresiyle aynıdır (Bluetooth Core Specification Version 5.4'e bakın). İlişkili akışlar CIS ve BIS'dir. Bu değer arttığında Bağlantı Katmanı, temizleme noktasında (CIS'de) veya ilişkili olduğu etkinliğin sonunda (BIS'de; Bluetooth Core Specification Version 5.4 Vol 6 Part B, Section 4.4.6.6 bölümüne bakın) belirli bir yükü almaz. |
Coex_Info_Mask |
2 bayt |
Bit 0 - CoexInvolvement: Bu rapor oluşturulurken birlikte çalışma etkinliklerinin dahil olduğundan şüphelenildiğini belirtmek için ayarlanır (örneğin, A2DP kesintileri ve yaklaşan LSTO). Bit 1 - WL 2G Radyosu Etkin: WLAN 2G radyosunun etkin olduğunu belirtecek şekilde ayarlanır. Bit 2 - WL 2G Bağlı: WLAN 2G Radyo'nun etkin ve bağlı olduğunu belirtecek şekilde ayarlanır. 3. Bit - WL 5G/6G Radyo Etkin: WLAN 5G/6G Radyo'nun etkin olduğunu belirtecek şekilde ayarlanır. Bit 4-15 - Ayrılmış |
Tedarikçiye Özel Parametre | (parametrenin toplam uzunluğu - TBD) * bayt | Kontrol cihazı tedarikçisinin tedarikçiye özgü daha fazla parametre elde etmesi için. |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x05, Root Inflammation etkinliği]
Bu etkinlik, Bluetooth HAL'in veya kumandanın önemli bir hatayla karşılaştığını ve bu durumu kaydedip yeniden başlatmak için Bluetooth yığınına ihtiyaç duyduğunu gösterir. Denetleyici, hata ayıklama bilgileri etkinliklerinin ilk parçasını göndermeden önce Bluetooth yığınına bir Root_Inflammation_Event göndermelidir.
Error_Code parametresi, HAL/Denetleyici'den bildirilen bir hata kodu içerir. Çipset üreticiye özgü bir hata ise 0 değerini alır. Vendor_Specific_Error_Code, HAL/Denetleyici'den gelen bir çipset tedarikçisine özgü hata kodu içerir. Error_Code parametresi 0 değilse 0 olarak ayarlanmalıdır. Error_Code ve Vendor_Specific_Error_Code parametrelerinin ikisi de 0 olmamalıdır.
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Quality_Report_Id |
1 bayt |
0x00 ~ 0x04: Ayrılmış. 0x05: Kök iltihabı. 0x06 ~ 0xFF: Ayrılmış. |
Error_Code |
1 bayt |
0x00: Yonga seti tedarikçisine özgü hata kodu dahildir. 0x01 ~ 0xFF: Denetleyici hatası oluştu. Hata kodlarının listesini ve açıklamalarını görmek için Bluetooth Spec [Vol 2] D Bölümü, Hata Kodları'na bakın. |
Vendor_Specific_Error_Code |
1 bayt |
0x00: Yonga seti tedarikçisine özgü hata kodu yok. 0x01 ~ 0xFF: Yonga seti tedarikçisine özgü hata kodu. |
Tedarikçiye Özel Parametre | (Parametrenin Toplam Uzunluğu - 4) * bayt | Kontrol cihazı tedarikçisinin tedarikçiye özgü daha fazla parametre elde etmesi için. |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x11 ~ 0x13, Log Dump ile ilgili etkinlik]
Alt Etkinlik Parametresi | Boyut | Amaç |
---|---|---|
Quality_Report_Id |
1 bayt |
0x00 ~ 0x10: Ayrıldı. 0x11: LMP/LL mesaj izleme. 0x12: Bluetooth Çoklu Bağlantı/Coex planlama izleme. 0x13: Denetleyici Hata Ayıklama Bilgileri veri dökümü. 0x14 ~ 0xFF: Ayrılmış. |
Connection_Handle |
2 bayt | Bağlantı Kolu. |
Tedarikçiye Özel Parametre | (Parametrenin Toplam Uzunluğu - 4) * bayt | LMP mesaj izleme, Bluetooth Çoklu Bağlantı/Coex planlama izleme ve Denetleyici Hata Ayıklama Bilgileri veri dökümünün Satıcıya Özel biçimi. |
Birden fazla reklamveren desteği
Çok reklamverenli desteğin hedefleri şunlardır:
-
Birden fazla reklamı destekleme olanağı (
max_advt_instances
) - Değişken bir aralığa izin vermek için farklı iletim güçleri
- Farklı reklam içeriği
- Her reklamveren için özelleştirilmiş bir yanıt
- Her reklamveren için gizlilik (izlenemez)
- Bağlanabilir
Bu spesifikasyonun mevcut standartlara yakın olması için aşağıdaki tedarikçiye özgü komutlar sağlanmıştır. Bunlar, Bluetooth Core 4.1 spesifikasyonundan türetilmiştir.
LE_Multi_Advt_Command
OCF: 0x154
Komut parametresi | Boyut | Amaç |
---|---|---|
Multi_advt_opcode |
1 bayt |
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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 bayt |
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, 964. sayfa (LE Set Advertising Parameter Command)
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Advertising_Interval_Min |
Spesifikasyon başına | Spesifikasyon başına |
Advertising_Interval_Max |
Spesifikasyon başına | Spesifikasyon başına |
Advertising_Type |
Spesifikasyon başına | Spesifikasyon başına |
Own_Address_Type |
Spesifikasyon başına | Spesifikasyon başına |
Own_Address |
Spesifikasyon başına | Spesifikasyon başına |
Direct_Address_Type |
Spesifikasyon başına | Spesifikasyon başına |
Direct_Address |
Spesifikasyon başına | Spesifikasyon başına |
Advertising_Channel_Map |
Spesifikasyon başına | Spesifikasyon başına |
Adverstising_Filter_Policy |
Spesifikasyon başına | Spesifikasyon başına |
Advertising_Instance |
1 bayt | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir |
Tx_power |
1 bayt |
Transmit_Power Birim: dBm (işaretli tam sayı) Aralık: (-70 ila +20) |
Own_Address
parametresi, bu çok reklamlı örneğin ayarlandığı sırada ana makine tarafından yapılandırılmış bir adres olabilir. Bu, ilk işaretin gönderildiği sırada çözülebilir bir özel adrese sahip olma olanağı sağlar. Bir örnekteki reklam, bağlantıdan bağımsız olarak devam eder. Ana makine BT yığını, bağlantıdan sonra bir örnekte reklamı başlatma komutu verebilir.
Yukarıdaki komut için Bluetooth Core 4.1 Spesifikasyonunda belirtildiği gibi bu komut için bir Komut Tamamlandı etkinliği oluşturulur. Reklamcılık örneği veya Tx_Power
parametreleri geçersizse kontrolör, başarı olmayan bir kodla (geçersiz parametre) yanıt verir.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 bayt | 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 Reklam Verileri Ayarlama Komutu)
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Advertising_Data_Length |
Spesifikasyon başına | Spesifikasyon başına |
Advertising_Data |
Spesifikasyon başına | Spesifikasyon başına |
Advertising_Instance |
1 bayt | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir |
Yukarıdaki komut için Bluetooth Core 4.1 Spesifikasyonunda belirtildiği gibi bu komut için bir Komut Tamamlandı etkinliği oluşturulur. Reklamcılık örneği veya Tx_Power
parametreleri geçersizse denetleyici, başarı dışı bir kodla yanıt verir.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 bayt | 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 başına | Spesifikasyon başına |
Scan_Response_Data |
Spesifikasyon başına | Spesifikasyon başına |
Advertising_Instance |
1 bayt | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir |
Yukarıdaki komut için Bluetooth Core 4.1 Spesifikasyonunda belirtildiği gibi bu komut için bir Komut Tamamlandı etkinliği oluşturulur. Reklamcılık örneği veya Tx_Power
parametreleri geçersizse kontrolör, başarı kodu olmayan bir yanıt (geçersiz parametre) verir.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 bayt | 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, 963. sayfa (LE Set Random Address Command)
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Rastgele Adres | Spesifikasyon başına | Spesifikasyon başına |
Advertising_Instance |
1 bayt | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 bayt | 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 (Bu temel spesifikasyondaki LE SetAdvertiseEnable Komutu)
OCF: 0x05
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Advertising_Enable |
1 sekizlik | 1 değeri etkinleştirme anlamına gelir. Başka herhangi bir değer devre dışı demektir. |
Advertising_Instance |
1 bayt | Yukarıdaki parametrelerin bir örnek için uygulanabilirliğini belirtir. 0 numaralı örnek, standart bir HCI örneği anlamına gelir. |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 bayt | 0x05 [Set_Advt_Enable_Multi_Sub_Cmd] |
Özel adresin çözümü için aktarma
Bu özellik, denetleyici donanım yazılımında veya donanımında özel bir adresi çözerek aşağıdaki avantajları sağlar:
- Özel bir adresi çözerken ana makineyle ilgili gecikme
- Ev sahibini uyandırmaktan kaçınarak güç tasarrufu yapma
LE_Set_RPA_Timeout
OCF: 0x15C
Komut parametresi | Boyut | Amaç |
---|---|---|
LE_local_IRK |
16 sekizlik | Rastgele çözülebilir adresleri oluşturmak için kullanılan yerel cihaz IRK. |
tRPA_min |
2 bayt |
Saniye cinsinden minimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımından sonra veya bu zaman aşımından önce gerçekleşen tüm reklam/tarama/bağlantı etkinlikleri için yeni çözülebilir adresler oluşturmalıdır. Geçerli aralık: 300-1.800 |
tRPA_max |
2 bayt |
Saniye cinsinden maksimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımından önce veya bu zaman aşımına kadar tüm reklam/tarama/bağlantı etkinlikleri için yeni çözülebilir adresler oluşturmalıdır. Geçerli aralık: tRPA_min -1800
|
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt |
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_offload_Command
OCF: 0x155
Komut parametresi | Boyut | Amaç |
---|---|---|
RPA_offload_opcode |
1 bayt |
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 Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Event_RPA_offload_opcode |
1 bayt |
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: Enable_cust_specific_sub_Command
Alt OCF: 0x01
Alt komut parametresi | Boyut | Amaç |
---|---|---|
enable_customer_specific_feature_set |
1 bayt |
0x01: Yükün aktarıldığı RPA özelliğini etkinleştir 0x00: Yükün aktarıldığı RPA özelliğini devre dışı bırak |
RPA offload'un, çip özelliğine göre ana makine tarafından etkinleştirilmesi gerekir. LE_Get_Vendor_Capabilities_Command
sayfasına bakın.
Her çipin donanım yazılımında farklı bir max_irk_list_sz
olabilir.
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 bayt | 0x01 [Müşteriye özel özelliği etkinleştir] |
LE_RPA_offload: Add_IRK_to_list_sub_Command
Alt OCF: 0x02
Alt komut parametresi | Boyut | Amaç |
---|---|---|
LE_IRK |
16 bayt | LE IRK (1. bayt LSB) |
Address_Type |
1 bayt |
0: Herkese açık adres 1: Rastgele adres |
LE_Device_Address |
6 bayt | IRK ile ilişkili herkese açık veya rastgele adres (1. bayt LSB) |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 bayt | 0x02 [Listeye IRK ekle] |
LE_IrkList_AvailableSpaces |
1 bayt | Mevcut işlemden sonra kullanılabilir IRL listesi girişleri |
LE_RPA_offload: Remove_IRK_to_list_sub_Command
Alt OCF: 0x03
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Address_Type |
1 bayt |
0: Herkese açık adres 1: Rastgele adres |
LE_Device_Address |
6 bayt | IRK ile ilişkilendirilen herkese açık veya rastgele adres |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 bayt | 0x03 [IRK'yı listeden kaldır] |
LE_IrkList_AvailableSpaces |
1 bayt | Mevcut işlemden sonra mevcut IRL listesi girişleri |
LE_RPA_offload: Clear_IRK_list_sub_Command
Alt OCF: 0x04
Alt komut parametresi | Boyut | Amaç |
---|---|---|
Yok |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 bayt | 0x04 [Clear IRK List] |
LE_IrkList_AvailableSpaces |
1 bayt |
Mevcut işlemden sonra kullanılabilir IRL listesi 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 bayt | IRK listesinin dizini [0, max_irk_list_sz-1] |
Bu komut için bir Komut Tamamlandı etkinliği oluşturulur.
Döndürülen parametre | Boyut | Amaç |
---|---|---|
Status |
1 bayt | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 bayt | 0x05 [IRK Listesi Girişi'ni Oku] |
LE_Read_IRK_List_entry |
1 bayt | Ana makinenin geri okumak istediği IRK'nın dizini (maksimum IRK listesi boyutu 32'dir) |
LE_IRK |
16 bayt | IRK değeri |
Address_Type |
1 bayt |
0: Herkese açık adres 1: Rastgele adres |
LE_Device_Address |
6 bayt | IRK ile ilişkili herkese açık veya rastgele adres |
LE_Resolved_Private_Address |
6 bayt | Bu IRK'nın mevcut çözümlenmiş özel adresi |