Bluetooth kumandayla etkileşim kurmak için Ana Denetleyici Arayüzü (HCI) kullanılır.
Bu belgede, Bluetooth (BT) ve Bluetooth Düşük Enerji (BLE) HCI koşullarının listesi verilmektedir. Amaç, aşağıdaki özellik setini kullanmak için Host BT yığını tedarikçilerinin ve BT denetleyici tedarikçilerinin bu platform koşullarına uymasını sağlamaktır.
Bu belgede, Bluetooth Core 5.2 Spesifikasyonu "spec." olarak adlandırılır. Bluetooth Core 5.2 Spesifikasyonu, diğer kabul edilen belgelerle birlikte Bluetooth SIG web sitesinde bulunabilir.
Genel tasarımına genel bakış
Çip özellikleri ve yapılandırması
Açık bir platform olan Android; yazılım sürümleri, OEM'ler, satıcılar, platform ve çip özelliklerinden oluşan bir matrise sahiptir.
Değişen ortamı ve geçişleri yönetmek için bu belgede, BT denetleyicilerinin özelliklerini (standart Bluetooth Core 5.2 Spesifikasyonu'nun ötesinde) kullanıma sunmasına 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 amaçlarından 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 hale getirmeyi tercih ederiz.
Tedarikçiye özgü özellikler
Tedarikçiye özel komut: LE_Get_Vendor_Capabilities_Command
OpCode Command Field (OCF): 0x153
| Komut parametresi | Boyut | Amaç |
|---|---|---|
| Yok | Boş komut parametresi listesi |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
max_advt_instances(Kullanımdan kaldırıldı) |
1 sekizlik |
Desteklenen reklam örneği sayısı. v0.98'den sonra ayrıldı. Bu parametre, BT spesifikasyonunun 5.0 ve sonraki sürümlerinde kullanılabilen LE Extended Advertising lehine Google özellik spesifikasyonunun v0.98 ve sonraki sürümlerinde kullanımdan kaldırılmıştır. |
offloaded_resolution_of_private-address(Kullanımdan kaldırıldı) |
1 sekizlik |
RPA'nın BT çipi özelliği. Çip tarafından destekleniyorsa barındırıcı tarafından etkinleştirilmesi gerekir. 0 = Yapılamaz 1 = Yapılabilir v0.98'den sonra ayrılmıştır. Bu parametre, BT spesifikasyonunun 4.2 ve sonraki sürümlerinde bulunan Gizlilik özelliği lehine Google özelliği spesifikasyonunun 0.98 ve sonraki sürümlerinde kullanımdan kaldırılmıştır. |
total_scan_results_storage |
2 sekizlik | Tarama sonuçları için depolama alanı (bayt) |
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 |
Etkinlik ve enerji bilgilerinin raporlanmasını destekler 0 = Desteklemiyor 1 = Destekliyor |
version_supported |
2 sekizlik |
Desteklenen Google özelliği spesifikasyonunun sürümünü belirtir byte[0] = Ana sayı byte[1] = Alt sayı v1.06 byte[0] = 0x01 byte[1] = 0x06 Aşağıdaki sürümlerde eklenen özellikler: v1.06:
|
total_num_of_advt_tracked |
2 sekizlik |
OnLost/OnFound amaçları için izlenen toplam reklamveren sayısı
|
extended_scan_support |
1 sekizlik | Genişletilmiş tarama penceresini ve aralığını destekler |
debug_logging_supported |
1 sekizlik | Denetleyiciden ikili hata ayıklama bilgilerinin kaydedilmesini destekler. |
LE_address_generation_offloading_support(Kullanımdan kaldırıldı) |
1 sekizlik |
0 = Desteklenmiyor 1 = Destekleniyor v0.98'den sonra ayrılmıştır. Bu parametre, BT spesifikasyonunun 4.2 ve sonraki sürümlerinde bulunan Gizlilik özelliği lehine Google özelliği spesifikasyonunun 0.98 ve sonraki sürümlerinde kullanımdan kaldırılmıştır. |
A2DP_source_offload_capability_mask |
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 - Opus Bit 6-31 ayrılmıştır. |
bluetooth_quality_report_support |
1 sekizlik |
Bluetooth kalitesi etkinliklerinin raporlanmasını destekler 0 = Desteklemiyor 1 = Destekliyor |
dynamic_audio_buffer_support |
4 sekizlik |
Bluetooth denetleyicisinde 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 - Opus Bit 6-31 ayrılmıştır. |
a2dp_offload_v2_support |
1 sekizlik |
Bluetooth denetleyicisinde A2DP yük aktarma v2 komutlarını destekler (bkz.
A2DP yük aktarmayı başlatma,
A2DP yük aktarmayı durdurma) 0 = Desteklenmiyor 1 = Destekleniyor |
iso_link_feedback_support |
1 sekizlik |
ISO Link Feedback etkinliğini destekler 0 = Desteklenmiyor 1 = Destekleniyor |
sniff_offload_support |
1 sekizlik |
Bluetooth kumandada Sniff Offload komutlarını destekler 0 = Desteklenmiyor 1 = Destekleniyor |
big_set_channel_map_classification_support |
2 sekizlik |
LE Yayın Kanalı Haritası Sınıflandırma özelliğinin sub_opcode'unu destekler Bit 0 - sub_opcode 0x01'i (LE ACL bağlantı tutamaçlarıyla BIG kanal haritasını ayarlama) destekler Bit 1-15 - Ayrılmış Bit değeri: 0 0 = Desteklenmiyor 1 = Destekleniyor |
vendor_connection_handle_min |
2 sekizlik | ACL paketleri üzerinden alınan HCI satıcı etkinlikleri için satıcı bağlantı tutma yerlerinin minimum değerini raporlayın. 0 tanıtıcısı, ACL veri paketleri üzerinden satıcı etkinliği raporlaması için desteğin eksik olduğunu belirtmek amacıyla kullanılır. |
vendor_connection_handle_max |
2 sekizlik | ACL paketleri üzerinden alınan HCI satıcı etkinlikleri için satıcı bağlantı tutmaçlarının maksimum değerini raporlar. 0 tanıtıcısı, ACL veri paketleri üzerinden satıcı etkinliği raporlaması için desteğin eksik olduğunu belirtmek amacıyla kullanılır. |
connection_proximity_threshold_support |
1 sekizlik |
Çipin bağlantı yakınlığı eşiğini destekleyip desteklemediği 0 = Desteklenmiyor 1 = Destekleniyor |
Toplu tarama sonuçları
Bluetooth LE Scan Response etkinlik bildirimlerinin ana makineye iletilme şeklini iyileştirmek, ana makinede güç tasarrufu sağlamak için bir tasarım hedefidir.
Denetleyicinin, ana uygulama işlemcisine tarama sonuçlarını bildirme sıklığını azaltarak ana uygulama işlemcisinin daha uzun süre boşta/uykuda kalmasını sağlayabilirsiniz. Bu, ana makinedeki güç tüketimini azaltır. LE_Get_Vendor_Capabilities_Command total_scan_results_storage dönüş parametresi, tarama sonuçlarının depolanması için çip özelliğini gösterir.
Bu özellik, Bluetooth denetleyicisindeki LE Tarama Sonuçları depolama tesisinin yönetimine ve yapılandırmasına odaklanır. Depolama alanı, reklam verilerini ve denetleyici tarafından alınan tarama verileri ile meta verileri geçici olarak gruplandırmak ve daha sonra barındırıcıya teslim etmek için kullanılır.
Donanım yazılımı, aynı anda etkinleştirilebilen iki tür toplu işleme özelliğini desteklemelidir:
- Kısaltılmış. Aşağıdaki bilgi öğelerini içerir: {MAC, TX Power, RSSI, Timestamp}
- Tamamlandı. Aşağıdaki 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 özel özelliği etkinleştirme 0x2 - Toplu tarama depolama parametrelerini ayarlama 0x3 - Toplu tarama parametrelerini ayarlama 0x4 - Toplu tarama sonucu parametrelerini okuma |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur. Müşteriye özel özelliği etkinleştirmek taramayı başlatmaz.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Batch_Scan_opcode |
1 sekizlik |
0x1 - Müşteriye özel özelliği etkinleştirme 0x2 - Toplu tarama depolama parametrelerini ayarlama 0x3 - Toplu tarama parametrelerini ayarlama 0x4 - Toplu tarama sonucu parametrelerini okuma |
LE_Batch_Scan_Command: Müşteriye özel özelliği etkinleştirme
Alt OCF: 0x01
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
enable_customer_specific_feature_set |
1 sekizlik |
0x01 - Toplu Tarama özelliğini etkinleştirme 0x00 - Toplu Tarama özelliğini devre dışı bırakma |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Batch_Scan_opcode |
1 sekizlik |
0x1 - Müşteriye özel özelliği etkinleştirme 0x2 - Toplu tarama depolama parametrelerini ayarlama 0x3 - Toplu tarama parametrelerini ayarlama 0x4 - Toplu tarama sonucu parametrelerini okuma |
LE_Batch_Scan_Command: Toplu tarama depolama parametresi alt komutunu ayarlama
Alt OCF: 0x02
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
Batch_Scan_Full_Max |
1 sekizlik |
Tam stile ayrılan maksimum depolama alanı (yüzde olarak) [Aralık: 0-100] |
Batch_Scan_Truncated_Max |
1 sekizlik |
Kısaltılmış stile ayrılan maksimum depolama alanı (yüzde olarak) [Aralık: 0-100] |
Batch_Scan_Notify_Threshold |
1 sekizlik |
Tek tek depolama havuzları için bildirim düzeyini (%) ayarlayın.
[Aralık: 0-100] 0 olarak ayarlarsanız bildirimler devre dışı bırakılır. Tedarikçiye özel HCI etkinliği oluşturulur (Depolama alanı eşiği ihlali alt etkinliği). |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Batch_scan_opcode |
1 sekizlik | 0x02 [Toplu tarama parametrelerini ayarlama] |
LE_Batch_Scan_Command: Toplu tarama parametresi alt komutunu ayarlayın
Sub 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 – Kısaltılmış ve tam mod etkin |
Duty_cycle_scan_window |
4 sekizlik | Toplu Tarama tarama süresi (yuva sayısı) |
Duty_cyle_scan_interval |
4 sekizlik | Toplu tarama aralığı dönemi (aralık sayısı) |
own_address_type |
1 sekizlik |
0x00 - Genel cihaz adresi 0x01 - Rastgele cihaz adresi |
Batch_scan_Discard_Rule |
1 sekizlik |
0: En eski reklamı silin 1: En zayıf RSSI'ye sahip reklamı silin |
Bu alt komut, etkinleştirilmişse toplu taramayı başlatır. Kısaltılmış taramada sonuçlar, Kısaltılmış stil için benzersiz anahtarın = {BD_ADDR, scan_interval} olduğu kısaltılmış biçimde depolanır. Bu nedenle, her tarama aralığı için yalnızca bir BD_ADDR will kaydedilir. Kısaltılmış modda tutulacak kayıt şudur: {BD_ADDR,
Tx Power, RSSI, Timestamp}
Tam mod etkinleştirildiğinde aktif tarama kullanılır ve tarama yanıtları kaydedilir. Tarama aralığından bağımsız olarak tam stil benzersiz anahtarı = {MAC, reklam paketi}. Tam mod için tutulacak kayıt:
{BD_ADDR, Tx Power, RSSI, Timestamp, Ad packet, Scan
Response}. Tam stilinde, farklı tarama aralıklarında birden çok kez görülen aynı AD paketi yalnızca bir kez kaydedilir. Ancak, Kısaltılmış modda, farklı tarama aralıklarındaki BA_ADDR görünürlüğü önemlidir (tarama aralığı başına bir kez). RSSI, tarama aralığı içindeki benzersiz bir reklamın tüm kopyalarının ortalama değeridir.
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Batch_scan_opcode |
1 sekizlik | 0x03 [Set Batch Scan Parameters] (Toplu Tarama Parametrelerini Ayarla) |
LE_Batch_Scan_Command: Toplu tarama sonuçlarını okuma alt komutu
Alt OCF: 0x04
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
Batch_Scan_Data_read |
1 sekizlik |
0x01 - Kısaltılmış mod verileri 0x02 - Tam mod verileri |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur. Düzenleyen bu komutu verdiğinde, denetleyicideki tüm sonuçlar tek bir Komut Tamamlandı etkinliğine sığmayabilir. Ana makine, bu komutu vermeye devam eder. Bu işlem, Komut Tamamlandı etkinliğindeki ilgili sonuçlarda kayıt sayısının 0 olduğunu gösterene kadar sürer. Bu da denetleyicinin ana makineye iletecek başka kaydı olmadığını gösterir. Her Command Complete etkinliği, yalnızca bir tür verinin (Tam veya Kısaltılmış) birden fazla kaydını 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
değerinin ev sahibi tarafından verildiği zamana göre belirlenir. Bir komutun varış zamanı donanım yazılımında T_c ise zaman damgasının donanım yazılımında alındığı gerçek zaman T_fw olur. Raporlama zamanı:
(T_c - T_fw). T_c ve
T_fw , donanım yazılımı zaman alanındadır. Bu sayede ana makine, etkinliğin ne kadar zaman önce gerçekleştiğini hesaplayabilir.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Batch_scan_opcode |
1 sekizlik | 0x03 [Set Batch Scan parameters] |
Batch_Scan_data_read |
1 sekizlik | Biçimi (kısaltılmış veya tam) tanımlar. |
num_of_records |
1 sekizlik | Batch_Scan_data_read kayıt sayısı |
format_of_data |
Değişken |
Kısaltılmış Mod: Address[0]: 6 octets Address_Type[0]: 1 octet Tx_Pwr[0]: 1 octet RSSI[0] : 1 octet Timestamp[0]: 2 octets [multiple records ( num_of_records) with above format]Tam Mod: Address[0]: 6 octets Address_Type[0]: 1 octet Tx_Pwr[0]: 1 octet RSSI[0]: 1 octet Timestamp[0]: 2 octets Adv packet_len[0]: 1 octet Adv_packet[0]: Adv_packet_len octets Scan_data_resp_len[0]: 1 octet Scan_data_resp[0]: Scan_data_resp octets[multiple records with above format ( num_of_records)]
|
Reklam Paketi İçerik Filtresi
Denetleyicide Reklam Paketi İçerik Filtresi'ni (APCF) etkinleştirmek/devre dışı bırakmak/kurmak için kullanılır. APCF, reklamcılık raporlarını denetleyicide filtreler ancak düzenli reklamcılığı filtrelemez.
LE_APCF_Command
OCF: 0x157
| Komut parametresi | Boyut | Amaç |
|---|---|---|
APCF_opcode |
1 sekizlik |
0x00 - APCF Etkinleştirme 0x01 - APCF Filtreleme parametrelerini ayarlama 0x02 - APCF Yayıncı Adresi 0x03 - APCF Hizmet UUID'si 0x04 - APCF Hizmet İsteği UUID'si 0x05 - APCF Yerel Adı 0x06 - APCF Üretici Verileri 0x07 - APCF Hizmet Verileri 0x08 - APCF Aktarım Keşif Hizmeti 0x09 - APCF AD Türü Filtresi 0x10 ~ 0xAF - Gelecekte kullanılmak üzere ayrılmıştır 0xB0 ~ 0xDF - Satıcı için ayrılmıştır 0xE0 ~ 0xFE - Gelecekte kullanılmak üzere ayrılmıştır 0xFF - APCF Genişletilmiş Özellikleri Okuma |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | İade durumu |
APCF_opcode |
1 sekizlik |
0x00 - APCF Etkinleştirme 0x01 - APCF Filtreleme parametrelerini ayarlama 0x02 - APCF Yayıncı Adresi 0x03 - APCF Hizmet UUID'si 0x04 - APCF Hizmet İsteği UUID'si 0x05 - APCF Yerel Adı 0x06 - APCF Üretici Verileri 0x07 - APCF Hizmet Verileri 0x08 - APCF Aktarım Keşif Hizmeti 0x09 - APCF AD Türü Filtresi 0x10 ~ 0xAF - Gelecekte kullanılmak üzere ayrılmıştır 0xB0 ~ 0xDF - Satıcı için ayrılmıştır 0xE0 ~ 0xFE - Gelecekte kullanılmak üzere ayrılmıştır 0xFF - APCF Genişletilmiş Özellikleri Okuma |
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 Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x0 - APCF Enable |
APCF_Enable |
1 sekizlik | Etkinleştirme/devre dışı bırakma işlemi APCF_enable üzerinden ayarlanır. |
LE_APCF_Command: set_filtering_parameters_sub_cmd
Bu alt komut, bir filtre belirtimi eklemek veya silmek ya da çip üzerinde filtreleme için bir 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 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 sekizlik | Filtre dizini (0, max_filter-1) |
APCF_Feature_Selection |
2 sekizlik |
Seçilen özelliklerin bit maskeleri: Bit 0: Yayın Adresi filtresini etkinleştirmek için ayarlanır Bit 1: Hizmet Verisi Değişikliği filtresini etkinleştirmek için ayarlanır Bit 2: Hizmet UUID'si kontrolünü etkinleştirmek için ayarlanır Bit 3: Hizmet İsteği UUID'si kontrolünü etkinleştirmek için ayarlanır Bit 4: Yerel Ad kontrolünü etkinleştirmek için ayarlanır Bit 5: Üretici Verisi kontrolünü etkinleştirmek için ayarlanır Bit 6: Hizmet Verisi kontrolünü etkinleştirmek için ayarlanır Bit 7: Transport Discovery Service kontrolünü etkinleştirmek için ayarlanır Bit 8: AD Türü kontrolünü etkinleştirmek için ayarlanır |
APCF_List_Logic_Type |
2 sekizlik |
Her özellik seçimi için mantıksal işlem (bit konumuna göre)
APCF_Feature_Selection içinde belirtilir.
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çiliyse bir ADV paketi, listedeki girişlerden herhangi birini içeriyorsa filtreden geçer. |
APCF_Filter_Logic_Type |
1 sekizlik |
0x00: VEYA 0x01: VE Not: Mantık türü, her zaman "VE" mantığı olan APCF_Feature_Selection'nın ilk üç alanı için geçerli değildir. Yalnızca APCF_Feature_Selection'nın (Bit 3 - Bit 6) dört alanı için geçerlidir.
|
rssi_high_thresh |
1 sekizlik |
[dBm cinsinden] Reklamverenin görülmüş olması için sinyalin RSSI yüksek eşiğinden daha yüksek olması gerekir. Aksi takdirde, donanım yazılımı bu sertifikayı hiç görmemiş gibi davranmalıdır. |
delivery_mode |
1 sekizlik |
0x00 - immediate0x01 - on_found0x02 - batched
|
onfound_timeout |
2 sekizlik |
Yalnızca delivery_mode, on_found ise geçerlidir.[milisaniye cinsinden] Rapor oluşturulmadan önce donanımın ek reklamları toplaması ve beklemesi için geçen süre. |
onfound_timeout_cnt |
1 sekizlik |
Yalnızca delivery_mode, on_found ise geçerlidir.[count] onFound içindeki bir reklam onfound_timeout süresi boyunca
firmware'de kalırsa birkaç reklam toplar ve sayı kontrol edilir. Sayı onfound_timeout_cnt değerini aşarsa hemen OnFound olarak bildirilir.
|
rssi_low_thresh |
1 sekizlik |
Yalnızca delivery_mode, on_found ise geçerlidir.[dBm cinsinden] Alınan paketin RSSI'si düşük RSSI eşiğinin üzerinde değilse reklamveren paketi görülmemiş olarak kabul edilir. |
onlost_timeout |
2 sekizlik |
Yalnızca delivery_mode, on_found ise geçerlidir.[milisaniye cinsinden] Bulunan bir reklam, lost_timeout süresi boyunca kesintisiz olarak gösterilmezse hemen kayıp olarak bildirilir.
|
num_of_tracking_entries |
2 sekizlik |
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'ye tümleme kullanmalıdır.
Ana makine, çeşitli filtre kombinasyonlarını yönetmek için APCF_Application_Address_type değerini 0x02 (tüm yayıncı adresleri için) olarak ayarlayarak birden fazla filtre yapılandırabilir.
Filtreleme, gruplandırma ve raporlama birbiriyle ilişkili kavramlardır. Her reklam ve ilgili tarama yanıtı, tüm filtrelerden sırayla geçmelidir. Bu nedenle, sonuçta ortaya çıkan işlemler
(delivery_mode) filtrelemeyle yakından ilişkilidir. İletim modları şunlardır: report_immediately, batch ve onFound. OnLost değeri, kaybolduğunda OnFound değerinden sonra geleceği için OnFound ile ilişkilidir.
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 ve farklı bir filtre işlemi nedeniyle aynı reklamın gruplandırılmasına neden olabilir.
RSSI seviyesi eşikleri (yüksek ve düşük), denetleyici tarafından geçerli bir paket alındığında bile filtrelenerek işlenmek üzere çerçevenin ne zaman görünür olacağını kontrol etme olanağı sağlar. İletim modu anında veya toplu olarak ayarlanmışsa bir çerçevenin RSSI'si daha fazla denetleyici işleme için dikkate alınır. Farklı uygulamalar için farklı raporlama ve gruplandırma davranışları gerekir. Bu sayede birden fazla uygulama, aynı anda doğrudan raporlama ve/veya sonuçları toplu olarak işleme özelliğine sahip olabilir. Örneğin, bir uygulamadan toplu tarama etkinleştirildikten sonra başka bir uygulama tarafından normal bir LE taraması başlatılır. Toplu tarama başlatılmadan önce çerçeve/uygulama uygun filtreleri ayarlar. Daha sonra, ikinci uygulama normal bir tarama yaptığında önceki gruplama işlemi devam eder. Ancak düzenli tarama nedeniyle, LE tarama komutuyla birlikte kavramsal olarak bir boş filtre (mevcut tüm filtrelerle birlikte) eklemeye benzer. LE tarama komutu parametreleri etkin olduğunda öncelikli olur. Normal LE taraması devre dışı bırakıldığında, varsa kumanda önceki toplu taramaya geri döner.
OnFound teslim modu, yapılandırılmış filtrelere dayanır. Bir filtrenin işleminin başarılı olmasını tetikleyen bir kombinasyon, onLost için izlenecek öğe olarak kabul edilir. İlgili 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 Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x01 - APCF Set Filtering Parameters |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Filtreler tablosunda kullanılabilir 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 amacıyla kullanılır.
Alt OCF: 0x02
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
APCF_Action |
1 sekizlik |
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 sekizlik | Filtre dizini (0, max_filter-1) |
APCF_Broadcaster_Address |
6 oktet | Yayıncı adresi listesine eklenecek veya listeden silinecek 6 baytlık cihaz adresi |
APCF_Application_Address_type |
1 sekizlik |
0x00: Genel 0x01: Rastgele 0x02: Yok (adres türünü yoksay) Kimlik adresi türleriyle (0x02, 0x03) reklamcılık raporlarını filtrelemek için. Adres türleri 0x02 ve 0x03 olan reklamcılık raporları almak için bu alanı 0x02: NA (adresi türünü yoksay) olarak ayarlayın. |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x02 - APCF Yayın Adresi |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Yayın adresi tablosunda hâlâ kullanılabilen ücretsiz giriş sayısı |
LE_APCF_Command: service_uuid_sub_cmd
Bu alt komut, hizmet UUID'si eklemek veya silmek ya da çip üzerinde filtreleme için hizmet UUID'si listesini temizlemek amacıyla kullanılır.
Sub OCF: 0x03
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtrede belirtilen hizmet UUID adresini siler. Temizle, belirtilen filtrenin tüm hizmet UUID'lerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter-1) |
APCF_UUID |
2,4,16 sekizlik | Listeye eklemek veya listeden silmek için Hizmet UUID'si (16 bit, 32 bit veya 128 bit). |
APCF_UUID_MASK |
2,4,16 sekizlik |
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 Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x03 - APCF Hizmeti UUID'si |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Hizmet UUID tablosunda hâlâ kullanılabilen ücretsiz giriş sayısı |
LE_APCF_Command: solicitation_uuid_sub_cmd
Bu alt komut, bir istem UUID'si eklemek veya silmek ya da çip üzerinde filtreleme için bir istem UUID'si listesini temizlemek amacıyla kullanılır.
Sub OCF: 0x04
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtredeki talep UUID adresini siler. Temizle, belirtilen filtrenin tüm istem UUID'lerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter-1) |
APCF_UUID |
2,4,16 sekizlik | Listeye eklenecek veya listeden silinecek İstek UUID'si (16 bit, 32 bit veya 128 bit). |
APCF_UUID_MASK |
2,4,16 sekizlik |
Listeye eklenecek İstem UUID Maskesi (16 bit, 32 bit veya 128 bit). APCF_UUID ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x04 - APCF İsteği UUID'si |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Teklif isteği UUID tablosunda hâlâ kullanılabilir olan ü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 amacıyla kullanılır.
Alt OCF: 0x05
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtrede belirtilen yerel ad dizesini siler. Temizle, belirtilen filtrenin yerel ad dizelerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter-1) |
APCF_LocName_Mandata_or_SerData |
Değişken boyutu |
Yerel ad için bir karakter dizisi. Notlar:
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x05 - APCF Yerel Adı |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Yerel ad tablosunda hâlâ kullanılabilen ücretsiz giriş sayısı |
LE_APCF_Command: manf_data_sub_cmd
Bu alt komut, üretici verileri dizesi eklemek veya silmek ya da çip üzerinde filtreleme için üretici verileri 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 Silme işlemi, belirtilen filtredeki belirtilen üretici verileri dizesini siler. Temizle, belirtilen filtredeki tüm üretici verileri dizelerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter-1) |
APCF_LocName_Mandata_or_SerData |
Değişken boyutu |
Üretici verileri için karakter dizesi. Notlar:
|
APCF_ManData_Mask |
Değişken boyutu |
Listeye eklenecek üretim tarihi maskesi. APCF_LocName_or_ManData_or_SerData ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x06 - APCF Üretici Verileri |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Üretici verileri tablosunda hâlâ kullanılabilen ücretsiz giriş sayısı |
LE_APCF_Command: service_data_sub_cmd
Bu alt komut, bir hizmet verileri dizesi 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 Silme işlemi, belirtilen filtredeki 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 boyutu |
Hizmet verileri için bir karakter dizesi. Notlar:
|
APCF_LocName_Mandata_or_SerData_Mask |
Değişken boyutu |
Listeye eklenecek hizmet verisi maskesi. APCF_LocName_or_ManData_or_SerData. ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x07 - APCF Hizmet Verileri |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Hizmet verileri tablosu için hâlâ kullanılabilen ücretsiz girişlerin sayısı |
LE_APCF_Command: transport_discovery_service_sub_cmd
Bu alt komut, bir Transport Discovery Service (TDS) filtresi eklemek veya silmek ya da çip üzerinde filtreleme için TDS filtre listesini temizlemek amacıyla kullanılır. Bu komutun desteklenip desteklenmediğini kontrol etmek için read_extended_features_sub_cmd komutunu kullanın.
Alt OCF: 0x08
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
APCF_Action |
1 sekizlik |
0x00 - Ekle 0x01 - Sil 0x02 - Temizle Silme işlemi, belirtilen filtredeki belirtilen TDS filtresini siler. Temizle, belirtilen filtrenin tüm TDS filtrelerini temizler. |
APCF_Filter_Index |
1 sekizlik | Filtre dizini (0, max_filter-1) |
Org_ID |
1 sekizlik | Bluetooth SIG tarafından tanımlanan kuruluş kimliği. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
TDS_Flags |
1 sekizlik | Eşleştirilecek TDS işaretleri. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
TDS_Flags_Mask |
1 sekizlik | TDS işaretleri için maske. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
Transport_Data_Length |
1 sekizlik | Transport_Data uzunluğu. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
Transport_Data |
Değişken boyutu | Transport_Data_Length temel alınarak değişken boyutlandırılır. Eşleşecek taşıma bloğu verileri. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
Transport_Data_Mask_Length |
1 sekizlik | Transport_Data_Mask uzunluğu. Bu değer, Transport_Data_Length değerine eşit olmalıdır. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
Transport_Data_Mask |
Değişken boyutu | Transport_Data_Mask_Length temel alınarak değişken boyutlu. Mask for Transport blok verileri. Transport_Data ile aynı uzunlukta olmalıdır. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
Meta_Data_Type |
1 sekizlik |
0x00 - Geçersiz 0x01 - Wi-Fi NAN Hash'i APCF_Action 0x02 (Temiz) olduğunda yoksayılır.
|
Meta_Data_Length |
1 sekizlik | Meta_Data uzunluğu. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
Meta_Data |
Değişken boyutu | Meta_Data_Length temel alınarak değişken boyutlandırılır. Eşleştirilecek meta veriler. APCF_Action 0x02 (Temizle) olduğunda yoksayılır. |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x08 - APCF Transport Discovery Service |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | TDS filtresi tablosunda hâlâ kullanılabilir ücretsiz giriş sayısı |
LE_APCF_Command: ad_type_sub_cmd
Bu alt komut, bir AD türü 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 komutunu kullanın.
APCF_AD_DATA_Length 0 olduğunda, APCF_AD_TYPE filtresi, reklam verileri ve reklam verileri maskesi karşılaştırılmadan uygulanır.
Alınan ADV paketinin veri uzunluğu AD_DATA_LENGTH değerini aşıyorsa yalnızca AD verilerinin 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 Silme işlemi, belirtilen filtredeki belirtilen reklam türünü siler. Temizle, belirtilen filtrenin tüm reklam 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çin reklam türü. APCF_Action 0x02 (Temizle) olduğunda yoksay |
APCF_AD_DATA_Length |
1 sekizlik |
0x00: Veri içeriğini filtreleme anlamına gelir.APCF_Action değeri 0x02 (Temizle) olduğunda yoksayılır.
|
APCF_AD_DATA |
Değişken boyutu |
Değişken boyutlu, APCF_AD_DATA_Lengthdeğerine göre APCF_Action değeri 0x02 (Temiz) olduğunda yoksayılır. |
APCF_AD_DATA_MASK |
Değişken boyutu |
APCF_AD_DATA_Lengthdeğerine göre değişken boyutlu APCF_Action değeri 0x02 (Temizle) olduğunda yoksayılırAPCF_AD_DATA ile aynı uzunlukta olmalıdır.
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0x09 - APCF Reklam Türü |
APCF_Action |
1 sekizlik | Komutu tekrar etme APCF_Action |
APCF_AvailableSpaces |
1 sekizlik | Reklam türü 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 Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
APCF_opcode |
1 sekizlik | 0xFF - APCF_Read_Extended_Features |
APCF_extended_features |
2 oktet |
Desteklenen genişletilmiş özellikler için bit maskeleri:
Bit değeri
|
Denetleyici etkinliği ve enerji bilgileri komutu
Bu bilgilerin amacı, BT denetleyici ve makro durumu da dahil olmak üzere tüm bileşenlerin toplam etkinliklerini uygulamalarda ve çerçevede olanlarla birlikte analiz etmek için daha yüksek ana sistem işlevlerinin kullanılmasıdır. Bunu yapmak için BT yığınından ve denetleyiciden aşağıdaki bilgiler gerekir:
- BT yığını: Kumandanın mevcut makro operasyonel durumunu raporlama
- Donanım yazılımı: Toplu etkinlik ve enerji bilgilerini raporlama
Kullanıcı düzeyinde belirlenen BT ana makine yığını makro durumları:
- Boşta: [page scan, LE advt, inquiry scan, LE scan]
- Tarama: [sayfalama/sorgu/bağlanmaya çalışılıyor]
- Etkin: [ACL bağlantısı açık, SCO bağlantısı devam ediyor, sniff modu]
Denetleyicinin ömrü boyunca takip ettiği etkinlikler Tx süresi, Rx süresi, boşta kalma süresi ve toplam enerji tüketimidir. Bu bilgiler, ana makineden okunduğunda temizlenir.
LE_Get_Controller_Activity_Energy_Info
Bu, satıcıya özgü bir komuttur.
OCF: 0x159
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
| Yok | Boş komut parametreleri |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
total_tx_time_ms |
4 sekizlik | Toplam Tx gerçekleştirme süresi |
total_rx_time_ms |
4 sekizlik | Toplam Rx gerçekleştirme süresi |
total_idle_time_ms |
4 sekizlik | Boşta geçen toplam süre (uyku dışındaki düşük güç durumları) |
total_energy_used |
4 sekizlik | Kullanılan toplam enerji [akım (mA), voltaj (V) ve süre (ms) çarpımı] |
LE genişletilmiş set tarama parametreleri komutu
Bu komut, denetleyicide daha büyük bir tarama penceresi ve aralığı etkinleştirmek için kullanılabilir. BT Core 5.2 Spesifikasyonu uyarınca, tarama penceresi ve aralığı 10,24 saniyelik bir üst sınırla sınırlandırılmıştır. Bu durum, uygulamalarda 10,24 saniyeden uzun tarama aralıklarını engeller.
Temel referans: BT Core 5.2 Specification, sayfa 2493 (LE Set Scan Parameters Command)
OCF: 0x15A
| Komut Parametresi | Boyut | Amaç |
|---|---|---|
LE_Ex_Scan_Type |
1 sekizlik |
0x00 - Pasif tarama. SCAN_REQ paket gönderilmez (varsayılan).0x01: Etkin tarama. SCAN_REQ paket gönderilebilir.
|
LE_Ex_Scan_Interval |
4 sekizlik |
Kumandanın son LE taramasını başlattığı andan sonraki LE taramasını başlattığı ana kadar geçen süre olarak tanımlanır. Aralık: 0x0004 - 0x00FFFFFF Varsayılan: 0x0010 (10 ms) Süre = N * 0,625 ms Süre aralığı: 2,5 ms - 10.442,25 saniye |
LE_Ex_Scan_Window |
4 sekizlik |
LE taramasının süresi. LE_Scan_Window, LE_Scan_Interval değerinden küçük veya bu değere eşit olmalıdır.
Aralık: 0x0004 - 0xFFFF Varsayılan: 0x0010 (10 ms) Süre = N * 0,625 ms Süre Aralığı: 2,5 ms - 40,95 saniye |
Own_Address_Type |
1 sekizlik |
0x00 - Genel Cihaz Adresi (varsayılan) 0x01 - Rastgele Cihaz Adresi |
LE_Ex_Scan_Filter_Policy |
0x00: Tüm reklam paketlerini kabul eder (varsayılan). Bu cihaz için adreslenmemiş yönlendirilmiş reklam paketleri yok sayılır. 0x01 - Beyaz listede olmayan cihazlardan gelen reklam paketlerini yoksay Yalnızca listele. Bu cihaz için adreslenmemiş olan hedeflenmiş reklamcılık paketleri yok sayılır. |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Denetleyici hata ayıklama bilgisi komutunu alma
Bu bilgi öğesinin amacı, denetleyici hata ayıklama bilgilerini ana makine tarafından ikili biçimde elde ederek sonradan işleme ve analiz için kullanmaktır. Bu sayede, sahada karşılaşılan sorunların hata ayıklaması yapılabilir ve mühendislere analiz için bilgi kaydetmelerini sağlayacak bir araç seti sunulur. Bir Denetleyici, bilgileri bir düzenleyen tarafından etkinlik (Denetleyici Hata Ayıklama Bilgileri alt etkinliği) aracılığıyla istendiğinde veya denetleyici istediğinde bağımsız olarak sağlayabilir. Örneğin, bu API'ler; donanım yazılımı durumu bilgileri, kilitlenme dökümü bilgileri, günlük kaydı bilgileri vb. raporlamak için kullanılabilir.
OCF: 0x15B
| Komut parametresi | Boyut | Amaç |
|---|---|---|
| Yok | Boş komut parametresi listesi |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
A2DP donanım yük aktarma desteği
A2DP boşaltma özelliği, A2DP ses kodlama işleminin BT denetleyicisine bağlı bir ses işlemcisine boşaltılmasını destekler. Kodlanmış ses verileri akışı, BT ana makinesinin müdahalesi olmadan doğrudan Ses işlemcisinden BT denetleyicisine geçer. BT ana makinesi, A2DP oturumunun yapılandırılması ve kontrolünden hâlâ sorumludur. Komutların iki sürümü vardır. Alt OCF 0x01-0x02 ile eski komutlar yalnızca açık kaynaklı codec'leri destekler. Alt-OCF 0x03-0x04 olan sürümler, yapılandırılan codec'ten bağımsızdır.
OCF: 0x15D
A2DP yükünü başlat (eski)
Alt OCF: 0x01
Bu komutu hem A2DP boşaltma sürecini 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 0x20 - Opus |
Max_Latency |
2 sekizlik | İzin Verilen Maksimum Gecikme (ms cinsinden). Sıfır değeri, temizlemeyi devre dışı bırakır. |
SCMS-T_Enable |
2 sekizlik |
Sekizli 0: SCMS-T üstbilgisinin eklenmesini sağlayan işaret.
Sekizli 1: Etkinleştirildiğinde SCMS-T başlığının değeri. |
Sampling_Frequency |
4 sekizlik |
0x01 - 44100 Hz 0x02 - 48000 Hz 0x04 - 88200 Hz 0x08 - 96000 Hz |
Bits_Per_Sample |
1 sekizlik |
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 sekizlik |
Saniye başına bit cinsinden kodlanmış ses bit hızı. 0x00000000: Ses bit hızı belirtilmemiş veya kullanılmıyor. 0x00000001 - 0x00FFFFFF: Saniye başına bit cinsinden kodlanmış ses bit hızı. 0x01000000 - 0xFFFFFFFF - Ayrılmış. |
Connection_Handle |
2 sekizlik | Yapılandırılan A2DP bağlantısının bağlantı tutma noktası |
L2CAP_Channel_ID |
2 sekizlik | Bu A2DP bağlantısı için kullanılacak L2CAP kanal kimliği |
L2CAP_MTU_Size |
2 sekizlik | Kodlanmış ses paketlerini içeren L2CAP MTU'nun maksimum boyutu |
Codec_Information |
32 oktet |
Codec'e özgü bilgiler.
SBC Codec:
A2DP v1.3'teki SBC Codec'e özgü bilgi öğelerine bakın. AAC Codec:
A2DP v1.3'teki AAC Codec'e özgü bilgi öğelerine bakın LDAC Codec'i:
Bayt 0-3: Tedarikçi kimliği
Sekizli 4-5: Codec kimliği
Sekizli 6: Bit Hızı Dizini:
7. sekizli: LDAC Kanal Modu Octet 8-31: ayrılmış Opus Codec:
Sekizli 0-3: Tedarikçi Kimliği
Sekizli 4-5: Codec kimliği Octet 6-31: ayrılmış Diğer tüm codec'ler: Octet 0-31: ayrılmış |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Sub_Opcode |
1 sekizlik | 0x01 - A2DP yük aktarmayı başlat |
A2DP yük aktarımını başlat
Sub OCF: 0x03
Bu komutu hem A2DP boşaltma sürecini yapılandırmak hem de A2DP akışını başlatmak için kullanın.
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Connection Handle |
2 sekizlik | Etkin HCI bağlantısının tutma yeri |
L2CAP_Channel_ID |
2 sekizlik | 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 Alıcısı/Bölme) |
Peer_MTU |
2 sekizlik | Eşle görüşülerek belirlenen L2CAP paketlerinin maksimum boyutu. |
CP_Enable_SCMS_T |
1 sekizlik |
0x00 - SCMS-T İçerik Koruma Başlığını Devre Dışı Bırakma 0x01 - SCMS-T İçerik Koruma Başlığını Etkinleştirme |
CP_Header_SCMS_T |
1 sekizlik |
SCMS-T İçerik Koruma Başlığı etkinleştirildiğinde (CP_SCMS_T_Enable 0x01 olarak ayarlandığında), Bluetooth Assigned Numbers, 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ştirilmediğinde yoksayılır. |
Vendor_Specific_Parameters_Length |
1 sekizlik |
Tedarikçiye Özgü Parametrelerin uzunluğu (0-128 arasında). Ek parametre sağlanmadığında 0 değeri kullanılır. |
Vendor_Specific_Parameters |
0-128 oktet |
Bluetooth Audio HAL tarafından sağlanan satıcıya özel parametreler,
CodecParameters.vendorSpecificParameters[].
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Sub_Opcode |
1 sekizlik | 0x03 - A2DP yük aktarımını başlat |
A2DP yükünü durdurma (eski)
Alt OCF: 0x02
Bu komut, A2DP boşaltma akışını durdurmak için kullanılır.
| Komut parametresi | Boyut | Amaç |
|---|---|---|
| Yok | Boş komut parametresi listesi. |
Bu komut için parametre tanımlanmamış.
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Sub_Opcode |
1 sekizlik | 0x02 - A2DP yük aktarımını durdur |
A2DP yük aktarımını durdur
Alt OCF: 0x04
Bu komut, A2DP boşaltma akışını durdurmak için kullanılır.
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Connection Handle |
2 sekizlik | Etkin HCI bağlantısının tutma yeri |
L2CAP_Channel_ID |
2 sekizlik | 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 Alıcısı/Bölme) |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Sub_Opcode |
1 sekizlik | 0x04 - A2DP yük aktarımını durdurma |
Bluetooth Kalite Raporu komutu
BT Quality Report komut özelliği, Bluetooth Kalitesi etkinliklerini ana makineye bildirmek için Bluetooth denetleyicisindeki mekanizmayı başlatır. Dört seçeneği etkinleştirebilirsiniz:
- Kalite İzleme Modu: Denetleyici, ana makineye düzenli olarak bağlantı kalitesiyle ilgili bir BQR alt etkinliği gönderir.
- LSTO yaklaşıyor: Bağlı BT cihazından Bağlantı Gözetimi Zaman Aşımı (LSTO) değerinin yarısından uzun süre boyunca paket alınmazsa kumanda, ana makineye LSTO yaklaşıyor etkinliğini bildirir.
- A2DP Sesinde Atlama Oluyor: Kumanda, seste atlamaya neden olan faktörleri algıladığında ana cihaza A2DP Sesinde Atlama Oluyor etkinliğini bildirir.
- (e)SCO Voice Choppy: Denetleyici, sesin kesik kesik çıkmasına neden olan faktörleri algıladığında ana makineye (e)SCO Voice Choppy etkinliğini bildirir.
- Kök iltihabı: Bu etkinlik, HAL veya denetleyici ölümcül bir hatayla karşılaştığında ve Bluetooth'u yeniden başlatması 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/birlikte var olma planlama izi: Denetleyici, 2,4 GHz bandında birden fazla Bluetooth profilini ve kablosuz birlikte var olma özelliğini işleme konusundaki planlama bilgilerini ana makineye gönderir.
- Denetleyici hata ayıklama bilgileri mekanizması: Etkinleştirildiğinde denetleyici, hata ayıklama günlüğü bilgilerini Denetleyici hata ayıklama bilgisi alt etkinliği aracılığıyla ana makineye bağımsız olarak bildirebilir.
- LE Audio'da atlama: Kumanda, seste atlamaya neden olan faktörler algıladığında ana cihaza LE Audio'da atlama etkinliği bildirir.
-
Gelişmiş RF İstatistikleri modu: Kumanda, RF istatistikleriyle ilgili bilgileri ana cihaza bildirir ve iki rapor kullanım alanını destekler:
- Periyodik raporlar
- Etkinlik tetikleyicileri (yayın başlatma/durdurma ve bağlantı kalitesi etkinliği tetikleyicisi).
- Denetleyici durumunu izleme mekanizması, ana makineye durumla ilgili bilgileri iki tür etkinlik aracılığıyla sağlar: düzenli raporlar ve etkinliğe dayalı raporlar.
- Bluetooth Kalite Raporu Komutunun BQR_Report_Action'ı: Ana makine, kalite izleme modu, enerji izleme modu veya gelişmiş RF istatistikleri modu için tek seferlik sorgu almak üzere bu HCI komutunu kullanabilir.
OCF: 0x15E
| Komut parametresi | Boyut | Amaç |
|---|---|---|
BQR_Report_Action |
1 sekizlik |
BQR_Quality_Event_Mask parametresinde ayarlanan kaliteli etkinliklerin raporlanmasını ekleme / silme veya tümünü temizleme işlemi.
0x00 - Ekle
Silme işlemi, belirli kalite etkinliklerinin raporunu temizler. |
BQR_Quality_Event_Mask |
4 sekizlik |
Seçilen kalite etkinliği raporlaması için bit maskeleri.
Bit 0: Kalite izleme modunu etkinleştirmek için ayarlanır. |
BQR_Minimum_Report_Interval |
2 sekizlik |
Seçilen kalite etkinlikleri için kalite etkinliği raporlamanın minimum zaman aralığını tanımlayın. Denetleyici yazılımı, tanımlanan zaman aralığında bir sonraki etkinliği bildirmemelidir. Aralık ayarı, eklenen kalite etkinliklerine göre ve bu etkinliklere özel olmalıdır.
Birim: ms |
BQR_Vendor_Specific_Quality_Event_Mask |
4 sekizlik |
Seçilen tedarikçiye özel kalite etkinliği raporlaması için bit maskeleri. Bu parametre yalnızca BQR_Quality_Event_Mask öğesinin 15. biti ayarlandığında geçerlidir.
Bit 0 ~ 31: Ayrılmış. |
BQR_Vendor_Specific_Trace_Mask |
4 sekizlik |
Seçilen tedarikçiye özel izleme raporlaması için bit maskeleri. Bu parametre yalnızca BQR_Quality_Event_Mask öğesinin 31. biti ayarlandığında geçerlidir.
Bit 0 ~ 31: Ayrılmış. |
Report_interval_multiple |
4 sekizlik |
BQR_Minimum_Report_Interval için çarpan. Bu değer >= 1 olduğunda,
BQR rapor aralığı biçimindedir. BQR rapor aralığı = BQR_Minimum_Report_Interval x Report_interval_multiple. Denetleyici 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ı, denetleyicinin kapasitesinden büyükse denetleyici, komut tamamlandığında maksimum BQR_Report_Interval süresini döndürmelidir.
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Current_Quality_Event_Mask |
4 sekizlik |
Geçerli bit maskesi ayarını gösterir. Bit 0: Kalite izleme modu etkinleştirildi. Bit 1: Yaklaşan LSTO etkinliği raporlaması etkinleştirildi. Bit 2: A2DP sesinde kesinti etkinlik raporlaması etkinleştirilir. Bit 3: (e)SCO Voice Choppy etkinlik raporlaması etkinleştirildi. Bit 4: Kök iltihabı etkinliği raporlaması etkinleştirilir. Bit 5: Enerji izleme modu etkinleştirildi. Bit 6: LE Audio'da kesintili etkinlik raporlaması etkinleştirilir. Bit 7: Bağlantı hatası etkinliği. Bit 8: Gelişmiş RF İstatistikleri modu etkinlik tetikleyicisini etkinleştirmek için ayarlanır. Bit 9: Gelişmiş RF istatistiklerinin düzenli olarak raporlanmasını sağlamak için ayarlanır. Bit 10: Denetleyici sağlığı izleme mekanizması etkinlik tetikleyicisini etkin olarak ayarlayın. Bit 11: Denetleyici sağlık izleme mekanizmasının düzenli olarak rapor vermesi için etkin olarak ayarlanır. Bit 12 ~ 14: Ayrılmış. Bit 15: Tedarikçiye özel kalite etkinliği raporlaması etkinleştirilir. Bit 16: LMP/LL mesaj izleme etkinleştirildi. Bit 17: Bluetooth çoklu bağlantı/birlikte var olma planlama izi etkinleştirildi. Bit 18: Kumanda hata ayıklama bilgileri mekanizması etkinleştirildi. Bit 19: Reserved for offload debug information Bit 20: UART History Dump Event trigger Bit 21 ~ 30: Reserved. Bit 31: Tedarikçiye özgü izleme etkinleştirilir. |
Current_Vendor_Specific_Quality_Event_Mask |
4 sekizlik | Geçerli bit maskesi ayarını gösterir. |
Current_Vendor_Specific_Trace_Mask |
4 sekizlik | Geçerli bit maskesi ayarını gösterir. |
BQR_Report_interval |
4 sekizlik | Geçerli bit maskesi ayarını gösterir. |
Current_Vendor_Specific_Trace_Mask |
4 sekizlik |
BQR_Report_interval ayarı. BQR_Minimum_Report_Interval * Report_interval_multiple veya denetleyicinin maksimum destek aralığı arasındaki 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ği süresi özelliğini kullanma
Alt OCF: 0x01
Bluetooth denetleyicisinden 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 Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Dynamic_Audio_Buffer_opcode |
1 sekizlik | 0x01 - Ses arabelleği süresini alma |
Audio_Codec_Type_Supported |
4 sekizlik |
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 sekizlik |
Audio_Codec_Type_Supported içinde 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 sekizlik |
Audio_Codec_Type_Supported içinde 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 sekizlik |
Audio_Codec_Type_Supported içinde belirtilen Bit 0 codec türünün minimum ara zamanı. Bit 0 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Audio_Codec_Buffer_Default_Time_For_Bit_1 |
2 sekizlik |
Audio_Codec_Type_Supported içinde 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 sekizlik |
Audio_Codec_Type_Supported içinde 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 sekizlik |
Audio_Codec_Type_Supported içinde belirtilen Bit 1 codec türünün minimum ara zamanı. Bit 1 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
| ...... | ...... | ...... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 |
2 sekizlik |
Audio_Codec_Type_Supported içinde 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 sekizlik |
Audio_Codec_Type_Supported içinde 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 sekizlik |
Audio_Codec_Type_Supported içinde belirtilen Bit 31 codec türünün minimum ara zamanı. Bit 31 codec türü desteklenmiyorsa bu değer 0 olmalıdır. Birim: ms |
Ses arabelleği süresini ayarlama
Alt OCF: 0x02
Ses arabelleği süresini Bluetooth denetleyiciye ayarlamak için bu komutu kullanın.
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Audio_Codec_Buffer_Time |
2 sekizlik |
Şu anda kullanılan codec için istenen ses arabelleği süresi. Birim: ms |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Dynamic_Audio_Buffer_opcode |
1 sekizlik | 0x02 - Ses arabelleği süresini ayarlama |
Audio_Codec_Buffer_Time |
2 sekizlik |
Bluetooth kumandasında geçerli ses arabelleği süresi. Birim: ms |
Bağlantı yakınlığı eşiği (v1.06)
LE_Add_Device_To_Filter_Accept_List_With_Proximity_Threshold_Command
Bu komut, bir cihazı Filtre Kabul Listesi'ne eklerken bağlantı yakınlığı eşiğini (yol kaybı ve RSSI) sağlamak için kullanılabilir.
Bağlantı yalnızca sinyalin yol kaybı değeri, yol kaybı eşiğinden düşük olduğunda denenmelidir.
TxPower değeri kullanılamıyorsa veya No Path Loss filtering kullanılıyorsa bağlantı yalnızca sinyalin RSSI değeri, belirtilen RSSI eşiğinden yüksek olduğunda denenmelidir.
Bu komut, Bluetooth Standard komutu LE Add Device To Filter Accept List command yerine kullanılabilir.
Bu komut, cihaz zaten filtre kabul listesindeyken farklı eşik değerleriyle çağrılırsa eşik değerleri güncellenmelidir.
Temel referans: BT Core 6.2 Specification, 7.8.16 (LE Add Device To Filter Accept List command)
Bu komut şu durumlarda kullanılmamalıdır:
- herhangi bir reklam filtresi politikası, filtre kabul listesini kullanıyorsa ve reklamcılık etkinse
- Tarama filtresi politikası, filtre kabul listesini kullanıyorsa ve tarama etkinse veya
- Başlatıcı filtre politikası, filtre kabul listesini kullanıyor ve
HCI_LE_Create_ConnectionveyaHCI_LE_Extended_Create_Connectionkomutu bekleniyor.
LE Remove Device From Filter Accept List, bu komutla eklenen Filtre Kabul Listesi'nden cihazı kaldırmalıdır.
Opcode: 0xFD66 (OCF: 0x166)
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Address_Type |
1 sekizlik |
0x00 - Genel Cihaz Adresi 0x01 - Rastgele Cihaz Adresi 0xFF - Anonim reklam gönderen cihazlar Diğer tüm değerler: Gelecekte kullanılmak üzere ayrılmıştır. |
LE_Device_Address |
6 oktet |
Herkese açık veya rastgele adres Address_Type 0xFF olarak ayarlandığında adres yoksayılır. |
Connection_Path_Loss_Threshold |
1 sekizlik |
Aralık: 0 ile +100, +127 [dB cinsinden] Cihaz keşfedildiğinde cihazla bağlantı başlatmak için bağlantı yolu kaybı eşiğini gösterir (0 ile +100). Bağlantı başlatmak için yol kaybı değeri daha düşük olmalıdır. No Path Loss filtering değerini belirtmek için +127 değeri kullanılır. TxPower kullanılamadığında veya bu değer +127 olduğunda bu komut, aşağıdaki RSSI filtrelemeye geri dönmelidir.
|
Connection_RSSI_Threshold |
1 sekizlik |
Aralık: -127 ila +20, +127 [dBm cinsinden] Cihaz keşfedildiğinde cihaza bağlantı başlatmak için bağlantı RSSI eşiğini gösterir. (-127 ile +20 arasında). Bağlantı başlatmak için RSSI değeri daha yüksek olmalıdır. RSSI filtreleme, TxPower kullanılamadığında veya yol kaybı eşiği +127 olarak belirtildiğinde yedek olarak kullanılır. No RSSI filtering değerini belirtmek için +127 değeri kullanılır.
|
Hem yol kaybı eşiği hem de RSSI eşiği +127 olduğunda bu komut, Bluetooth standardı LE Add Device To Filter Accept List command ile aynı şekilde davranmalıdır.
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
HCI etkinliği (tedarikçiye özel)
Bazı durumlarda tedarikçiye özel HCI etkinlikleri gerekir. BT Core 5.2 Spesifikasyonu'nun 1897. sayfasındaki Şekil 5.4'e bakın. Etkinlik parametresi 0, her zaman ilk alt etkinlik kodunu içerir. HCI etkinliğinin geri kalanı bu koda göre çözülür.
| Etkinlik Parametresi | Boyut | Amaç |
|---|---|---|
HCI_vendor_specific_event_code |
1 sekizlik | 0xFF |
sub_event_code |
1 sekizlik | Alt etkinlik kodu, HCI etkinlik paketinde Parametre Uzunluğu'nu hemen takip eden bayt olan 1 oktet boyutunda olacaktır. |
Depolama alanı eşiği ihlali alt etkinliği
Bu etkinlik, depolama eşiğinin aşıldığını gösterir.
Alt etkinlik kodu = 0x54
| Alt Etkinlik Parametresi | Boyut | Amaç |
|---|---|---|
| Yok |
LE multi-advertising state change subevent
Bu etkinlik, bir bildirme örneğinin durumunu değiştirdiğini gösterir. Şu anda bu etkinlik yalnızca hangi reklamcılık örneğinin bağlantı nedeniyle durdurulduğunu belirtmek için kullanılır.
Alt etkinlik kodu = 0x55
| Alt etkinlik parametresi | Boyut | Amaç |
|---|---|---|
Advertising_instance |
1 sekizlik |
Belirli 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 sekizlik |
advt örneğinin devre dışı bırakılmasına neden olan bağlantıyı tanımlar (geçersizse 0xFFFF)
|
LE advertisement tracking subevent
Bu etkinlik, bir reklamverenin bulunup bulunmadığını veya kaybolup kaybolmadığını 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 kaybedildi |
Advt_Info_Present |
1 sekizlik |
0x00: Reklamveren bilgileri (Advt_Info) mevcut0x01: Reklamveren bilgileri ( Advt_Info) mevcut değil
|
Advertiser_Address |
6 oktet | Herkese açık veya rastgele adres |
Advertiser_Address_Type |
1 sekizlik |
0x00: Herkese açık adres 0x01: Rastgele adres |
Advt_Info |
Tx_Pwr[0]: 1 sekizliRSSI[0]: 1 sekizliTimestamp[0]: 2 sekizliAdv packet_len[0]: 1 sekizliAdv_packet[0]: Adv_packet_len sekizliScan_data_resp_len[0]: 1 sekizliScan_data_resp[0]: Scan_data_resp sekizli
|
Kumanda hata ayıklama bilgileri alt etkinliği
Bu etkinlik, bir denetleyici tarafından bir 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 sekizlik | Hata ayıklama bloğu, başlangıçtan itibaren bayt ofseti |
last_block |
1 sekizlik |
0x00: Daha fazla hata ayıklama verisi var 0x01: Son ikili blok; daha fazla hata ayıklama verisi yok |
cur_pay_load_sz |
2 sekizlik | Mevcut bir etkinlikteki ikili blok boyutu |
Debug_Data |
Değişken | cur_payload_sz hata ayıklama verileri |
LE Broadcast Channel Map Classification (v1.06)
Bluetooth kanallarındaki radyo gürültüsü seviyesi, paket alımının başarısını belirleyen kritik bir faktördür. İletim güvenilirliğini optimize etmek için kanal kalitesini belirlemek üzere bir kanal haritası sınıflandırma mekanizması gereklidir. Standart bir LE Audio yayın kaynağı senaryosunda kaynak genellikle hangi cihazların yayınını aktif olarak dinlediğini bilmez. Dolayısıyla, yayın kaynağı BIG kanal haritasını belirlemek için yalnızca kanal kalitesiyle ilgili kendi değerlendirmesine güvenmelidir. Ancak, yalnızca kaynağa göre belirlenen BÜYÜK bir kanal haritası, farklı çevre koşulları veya alıcıların yakınında yerel parazit kaynaklarının bulunması nedeniyle her alıcı için optimum olmayabilir. Bir yayın alıcısı, kanal sınıflandırma bilgilerini yayın kaynağına iletebilirse kaynak, BIG kanal haritasını buna göre uyarlayabilir. Bu, yayın akışı iletiminin ve alımının parazite karşı dayanıklılığını önemli ölçüde artırır.
Örneğin, Kişisel Ses Paylaşımı (PAS) uygulamalarında kulaklıklar ile yayın kaynağı arasında bir LE ACL bağlantısı (yerel yayın kaynağıyla senkronize etmek için yayın asistanı olarak işlev görür) kurulur. Bu mevcut LE ACL bağlantısı, kulaklıklardan (LL_CHANNEL_STATUS_IND paketleri aracılığıyla) yayın kaynağına kanal sınıflandırma bilgileri sağlamak için kullanılabilir. Yayın kaynağı daha sonra bu bilgileri kullanarak BIG kanal haritasını iyileştirebilir.
Bu nedenle, LE_BIG_Set_Channel_Map_Classification_Command tanımlıyoruz. Bu komut, BIG kaynağında kanal haritası yönetiminin, çevre birimlerinden alınan kanal sınıflandırma bilgilerini dikkate almasını sağlar. Bu komut, denetleyiciye belirli bir LE ACL bağlantı tutamacının ayarlanmasına olanak tanır. Denetleyici bu bilgileri aldıktan sonra, sağlanan LE ACL bağlantılarıyla ilişkili kanal sınıflandırma verilerine göre kendi BIG kanal haritasını belirler.
Bu VSC'nin uygulanması, yayın kaynağının BIG kanal haritasını oluştururken birden fazla kanal sınıflandırma kaynağını dikkate almasını zorunlu kılar. Örneğin, denetleyici, bağlı uzak cihazlar tarafından bildirilen "iyi" kanal sınıflandırmalarının kesişimini belirleyebilir ve bunu BÜYÜK kanal haritasına uygulayabilir. Bu kanal sınıflandırmalarını birleştirme algoritması, her denetleyici satıcının takdirine bırakılır. Bu sayede yenilik ve optimizasyon yapılabilir.
LE_BIG_Set_Channel_Map_Classification_Command
Opcode: 0xFD65 (OCF: 0x165)
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Sub_opcode |
1 sekizlik |
0x01 - Set BIG channel map by LE ACL Connection Handles 0x02-0x0E - Reserved for future use |
Set_BIG_Channel_Action |
1 sekizlik |
BD_ADDR veya LE ACL bağlantı işleyicilerini ekleme ya da silme veya tümünü temizleme işlemi. 0x00 - Ekle 0x01 - Sil 0x02 - Temizle 0x03-0xFF - Ayrılmış |
BIG_Handle |
1 sekizlik |
Çevre biriminin kanal sınıflandırmasıyla güncellenecek BIG tanıtıcısını belirtir. Aralık: 0x00 - 0xEF |
cmd_para[] |
Değişken | Değişken parametreler, Set_BIG_Channel_opcode'a bağlıdır. |
LE_BIG_Set_Channel_Map_Classification_Command_by_Conn_Handle
Alt OCF: 0x01
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Sub_opcode |
1 sekizlik |
0x01 - Set BIG channel map by LE ACL Connection Handles 0x02-0x0E - Reserved for future use |
Set_BIG_Channel_Action |
1 sekizlik |
LE ACL bağlantı tutma yerlerini ekleme veya silme ya da tümünü temizleme işlemi. 0x00 - Ekle 0x01 - Sil 0x02 - Temizle 0x03-0xFF - Ayrılmış |
BIG_Handle |
1 sekizlik |
Çevre biriminin kanal sınıflandırmasıyla güncellenecek BIG herkese açık kullanıcı adını belirtir. Aralık: 0x00 - 0xEF |
Number_of_LE_ACL_Connections |
1 sekizlik |
BIG kanal haritasını güncellemek için kullanılacak LE ACL bağlantılarının sayısını belirtir. Set_BIG_Channel_Action Clear (0x02) olduğunda yoksayılır Aralık: 0x01 - 0xFF |
LE_ACL_Connection_Handles |
Değişken (Number_of_LE_ACL_Connections * 2 oktet) |
Number_of_LE_ACL_Connections'a göre değişken boyutlu Set_BIG_Channel_Action Clear (0x02) olduğunda yoksayılır Bağlantı işleme aralığı: 0x0000 - 0x0EFF |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komutun tamamlanma durumu. Tüm LE ACL conn_handle'ları eklendiğinde SUCCESS değerini döndürür. |
Set_BIG_Channel_opcode |
1 sekizlik | Echo back command's Set_BIG_Channel_opcode |
Set_BIG_Channel_Action |
1 sekizlik | Echo back command's Set_BIG_Channel_Action |
BIG_Handle |
1 sekizlik | Echo back command's BIG_Handle |
Bluetooth Kalite Raporu alt etkinliği
Bu etkinlik, aşağıdakilerden birinin gerçekleştiğini gösterir: Bluetooth kalitesi etkinliği oluştu, kumanda LMP/LL mesaj izini ve Bluetooth Multi-link/Coex zamanlama izini yükledi veya kumanda hata ayıklama bilgileri verilerini boşalttı.
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x01 ~ 0x04, Link Quality related event]
| Alt Etkinlik Parametresi | Boyut | Amaç |
|---|---|---|
Quality_Report_Id |
1 sekizlik |
0x01: İzleme modunda kalite raporlama. 0x02: LSTO'ya yaklaşılıyor. 0x03: A2DP Sesinde Atlamalar Oluyor. 0x04: (e)SCO Voice Choppy. 0x05 ~ 0x06: Ayrılmış. 0x07: LE Audio'da ses atlıyor. 0x08: Bağlantı başarısız oldu. 0x09 ~ 0xFF: Ayrılmış. |
Packet_Types |
1 sekizlik |
0x01: ID 0x02: NULL 0x03: POLL 0x04: FHS 0x05: HV1 0x06: HV2 0x07: HV3 0x08: DV 0x09: EV3 0x0A: EV4 0x0B: EV5 0x0C: 2-EV3 0x0D: 2-EV5 0x0E: 3-EV3 0x0F: 3-EV5 0x10: DM1 0x11: DH1 0x12: DM3 0x13: DH3 0x14: DM5 0x15: DH5 0x16: AUX1 0x17: 2-DH1 0x18: 2-DH3 0x19: 2-DH5 0x1A: 3-DH1 0x1B: 3-DH3 0x1C: 3-DH5 0x1D ~ 0x50: Reserved 0x51: ISO packet 0x52: 1M PHY 0x53: 2M PHY 0x54: Codec PHY S=2 0x55: Codec PHY S=8 0x56 ~ 0xFF: Reserved |
Connection_Handle |
2 sekizlik | ACL/(e)SCO/ISO bağlantı tutamacı. |
Connection_Role |
1 sekizlik |
Bağlantı için rolü gerçekleştirme. 0x00: Merkezi 0x01: Çevresel 0x02 ~ 0xFF: Ayrılmış. |
TX_Power_Level |
1 sekizlik |
Belirtilen Connection_Handle için geçerli iletim gücü seviyesi.
Bu değer, HCI_Read_Transmit_Power_Level HCI komutuna yanıt veren denetleyicinin değeriyle aynı olmalıdır. |
RSSI |
1 sekizlik |
[dBm cinsinden]
Belirtilen Connection_Handle için alınan sinyal gücü göstergesi (RSSI) değeri. |
SNR |
1 sekizlik |
[dB cinsinden]
Belirtilen Connection_Handle için sinyal-gürültü oranı (SNR) değeri. |
Unused_AFH_Channel_Count |
1 sekizlik |
AFH_channel_map'teki kullanılmayan kanal sayısını gösterir. 0x4F ~ 0xFF: Ayrılmış. |
AFH_Select_Unideal_Channel_Count |
1 sekizlik |
Girişim yapılan ve kalitesi düşük olan ancak yine de AFH için 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 tamamı parazitli ve kalitesiz olsa bile denetleyicinin AFH için en az 20 kanal seçmesi gerekir. |
LSTO |
2 sekizlik |
Mevcut bağlantı gözetimi zaman aşımı ayarı. Süre = N * 0,625 ms Süre Aralığı: 0,625 ms - 40,9 sn |
Connection_Piconet_Clock |
4 sekizlik |
Belirtilen Connection_Handle için Piconet Clock. Bu değer, 0x01 "Which_Clock" parametresiyle HCI_Read_Clock HCI komutuna yanıt veren denetleyicinin (Piconet Clock) değeriyle aynı olmalıdır. Birim: N * 0,3125 ms (1 Bluetooth saati) |
Retransmission_Count |
4 sekizlik |
Son etkinlikten bu yana yeniden iletim sayısı. Bu sayı, toplantıyı düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
No_RX_Count |
4 sekizlik |
Son etkinlikten bu yana RX sayısı yok. Planlanan zaman aralığında paket alınmadığında veya alınan paket bozulduğunda sayı artar. Bu sayı, toplantıyı düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
NAK_Count |
4 sekizlik |
Son etkinlikten bu yana NAK (Negative Acknowledge) sayısı. Bu sayı, toplantıyı düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
Last_TX_ACK_Timestamp |
4 sekizlik |
Son TX ACK'nin zaman damgası. Bu, piconet merkezinin Bluetooth saati (CLK) temel alınarak belirlenir. Birim: N * 0,3125 ms (1 Bluetooth saati) |
Flow_Off_Count |
4 sekizlik |
Son etkinlikten bu yana kontrol cihazının Flow-off (DURDUR) komutunu alma sayısı. Bu sayı, toplantıyı düzenleyen kullanıcıya bildirildikten sonra sıfırlanır. |
Last_Flow_On_Timestamp |
4 sekizlik |
Son aktarımın (GO) zaman damgası. Bu, piconet merkezinin Bluetooth saatine (CLK) dayanır. Birim: N * 0,3125 ms (1 Bluetooth saati) |
Buffer_Overflow_Bytes |
4 sekizlik |
[in Byte]
Son etkinlikten bu yana arabellek taşması sayısı. |
Buffer_Underflow_Bytes |
4 sekizlik |
[in Byte]
Son etkinlikten bu yana arabellek taşması sayısı. |
bdaddr |
6 oktet | Uzak cihaz adresi |
cal_failed_item_count |
1 sekizlik | Kalibrasyonu başarısız olan öğelerin sayısı |
TX_Total_Packets |
4 sekizlik | Gönderilen paket sayısı. |
TX_UnAcked_Packets |
4 sekizlik |
Onay almayan paketlerin sayısı. Bu sayı, toplantıyı düzenleyene bildirim gönderildikten sonra sıfırlanır. |
TX_Flushed_Packets |
4 sekizlik |
Temizleme noktası tarafından gönderilmeyen paketlerin sayısı. Bu sayı, toplantıyı düzenleyene bildirim gönderildikten sonra sıfırlanır. |
TX_Last_Subevent_Packets |
4 sekizlik |
Bağlantı katmanının bir CIS etkinliğinin son alt etkinliğinde bir CIS veri PDU'sunu ilettiği paket sayısı. Bu sayı, toplantıyı düzenleyene bildirim gönderildikten 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 sekizlik |
Son etkinlikten bu yana CRC hatası içeren alınan paketlerin sayısı. Bu sayı, toplantıyı düzenleyene bildirim gönderildikten sonra sıfırlanır. |
RX_Duplicate_Packets |
4 sekizlik |
Son etkinlikten bu yana alınan yinelenen (yeniden iletim) paketlerin sayısı. Bu sayı, toplantıyı düzenleyene bildirim gönderildikten sonra sıfırlanır. |
RX_Unreceived_Packets |
4 sekizlik |
Alınmayan paket sayısı, LE READ ISO Link Quality 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 artırıldığında, Bağlantı Katmanı, temizleme noktasına (CIS'de) veya ilişkilendirildiği etkinliğin sonuna (BIS'de; Bluetooth Core Specification Version 5.4 Vol 6 Part B, Section 4.4.6.6'ya bakın) kadar belirli bir yük almaz. |
Coex_Info_Mask |
2 sekizlik |
Bit 0 - CoexInvolvement: Bu rapor oluşturulduğunda (ör. A2DP Chops ve Approaching LSTO) birlikte var olma etkinliklerinin dahil olduğundan şüphelenildiğini belirtmek için ayarlanır. Bit 1 - WL 2G Radio Active: WLAN 2G radyonun etkin olduğunu belirtmek için ayarlanır. Bit 2 - WL 2G Connected: WLAN 2G Radyo'nun etkin ve bağlı olduğunu belirtmek için ayarlanır. Bit 3 - WL 5G/6G Radio Active: WLAN 5G/6G radyonun etkin olduğunu belirtmek için ayarlanır. Bit 4-15 - Ayrılmış |
| Tedarikçiye Özel Parametre | (parametre toplam uzunluğu - TBD) * sekizli | Denetleyici tedarikçisinin, tedarikçiye özel daha fazla parametre alması için. |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x05, Root Inflammation event]
Bu etkinlik, Bluetooth HAL'nin veya kumandanın ölümcül bir hatayla karşılaştığını ve bu durumu kaydetmek ve yeniden başlatmak için Bluetooth yığınının gerektiğini gösterir. Denetleyici, her 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/denetleyiciden bildirilen bir hata kodunu içerir. Yonga seti satıcısına özgü bir hata olması durumunda bu parametre 0 olur. Vendor_Specific_Error_Code, HAL/denetleyiciden alınan yonga seti tedarikçisine özgü bir hata kodu içerir. Error_Code parametresi 0'dan küçükse 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 sekizlik |
0x00 ~ 0x04: Ayrılmış. 0x05: Kök iltihabı. 0x06 ~ 0xFF: Ayrılmış. |
Error_Code |
1 sekizlik |
0x00: Yonga seti tedarikçisine özgü hata kodu eklenir. 0x01 ~ 0xFF: Denetleyici hatası oluştu. Hata kodları ve açıklamalarının listesi için Bluetooth Spec [Vol 2] Part D, Error Codes bölümüne bakın. |
Vendor_Specific_Error_Code |
1 sekizlik |
0x00: Yonga seti tedarikçisine özgü hata kodu dahil değildir. 0x01 ~ 0xFF: Yonga seti tedarikçisine özgü hata kodu. |
| Tedarikçiye Özel Parametre | (Toplam Parametre Uzunluğu - 4) * sekizli | Denetleyici tedarikçisinin, tedarikçiye özel daha fazla parametre alması için. |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x06, Energy monitor event]
Bu etkinlik, Bluetooth kumandanın belirli bir süre içindeki güç tüketimi ve çalışma durumlarının anlık görüntüsünü sağlar. Bu etkinlik, geliştiricilerin ve mühendislerin kontrol cihazının gücü nasıl yönettiğini analiz etmesine, en fazla enerjiyi hangi etkinliklerin tükettiğini belirlemesine ve güçle ilgili sorunları gidermesine yardımcı olur.
Raporun parametreleri aşağıdaki gibi temel metrikleri izler:
- Ortalama akım tüketimi: Kontrol cihazı tarafından kullanılan toplam akım.
- Farklı durumlarda geçirilen süre: Kontrol cihazının boşta (uyku/düşük güç) durumunda ve etkin durumda (veri bağlama, iletme veya alma) geçirdiği toplam süre (milisaniye cinsinden).
- Durum geçişi sayısı: Kontrol cihazının boşta ve etkin durumlar arasında geçiş yapma sayısı.
- Belirli radyo durumlarında geçirilen süre: Hem BR/EDR (Bluetooth Klasik) hem de LE (Bluetooth Düşük Enerji) bağlantıları için iletme (Tx) ve alma (Rx) işlemlerinde geçirilen süreye ilişkin ayrı metrikler.
- Ortalama iletim gücü seviyeleri: BR/EDR ve LE bağlantılarında iletim için kullanılan ortalama güç (dBm cinsinden).
- Ayrıntılı zincir etkinliği: Aktif iletim veya alım zincirleriyle geçirilen süre hakkında raporlar. Tek zincirli ve iki zincirli işlemler ile dahili (iPA) ve harici (ePA) güç amplifikatörleri arasında ayrım yapılır.
- Tarama etkinliği süresi: Kumandanın BR/EDR ve LE cihazlarını etkin olarak tarayarak geçirdiği süre.
Mühendisler bu parametreleri inceleyerek kontrol cihazının güç verimliliği hakkında bilgi edinebilir ve performansını optimize edebilir.
| Alt Etkinlik Parametresi | Boyut | Amaç |
|---|---|---|
Quality_Report_Id |
1 sekizlik | 0x06: Enerji İzleme |
Average_Current_Consumption |
2 sekizlik | [mA cinsinden] Kontrol cihazı tarafından tüketilen tüm etkinliklerin ortalama akım tüketimi |
Idle_Total_Time (uyku) |
4 sekizlik | [ms cinsinden] Boşta kalma (düşük güç durumları, uyku) durumundaki toplam süre. |
Idle_Sate_Enter_Count |
4 sekizlik | Denetleyicinin boşta duruma kaç kez girdiğini gösterir. |
Active_Total_Time |
4 sekizlik | [ms cinsinden] Etkin (sorgulama, sayfalama, ACL/SCO/eSCO/BIS/CIS trafiği, herhangi bir görevi işleme) durumundaki toplam süre. |
Active_State_Enter_Count |
4 sekizlik | Denetleyicinin etkin durumlara kaç kez girdiğini gösterir. |
BR_RDR_Tx_Total_Time |
4 sekizlik | [ms cinsinden] BR/EDR'ye özgü Tx(ACL/SCO/eSCO trafiği için iletim) durumundaki toplam süre. |
BR_RDR_Tx_State_Enter_Count |
4 sekizlik | Denetleyicinin BR/EDR'ye özgü Tx durumuna kaç kez girdiğini gösterir. |
BR_RDR_Tx_Average_Power_Level |
1 oktet | [dBm cinsinden] Tüm BR/EDR bağlantılarının ortalama Tx güç düzeyi |
BR_RDR_Rx_Total_Time |
4 sekizlik | [ms cinsinden] BR/EDR'ye özgü Rx (ACL/SCO/eSCO trafiğinden alma) durumundaki toplam süre. |
BR_RDR_Rx_State_Enter_Count |
4 sekizlik | [ms cinsinden] Denetleyicinin BR/EDR'ye özgü Rx durumuna kaç kez girdiğini gösterir. |
LE_Tx_Total_Time |
4 sekizlik | [ms cinsinden] LE'ye özgü Tx (ACL/BIS/CIS veya LE reklam trafiği için iletim) durumundaki toplam süre. |
LE_Tx_State_Enter_Count |
4 sekizlik | Denetleyicinin BR/EDR'ye özgü Rx durumuna kaç kez girdiğini gösterir. |
LE_Tx_Average_Power_Level |
1 oktet | [dBm cinsinden] Tüm LE bağlantılarının ortalama Tx güç düzeyi. |
LE_Rx_Total_Time |
4 sekizlik | [ms cinsinden] LE'ye özgü Rx (ACL/BIS/CIS veya LE tarama trafiğinden alma) durumundaki toplam süre. |
LE_Rx_State_Enter_Count |
4 sekizlik | [ms cinsinden] Denetleyicinin LE'ye özgü Rx durumuna kaç kez girdiğini gösterir. |
Report_Time_Duration (Toplam süre) |
4 sekizlik | [ms cinsinden] Güçle ilgili bilgilerin toplanması için gereken toplam süre. |
RX_Active_One_Chain_Time |
4 sekizlik | [ms cinsinden] Bir zincirde RX'in etkin olduğu süre |
RX_Active_Two_Chain_Time |
4 sekizlik | [ms cinsinden] İki zincirde RX'in etkin olduğu süre |
TX_iPA_Active_One_Chain_Time |
4 sekizlik | [ms cinsinden] Bir zincirde dahili TX'in etkin olduğu süre |
TX_iPA_Active_Two_Chain_Time |
4 sekizlik | [ms cinsinden] İki zincirde etkin olan dahili TX'in süresi |
TX_ePA_Active_One_Chain_Time |
4 sekizlik | [ms cinsinden] Bir zincirde etkin olan harici TX'in süresi |
TX_ePA_Active_Two_Chain_Time |
4 sekizlik | [ms cinsinden] İki zincirde harici TX'in etkin olduğu süre |
BREDR_RX_Active_Scan_total_Time |
4 sekizlik | [ms cinsinden] BR/EDR taramasında RX etkin süresine ilişkin süre (ms) |
LE_RX_Active_Scan_total_Time |
4 sekizlik | [ms cinsinden] LE taramasında RX etkin süresine ait zaman aralığı (ms) |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x09~0x0A, Advanced RF stats event]
Bluetooth Advanced RF (Radyo Frekansı) İstatistikleri etkinliği, Bluetooth denetleyicisinin radyo davranışı hakkında ayrıntılı performans metrikleri sağlar. Etkinlik iki şekilde tetiklenebilir:
- Tetikleyiciye Göre (0x09): Belirli bir komuta yanıt olarak tek seferlik bir rapor gönderilir.
- İzleme ile (0x0A): Denetleyici, belirli bir aralıkta düzenli olarak rapor gönderir.
Etkinliğin parametreleri, belirli bir dönem boyunca çeşitli radyo davranışlarını izleyen paket sayaçlarıdır.
Temel metrikler ve amaçları
- İletim gücü istatistikleri: Bu sayaçlar, farklı güç yapılandırmaları kullanılarak gönderilen paketleri izler. Dahili (iPA) ve harici (ePA) güç amplifikatörleri ile çeşitli anten çeşitliliği (Div) veya ışın oluşturma (BF) modları arasında ayrım yapar. Bu, hangi güç ve anten ayarlarının en sık kullanıldığını belirlemeye yardımcı olur.
- Alınan sinyal gücü göstergesi (RSSI) grupları: Bu parametreler, alınan paketleri sinyal güçlerine göre kategorize eder. Rapor, belirli RSSI aralıklarındaki (ör. -90 dBm'den az, -70 ila -75 dBm) paket sayısını sağlayarak bağlantı kalitesiyle ilgili net bir resim sunar. "Zayıf" sinyal gruplarındaki yüksek sayı (örneğin, < -90 dBm), bağlantının zayıf olduğunu gösterir.
- RSSI farkı: Bu metrik, iki alıcı anten arasındaki sinyal gücü farkını ölçer (geçerliyse). Sayaçlar, farklı aralıklarda kaç paketin RSSI farkı < 0x0A> olduğunu izler. Büyük bir delta (ör. >11 dBm), bir anten diğerinden çok daha güçlü bir sinyal aldığından parazit veya fiziksel bir engel olduğunu gösterebilir.
- Anten değiştirme ve yeniden iletimler: Bu raporda, denetleyicinin antenler arasında ne sıklıkta geçiş yaptığı ve yeniden iletilen (ReTX) paketler izlenir. Yüksek sayıda yeniden iletim, genellikle zayıf veya güvenilir olmayan bir bağlantıya işaret eder ve paketlerin yeniden gönderilmesini gerektirir.
- Kanal kalitesi: Bu parametreler, farklı iletişim kanallarının durumuyla ilgili üst düzey bir özet sunar ve RSSI'lerine göre "İyi", "İdare Eder", "Kötü" veya "Çok Kötü" olarak sınıflandırır. Bu sayede, radyo frekansı ortamına dair anında genel bir bakış elde edebilirsiniz.
- TX arabellek sırası: Bu bölümde, denetleyicinin iletim arabelleğinde ACL (Asynchronous Connection-oriented Logical link), LECONN (LE Connection) ve LEISOC (LE Isochronous) gibi farklı bağlantı türleri için bekleyen paketlerin sayısı izlenir. Yüksek arabellek sayısı, ana makineden denetleyiciye akan verilerde bir darboğaz veya sorun olduğunu gösterebilir.
| Alt etkinlik parametresi | Boyut | Amaç |
|---|---|---|
Quality_Report_Id |
1 sekizlik | 0x09: Advance RF Stats By Trigger 0x0A: Advance RF Stats By Monitor |
Extension_info |
1 sekizlik | BQR sürüm bilgileri. BQRv6 için 0x01 BQRv7 için 0x02 |
Report_Time_Period |
4 sekizlik | Performans bilgilerinin toplanacağı süre. Birim: ms |
TX_Power_iPA_BF |
4 sekizlik | iPA BF'nin paket sayacı |
TX_Power_ePA_BF |
4 sekizlik | ePA BF'nin paket sayacı |
TX_Power_iPA_Div |
4 sekizlik | ePA Div'in paket sayacı |
TX_Power_ePA_Div |
4 sekizlik | ePA Div'in paket sayacı |
RSSI_chain_50 |
4 sekizlik | RSSI zincirinin paket sayacı > -50 dBm |
RSSI_chain_50_55 |
4 sekizlik | -50 dBm ~ >-55 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_55_60 |
4 sekizlik | -55 dBm ~ >-60 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_60_65 |
4 sekizlik | -60 dBm ile >-65 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_65_70 |
4 sekizlik | -65 dBm ~ >-70 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_70_75 |
4 sekizlik | -70 dBm ~ >-75 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_75_80 |
4 sekizlik | -75 dBm ~ >-80 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_80_85 |
4 sekizlik | -80 dBm ~ >-85 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_85_90 |
4 sekizlik | -85 dBm ~ >-90 dBm arasındaki RSSI zincirinin paket sayacı |
RSSI_chain_90 |
4 sekizlik | RSSI zincirinin paket sayacı < -90 dBm |
RSSI_delta_2 |
4 sekizlik | RSSI farkı < 2 dBm olan paket sayısı |
RSSI_delta_2_5 |
4 sekizlik | 2 dBm ~ 5 dBm arasındaki RSSI delta değerinin paket sayacı |
RSSI_delta_5_8 |
4 sekizlik | 5 dBm ~ 8 dBm arasındaki RSSI delta değerinin paket sayısı |
RSSI_delta_8_11 |
4 sekizlik | 8 dBm ~ 11 dBm arasındaki RSSI farkının paket sayısı |
RSSI_delta_11 |
4 sekizlik | RSSI delta > 11 dBm olan paket sayısı |
Antenna_Switch_Count |
4 sekizlik | Anten değiştirme etkinliğinin paket sayacı |
ReTX_iPA_BF |
4 sekizlik | En son dönemdeki ReTX_iPA_BF paket sayacı |
ReTX_ePA_BF |
4 sekizlik | En son dönemdeki ReTX_ePA_BF paket sayacı |
ReTX_iPA_Div |
4 sekizlik | En son dönemdeki ReTX_iPA_Div paket sayacı |
ReTX_ePA_Div |
4 sekizlik | En son dönemdeki ReTX_ePA_Div paket sayacı |
Channel_count_Good |
1 oktet | RSSI'si Bin-1 (<-90) içinde olan kanal sayısı |
Channel_count_OK |
1 oktet | RSSI'si Bin-2 (-90~-76) aralığında olan kanal sayısı |
Channel_count_Bad |
1 oktet | RSSI'si Bin-3 (-76~-50) aralığında olan kanal sayısı |
Channel_count_VeryBad |
1 oktet | RSSI'si Bin-4 (>-50) içinde olan kanal sayısı |
TX_buffer_Queue_Count |
4 sekizlik | En son dönemdeki arabellek kuyruğu durumu denetleyicisi TX arabelleğinin sayacı [0:3] ACL_1 [4:7] ACL_2 [8:11] LECONN_1 [12:15] LECONN_2 [16:19] LEISOC_1 [20:23] LEISOC_2 [24:27] LEBroadcast [28:31] rsvd |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x0B~0x0C, Controller Health Monitoring event]
Bluetooth Kumanda Durumu İzleme etkinliği, kumandanın çalışma durumuyla ilgili bir özet sağlar. Etkinlik iki şekilde tetiklenebilir:
- Tetikleyiciye Göre (0x09): Belirli bir komuta yanıt olarak tek seferlik bir rapor gönderilir.
- İzleme ile (0x0A): Denetleyici, belirli bir aralıkta düzenli olarak rapor gönderir.
Bluetooth Kumanda Durumu İzleme etkinliği, kumandanın çalışma durumuyla ilgili bir özet sağlayan teşhis aracıdır. Bu etkinlik, Bluetooth Kalite Raporu (BQR) çerçevesinin bir parçasıdır ve bağlantı, güç yönetimi ve zamanlama sorunlarını ayıklamak için kullanılır. Tek seferlik bir rapor olarak veya sürekli izleme sağlamak için düzenli olarak gönderilebilir.
Temel metrikler ve amaçları
- HCI Paket Sayaçları: Etkinlik, Ana Bilgisayar'dan Denetleyici'ye ve tam tersi yönde gönderilen toplam paket sayısını izler. Bu sayaçlar, yazılım yığını ile Bluetooth denetleyici çipi arasındaki iletişim kanalı olan Ana Bilgisayar Denetleyici Arayüzü (HCI) aktarımıyla ilgili sorunları ayıklamak için gereklidir.
- Paket Uzunlukları: Etkinlik, gönderilen ve alınan son HCI paketinin uzunluğunu bildirir. Bu sayede verilerin doğru şekilde iletildiğinden ve beklenmedik boyut sorunları olmadığından emin olabilirsiniz.
- Uyandırma sinyali sayıları: Raporda, BT_Wake ve HOST_Wake pinlerinin onaylandığı toplam sayı yer alır. Bu fiziksel sinyaller, ilgili öğeleri düşük güç durumlarından uyandırmak için kullanıldığından güç yönetimi açısından kritik öneme sahiptir. Bu sayıları izlemek, beklenmedik uyanmalar veya uyku moduna girme hataları gibi güçle ilgili sorunların hata ayıklamasına yardımcı olur.
- Zaman damgaları: Etkinlik, son uyandırma sinyalinin ve son HCI sıfırlamasının zamanı da dahil olmak üzere çeşitli zaman damgaları sağlar. Bu zaman damgaları, zamanlamayla ilgili sorunları gidermeye yardımcı olur ve belirli etkinliklerin ne zaman gerçekleştiğiyle ilgili bir referans noktası sağlar.
- Gözetim Zamanlayıcısı: Etkinliğin, kontrol cihazının gözetim zamanlayıcısının süresinin dolmak üzere olduğuna dair erken uyarı olarak oluşturulup oluşturulmadığını belirten belirli bir işaret. Bu, olası kontrol cihazı donmaları veya arızaları için kritik bir uyarıdır.
- Bağlantı Durumu: Rapor, BR/EDR, LE ve CIS (Bağlı Eşzamanlı Akış) bağlantılarının toplam sayısı dahil olmak üzere etkin bağlantıların mevcut durumunu özetler. Ayrıca, etkin SCO (Senkron Bağlantı Odaklı) bağlantı olup olmadığını da gösterir. Bu bilgiler, kontrol cihazının mevcut bağlantı yükünün anlık görüntüsünü sağlar.
| Alt etkinlik parametresi | Boyut | Amaç |
|---|---|---|
Quality_Report_Id |
1 Sekizlik | 0xB~0xC 0x0B: tek seferlik veya etkinliğe dayalı raporlar 0x0C: düzenli raporlar. |
Packet_Count_Host_to_Controller |
4 Oktet | HCI aktarımı üzerinden Ana Makine'den Denetleyici'ye gönderilen paketlerin toplam sayısı. Bu alan, HCI (ör. UART) sorunlarında hata ayıklama amacıyla kullanılır. Davranış: Denetleyici HCI sıfırlama aldığında sayaçlar sıfırlanır. |
Packet_Count_Controller_to_Host |
4 Oktet | Ana makineye gönderilen HCI Event paketlerinin toplam sayısı. Bu alan, HCI (ör. UART) sorunlarında hata ayıklama amacıyla kullanılır. Davranış: Kumanda HCI sıfırlama işlemi aldığında sayaçlar sıfırlanır. |
Last_Packet_Length_Host_to_Controller |
2 Oktet | Ana makine UART'ına gönderilen son HCI paketinin uzunluğu. Not: HCI Paket Uzunluğu en fazla 2 oktet (HCI, ACL, SCO, ISO dahil) |
Last_Packet_Length_Controller_To_host |
2 Oktet | Ana makine UART'ından alınan son HCI paketinin uzunluğu. Not: HCI Paket Uzunluğu en fazla 2 sekizli (HCI, ACL, SCO, ISO dahil) |
Total_BT_Wake_Count |
4 Oktet | Ana makine öğesi tarafından yapılan BT_Wake pin onaylarının toplam sayısı. Bu alan, güçle ilgili sorunlarda hata ayıklama için teşhis aracı olarak kullanılır. Davranış: Kumanda HCI sıfırlama işlemi aldığında sayaçlar sıfırlanır. |
Total_HOST_Wake_Count |
4 Oktet | Denetleyici tarafından başlatılan Host_Wake pin onaylarının toplu hesaplaması. Bu alan, güçle ilgili sorunlarda hata ayıklama için teşhis aracı olarak kullanılır. Davranış: Denetleyici HCI sıfırlama aldığında sayaçlar sıfırlanır. |
Last_BT_Wake_TimeStamp |
4 Oktet | Ana makinenin BT_Wake pinini onayladığı son zaman damgası.Bu alan, güç sorunlarını ayıklamak amacıyla uygulanır. |
Last_HOST_Wake_TimeStamp |
4 Oktet | Kumandanın Host_Wake pinini onayladığı en son zaman damgası. Bu alan, güç sorunlarında hata ayıklamak için kullanılır. |
Reset_Timestamp |
4 Oktet | En son HCI sıfırlama işleminin tamamlandığını gösteren zaman damgası. Bu alan, zamanlamayla ilgili sorunların çözülmesini kolaylaştırmak amacıyla kullanılır. Bu öğe, diğer tüm öğelerin referans olarak alındığı ilk kayıt noktası olmalıdır. |
Current_Timestamp |
4 Oktet | Bu etkinlik oluşturulduğunda geçerli olan zaman. Bu alan, zamanlama farklılıklarını gidermek için kullanılır. Diğer tüm öğelerin referans verdiği tetikleyici kayıt noktası olarak kullanılmalıdır. |
Is_WatchDog_Timer_About_To_Expire |
4 Oktet | Bu durum denetimi etkinliğinin, kontrol cihazı tarafından watchdog geçerlilik bitimiyle ilgili erken uyarı olarak oluşturulduğunu belirten işaret. Geçerli zaman damgası, olayın gerçekleştiği zamanı belirtmek için kullanılır. |
Coex_Status_Mask |
2 Oktet | Bit 0 - Ayrılmış |
Total_Links_BR_EDR_LE_Active |
1 Sekizlik | Etkin durumdaki BR/EDR/LE'nin toplam bağlantı sayısı. |
Total_Links_BR_EDR_Sniff |
1 Sekizlik | Sniff/Idle durumundaki BR/EDR'nin toplam bağlantı sayısı. |
Total_Links_CIS |
1 Sekizlik | ISO'nun toplam bağlantı sayısı. |
Is_SCO_Active |
1 Sekizlik | SCO bağlantısının şu anda etkin olup olmadığını kontrol etmeye yarayan gösterge. |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x11 ~ 0x13, Log Dump related event]
| Alt Etkinlik Parametresi | Boyut | Amaç |
|---|---|---|
Quality_Report_Id |
1 sekizlik |
0x00 ~ 0x10: Ayrılmış. 0x11: LMP/LL mesaj izleme. 0x12: Bluetooth çoklu bağlantı/birlikte var olma planlama izi. 0x13: Denetleyici hata ayıklama bilgileri veri dökümü. 0x14 ~ 0xFF: Ayrılmış. |
Connection_Handle |
2 sekizlik | Bağlantı tutma yeri. |
| Tedarikçiye Özel Parametre | (Toplam Parametre Uzunluğu - 4) * sekizli | LMP mesaj izinin, Bluetooth Multi-link/Coex zamanlama izinin ve denetleyici hata ayıklama bilgileri veri dökümünün satıcıya özel biçimi. |
Alt etkinlik kodu = 0x58 [Quality_Report_Id = 0x16, LEA broadcast source event]
BIG Handle - Timestamp parametreleri, kontrol cihazının, havadan iletilen BD_ADDR ve şu anda kullanılan BIG kanal haritası dahil olmak üzere yayın Kaynağı bilgilerini proaktif olarak bildirmesini sağlar. Broadcast ID of Broadcast Receiver Subscribed ile RSSI arasındaki parametreler, Yayın alıcının abone olunan BIG kaynağı hakkındaki bilgileri bildirmesi için tasarlanmıştır. Bu bilgiler, Yayın alıcısından BIG kaynağına PAwR, LE ACL bağlantısı veya geçerli başka bir yöntem aracılığıyla iletilmelidir.
| Alt Etkinlik Parametresi | Boyut | Amaç |
|---|---|---|
Quality_Report_Id |
1 sekizlik | 0x16: LEA yayın kaynağı etkinliği. |
BIG_Handle |
1 sekizlik | Ana makine tarafından ayrılan BIG tanıtıcısı. |
Broadcast_Source_BD_ADDR_Type |
1 sekizlik | Yayın kaynağının (BIG tanıtıcısı) BD_ADDR türü. |
Broadcast_Source_BD_ADDR |
6 oktet | Yayın kaynağının (BIG tanıtıcısı) BD_ADDR'si havaya gönderilir. |
BIG_Source_Prefer_Channel_Map |
5 oktet | Kontrol cihazı tarafından tercih edilen ve kanal sınıflandırmasıyla algılanan BIG kanal haritası. |
BIG_Source_Used_Channel_Map |
5 oktet | Denetleyici tarafından kullanılan BIG kanalı. |
BIG_TX_Power |
1 sekizlik | Yayın kimliğinde kullanılan mevcut TX gücü. |
Timestamp |
4 sekizlik |
Belirtilen BIG Handle için zaman damgası (Piconet Clock). Bu değer, 0x01 (Piconet Clock) parametresiyle HCI_Read_Clock HCI komutuna Which_Clock yanıt veren denetleyicinin değeriyle aynı olmalıdır.Birim: N * 0,3125 ms (1 Bluetooth saati) |
Broadcast_ID_of_Broadcast_Receiver_Subscribed |
3 oktet |
İstemci cihazın abone olduğu yayın kimliğini gösterir. Geçersiz Değer: 0xFFFFFF |
Broadcast_Receiver_BD_ADDR_Type |
1 sekizlik |
Yayın alıcısının BD_ADDR türü. Geçersiz Değer: 0xFF |
Broadcast_Receiver_BD_ADDR |
6 oktet |
Yayın alıcının BD_ADDR'si. Geçersiz Değer: 0x000000000000 |
Time_Duration |
4 sekizlik |
Performans bilgilerinin toplanacağı süre. Birim: ms. Geçersiz Değer: 0xFFFFFFFF |
BIS_Choppy_count |
4 sekizlik |
BIS Choppy count: Time_Duration ile birlikte Choppy count. Geçersiz Değer: 0xFFFFFFFF |
PER |
4 sekizlik |
Time_Duration içindeki Paket Hata Oranı (PER). Geçersiz Değer: 0xFFFFFFFF |
No_Sync |
4 sekizlik |
RX'in senkronize olmama sayısı. Geçersiz Değer: 0xFFFFFFFF |
Receiver_Prefer_Channel_Map |
5 oktet |
Yayın alıcısının kanal haritasını gösterir. Geçersiz Değer: 0x0000000000 |
Receiver_Tx_Power |
1 sekizlik |
Veri içeren bir paketin yayın alıcısından iletildiği güç düzeyini gösterir. Geçersiz Değer: 0xFF |
RSSI |
1 sekizlik |
Yayın alıcısından alınan paketlerin RSSI'si. Geçersiz Değer: 0x7F |
Reserved |
4 sekizlik | Rezervasyon yapıldı |
ISO Link Feedback alt etkinliği
Alt etkinlik kodu = 0x5C
Etkinleştirildiğinde bu etkinlik, her ISO aralığında oluşturulmalıdır.
Etkinleştirme
Etkinleştirme,HCI_LE_Setup_ISO_Data_Path standart komutunda satıcı Data_Path_ID kodu
0x19 seçilerek gerçekleştirilir.
HCI_Configure_Data_Path komutu, Data_Path_ID 0x19 ve Vendor_Specific_Config_Length 0 olarak ayarlanmışken, bu komut alındığında denetleyiciden herhangi bir işlem beklenmese bile kabul edilmelidir.
Gönderme zaman noktası
Etkinlik, bir ISO aralığının (CIG veya BIG sabitleme noktası) başlangıcından sonraki ISO aralığına kadar yayınlanır. Denetleyici,Anchor_Point_Delay kullanarak ISO aralığının etkili başlangıcındaki gecikmeyi gösterir.
Kumanda senkronizasyonu
Bir ISO aralığının başında denetleyici, geçerli değeri yapılandırılmışISO_Interval ÷ SDU_Interval ile artırarak StreamSN değerini hesaplar. İlk aralıkta bu değer 0 olarak başlatılır.Ardından, ISO FIFO'daki her paket için aşağıdakiler geçerlidir:
-
Denetleyici, iki sıra numarası arasındaki sarmalama farkı SNdiff değerini hesaplar:
SNdiff = (SDUSN - StreamSN + 0x10000) mod 0x10000 (SNdiff + (FT-1) × ISO_Interval ÷ SDU_Interval) mod 0x10000 <= (FT-1) × ISO_Interval ÷ SDU_Intervalolduğunda:
Paket, yeniden iletim penceresindedir. Önceki aralıklarla iletilecek şekilde planlanmış olmalı ve artık yeniden iletilebilir olmalıdır. Bu durum söz konusu değilse (iletim için planlanmamışsa) geç alınmıştır. Bu durum,In_Statuskullanılarak ana makineye bildirilmelidir. Bu tür paketler atılabilir veya iletim için planlanabilir. Seçim, uygulamaya bağlıdır.- Alternatif olarak,
SNdiff < ISO_Interval ÷ SDU_Interval:
Paketin, bu etkinlikten temizleme zaman aşımı gerçekleşene kadar iletilmesi planlanır. - Veya
SNdiff >= ISO_Interval ÷ SDU_IntervalveSNdiff <= Max_Forward_Buffers:
Paket gelecekteki bir zamanda gönderilecektir. Paketler sırayla gönderildiğinden bu koşul, bu aralık için paket aramasını sonlandırır.
Düzenleyen tarafından kullanılan arabellekler denetleyiciye iletilmez ancakMax_Forward_Buffers = 16ile sınırlıdır. - Veya yukarıdaki koşullardan hiçbiri karşılanmadığında:
Paket atılır, temizleme zaman aşımı sınırına ulaşılır veya hatalı biçimlendirilmiş bir paket alınır.
| Alt etkinlik parametresi | Boyut | Amaç |
|---|---|---|
Connection_Handle |
2 sekizlik |
CIS veya BIS'in bağlantı tutma noktası Aralık: 0x0000 - 0x0EFF |
Sequence_Number |
2 sekizlik |
Akışın, denetleyici tarafından yönetilen sıra numarası. CIS veya BIS oluşturulduğunda 0 olarak başlatılır ve her ISO aralığında ISO_interval ÷ SDU_Interval olarak tanımlanan ISO eşzamanlı aralığına göre SDU sayısı kadar artırılır.
|
Anchor_Point_Delay |
2 sekizlik |
Etkinliğin oluşturulması ile etkin BIG veya CIG sabitleme noktası ya da ISO aralığının başlangıcı arasındaki mikrosaniye cinsinden gecikme.
Etkili sabitleme noktası zaman damgası şunlarla tanımlanır:Event generation time - Anchor_Point_Delay
Aralık: 0 ile mikrosaniye cinsinden ISO aralığı |
In_Status |
2 sekizlik |
Denetleyici ISO arabellek durumu Bir ISO aralığının başında, SDU (Sequence_Number + i) mod 0x10000 kullanılabilir olduğunda her bit bi ayarlanır. Kullanılamadığında SDU, Not received from the host olarak tanımlanır.i değeri 0 ile ISO_Interval ÷ SDU_Interval - 1 arasında değişir.
i'nin diğer değerleri için bitler 0 olarak ayarlanır.
|
Tx_Status |
2 sekizlik |
Sıra numaralı SDU'lara göre iletim durumu:(Sequence_Number - Flush_Timeout × ISO_Interval ÷ SDU_Interval + i + 0x10000)
mod 0x10000
Tanımlanan SDU'nun sıra numarasına göre tüm PDU'ları başarıyla iletilip onaylandığında her bit bi ayarlanır. i değeri 0 ile ISO_Interval ÷ SDU_Interval - 1 arasında değişir.
i'nin diğer değerleri için bitler 0 olarak ayarlanır.Yayın grubunda iletim her zaman onaylanmalıdır. |
Birden çok reklamveren desteği
Çoklu reklamveren desteğinin amaçları şunlardır:
-
Birden fazla reklamı destekleme özelliği
(
max_advt_instances) - Farklı aralıklar için farklı iletim güçleri
- Farklı reklam içeriği
- Her reklamveren için kişiselleştirilmiş yanıt
- Her reklamveren için gizlilik (izlenemez)
- Bağlanabilir
Bu spesifikasyonu mevcut standartlara yakın tutmak için aşağıdaki tedarikçiye özel komutlar sağlanır. Bluetooth Core 4.1 Spesifikasyonu'ndan türetilirler.
LE_Multi_Advt_Command
OCF: 0x154
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Multi_advt_opcode |
1 sekizlik |
0x01 - Set_Advt_Param_Multi_Sub_Cmd0x02 - Set_Advt_Data_Multi_Sub_Cmd0x03 - Set_Scan_Resp_Data_Multi_Sub_Cmd0x04 - Set_Random_Addr_Multi_Sub_Cmd0x05 - Set_Advt_Enable_Multi_Sub_Cmd
|
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 sekizlik |
0x01 - Set_Advt_Param_Multi_Command0x02 - Set_Advt_Data_Multi_Command0x03 - Set_Scan_Resp_Data_Multi_Command0x04 - Set_Random_Addr_Multi_Command0x05 - Set_Advt_Enable_Multi_Command
|
LE_Multi_Advt_Command: Set_Advt_Param_Multi_Sub_Cmd
Temel referans: Bluetooth Core 4.1 Specification, sayfa 964 (LE Set Advertising Parameter Command)
Alt OCF: 0x01
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
Advertising_Interval_Min |
Özellik başına | Özellik başına |
Advertising_Interval_Max |
Özellik başına | Özellik başına |
Advertising_Type |
Özellik başına | Özellik başına |
Own_Address_Type |
Özellik başına | Özellik başına |
Own_Address |
Özellik başına | Özellik başına |
Direct_Address_Type |
Özellik başına | Özellik başına |
Direct_Address |
Özellik başına | Özellik başına |
Advertising_Channel_Map |
Özellik başına | Özellik başına |
Adverstising_Filter_Policy |
Özellik başına | Özellik başına |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir. |
Tx_power |
1 sekizlik |
Transmit_Power Birim: dBm (işaretli tam sayı) Aralık: -70 ila +20 |
Own_Address parametresi, bu çoklu reklam örneği ayarlanırken ana makine tarafından yapılandırılmış bir adres olabilir. Bu, ilk işaret iletimi sırasında çözümlenebilir bir özel adresin olmasını sağlar. Bir örnekteki reklam, bağlantıdan bağımsız olarak yayınlanmaya devam eder. Ana makine BT yığını, bağlantı kurulduktan sonra bir örnekte reklam başlatma komutu verebilir.
Bu komut için, yukarıdaki komuta göre Bluetooth Core 4.1 Spesifikasyonu'nda belirtildiği şekilde bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur. Reklam örneği veya Tx_Power parametreleri geçersizse denetleyici, başarılı olmayan (geçersiz parametre) bir kodla yanıt verir.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı 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 Specification, sayfa 969 (LE Set Advertising Data Command)
Alt OCF: 0x02
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
Advertising_Data_Length |
Özellik başına | Özellik başına |
Advertising_Data |
Özellik başına | Özellik başına |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir. |
Bu komut için, yukarıdaki komuta göre Bluetooth Core 4.1 Spesifikasyonu'nda belirtildiği şekilde bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur. Reklam örneği veya Tx_Power parametreleri geçersizse denetleyici, başarılı olmayan bir kodla yanıt verir.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı 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 Specification, sayfa 970 (LE Set Scan Response Data Command)
Sub OCF: 0x03
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
Scan_Response_Data_Length |
Özellik başına | Özellik başına |
Scan_Response_Data |
Özellik başına | Özellik başına |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir. |
Bu komut için, yukarıdaki komuta göre Bluetooth Core 4.1 Spesifikasyonu'nda belirtildiği şekilde bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur. Reklam örneği veya Tx_Power parametreleri geçersizse denetleyici, başarı kodu olmayan bir kodla (geçersiz parametre) yanıt verir.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı 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 Specification, sayfa 963 (LE Set Random Address Command)
Alt OCF: 0x04
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
| Rastgele Adres | Özellik başına | Özellik başına |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir. |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı 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 Specification, sayfa 971 (LE Set Advertise Enable Command in that core specification)
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ışı bırakma anlamına gelir. |
Advertising_Instance |
1 sekizlik | Yukarıdaki parametrelerin bir örnek için geçerliliğini belirtir. 0 örneği, standart bir HCI örneği anlamına gelir. |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Multi_advt_opcode |
1 sekizlik | 0x05 [Set_Advt_Enable_Multi_Sub_Cmd] |
Özel adresin çözümlenmesi kaldırıldı
Bu özellik, denetleyici yazılımında veya donanımında özel bir adresi çözerek aşağıdaki avantajları sağlar:
- Ana makinenin özel bir adresi çözümlemesiyle ilgili gecikme
- Ana makineyi uyandırmaktan kaçınarak güç tasarrufu yapma
LE_Set_RPA_Timeout
OCF: 0x15C
| Komut parametresi | Boyut | Amaç |
|---|---|---|
LE_local_IRK |
16 sekizlik | Rastgele çözümlenebilir adresleri oluşturmak için kullanılan yerel cihaz IRK'sı. |
tRPA_min |
2 sekizlik |
Saniye cinsinden minimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımından sonraki tüm bildirme/tarama/bağlantı etkinlikleri için yeni çözümlenebilir adresler oluşturmalıdır. Geçerli aralık: 300-1800 |
tRPA_max |
2 sekizlik |
Saniye cinsinden maksimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımından önce veya bu zaman aşımında gerçekleşen tüm bildirme/tarama/bağlantı etkinlikleri için yeni çözümlenebilir adresler oluşturmalıdır. Geçerli aralık: tRPA_min-1800
|
| Dönüş 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 (parametrelerden herhangi biri verilen aralığın dışındaysa) |
LE_RPA_offload_Command
OCF: 0x155
| Komut parametresi | Boyut | Amaç |
|---|---|---|
RPA_offload_opcode |
1 sekizlik |
0x1 - Müşteriye özel özelliği etkinleştirme 0x2 - IRK'yı listeye ekleme 0x3 - IRK'yı listeden kaldırma 0x4 - IRK listesini temizleme 0x5 - IRK listesi girişini okuma |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Event_RPA_offload_opcode |
1 sekizlik |
0x1 - Müşteriye özel özelliği etkinleştirme 0x2 - IRK'yı listeye ekleme 0x3 - IRK'yı listeden kaldırma 0x4 - IRK listesini temizleme 0x5 - IRK listesi girişini okuma |
LE_RPA_offload: Enable_cust_specific_sub_Command
Alt OCF: 0x01
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
enable_customer_specific_feature_set |
1 sekizlik |
0x01 - Yükü boşaltılmış RPA özelliğini etkinleştir 0x00 - Yükü boşaltılmış RPA özelliğini devre dışı bırak |
RPA boşaltma, çip özelliğine göre ana makine tarafından etkinleştirilmelidir. LE_Get_Vendor_Capabilities_Command bölümüne bakın.
Her çipin donanım yazılımında farklı bir max_irk_list_sz olabilir.
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x01 [Enable customer-specific feature] |
LE_RPA_offload: Add_IRK_to_list_sub_Command
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 ile ilişkili herkese açık veya rastgele adres (1. bayt LSB) |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x02 [Add IRK to the list] |
LE_IrkList_AvailableSpaces |
1 sekizlik | Mevcut işlemden sonra kullanılabilen IRL liste girişleri |
LE_RPA_offload: Remove_IRK_to_list_sub_Command
Sub 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şkilendirilen herkese açık veya rastgele adres |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x03 [Remove IRK from the list] |
LE_IrkList_AvailableSpaces |
1 sekizlik | Mevcut işlemden sonra kullanılabilen IRL liste girişleri |
LE_RPA_offload: Clear_IRK_list_sub_Command
Alt OCF: 0x04
| Alt komut parametresi | Boyut | Amaç |
|---|---|---|
| Yok |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x04 [Clear IRK List] (IRK Listesini Temizle) |
LE_IrkList_AvailableSpaces |
1 sekizlik |
Mevcut işlemden sonra kullanılabilir IRL 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 listesinin indeksi [0, max_irk_list_sz-1] |
Bu komut için bir Command Complete (Komut Tamamlandı) etkinliği oluşturulur.
| Dönüş parametresi | Boyut | Amaç |
|---|---|---|
Status |
1 sekizlik | Komut Tamamlandı durumu |
Event_cust_specific_feature_opcode |
1 sekizlik | 0x05 [Read IRK List Entry] |
LE_Read_IRK_List_entry |
1 sekizlik | Ana makinenin geri okumasını istediği IRK'nin 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şkili herkese açık veya rastgele adres |
LE_Resolved_Private_Address |
6 oktet | Bu IRK'nin çözümlenmiş mevcut çözümlenebilir özel adresi |
Sniff Offload
Sniff Offload özelliği, Sniff modu yönetimini Bluetooth ana makine yığınından Bluetooth denetleyicisine boşaltır. Bu sayede kontrol cihazı, Sniff moduna girme/çıkma zamanlamasını ve yapılandırılabilir Sniff ve Sniff alt derecelendirme parametrelerini uygulayabilir. Ana makine ise Bluetooth profili etkinlik değişikliklerine göre parametre seçimi üzerinde kontrolü korur.
Sniff Offload Durumları
Bu bölümde, Sniff Offload işleviyle ilgili olarak Bluetooth denetleyicisindeki durumlar tanımlanmaktadır. Bluetooth kumandasının Sniff Offload etkinleştirme durumunu belirlemek için iki genel durum tanımlanmıştır. Bluetooth denetleyicisi Sniff Offload Enabled (Koklama Yükü Devredildi) durumundayken BR/EDR bağlantısının durumunu belirlemek için bağlantıya özel iki durum tanımlanmıştır.
Genel Durumlar
Bluetooth kumandasının Sniff Offload etkinleştirme durumunu belirlemek için iki genel durum tanımlanmıştır.
Sniff Offload Devre Dışı Durumu
Bluetooth kumandalar varsayılan olarak "Sniff Offload Devre Dışı" durumunda kabul edilir. Bluetooth denetleyicisinin, Bluetooth ana makinesinden verilen HCI_Sniff_Mode, HCI_Exit_Sniff_Mode ve HCI_Sniff_Subrating komutlarını işlemesi beklenir. Bluetooth kumandası, Bluetooth ana makinesi tarafından ayarlanan etkinlik maskesine göre HCI_Mode_Change ve HCI_Sniff_Subrating etkinliklerini de Bluetooth ana makinesine yönlendirmelidir.
Sniff Offload Etkin Durumu
Bluetooth denetleyici, Sniff Offload'u etkinleştirmek için "WriteSniffOffloadEnable" komutunu başarıyla işledikten sonra "Sniff Offload Etkin" durumunda kabul edilir. Bu durumda, Bluetooth denetleyicisinin, Bluetooth ana makinesi tarafından ayarlanan etkinlik maskesi ve Etkinlik Bastırma İşaretleri'nin mantıksal VE işleviyle belirlendiği şekilde HCI_Mode_Change ve HCI_Sniff_Subrating etkinliklerini bir Bluetooth ana makinesine yönlendirmesi beklenir.
Bağlantıya Özgü Durumlar
Bluetooth kumandası "Sniff Offload Etkin" durumundayken her etkin ACL, aşağıda açıklanan iki durumdan birinde olabilir.
Parametre-Bekleniyor Durumu
Bir ACL, Bluetooth denetleyicisi "Sniff Offload Enabled" durumundayken ancak mevcut ACL için Bluetooth ana makinesi tarafından en az bir kez "WriteSniffOffloadParameters" satıcıya özel komutu verilmediğinde "Beklemede-Parametreler" durumunda kabul edilir.
Kontrol Başlatıldı Durumu
Bir erişim kontrol listesi, Bluetooth denetleyicisi "Sniff Offload Enabled" (Sniff Offload Etkin) durumundayken ve mevcut erişim kontrol listesi için Bluetooth ana makinesi tarafından en az bir kez "WriteSniffOffloadParameters" satıcıya özel komutu verildiğinde "Control-Started" (Kontrol Başlatıldı) durumunda kabul edilir.
WriteSniffOffloadEnable
OCF: 0x310
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Enable_Sniff_Offload |
1 sekizlik | 0x00 : Devre dışı bırak 0x01 : Etkinleştir |
Subrating_Max_Latency |
2 sekizlik | Maksimum gecikme parametresi, uzak cihazın kullanabileceği maksimum koklama alt hızını hesaplamak için kullanılır. Varsayılan: T*sniff* Latency = N × 0,625 ms (1 Baseband yuvası) Aralık: 0x0002 - 0xFFFE Zaman Aralığı: 1,25 ms - 40,9 sn |
Subrating_Min_Remote_Timeout |
2 sekizlik | Uzak cihazın kullanabileceği minimum sniff modu zaman aşımı (T*sniff_mode_timeout*) Varsayılan: 0x0000 Zaman aşımı = N × 0,625 ms (1 Baseband yuvası) Aralık: 0x0000 - 0xFFFE Zaman Aralık: 0 sn - 40,9 sn |
Subrating_Min_Local_Timeout |
2 sekizlik | Yerel cihazın kullanabileceği minimum gözetleme modu zaman aşımı (T*sniff_mode_timeout*). Varsayılan: 0x0000 Zaman aşımı = N × 0,625 ms (1 temel bant yuvası) Aralık: 0x0000 - 0xFFFE Zaman Aralık: 0 sn - 40,9 sn |
Suppress_Mode_Change_Event |
1 sekizlik | 0x00 : Bluetooth denetleyicisi, HCI_Set_Event_Mask komutunda ayarlanan yapılandırmaya tabi olarak HCI Mode_Change etkinliğini ana bilgisayara bildirmelidir. 0x01 : Bluetooth denetleyicisi, HCI Mode_Change etkinliğini ana bilgisayara bildirmemelidir. |
Suppress_Sniff_Subrating_Event |
1 sekizlik | 0x00 : Bluetooth denetleyici, HCI_Set_Event_Mask komutunda ayarlanan yapılandırmaya tabi olarak HCI Sniff_Subrating etkinliğini ana bilgisayara bildirmelidir. 0x01 : Bluetooth denetleyici, HCI Sniff_Subrating etkinliğini ana bilgisayara bildirmemelidir. |
WriteSniffOffloadParameters
OCF: 0x311
| Komut parametresi | Boyut | Amaç |
|---|---|---|
Connection_Handle |
2 sekizlik | 16 bit BR/EDR ACL bağlantı işleyicisi. Aralık: 0x0000 - 0x0EFF |
Sniff_Max_Interval |
2 sekizlik | –Bluetooth SIG Defined range, ordinarily used for entry to Sniff mode. Aralık: 0x0002 - 0xFFFE; yalnızca çift değerler geçerlidir. Zorunlu Aralık: 0x0006 - 0x0540 Süre = N × 0,625 ms Süre Aralığı: 1,25 ms - 40,9 sn –Özel Durumlar 0x0000: "Push-Active" Sniff-Offload Modu'nu seçmek için kullanılır. 0x0001: "Tercih Edilen Etkin" Sniff-Offload Modu'nu seçmek için kullanılır. |
Sniff_Min_Interval |
2 sekizlik | Aralık: 0x0002 - 0xFFFE; yalnızca çift değerler geçerlidir. Zorunlu Aralık: 0x0006 - 0x0540 Zaman = N × 0,625 ms Zaman Aralığı: 1,25 ms - 40,9 sn |
Sniff_Attempts |
2 sekizlik | Koklama denemesi için temel bant alma yuvası sayısı. Uzunluk = N × 1,25 ms Aralığı: 0x0001 - 0x7FFF Zaman Aralığı: 1,25 ms - 40,9 sn Denetleyici için Zorunlu Aralık: 1 - T*sniff* ÷ 2 |
Sniff_Timeout |
2 sekizlik | Koklama zaman aşımı için temel bant alma yuvası sayısı. Uzunluk = N × 1,25 ms Aralığı: 0x0000 - 0x7FFF Zaman Aralığı: 0 ms - 40,9 sn Denetleyici için Zorunlu Aralık: 0 - 0x0028 |
Link_Inactivity_Timeout |
2 sekizlik | Zaman aşımı değeri (milisaniye). Link_Inactivity Timer, her HCI-ACL işleminde başlatılır/sıfırlanır. Bu zamanlayıcının süresi dolduğunda denetleyici, Sniff moduna girişi başlatır. |
Subrating_Max_Latency |
2 sekizlik | Maksimum gecikme parametresi, uzak cihazın kullanabileceği maksimum koklama alt hızını hesaplamak için kullanılır. Varsayılan: T*sniff* Latency = N × 0,625 ms (1 Baseband yuvası) Aralık: 0x0002 - 0xFFFE Zaman Aralığı: 1,25 ms - 40,9 sn |
Subrating_Min_Remote_Timeout |
2 sekizlik | Uzak cihazın kullanabileceği minimum sniff modu zaman aşımı (T*sniff_mode_timeout*) Varsayılan: 0x0000 Zaman aşımı = N × 0,625 ms (1 Baseband yuvası) Aralık: 0x0000 - 0xFFFE Zaman Aralık: 0 sn - 40,9 sn |
Subrating_Min_Local_Timeout |
2 sekizlik | Yerel cihazın kullanabileceği minimum gözetleme modu zaman aşımı (T*sniff_mode_timeout*). Varsayılan: 0x0000 Zaman aşımı = N × 0,625 ms (1 temel bant yuvası) Aralık: 0x0000 - 0xFFFE Zaman Aralık: 0 sn - 40,9 sn |
Allow_Exit_Sniff_On_Rx |
1 sekizlik | Alım yönlü HCI-ACL işleminde Sniff modundan çıkışı kontrol etmek için kullanılan işaret. 0x00 : Rx'te sniff'ten çıkmayın. 0x01 : Rx alma yönünde HCI-ACL'de Exit Sniff, HCI üzerinden denetleyiciden ana makineye ACL paketi iletimi olarak tanımlanır. |
Allow_Exit_Sniff_On_Tx |
1 sekizlik | İletim yönünde HCI-ACL işleminde Sniff modundan çıkışı kontrol etmek için işaretleyin. 0x00 : Tx'te sniff'ten çıkmayın. 0x01 : Exit Sniff on Tx Transmit-direction HCI-ACL is defined as ACL packet transmission from host to controller over HCI. |