HCI Şartları

Ana Makine Denetleyici Arayüzü (HCI), Bluetooth denetleyiciyle etkileşim kurmak için kullanılır.

Bu belgede Bluetooth (BT) ve Bluetooth Düşük Enerji (BLE) HCI gereksinimlerinin listesi sunulmaktadır. Amaç, aşağıda açıklanan özellik grubunu kullanmak için Ana Makine BT yığını tedarikçilerinin ve BT denetleyici tedarikçilerinin bu platform gereksinimlerine uymasıdır.

Bu belgede, "özellikler" olarak Bluetooth Core 5.2 Spesifikasyonundan bahsedilmektedir. Bluetooth Core 5.2 Spesifikasyonu, Bluetooth SIG web sitesinde benimsenen diğer belgelerle birlikte bulunabilir.

Genel tasarıma genel bakış

Çip özellikleri ve yapılandırması

Açık bir platform olan Android'de yazılım sürümleri, OEM'ler ve tedarikçilerin yanı sıra platform ve çip olanaklarından oluşan bir matris vardır.

Bu belgede, değişen ortamı yönetmek ve taşımaları yönetmek için BT kumandalarının yeteneklerini (standart Bluetooth Core 5.2 spesifikasyonunun ötesinde) ortaya çıkarmalarına olanak tanıyan bir tasarım felsefesi açıklanmaktadır. Daha sonra ana makine BT yığını, hangi özelliklerin etkinleştirileceğini belirlemek için bu özellikleri kullanabilir.

Açık standartları destekleme

Android'in amaçlarından biri, bir Bluetooth spesifikasyonunda onaylandıktan sonra açık standartları desteklemektir. Aşağıda açıklanan bir özellik, gelecekteki bir Bluetooth spesifikasyonunda standart HCI yöntemlerinde kullanılabilir hale gelirse bu yaklaşımı varsayılan olarak belirlemeye çalışırız.

Satıcıya özgü özellikler

Tedarikçi firmaya özel komut: LE_Get_Vendor_Capabilities_Command

OpCode Komut Alanı (OCF): 0x153

Komut parametresi Boyut Amaç
Yok Boş komut parametresi listesi

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
max_advt_instances
(Kullanımdan kaldırıldı)
1 sekizlik Desteklenen reklam örneklerinin sayısı.

0.98 sürümünden sonra ayrılmıştır.
Bu parametre, Google özellik spesifikasyonu 0.98 ve üzeri sürümlerde kullanımdan kaldırılmıştır. Bunun yerine, BT spesifikasyonu sürüm 5.0 ve üzeri sürümlerde kullanılabilen LE Genişletilmiş Reklamlar kullanılacaktır.
offloaded_resolution_of_private-address
(Kullanımdan kaldırıldı)
1 sekizlik RPA'nın BT çipi özelliği.
Bir çip tarafından destekleniyorsa ana makine tarafından etkinleştirilmesi gerekir.
0 = Uygun değil
1 = Capable

0.98 sürümünden sonra ayrılır.
Bu parametre, Google özellik spesifikasyonu v0.98 ve üzeri sürümlerde kullanımdan kaldırılmıştır. Bunun yerine, BT spesifikasyonu sürüm 4.2 ve sonraki sürümlerde kullanılabilen Gizlilik özelliği kullanılacaktır.
total_scan_results_storage 2 oktet Tarama sonuçları için bayt cinsinden depolama alanı
max_irk_list_sz 1 sekizlik Donanım yazılımında desteklenen IRK girişlerinin sayısı
filtering_support 1 sekizlik Denetleyicide filtreleme desteği
0 = Desteklenmiyor
1 = Destekleniyor
max_filter 1 sekizlik Desteklenen filtre sayısı
activity_energy_info_support 1 sekizlik Aktivite ve enerji bilgilerinin raporlanmasını destekler
0 = Uygun değil
1 = Uygun
version_supported 2 oktet Desteklenen Google özellik spesifikasyonunun sürümünü belirtir
byte[0] = Büyük sayı
byte[1] = Küçük sayı

v1.04
byte[0] = 0x01
byte[1] = 0x04
total_num_of_advt_tracked 2 oktet OnLost/OnFound amaç için izlenen toplam reklamverenlerin sayısı
extended_scan_support 1 sekizlik Genişletilmiş tarama penceresini ve aralığını destekler
debug_logging_supported 1 sekizlik Denetleyiciden ikili program hata ayıklama bilgilerinin günlüğe kaydedilmesini destekler
LE_address_generation_offloading_support
(Kullanımdan kaldırıldı)
1 sekizlik 0 = Desteklenmiyor
1 = Destekleniyor

0.98 sürümünden sonra ayrılmıştır.
Bu parametre, Google özellik spesifikasyonu v0.98 ve üzeri sürümlerde kullanımdan kaldırılmıştır. Bunun yerine, BT spesifikasyonu sürüm 4.2 ve sonraki sürümlerde kullanılabilen Gizlilik özelliği kullanılacaktır.
A2DP_source_offload_capability_mask 4 Ekim Desteklenen codec türleri için bit maskeleri
Bit 0 - SBC
Bit 1 - AAC
Bit 2 - APTX
Bit 3 - APTX HD
Bit 4 - LDAC
Bit 5-31 ayrılmıştır
bluetooth_quality_report_support 1 sekizlik Bluetooth kalitesi etkinliklerinin raporlanmasını destekler
0 = Uygun değil
1 = Uygun
dynamic_audio_buffer_support 4 oktet Bluetooth denetleyicide dinamik ses arabelleğini destekler
Desteklenen codec türleri için bit maskeleri
Bit 0 - SBC
Bit 1 - AAC
Bit 2 - APTX
Bit 3 - APTX HD
Bit 4 - LDAC
Bit 5-31 ayrılmıştır
a2dp_offload_v2_support 1 sekizlik Bluetooth denetleyicide A2dp Offload v2 komutlarını destekler (bkz. A2DP Boşaltmasını Başlatma, A2DP Aktarımını Durdurma)
0 = Desteklenmiyor
1 = Destekleniyor

Tarama sonuçlarını toplu hale getirme

Tasarım hedefi, ana makinede güçten tasarruf etmek için Bluetooth LE Scan Response etkinlik bildirimlerinin ana makineye iletilme şeklini iyileştirmektir.

Denetleyicinin, sonuçları taramak için ana makine uygulama işlemcisini bilgilendirme sıklığını azaltarak ana makine uygulama işlemcisi boşta/uykuda daha uzun süre kalabilir. Bu, ana makinedeki güç tüketimini azaltır. LE_Get_Vendor_Capabilities_Command öğesinin dönüş parametresi total_scan_results_storage, tarama sonuçlarının depolanması için çip özelliğini gösterir.

Bu özellik, Bluetooth denetleyicideki LE Scan Results depolama tesisinin yönetimine ve yapılandırılmasına odaklanır. Depolama alanı, geçici olarak toplu reklam verilerini topluca işleme koymak ve denetleyici tarafından alınan veriler ile meta verileri daha sonra ana makineye teslim edilmek üzere taramak için kullanılır.

Donanım yazılımı, aynı anda kullanılabilen iki tür toplu işlemeyi destekleyecektir:

  • Kısaltıldı. Şu bilgi öğelerini içerir: {MAC, TX Power, RSSI, Timestamp}
  • Dolu. Şu bilgi öğelerini içerir: {MAC, TX Power, RSSI, Timestamp, Adv Data, Scan Response}

LE_Batch_Scan_Command

OCF: 0x156

Komut parametresi Boyut Amaç
Batch_Scan_opcode 1 sekizlik 0x1 - Müşteriye özgü özelliği etkinleştir
0x2 - Toplu Tarama Depolama Alanı parametrelerini ayarlama
0x3 - Toplu Tarama parametrelerini ayarlama
0x4 - Toplu Tarama Sonucu parametrelerini okuma

Bu komut için bir Komut Tamamlama etkinliği oluşturulur. Müşteriye özgü özellik etkinleştirildiğinde tarama başlamaz.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Batch_Scan_opcode 1 sekizlik 0x1 - Müşteriye özgü özelliği etkinleştir
0x2 - Toplu Tarama Depolama Alanı parametrelerini ayarlama
0x3 - Toplu Tarama parametrelerini ayarlama
0x4 - Toplu Tarama Sonucu parametrelerini okuma

LE_Batch_Scan_Command: Müşteriye Özgü özelliği etkinleştir

Alt OCF: 0x01

Alt komut parametresi Boyut Amaç
enable_customer_specific_feature_set 1 sekizlik 0x01 - Toplu Tarama özelliğini etkinleştir
0x00 - Toplu Tarama özelliğini devre dışı bırak

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Batch_Scan_opcode 1 sekizlik 0x1 - Müşteriye özgü özelliği etkinleştir
0x2 - Toplu Tarama Depolama Alanı parametrelerini ayarlama
0x3 - Toplu Tarama parametrelerini ayarlama
0x4 - Toplu Tarama Sonucu parametrelerini okuma

LE_Batch_Scan_Command: Toplu Tarama Depolama Parametresi alt komutunu ayarlayın

Alt OCF: 0x02

Alt komut parametresi Boyut Amaç
Batch_Scan_Full_Max 1 sekizlik Tam stil için ayrılmış maksimum depolama alanı (% cinsinden)
[Aralık: 0-100]
Batch_Scan_Truncated_Max 1 sekizlik Kısaltılmış stile ayrılmış maksimum depolama alanı (% cinsinden)
[Aralık: 0-100]
Batch_Scan_Notify_Threshold 1 sekizlik Bireysel depolama alanı havuzu için kurulum bildirim düzeyi (% cinsinden)
[Aralık: 0-100]
0 değerine ayarlanırsa bildirim devre dışı bırakılır. Tedarikçiye özel HCI etkinliği oluşturulur (Depolama eşiği ihlali alt etkinliği)

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Batch_scan_opcode 1 sekizlik 0x02 [Toplu Tarama parametrelerini ayarla]

LE_Batch_Scan_Command: Toplu Tarama Parametresi alt komutunu ayarlayın

Alt OCF: 0x03

Alt komut parametresi Boyut Amaç
Batch_Scan_Mode 1 sekizlik 0x00 - Toplu tarama devre dışı
0x01 - Kısaltılmış mod etkin
0x02 - Tam mod etkin
0x03 – Kesik ve Tam mod etkin
Duty_cycle_scan_window 4 oktet Toplu Tarama tarama süresi (# yuva)
Duty_cyle_scan_interval 4 oktet Toplu Tarama aralığı süresi (# yuva)
own_address_type 1 sekizlik 0x00 - Herkese açık cihaz adresi
0x01 - Rastgele cihaz adresi
Batch_scan_Discard_Rule 1 sekizlik 0 - En eski reklamı sil
1 - En zayıf RSSI'ya sahip reklamı silin

Bu alt komut, etkinleştirilirse toplu taramayı başlatır. Kesik taramada, sonuçlar kısaltılmış stilde benzersiz anahtarın {BD_ADDR, scan_interval} olduğu durumlarda kısaltılmış biçimde depolanır. Bu nedenle her tarama aralığı için yalnızca bir BD_ADDR will kaydedilir. Kesik mod için saklanacak kayıt şudur: {BD_ADDR, Tx Power, RSSI, Zaman Damgası}

Tam mod etkinleştirildiğinde etkin tarama kullanılır ve Tarama Yanıtları kaydedilir. Tam stilde benzersiz anahtar = {MAC, Reklam paketi}, tarama aralığından bağımsız olarak. Tam mod için saklanacak kayıt şudur: {BD_ADDR, Tx Power, RSSI, Timestamp, Reklam paketi, Tarama Yanıtı}. Tam stilde, aynı AD paketi farklı tarama aralıklarında birden çok kez görüntülendiğinde yalnızca bir kez kaydedilir. Bununla birlikte, Kesik modda, önemli olan farklı tarama aralıklarında BA_ADDR öğesinin görünürlüğü (tarama aralığı başına bir kez) olur. RSSI, bir tarama aralığı içindeki benzersiz bir reklamın tüm kopyalarının ortalama değeridir.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Batch_scan_opcode 1 sekizlik 0x03 [Toplu Tarama Parametrelerini Ayarla]

LE_Batch_Scan_Command: Toplu Tarama Sonuçları alt komutunu oku

Alt OCF: 0x04

Alt komut parametresi Boyut Amaç
Batch_Scan_Data_read 1 sekizlik 0x01 – Kesik mod verisi
0x02 – Tam mod verisi

Bu komut için bir Komut Tamamlama etkinliği oluşturulur. Ana makine bu komutu yayınladığında denetleyicideki tüm sonuçlar tek bir Komut Tamamlama etkinliğine sığmayabilir. Komut tamamlama etkinliğinde ilgili sonuçlar, kayıt sayısında 0 değerini gösterene kadar ana makine bu komutu vermeyi tekrarlayacaktır. Bu, denetleyicinin ana makineye iletişim kuracak başka kaydı olmadığını gösterir. Her bir komut tamamlama etkinliği, yalnızca bir veri türüne (tam veya kesilmiş) ait birden fazla kayıt içerebilir.

Denetleyici ve ana makine zamanı referansları senkronize edilmez. Zaman damgasının birimi 50 ms'dir. Zaman damgasının değeri, Read_Batch_Scan_Results_Sub_cmd ana makine tarafından sağlandığı zamana bağlıdır. Donanım yazılımında komut varış zamanı T_c ise zaman damgasının donanım yazılımında çekildiği gerçek zaman T_fw şeklindedir. Raporlama zamanı şu şekilde olacaktır: (T_c - T_fw). T_c ve T_fw , donanım yazılımı zaman alanında. Bu sayede ana makine, etkinliğin ne kadar zaman önce gerçekleştiğini hesaplayabilir.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Batch_scan_opcode 1 sekizlik 0x03 [Toplu Tarama parametrelerini ayarla]
Batch_Scan_data_read 1 sekizlik Biçimi tanımlar (Kesik veya Tam)
num_of_records 1 sekizlik Batch_Scan_data_read kayıt sayısı
format_of_data Değişken Truncated Mode:
Address[0]: 6 octets [your_pack octets]
poltes octets:
address_pack1: [octets [octets]
address_pack1:













num_of_recordsnum_of_recordsScan_data_resp

Reklam Paketi İçerik Filtresi

Denetleyicide Reklam Paketi İçerik Filtresini (APCF) etkinleştirmek/devre dışı bırakmak/ayarlamak için bunu kullanın. APCF denetleyicide reklam raporlarını filtreler ancak periyodik reklamcılığı filtrelemez.

LE_APCF_Komutu

OCF: 0x157

Komut parametresi Boyut Amaç
APCF_opcode 1 sekizlik 0x00 - APCF Etkinleştir
0x01 için APCF Etkinleştir
0x01 - APCFxAP CFx Hizmet İçin ~CFx0 ve APCF Set Filtresi
Genişletilmiş CFxAP CFx Hizmet Şartları - CFx0 ve APCF Set Filtreleme parametreleri
0x02 - APCF Yayınlayıcı Adresi
0x04 - APCF Hizmet Talebi UUID
0x05 - AP AF Yerel Adı
0x05






Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik İade durumu
APCF_opcode 1 sekizlik 0x00 - APCF Etkinleştir
0x01 için APCF Etkinleştir
0x01 - APCFxAP CFx Hizmet İçin ~CFx0 ve APCF Set Filtresi
Genişletilmiş CFxAP CFx Hizmet Şartları - CFx0 ve APCF Set Filtreleme parametreleri
0x02 - APCF Yayınlayıcı Adresi
0x04 - APCF Hizmet Talebi UUID
0x05 - AP AF Yerel Adı
0x05






LE_APCF_Command: "Enable_sub_cmd"

Alt OCF: 0x00

Alt komut parametresi Boyut Amaç
APCF_enable 1 sekizlik 0x01 - APCF özelliğini etkinleştir
0x00 - APCF özelliğini devre dışı bırak

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x0 - APCF Etkinleştir
APCF_Enable 1 sekizlik Etkinleştirme/devre dışı bırakma ayarı APCF_enable üzerinden yapıldı

LE_APCF_Command: set_filtering_parameters_sub_cmd

Bu alt komut, bir filtre spesifikasyonu eklemek veya mevcut bir filtre spesifikasyonunu silmek ya da çip üzerinde filtreleme için filtre listesini temizlemek amacıyla kullanılır.

Alt OCF: 0x01

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Delete, belirli filtreyi ve diğer tablolardaki ilişkili özellik girişlerini temizler.
Temizle, tüm filtreleri ve diğer tablolardaki ilişkili girişleri temizler.
APCF_Filter_Index 1 sekizlik Filtre dizini (0, max_filter-1)
APCF_Feature_Selection 2 oktet Seçilen özellikler için bit maskeleri:
Bit 0: Yayın Adresi filtresini etkinleştirecek şekilde ayarlayın
Bit 1: Hizmet Verileri Değişikliği filtresini etkinleştirmek için ayarlayın
Bit 2: Hizmet UUID'si kontrolünü etkinleştirmek için ayarlayın
Bit 3: Hizmet Talebi UUID kontrolünü etkinleştirecek şekilde ayarlayın
Bit 4: Yerel Ad kontrolünü etkinleştirecek şekilde ayarlayın
Bit 5: Üretici Veri Denetimini etkinleştir: Bit 5: Üretici Veri Denetimini etkinleştir
Bit 5: Üretici Veri Denetimini etkinleştir: Bit 5:

APCF_List_Logic_Type 2 oktet APCF_Feature_Selection içinde belirtilen her özellik seçimi (bit başına) için mantık işlemi.
Yalnızca bir özellik etkinleştirildiğinde geçerlidir.
Bit konumu değeri:
0: VEYA
1: VE
"VE" mantığı seçilirse bir ADV paketi yalnızca listedeki TÜM girişleri içeriyorsa filtreden geçer.
"OR" mantığı seçilirse bir ADV paketi listedeki girişlerden herhangi birini içeriyorsa filtreden geçer.
APCF_Filter_Logic_Type 1 sekizlik 0x00: VEYA
0x01: AND
Not: Mantık türü, APCF_Feature_Selection öğesinin ilk üç alanı için Yok ve her zaman "VE" mantığıdır. Yalnızca dört APCF_Feature_Selection alanı (Bit 3 - Bit 6) için geçerlidir.
rssi_high_thresh 1 sekizlik [dBm cinsinden]
Reklamveren, yalnızca sinyal RSSI yüksek eşiğinden yüksek olduğunda görülüyor olarak kabul edilir. Aksi takdirde, donanım yazılımı hiç görmemiş gibi davranmalıdır.
delivery_mode 1 sekizlik 0x00 - immediate
0x01 - on_found
0x02 - batched
onfound_timeout 2 oktet Yalnızca delivery_mode, on_found ise geçerlidir.
[milisaniye cinsinden]
Donanım yazılımının raporlamadan önce bekleyip ek reklamlar toplaması gerekir.
onfound_timeout_cnt 1 sekizlik Yalnızca delivery_mode, on_found ise geçerlidir.
[count]
onFound uygulamasındaki bir reklam onfound_timeout boyunca donanım yazılımında kalırsa birkaç reklam toplar ve bu sayı kontrol edilir. Sayı, onfound_timeout_cnt değerini aşarsa hemen ardından OnFound olarak raporlanır.
rssi_low_thresh 1 sekizlik Yalnızca delivery_mode, on_found ise geçerlidir.
[dBm cinsinden]
Alınan paketin RSSI'si, RSSI alt eşiğinin üzerinde değilse reklamveren paketi görülmedi olarak kabul edilir.
onlost_timeout 2 oktet Yalnızca delivery_mode, on_found ise geçerlidir.
[milisaniye cinsinden]
Bulunduktan sonra bir reklam lost_timeout boyunca kesintisiz olarak görülmezse reklamın derhal kaybolduğu bildirilir.
num_of_tracking_entries 2 oktet Yalnızca delivery_mode, on_found ise geçerlidir.
[count]
Filtre başına izlenecek toplam reklamveren sayısı.

RSSI değerleri, negatif değerleri temsil etmek için 2'nin tamamlayıcısını kullanmalıdır.

Ana makine, çeşitli filtre kombinasyonlarını yönetmek için APCF_Application_Address_type öğesinin 0x02 değerine ayarlandığı (tüm yayıncı adresleri için) birden fazla filtre yapılandırabilmelidir.

Filtreleme, toplu işleme ve raporlama birbiriyle ilişkili kavramlardır. Her reklamın ve ilgili tarama yanıtının birbiri ardına tüm filtrelerden geçmesi gerekir. Bu nedenle, sonuçta elde edilen işlemler (delivery_mode) filtrelemeyle yakından ilişkilidir. İletim modları şunlardır: report_immediately, batch ve onFound. OnLost değeri, kaybolduğunda OnFound sonrasında gelir gibi OnFound ile ilgilidir.

Bu işleme akışı, kavramsal modeli gösterir:

Bir reklam (veya tarama yanıtı) çerçevesi alındığında, seri sırayla tüm filtrelere uygulanır. Bir reklam, bir filtreye göre anında raporlamaya neden olabilir ve farklı bir filtre işlemi nedeniyle aynı filtrenin gruplandırılmasına neden olabilir.

RSSI seviye eşikleri (yüksek ve düşük), geçerli bir paket denetleyici tarafından alındığında bile çerçevenin filtre işleme için ne zaman görüneceğini kontrol etme olanağı sağlar. İletim modunun hemen veya toplu olarak ayarlanması durumunda, bir çerçevenin RSSI'si denetleyicinin daha fazla işlenmesi için dikkate alınır. Farklı uygulamalar, farklı raporlama ve toplu işlem davranışı gerektirir. Bu, birden fazla uygulamanın aynı anda donanım yazılımında doğrudan raporlamasına ve/veya sonuçları toplu olarak kullanmasına olanak tanır. Bir uygulamada toplu taramanın etkin olduğu ve daha sonra başka bir uygulama tarafından normal bir LE taraması yapıldığı durumlar buna örnek olarak verilebilir. Toplu tarama yapılmadan önce çerçeve/uygulama uygun filtreleri ayarlar. Daha sonra, ikinci uygulama düzenli bir tarama yaptığında önceki toplu işlem devam eder. Ancak normal tarama nedeniyle, LE tarama komutuyla birlikte kavramsal olarak boş filtre (mevcut tüm filtrelerle birlikte) eklemeye benzer. Etkin olduğunda LE tarama komutu parametreleri öncelikli olur. Normal LE taraması devre dışı bırakıldığında kumanda, önceden yapılmış bir toplu taramaya (varsa) geri döner.

OnFound iletim modu, yapılandırılmış filtrelere dayanır. Bir filtre işleminin başarılı olmasını tetikleyen bir kombinasyon, onLost için izlenecek varlık olarak kabul edilir. Karşılık gelen etkinlik LE Advt izleme alt etkinliğidir.

Bir filtre için OnFound/OnLost geçişi (etkinse) aşağıdaki gibi görünür:

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x01 - APCF Filtreleme Parametrelerini Ayarlama
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik Filtre tablosundaki kullanılabilir giriş sayısı

LE_APCF_Command: yayın_adresi_alt_cmd

Bu alt komut, reklamveren adresi eklemek veya silmek ya da çip üzerinde filtreleme için reklamveren adres listesini temizlemek amacıyla kullanılır.

Alt OCF: 0x02

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Delete, belirtilen filtrede belirtilen yayıncı adresini siler.
Temizle, belirtilen filtredeki tüm yayıncı adreslerini temizler.
APCF_Filter_Index 1 sekizlik Filtre dizini (0, max_filter-1)
APCF_Broadcaster_Address 6 sekizli Yayıncı adresi listesine eklenecek veya listeden silinebilecek 6 baytlık cihaz adresi
APCF_Application_Address_type 1 sekizlik 0x00: Herkese açık
0x01: Rastgele
0x02: NA (adres türünü yoksay)
Reklamcılık raporlarını kimlik adresi türlerine (0x02, 0x03) göre filtrelemek için. 0x02 ve 0x03 adres türlerine sahip reklamcılık raporları almak için bu alanı 0x02: Yok (adres türünü yoksay) olarak ayarlayın.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x02 - APCF Yayıncı Adresi
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik Yayın Adresi tablosunda hâlâ kullanılabilir olan ücretsiz giriş sayısı

LE_APCF_Command: service_uuid_sub_cmd

Bu alt komut, bir hizmet UUID'si eklemek veya mevcut bir UUID'yi silmek ya da çip üzerinde filtreleme için hizmet UUID'si listesini temizlemek amacıyla kullanılır.

Alt OCF: 0x03

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Delete, belirtilen filtrede belirtilen hizmet UUID'sini siler.
Temizle, belirtilen filtredeki tüm hizmet UUID'lerini temizler.
APCF_Filter_Index 1 sekizlik Filtre dizini (0, max_filter-1)
APCF_UUID 2,4,16 oktet Listeye ekleme veya listeden silme işlemi için Hizmet UUID'si (16 bit, 32 bit veya 128 bit).
APCF_UUID_MASK 2,4,16 oktet Listeye eklenecek Hizmet UUID Maskesi (16 bit, 32 bit veya 128 bit). APCF_UUID. ile aynı uzunlukta olmalıdır

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x03 - APCF Hizmeti UUID'si
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik Hizmet UUID'si tablosunda hâlâ mevcut olan ücretsiz giriş sayısı

LE_APCF_Command: solicitation_uuid_sub_cmd

Bu alt komut, istek UUID'si eklemek veya silmek ya da çip üzerinde filtreleme için talep UUID'si listesini temizlemek amacıyla kullanılır.

Alt OCF: 0x04

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Delete, belirtilen filtredeki istek UUID'sini siler.
Temizle, belirtilen filtredeki tüm istek UUID'lerini temizler.
APCF_Filter_Index 1 sekizlik Filtre dizini (0, max_filter-1)
APCF_UUID 2,4,16 oktet Listeye eklenecek veya listeden silinecek Talep UUID'si (16 bit, 32 bit veya 128 bit).
APCF_UUID_MASK 2,4,16 oktet Listeye eklenecek Talep UUID Maskesi (16 bit, 32 bit veya 128 bit). APCF_UUID ile aynı uzunlukta olmalıdır.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x04 - APCF Talep UUID'si
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik Talep UUID tablosunda hâlâ kullanılabilir olan ücretsiz giriş sayısı

LE_APCF_Command: yerel_adı_sub_cmd

Bu alt komut, bir yerel ad dizesini eklemek veya silmek ya da çip üzerinde filtreleme için yerel ad dizesi listesini temizlemek amacıyla kullanılır.

Alt OCF: 0x05

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Delete, belirtilen filtrede belirtilen yerel ad dizesini siler.
Temizle, belirtilen filtredeki tüm yerel ad dizelerini temizler.
APCF_Filter_Index 1 sekizlik Filtre dizini (0, max_filter-1)
APCF_LocName_Mandata_or_SerData Değişken boyut Yerel ad için bir karakter dizesi.

Notlar:
  • Şu anda bir yerel ad dizesinde en fazla 29 karakter kullanılabilir
  • İşlem "Temizle" olduğunda geçerli değildir (0x2)

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x05 - APCF Yerel Adı
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik Yerel ad tablosunda hâlâ mevcut olan ücretsiz giriş sayısı

LE_APCF_Command: manf_data_sub_cmd

Bu alt komut, üretici veri dizesi eklemek veya silmek ya da çip üzerinde filtreleme için üretici veri dizesi listesini temizlemek amacıyla kullanılır.

Alt OCF: 0x06

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Sil, belirtilen filtrede belirtilen üretici veri dizesini siler.
Temizle, belirtilen filtredeki tüm üretici veri dizelerini temizler.
APCF_Filter_Index 1 sekizlik Filtre Dizini (0, max_filter-1)
APCF_LocName_Mandata_or_SerData Değişken boyut Üretici verileri için bir karakter dizesi.

Notlar:
  • Şu anda bir yerel ad dizesinde en fazla 29 karakter kullanılabilir
  • İşlem "Temizle" olduğunda geçerli değildir (0x2)
APCF_ManData_Mask Değişken boyut Listeye eklenecek üretim veri maskesi. APCF_LocName_or_ManData_or_SerData ile aynı uzunlukta olmalıdır.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x06 - APCF Üretici Verileri
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik Üretici Verileri tablosunda hâlâ mevcut olan ücretsiz giriş sayısı

LE_APCF_Command: service_data_sub_cmd

Bu alt komut, bir hizmet verileri dizesini eklemek veya silmek ya da çip üzerinde filtreleme için hizmet verileri dizesi listesini temizlemek amacıyla kullanılır.

Alt OCF: 0x07

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Delete, belirtilen filtrede belirtilen hizmet verileri dizesini siler.
Temizle, belirtilen filtredeki tüm hizmet verisi dizelerini temizler.
APCF_Filter_Index 1 sekizlik Filtre Dizini (0, max_filter-1)
APCF_LocName_Mandata_or_SerData Değişken boyut Hizmet verileri için bir karakter dizesi.

Notlar:
  • Şu anda bir yerel ad dizesinde en fazla 29 karakter kullanılabilir
  • İşlem "Temizle" olduğunda geçerli değildir (0x2)
APCF_LocName_Mandata_or_SerData_Mask Değişken boyut Listeye eklenecek hizmet verileri maskesi. APCF_LocName_or_ManData_or_SerData. ile aynı uzunlukta olmalıdır

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x07 - APCF Hizmet Verileri
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik Hizmet Verileri tablosu için hâlâ kullanılabilir olan ücretsiz giriş sayısı

LE_APCF_Command: ad_type_sub_cmd

Bu alt komut, bir AD türünü eklemek veya silmek ya da çip üzerinde filtreleme için bir AD türü listesini temizlemek amacıyla kullanılır. Bu komutun desteklenip desteklenmediğini kontrol etmek için read_extended_features_sub_cmd işlevini kullanın.
APCF_AD_DATA_Length 0 olduğunda AD Verileri ile AD Veri Maskesini karşılaştırmadan APCF_AD_TYPE filtresini filtreleyin. Alınan ADV paketinin veri uzunluğu AD_DATA_LENGTH değerini aşıyorsa AD verilerinin yalnızca ilk AD_DATA_LENGTH baytını karşılaştırın ve kalan verileri yoksayın.

Alt OCF: 0x09

Alt komut parametresi Boyut Amaç
APCF_Action 1 sekizlik 0x00 - Ekle
0x01 - Sil
0x02 - Temizle
Delete, belirtilen filtrede belirtilen AD türünü siler.
Temizle, belirtilen filtredeki tüm AD türlerini temizler.
APCF_Filter_Index 1 sekizlik Filtre Dizini (0, max_filter-1)
APCF_AD_TYPE 1 sekizlik Listeye ekleme veya listeden silme işlemi için kullanılan AD Türü. APCF_Action 0x02 olduğunda yoksay (Temizle)
APCF_AD_DATA_Length 1 sekizlik 0x00 - veri içeriğinin filtrelenmemesi anlamına gelir
APCF_Action 0x02 olduğunda yoksay (Temizle)
APCF_AD_DATA Değişken boyut APCF_AD_DATA_Length temel alınarak değişken boyutlu
APCF_Action 0x02 olduğunda yoksay (Temizle)
APCF_AD_DATA_MASK Değişken boyut APCF_AD_DATA_Length ölçütüne göre değişken boyutlu
APCF_Action 0x02 olduğunda yoksay (Temizle)
Uzunluğu APCF_AD_DATA ile aynı olmalıdır.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0x09 - APCF REKLAM Türü
APCF_Action 1 sekizlik Echo geri komutunun APCF_Action
APCF_AvailableSpaces 1 sekizlik REKLAM Türü tablosunda hâlâ mevcut olan ücretsiz giriş sayısı

LE_APCF_Command: "read_extended_features_sub_cmd"

Bu alt komut, genişletilmiş APCF özelliklerini okumak için kullanılır.

Alt OCF: 0xFF

Alt komut parametresi Boyut Amaç
Geçerli değil Boş komut parametresi.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
APCF_opcode 1 sekizlik 0xFF - APCF_Okuma_Genişletilmiş_Özellikler
APCF_extended_features 2 sekizli

Desteklenen genişletilmiş özellikler için bit maskeleri:

  • Bit 0: Destek Transport Keşif Hizmeti filtresi
  • Bit 1: Destek AD Türü filtresini destekleyin
  • Bit 2 ~15: Gelecekte kullanım için ayrılmıştır

Bit değeri

  • 0 = Desteklenmiyor
  • 1 = Destekleniyor

Denetleyici etkinliği ve enerji bilgileri komutu

Bu bilgilerin amacı, daha yüksek ana makine sistem işlevlerinin, BT denetleyicisi ve makro durumu da dahil olmak üzere tüm bileşenlerin toplam etkinliklerini, uygulamalarda ve çerçevede olanlarla birlikte analiz etmesidir. Bunun için BT yığınından ve kumandadan aşağıdaki bilgiler gerekir:

  • BT yığını: Denetleyicinin mevcut makro işlem durumunu raporlama
  • Donanım yazılımı: Toplu etkinliği ve enerji bilgilerini raporlama

Kullanıcı düzeyinde belirlenen BT ana makine yığını makro durumları:

  • Boşta: [sayfa tarama, LE advt, sorgu taraması, LE taraması]
  • Tara: [sayfalama/sorgu/bağlanmaya çalışıyorum]
  • Etkin: [ACL bağlantısı açık, SCO bağlantısı devam ediyor, algılama modu]

Kumandanın kullanım ömrü boyunca izlediği aktiviteler; işlem süresi, Rx süresi, boşta kalma süresi ve toplam enerjidir. Bu dosyalar, ana makineden okunduğunda temizlenir.

LE_Get_Controller_Etkinlik_Enerji_Bilgileri

Bu, tedarikçi firmaya özel bir komuttur.

OCF: 0x159

Alt komut parametresi Boyut Amaç
Yok Boş komut parametreleri

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
total_tx_time_ms 4 oktet Gerçekleşen toplam işlem süresi
total_rx_time_ms 4 oktet Rx gerçekleştiren toplam süre
total_idle_time_ms 4 oktet Boşta kalma süresi (uykusuz, düşük güç durumları)
total_energy_used 4 oktet Kullanılan toplam enerji [akım çarpımı (mA), gerilim (V) ve süre (ms)]

LE genişletilmiş set tarama parametreleri komutu

Bu komut, kumandada daha büyük bir tarama penceresi ve daha geniş bir tarama aralığı etkinleştirmek için kullanılabilir. BT Core 5.2 Spesifikasyonuna göre, tarama penceresi ve aralığının üst sınır sınırı 10,24 saniyedir. Bu durum, uygulamaların 10,24 saniyeden uzun tarama aralıklarını engeller.

Temel referans: BT Core 5.2 Spesifikasyonu, sayfa 2493 (LE Set Scan Parameters Komutu)

OCF: 0x15A

Komut Parametresi Boyut Amaç
LE_Ex_Scan_Type 1 sekizlik 0x00 - Pasif tarama. SCAN_REQ paketi gönderilemez (varsayılan).
0x01 - Etkin tarama. SCAN_REQ paket gönderilebilir.
LE_Ex_Scan_Interval 4 oktet Denetleyicinin son LE taramasını başlattığından sonraki LE taramasına kadar geçen zaman aralığı olarak tanımlanır.
Aralık: 0x0004 - 0x00FFFFFF
Varsayılan: 0x0010 (10 ms)
Süre = N * 0,625 ms
Zaman aralığı: 2,5 ms - 10.442,25 saniye
LE_Ex_Scan_Window 4 oktet LE taramasının süresi. LE_Scan_Window, LE_Scan_Interval değerinden küçük veya buna eşit olmalıdır.
Aralık: 0x0004 - 0xFFFF
Varsayılan: 0x0010 (10 ms)
Süre = N * 0,625 ms
Zaman Aralığı: 2,5 ms - 40,95 saniye
Own_Address_Type 1 sekizlik 0x00 - Herkese Açık Cihaz Adresi (varsayılan)
0x01 - Rastgele Cihaz Adresi
LE_Ex_Scan_Filter_Policy 0x00 - Tüm reklam paketlerini kabul et (varsayılan). Bu cihaz için gönderilmeyen Yönlendirilmiş reklam paketleri yoksayılacaktır.
0x01 - Yalnızca Beyaz Liste listesinde olmayan cihazlardan gelen reklam paketlerini yoksay. Bu cihaz için hedeflenmeyen Yönlendirilmiş reklam paketleri yoksayılacaktır.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu

Denetleyici hata ayıklama bilgisi komutunu al

Bu bilgi öğesinin amacı, işlem sonrası ve analiz için denetleyici hata ayıklama bilgilerini bir ana makineden ikili biçimde almaktır. Bu sayede sahadaki sorunlarda hata ayıklamaya yardımcı olur ve mühendislere, bilgileri analiz için günlüğe kaydedebilecekleri bir araç seti sağlanır. Denetleyiciler, ana makine tarafından etkinlik (Denetleyici Hata Ayıklama Bilgileri alt etkinliği) aracılığıyla istendiğinde veya denetleyici tarafından istendiğinde bağımsız olarak bu bilgileri sağlayabilir. Donanım yazılımı durumu bilgilerini, kilitlenme dökümü bilgilerini, günlük kaydı bilgilerini vb. raporlamak örnek kullanımlar olabilir.

OCF: 0x15B

Komut parametresi Boyut Amaç
Yok Boş komut parametresi listesi

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu

A2DP Donanım Kaldırma Desteği

A2DP Boşaltma özelliği, A2DP ses kodlama işleminin BT Denetleyici'ye bağlı bir ses işlemcisine yüklenmesini destekler. Kodlanmış ses veri akışı, BT ana makinesinin müdahalesi olmadan doğrudan Ses işlemcisinden BT Denetleyicisi'ne geçer. BT ana makinesi, A2DP oturumunun yapılandırmasından ve kontrolünden hâlâ sorumludur. Komutların iki sürümü mevcuttur. Sub OCF 0x01-0x02 içeren eski komutlar yalnızca açık kaynak codec'leri destekler. Sub-OCF 0x02-0x03 içeren sürümler, yapılandırılmış codec'ten bağımsızdır.

OCF: 0x15D

A2DP Boşluğunu Başlat (eski)

Alt OCF: 0x01

A2DP Boşaltma işlemini yapılandırmak ve A2DP akışını başlatmak için bu komutu kullanın.

Komut parametresi Boyut Amaç
Codec 4 oktet Codec türünü belirtir
0x01 - SBC
0x02 - AAC
0x04 - APTX
0x08 - APTX HD
0x10 - LDAC
Max_Latency 2 oktet İzin Verilen Maksimum Gecikme (ms olarak). Sıfır değeri, boşaltmayı devre dışı bırakır.
SCMS-T_Enable 2 oktet 0 Ekim: SCMS-T üstbilgisinin eklenmesini sağlayan işaret.
  • 0x00 - SCMS-T Başlığı dahil değil.
  • 0x01 - SCMS-T Başlığı dahil.

1. Ekim: Etkinleştirildiğinde SCMS-T başlığının değeri.

Sampling_Frequency 4 oktet 0x01 - 44.100 Hz
0x02 - 48.000 Hz
0x04 - 88.200 Hz
0x08 - 96.000 Hz
Bits_Per_Sample 1 sekizlik Örnek başına 0x01 - 16 bit
Örnek başına 0x02 - 24 bit
0x04 - örnek başına 32 bit
Channel_Mode 1 sekizlik 0x01 - Mono
0x02 - Stereo
Encoded_Audio_Bitrate 4 oktet Saniye başına bit cinsinden kodlanmış ses bit hızı.
0x00000000 - Ses bit hızı belirtilmemiş / unused.
0x00000001 - 0x00FFFFFF - Saniye başına bit cinsinden kodlanmış ses bit hızı.
0x01000000 - 0xFFFFFFFF - Ayrılmış.
Connection_Handle 2 oktet Yapılandırılan A2DP bağlantısının Bağlantı işleyicisi
L2CAP_Channel_ID 2 oktet Bu A2DP bağlantısı için kullanılacak L2CAP Kanal Kimliği
L2CAP_MTU_Size 2 oktet Kodlanmış ses paketleri içeren maksimum L2CAP MTU boyutu
Codec_Information 32 oktet Codec'e Özel Bilgiler.

SBC Codec'i:

A2DP v1.3'te SBC Codec'e özgü bilgi öğelerine bakın.
0 Ekim: Blok uzunluğu | Alt bantlar | Ayırma Yöntemi
1. Ekim: Minimum Bit havuzu değeri
2. Ekim: Maksimum Bit havuzu değeri
3. Ekim: Örnekleme Sıklığı | Kanal Modu
4-31 Ekim: ayrılmış

AAC Codec:

A2DP v1.3'te AAC Codec'e özgü bilgi öğelerine bakın
Ekim 0: Nesne Türü
Ekim 1; b7: VBR
Ekim 2-31: ayrılmış

LDAC Codec'i:

0-3 Ekim: Tedarikçi kimliği
0x0000012D

4-5 Ekim: Codec Kimliği
0x00AA - LDAC
Diğer tüm değerler ayrılmıştır

6. Ekim: Bit Hızı İndeksi:
0x00 - Yüksek
0x01 - Orta
0x02 - Düşük
0x03 - 0x7E - Ayrılmış
0x7F - ABR (Uyarlanabilir Bit Hızı)
0x80 - 0xFF - Ayrılmış

7 Ekim: LDAC Kanal Modu
0x01 - Stereo
0x02 - Çift
0x04 - Mono
Diğerleri ayrılmıştır

8-31 Ekim: ayrılmış

Diğer tüm codec'ler:

0-31 Ekim: ayrılmış

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Sub_Opcode 1 sekizlik 0x01 - A2DP Aktarımını Başlat

A2DP Boşluğunu Başlat

Alt OCF: 0x03

A2DP Boşaltma işlemini yapılandırmak ve A2DP akışını başlatmak için bu komutu kullanın.

Komut parametresi Boyut Amaç
Connection Handle 2 oktet Etkin HCI bağlantısının herkese açık kullanıcı adı
L2CAP_Channel_ID 2 oktet A2DP akışı için açılan L2CAP kanalının tanımlayıcısı
Data_Path_Direction 1 sekizlik 0x00 - Çıkış (AVDTP Kaynağı/Birleştirme)
0x01 - Giriş (AVDTP Havuz/Bölünmüş)
Peer_MTU 2 oktet Eşle üzerinde anlaşılan, L2CAP paketinin maksimum boyutu.
CP_Enable_SCMS_T 1 sekizlik 0x00 - SCMS-T İçerik Koruma Başlığını devre dışı bırak
0x01 - SCMS-T İçerik Koruma Başlığını etkinleştir
CP_Header_SCMS_T 1 sekizlik SCMS-T İçerik Koruma Başlığı etkinleştirildiğinde (CP_SCMS_T_Enable 0x01 olarak ayarlanırsa), Bluetooth Atanan Numaraları, bölüm 6.3.2'de tanımlandığı şekilde ses içeriğinden (A2DP, bölüm 3.2.1-2'ye bakın) önce gelen başlık değerini tanımlar.
SCMS-T İçerik koruması etkinleştirilmediğinde yoksayılır.
Vendor_Specific_Parameters_Length 1 sekizlik Tedarikçiye Özel Parametrelerin uzunluğu, 0-128 aralığındadır.
Ek parametre sağlanmadığında 0 değeri kullanılır.
Vendor_Specific_Parameters 0-128 sekizlik Bluetooth Ses HAL tarafından sağlanan Satıcıya Özel Parametreler, CodecParameters.vendorSpecificParameters[].

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Sub_Opcode 1 sekizlik 0x03 - A2DP Boşluğunu Başlatma

A2DP Aktarımını Durdur (eski)

Alt OCF: 0x02

Bu komut, A2DP Boşaltma akışını durdurmak için kullanılır.

Komut parametresi Boyut Amaç
Yok Komut parametresi listesi boş.

Bu komut için parametre tanımlı değil.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Sub_Opcode 1 sekizlik 0x02 - A2DP Boşluğunu Durdurma

A2DP Boşluğunu Durdur

Alt OCF: 0x04

Bu komut, A2DP Boşaltma akışını durdurmak için kullanılır.

Komut parametresi Boyut Amaç
Connection Handle 2 oktet Etkin HCI bağlantısının herkese açık kullanıcı adı
L2CAP_Channel_ID 2 oktet A2DP akışı için açılan L2CAP kanalının tanımlayıcısı
Data_Path_Direction 1 sekizlik 0x00 - Çıkış (AVDTP Kaynağı/Birleştirme)
0x01 - Giriş (AVDTP Havuz/Bölünmüş)

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Sub_Opcode 1 sekizlik 0x04 - A2DP Boşluğunu Durdurma

Bluetooth Kalite Raporu komutu

BT Kalite Raporu komut özelliği, Bluetooth kalitesi etkinliklerini ana makineye bildirmek için Bluetooth denetleyicide mekanizma başlatır. Dört seçeneği etkinleştirebilirsiniz:

  • Kalite İzleme Modu: Denetleyici, ana makineye düzenli aralıklarla Bağlantı Kalitesi ile ilgili bir BQR alt etkinliği gönderir.
  • LSTO'ya yaklaşılıyor: Bağlı BT cihazından Bağlantı Gözetimi Zaman Aşımı (LSTO) değerinin yarısından uzun bir süre boyunca hiçbir paket alınmazsa kumanda, ana makineye Yaklaşılan LSTO etkinliği bildirir.
  • A2DP Seste Kesinti: Kumanda, sesin kesik olmasına yol açan faktörler algıladığında ana makineye bir A2DP Ses Değişken etkinliği bildirir.
  • (e)SCO Seste Kesinti: Kumanda sesin kesik olmasına yol açan faktörler algıladığında (e)SCO Ses Kesintili etkinliği bildirir.
  • Kök Enflamasyonu: Bu etkinlik, HAL veya kumanda önemli bir hatayla karşılaştığında ve Bluetooth'un yeniden başlatılması gerektiğinde denetleyici tarafından yığına gönderilir.
  • LMP/LL mesaj izleme: Denetleyici, uzak cihazla el sıkışarak LMP/LL mesajını ana makineye gönderir.
  • Bluetooth Çoklu Profil/Coex planlama izi: Kumanda, birden fazla Bluetooth profilinin ve 2,4 Ghz bandındaki kablosuz birlikte kullanımla ilgili planlama bilgilerini ana makineye gönderir.
  • Denetleyici Hata Ayıklama Bilgileri mekanizması: Etkinleştirildiğinde denetleyici, Denetleyici hata ayıklama bilgileri alt etkinliği aracılığıyla hata ayıklama günlük bilgilerini otomatik olarak ana makineye bildirebilir.
  • LE Audio Kesintili: Kumanda, sesin kesintili olmasına yol açan faktörler algıladığında ana makineye bir LE Audio Kesintili etkinliği bildirir.
  • Gelişmiş RF İstatistikleri modu: Kumanda, RF istatistikleriyle ilgili bilgileri ana makineye bildirerek aşağıdaki iki kullanım alanını destekler:
    • Periyodik raporlar
    • Etkinlik tetikleyicileri (akış başlatma/durdurma ve bağlantı kalitesi etkinlik tetikleyicisi).
  • Bluetooth Kalite Raporu Komutunun BQR_Rapor_İşlemi: Ana makine bu HCI komutunu kalite izleme modu, enerji izleme modu veya gelişmiş RF istatistik modu için tek seferlik bir sorgu almak için kullanabilir.

OCF: 0x15E

Komut parametresi Boyut Amaç
BQR_Report_Action 1 sekizlik BQR_Quality_Event_Mask parametresinde ayarlanan kalite etkinliklerinin raporlanmasını ekleme / silme veya tümünü temizleme işlemi.

0x00 - Ekle
0x01 - Sil
0x02 - Temizle
0x03 - Tek seferlik sorgu

Silme işlemi, belirli kalite etkinliklerinin raporlarını temizler.
Temizle seçeneği, tüm kalite etkinliği raporlarını temizler (BQR_Quality_Event_Mask parametresi yok sayılabilir).

BQR_Quality_Event_Mask 4 oktet Seçilen kaliteli etkinlik raporlaması için bit maskeleri.

Bit 0: Kalite izleme modunu etkinleştirecek şekilde ayarlayın.
Bit 1: LSTO etkinliğine Yaklaşmayı etkinleştirecek şekilde ayarlayın (ACL/(e)SCO/ISO için).
Bit 2: A2DP Ses Değişken etkinliğini etkinleştirecek şekilde ayarlayın.
Bit 3: (e)SCO Ses Değişken etkinliğini etkinleştirecek şekilde ayarlayın.
Bit 4: Kök iltihap etkinliğini etkinleştirecek şekilde ayarlanır.
Bit 5: Enerji izleme modunu etkinleştirmek için ayarlayın.
Bit 6: LE ses değişken etkinliğini etkinleştirecek şekilde ayarlayın.
Bit 7: Bağlantı başarısızlığı etkinliğini etkinleştirmek üzere ayarlayın.
Bit 8: Gelişmiş RF İstatistikleri modu etkinlik tetikleyicisini etkinleştirecek şekilde ayarlayın.
Bit 9: Gelişmiş RF İstatistikleri periyodik raporu etkinleştirecek şekilde ayarlayın.
Bit 10 ~ 14: Ayrılmış.
Bit 15: Tedarikçiye özel kalite etkinliklerini etkinleştirecek şekilde ayarlanır.
Bit 16: LMP/LL mesaj izlemeyi etkinleştirecek şekilde ayarlayın.
Bit 17: Bluetooth çoklu bağlantı/Coex planlama izlemesi etkinleştirilecek şekilde ayarlayın.
Bit 18: Denetleyici Hata Ayıklama Bilgileri mekanizmasını etkinleştirecek şekilde ayarlanır.
Bit 19 ~ 30: Ayrılmış.
Bit 31: Tedarikçi firmaya özel izlemeyi etkinleştirecek şekilde ayarlanır.

BQR_Minimum_Report_Interval 2 oktet Seçilen kalite etkinlikleri için kaliteli etkinlik raporlamasında minimum zaman aralığını tanımlayın. Denetleyici Donanım Yazılımı, tanımlanan zaman aralığı içinde bir sonraki etkinliği raporlamamalıdır. Aralık ayarı, eklenmekte olan kalite etkinliklerine bağlı olmalı ve bunlara özel olmalıdır.

Birim: ms
Varsayılan: 0 (Aralık için sınırlama yoktur.)
Aralık: 0 ~ 65.535 ms

BQR_Vendor_Specific_Quality_Event_Mask 4 oktet Seçilen tedarikçiye özel kalite etkinliği raporlaması için bit maskeleri.
Bu parametre yalnızca BQR_Quality_Event_Mask öğesinin bit 15'i ayarlandığında geçerlidir.

Bit 0 ~ 31: Ayrılmış.

BQR_Vendor_Specific_Trace_Mask 4 oktet Seçilen tedarikçiye özel iz raporlaması için bit maskeleri.
Bu parametre yalnızca BQR_Quality_Event_Mask öğesinin bit 31'i ayarlandığında geçerlidir.

Bit 0 ~ 31: Ayrılmış.

Report_interval_multiple 4 oktet BQR_Minimum_Report_Interval çarpanı. Bu değer >= 1 olduğunda, BQR Rapor Aralığı şu biçimde olur:
BQR Rapor Aralığı = BQR_Minimum_Rapor_Interval x Report_interval_Multiple.
Denetleyici Donanım Yazılımı, tanımlanan zaman aralığı içinde bir sonraki etkinliği bildirmemelidir. Aralık ayarı özellikle eklenen kalite etkinlikleri için ayrılmıştır.

Birim: ms
Varsayılan: 1
Aralık: 0 ~ 4294967295 (0: 1'e eşittir)

Not: BQR_Report_Interval ayarı kumandanın kapasitesinden büyükse kumanda, komut tamamlandığında maksimum BQR_Report_Interval süresini döndürmelidir.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Current_Quality_Event_Mask 4 oktet Geçerli bit maskesi ayarını gösterir.
Bit 0: Kalite izleme modu etkindir.
Bit 1: LSTO etkinlik raporlamasına yaklaşılma etkin.
Bit 2: A2DP Ses Değişken etkinlik raporlaması etkin.
Bit 3: (e)SCO Ses Değişken etkinlik raporlaması etkin.
Bit 4: Kök enflamasyon etkinliği raporlaması etkin.
Bit 5: Enerji izleme modu etkindir.
Bit 6: LE ses değişken etkinlik raporlaması etkin.
Bit 7: Bağlantı başarısız etkinliği.
Bit 8: Gelişmiş RF İstatistikleri modu etkinlik tetikleyicisini etkinleştirecek şekilde ayarlayın.
Bit 9: Gelişmiş RF İstatistiklerinin düzenli aralıklarla raporlanmasını etkinleştirecek şekilde ayarlayın.
Bit 10 ~ 14: Ayrılmış.
Bit 15: Tedarikçiye özgü kalite etkinlik raporlaması etkindir.
Bit 16: LMP/LL ileti izleme etkindir.
Bit 17: Bluetooth çoklu bağlantı/Coex planlama izlemesi etkin.
Bit 18: Denetleyici Hata Ayıklama Bilgileri mekanizması etkin.
Bit 19 ~ 30: Ayrılmış.
Bit 31: Tedarikçiye özel izleme etkindir.
Current_Vendor_Specific_Quality_Event_Mask 4 oktet Geçerli bit maskesi ayarını gösterir.
Current_Vendor_Specific_Trace_Mask 4 oktet Geçerli bit maskesi ayarını gösterir.
BQR_Report_interval 4 oktet Geçerli bit maskesi ayarını gösterir.
Current_Vendor_Specific_Trace_Mask 4 oktet BQR_Report_interval ayarı. BQR_Minimum_report_Interval * Report_interval_Multiple veya denetleyicinin maksimum destek aralığı arasında olması gereken minimum değer olmalıdır.

Dinamik Ses Arabelleği komutu

Dinamik Ses Arabelleği, çeşitli senaryolara göre Bluetooth denetleyicideki ses arabelleği boyutunu değiştirerek ses kesintilerini azaltır.

OCF: 0x15F

Ses arabellek süresi özelliği alın

Alt OCF: 0x01

Bluetooth denetleyiciden ses arabellek süresi özelliğini almak için bu komutu kullanın.

Komut parametresi Boyut Amaç
Yok Boş komut parametresi listesi

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Dynamic_Audio_Buffer_opcode 1 sekizlik 0x01 - Ses arabellek süresini alma
Audio_Codec_Type_Supported 4 oktet Desteklenen codec türleri için bit maskeleri
Bit 0 - SBC
Bit 1 - AAC
Bit 2 - APTX
Bit 3 - APTX HD
Bit 4 - LDAC
Bit 5-31 ayrılmıştır
Audio_Codec_Buffer_Default_Time_For_Bit_0 2 oktet Audio_Codec_Type_Supported bölümünde belirtilen Bit 0 codec türünün varsayılan arabellek süresi.
Bit 0 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 2 oktet Audio_Codec_Type_Supported bölümünde belirtilen Bit 0 codec türünün maksimum arabellek süresi.
Bit 0 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 2 oktet Audio_Codec_Type_Supported etiketinde belirtilen Bit 0 codec türünün minimum arabellek süresi.
Bit 0 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
Audio_Codec_Buffer_Default_Time_For_Bit_1 2 oktet Audio_Codec_Type_Supported bölümünde belirtilen Bit 1 codec türünün varsayılan arabellek süresi.
Bit 1 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 2 oktet Audio_Codec_Type_Supported bölümünde belirtilen Bit 1 codec türünün maksimum arabellek süresi.
Bit 1 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 2 oktet Audio_Codec_Type_Supported bölümünde belirtilen Bit 1 codec türünün minimum arabellek süresi.
Bit 1 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
...... ...... ......
Audio_Codec_Buffer_Default_Time_For_Bit_31 2 oktet Audio_Codec_Type_supported bölümünde belirtilen Bit 31 codec türünün varsayılan arabellek süresi.
Bit 31 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 2 oktet Audio_Codec_Type_Supported bölümünde belirtilen Bit 31 codec türünün maksimum arabellek süresi.
Bit 31 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 2 oktet Audio_Codec_Type_Supported bölümünde belirtilen Bit 31 codec türünün minimum arabellek süresi.
Bit 31 codec türü desteklenmiyorsa bu değer 0 olmalıdır.
Birim: ms

Ses arabellek süresini ayarlayın

Alt OCF: 0x02

Ses arabellek süresini Bluetooth denetleyiciye ayarlamak için bu komutu kullanın.

Komut parametresi Boyut Amaç
Audio_Codec_Buffer_Time 2 oktet Kullanılan mevcut codec için istenen ses arabellek süresi.
Birim: ms

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Dynamic_Audio_Buffer_opcode 1 sekizlik 0x02 - Ses arabellek süresini ayarla
Audio_Codec_Buffer_Time 2 oktet Bluetooth denetleyicideki mevcut ses arabellek süresi.
Birim: ms

HCI etkinliği (sağlayıcıya özel)

Bazı durumlarda tedarikçi firmaya özel HCI etkinlikleri gereklidir. BT Core 5.2 Spesifikasyonu'nun 1897. sayfasındaki Şekil 5.4'e bakın. Etkinlik parametresi 0, her zaman HCI etkinliğinin geri kalanının çözüldüğü ilk alt etkinlik kodunu içerir.

Etkinlik Parametresi Boyut Amaç
HCI_vendor_specific_event_code 1 sekizlik 0xFF
sub_event_code 1 sekizlik Alt etkinlik kodunun boyutu 1 sekizlik olur ve bayt, HCI etkinlik paketinde Parametre Uzunluğu'nun hemen ardından gelir.

Depolama alanı eşiği ihlali alt etkinliği

Bu etkinlik, depolama alanı eşiğinin aşıldığını gösterir.

Alt etkinlik kodu = 0x54

Alt Etkinlik Parametresi Boyut Amaç
Yok

LE çoklu reklamcılık durum değişikliği alt etkinliği

Bu etkinlik, bir reklamcılık örneğinin durumunun değiştiğini gösterir. Şu anda bu etkinlik yalnızca bağlantı sonucunda hangi reklam örneğinin durdurulduğunu belirtmek için kullanılmaktadır.

Alt etkinlik kodu = 0x55

Alt etkinlik parametresi Boyut Amaç
Advertising_instance 1 sekizlik Belirli bir reklam örneğini tanımlar
Geçerli değerler 0 ile max_advt_instances-1 arasındadır
State_Change_Reason 1 sekizlik 0x00: Bağlantı alındı
Connection_handle 2 oktet advt örneğinin devre dışı bırakılmasına neden olan bağlantıyı tanımlar (geçersizse 0xFFFF)

LE reklam izleme alt etkinliği

Bu etkinlik, reklamverenin bulunduğunu veya kaybolduğunu gösterir.

Alt etkinlik kodu = 0x56

Alt Etkinlik Parametresi Boyut Amaç
APCF_Filter_Index 1 sekizlik Filtre Dizini (0, max_filter-1)
Advertiser_State 1 sekizlik 0x00: Reklamveren bulundu
0x01: Reklamveren kaybetti
Advt_Info_Present 1 sekizlik 0x00: Reklamveren bilgileri (Advt_Info) mevcut
0x01: Reklamveren bilgileri (Advt_Info) yok
Advertiser_Address 6 oktet Herkese açık veya rastgele adres
Advertiser_Address_Type 1 sekizlik 0x00: Genel adres
0x01: Rastgele adres
Advt_Info Tx_Pwr[0]: 1 sekizlik
RSSI[0]: 1 sekizlik
Timestamp[0]: 2 sekizlik
Adv packet_len[0]: 1 sekizlik
Adv_packet[0]: Adv_packet_len sekizlik
Scan_data_resp_len[0]: 1 sekizlik
Scan_data_resp[0]: Scan_data_resp sekizlik

Denetleyici hata ayıklama bilgileri alt etkinliği

Bu etkinlik, bir Denetleyici tarafından ana makineye ikili program hata ayıklama bilgileri sağlamak için kullanılır.

Alt etkinlik kodu = 0x57

Alt Etkinlik Parametresi Boyut Amaç
debug_block_byte_offset_start 2 oktet Başlangıçtan itibaren blok bayt farkı hatalarını ayıkla
last_block 1 sekizlik 0x00: Daha fazla hata ayıklama verisi mevcut
0x01: Son ikili program bloğu; daha fazla hata ayıklama verisi yok
cur_pay_load_sz 2 oktet Geçerli bir etkinlikteki ikili blok boyutu
Debug_Data Değişken cur_payload_sz verilerinde hata ayıklama

Bluetooth Kalite Raporu alt etkinliği

Bu etkinlik şunlardan birini gösterir: Bluetooth kalite etkinliği meydana geldi, kumanda, LMP/LL mesaj izlemeyi ve Bluetooth çoklu bağlantı/Coex planlama takibini yükledi ya da denetleyici dökümü için hata ayıklama bilgisi verileri kullanıyor.

Alt Etkinlik Parametresi Boyut Amaç
Quality_Report_Id 1 sekizlik 0x01: İzleme modunda kalite raporlaması.
0x02: LSTO'ya yaklaşılıyor.
0x03: A2DP Ses Kesikliği.
0x04: (e)SCO Değişken Ses.
0x05 ~ 0x06: Ayrılmış.
0x07: LE ses kesik kesik.
0x08: Bağlantı başarısız.
0x09 ~ 0xFF: Ayrılmış.
Packet_Types 1 sekizlik {/0}




























Connection_Handle 2 oktet ACL/(e)SCO/ISO bağlantı işleyicisi.
Connection_Role 1 sekizlik Bağlantı için rol gerçekleştiriliyor.
0x00: Merkezi
0x01: Çevre birimi
0x02 ~ 0xFF: Ayrılmış.
TX_Power_Level 1 sekizlik Belirtilen Connection_Handle' için geçerli aktarım gücü seviyesi.

Bu değer, kumandanın HCI_Read_Transmit_Power_Level HCI komutuna verdiği yanıtla aynı olmalıdır.

RSSI 1 sekizlik [dBm cinsinden]

Belirtilen Connection_Handle' için Sinyal Gücü Göstergesi (RSSI) değeri alındı.
Bu değer, mutlak alıcı sinyal gücü değeri olmalıdır.
Aralık: -127 ile +20

SNR 1 sekizlik [dB cinsinden]

Belirtilen Connection_Handle'ın Sinyal-Gürültü Oranı (SNR) değeri.
Denetleyici, bağlantı tarafından kullanılan tüm kanalların ortalama SNR'sini sağlamalıdır.

Unused_AFH_Channel_Count 1 sekizlik AFH_channel_map'deki kullanılmayan kanalların sayısını belirtir.
0x4F ~ 0xFF: Ayrılmış.
AFH_Select_Unideal_Channel_Count 1 sekizlik Engellenen ve kalitesi düşük olan ancak AFH için seçilen kanalların sayısını belirtir.
Bluetooth spesifikasyonunun izin verdiği minimum kanal sayısı 20'dir. Bu nedenle, 79 kanalın hepsi parazitlenmiş ve düşük kaliteye sahip olsa bile kumandanın AFH için en az 20 kanal seçmesi gerekir.
LSTO 2 oktet Geçerli Bağlantı Gözetimi Zaman Aşımı Ayarı.
Süre = N * 0,625 ms
Zaman Aralığı: 0,625 ms - 40,9 sn
Connection_Piconet_Clock 4 oktet Belirtilen Connection_Handle' için Piconet Saati.
Bu değer, denetleyicinin HCI_Read_Clock HCI komutuna verdiği yanıtta 0x01 (Piconet Clock) parametresi "What_Clock" parametresiyle aynı olmalıdır.
Birim: N * 0,3125 ms (1 Bluetooth Saat)
Retransmission_Count 4 oktet Son etkinlikten bu yana yapılan yeniden iletim sayısı.
Bu sayı, ana makineye bildirildikten sonra sıfırlanır.
No_RX_Count 4 oktet Son etkinlikten bu yana RX sayısı yok.
Planlanan zaman aralığında hiçbir paket alınmadığında veya alınan paket bozuk olduğunda sayı artar.
Bu sayı, ana makineye bildirildikten sonra sıfırlanır.
NAK_Count 4 oktet Son etkinlikten bu yana NAK (Negatif Onay) sayısı.
Bu sayı, ana makineye bildirildikten sonra sıfırlanır.
Last_TX_ACK_Timestamp 4 oktet Son TX ACK'nın zaman damgası. piconet center'ın (CLK) Bluetooth Saati'ne dayanır.
Birim: N * 0,3125 ms (1 Bluetooth Saat)
Flow_Off_Count 4 oktet Denetleyicinin, son etkinlikten bu yana akıştan (STOP) bu yana kaç kez akış aldığı.
Bu sayı, ana makineye bildirildikten sonra sıfırlanır.
Last_Flow_On_Timestamp 4 oktet Son akışın (GO) zaman damgası. piconet center'ın (CLK) Bluetooth Saati'ne dayanır.
Birim: N * 0,3125 ms (1 Bluetooth Saat)
Buffer_Overflow_Bytes 4 oktet [Bayt cinsinden]

Son etkinlikten bu yana arabellek taşma sayısı.
Denetleyici, kaç baytlık verinin atıldığını sayar.
Bu sayı, ana makineye bildirildikten sonra sıfırlanacaktır.

Buffer_Underflow_Bytes 4 oktet [Bayt cinsinden]

Son etkinlikten bu yana arabellek eksikliği sayısı.
Bu sayı, ana makineye bildirildikten sonra sıfırlanacaktır.

bdaddr 6 oktet Uzak cihaz adresi
cal_failed_item_count 1 sekizlik Kalibrasyonda başarısız olan öğelerin sayısı
TX_Total_Packets 4 oktet Gönderilen paket sayısı.
TX_UnAcked_Packets 4 oktet Onay almayan paketlerin sayısı.
Bu sayı, ana makineye raporlandıktan sonra sıfırlanır.
TX_Flushed_Packets 4 oktet Boşaltma noktası tarafından gönderilmeyen paket sayısı.
Bu sayı, ana makineye raporlandıktan sonra sıfırlanır.
TX_Last_Subevent_Packets 4 oktet Bağlantı Katmanı'nın bir CIS etkinliğinin son alt etkinliğinde CIS verisi PDU'su ilettiği paket sayısı.
Bu sayı, ana makineye raporlandıktan sonra sıfırlanır.
Bağlantı için geçerli bir değer yoksa değer sıfırdır.
CRC_Error_Packets 4 oktet Son etkinlikten bu yana CRC hatası içeren alınan paketlerin sayısı.
Bu sayı, ana makineye raporlandıktan sonra sıfırlanır.
RX_Duplicate_Packets 4 oktet Son etkinlikten bu yana alınan yinelenen (yeniden iletim) paketlerin sayısı.
Bu sayı, ana makineye raporlandıktan sonra sıfırlanır.
RX_Unreceived_Packets 4 oktet Alınmayan paketlerin sayısı, LE READ ISO Link kalite komutunun parametresiyle aynıdır (bkz. Bluetooth temel spesifikasyonu sürüm 5.4). İlişkili akışlar CIS ve BIS'dir.
Bu değer artırıldığında Bağlantı Katmanı, boşaltma noktasına göre (CIS'de) veya ilişkilendirildiği etkinliğin sonunda belirli bir yük almaz (BIS'de, Bluetooth temel Spesifikasyonu Sürüm 5.4 6 Bölüm B, Bölüm 4.4.6.6'ya bakın).
Coex_Info_Mask 2 oktet Bit 0 - CoexInvolvement: Bu rapor oluşturulurken ortak cinsiyet faaliyetlerinin dahil olduğundan şüphelenildiğini gösterecek şekilde ayarlanır (örneğin, A2DP Chop'ları ve LSTO'ya yaklaşma).
Bit 1 - WL 2G Radyo Etkin: WLAN 2G Radyonun etkin olduğunu gösterecek şekilde ayarlanır.
Bit 2 - WL 2G Bağlı: WLAN 2G Radyonun etkin ve bağlı olduğunu gösterecek şekilde ayarlanır.
Bit 3 - WL 5G/6G Radyo Etkin: WLAN 5G/6G Radyonun etkin olduğunu belirtecek şekilde ayarlanır.
Bit 4-15 - Ayrılmış
Tedarikçiye Özel Parametre (parametre toplam uzunluğu - TBD) * sekizlikler Denetleyici tedarikçisinin daha fazla satıcıya özel parametre alabilmesi için.

Alt etkinlik kodu = 0x58 [Quality_Rapor_kimliği = 0x05, Kök Enflamasyon etkinliği]

Bu etkinlik, Bluetooth HAL'nin veya kumandanın önemli bir hatayla karşılaştığını ve bu durumu kaydedip yeniden başlatmak için Bluetooth yığınının gerektiğini gösterir. Denetleyici, hiçbir durumda hata ayıklama bilgisi etkinliklerinin ilk parçasını göndermeden önce Bluetooth yığınına bir Root_Inflammation_Event göndermelidir.

Error_Code parametresi, HAL/Denetleyici tarafından bildirilen bir hata kodu içerir. Yonga seti tedarikçi firmasına özel bir hataysa 0 değerini alır. Vendor_Specific_Error_Code, HAL/Denetleyiciden alınan yonga seti tedarikçisine özgü bir hata kodu içerir. Error_Code parametresi 0 değilse 0 olarak ayarlanmalıdır. Error_Code ve Vendor_Specific_Error_Code parametresinin ikisi de 0 olmamalıdır.

Alt Etkinlik Parametresi Boyut Amaç
Quality_Report_Id 1 sekizlik 0x00 ~ 0x04: Ayrılmış.
0x05: Kök iltihabı.
0x06 ~ 0xFF: Ayrılmış.
Error_Code 1 sekizlik 0x00: Yonga seti satıcısına özel hata kodu dahil.
0x01 ~ 0xFF: Denetleyici hatası oluştu. Hata kodlarının ve açıklamalarının listesi için Bluetooth Teknik Özellikleri [Vol 2] Bölüm D, Hata Kodları'na bakın.
Vendor_Specific_Error_Code 1 sekizlik 0x00: Yonga seti tedarikçi firmasına özel hata kodu dahil edilmemiş.
0x01 ~ 0xFF: Yonga seti tedarikçi firmasına özel hata kodu.
Tedarikçiye Özel Parametre (Parametre Toplam Uzunluğu - 4) * sekizlikler Denetleyici tedarikçisinin daha fazla satıcıya özel parametre alabilmesi için.
Alt Etkinlik Parametresi Boyut Amaç
Quality_Report_Id 1 sekizlik 0x00 ~ 0x10: Ayrılmış.
0x11: LMP/LL mesaj izleme.
0x12: Bluetooth çoklu bağlantı/Coex planlama izlemesi.
0x13: Denetleyici Hata Ayıklama Bilgileri veri dökümü.
0x14 ~ 0xFF: Ayrılmış.
Connection_Handle 2 oktet Bağlantı Tutamacı.
Tedarikçiye Özel Parametre (Parametre Toplam Uzunluğu - 4) * sekizlikler LMP mesaj izlemenin tedarikçiye özel biçimi, Bluetooth çoklu bağlantı/Coex planlama izlemesi ve denetleyici hata ayıklama bilgileri veri dökümü.

Birden çok reklamveren desteği

Birden çok reklamveren desteğinin hedefleri şunlardır:

  • Birden fazla reklamı destekleme özelliği (max_advt_instances)
  • Değişken bir menzili sağlamak için farklı iletim güçleri
  • Farklı reklam içerikleri
  • Her reklamveren için kişiselleştirilmiş bir yanıt
  • Her reklamveren için gizlilik (izlenemez)
  • Bağlanabilir

Bu spesifikasyonu mevcut standartlara yakın tutmak için tedarikçi firmaya özel aşağıdaki komutlar sağlanır. Bluetooth Core 4.1 spesifikasyonundan türetilir.

LE_Çoklu_Gelişmiş_Komut

OCF: 0x154

Komut parametresi Boyut Amaç
Multi_advt_opcode 1 sekizlik 0x01 - Set_Advt_Param_Multi_Sub_Cmd
0x02 - Set_Advt_Data_Multi_Sub_Cmd
0x03 - Set_Scan_Resp_Data_Multi_Sub_Cmd
0x04 - Set_Random_Addr_Multi_Sub_Cmd
0x05 - Set_Advt_Enable_Multi_Sub_Cmd

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Multi_advt_opcode 1 sekizlik 0x01 - Set_Advt_Param_Multi_Command
0x02 - Set_Advt_Data_Multi_Command
0x03 - Set_Scan_Resp_Data_Multi_Command
0x04 - Set_Random_Addr_Multi_Command
0x05 - Set_Advt_Enable_Multi_Command

LE_Multi_Advt_Command: "Set_Advt_Param_Multi_Sub_Cmd"

Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 964 (LE Set Advertising Parametresi Komutu)

Alt OCF: 0x01

Alt komut parametresi Boyut Amaç
Advertising_Interval_Min Spesifikasyon bazında Spesifikasyon bazında
Advertising_Interval_Max Spesifikasyon bazında Spesifikasyon bazında
Advertising_Type Spesifikasyon bazında Spesifikasyon bazında
Own_Address_Type Spesifikasyon bazında Spesifikasyon bazında
Own_Address Spesifikasyon bazında Spesifikasyon bazında
Direct_Address_Type Spesifikasyon bazında Spesifikasyon bazında
Direct_Address Spesifikasyon bazında Spesifikasyon bazında
Advertising_Channel_Map Spesifikasyon bazında Spesifikasyon bazında
Adverstising_Filter_Policy Spesifikasyon bazında Spesifikasyon bazında
Advertising_Instance 1 sekizlik Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir
Tx_power 1 sekizlik Transmit_Power
Birim - dBm (işaretli tam sayı) cinsinden
Aralık (-70 - +20)

Own_Address parametresi, bu çoklu reklam örneğini oluşturma sırasında ana makine tarafından yapılandırılmış bir adres olabilir. Bu, ilk işaretçinin gönderilmesi sırasında çözümlenebilir özel bir adrese sahip olma imkanı sağlar. Bir örnekte reklam, bağlantıdan bağımsız olarak devam eder. Ana makine BT yığını, bağlantı sonrasında bir örnekte reklamı başlatmak için komut gönderebilir.

Bluetooth Core 4.1 Spesifikasyonu'nda yukarıdaki komuta göre belirtilen şekilde, bu komut için bir Komut Tamamlama etkinliği oluşturulur. Reklam örneği veya Tx_Power parametreleri geçersizse denetleyici, başarısız olmayan bir (geçersiz parametre) koduyla yanıt verir.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Multi_advt_opcode 1 sekizlik 0x01 [Set_Advt_Param_Multi_Sub_Cmd]

LE_Multi_Advt_Command: "Set_Advt_Data_Multi_Sub_Cmd"

Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 969 (LE Set Advertising Data Command)

Alt OCF: 0x02

Alt komut parametresi Boyut Amaç
Advertising_Data_Length Spesifikasyon bazında Spesifikasyon bazında
Advertising_Data Spesifikasyon bazında Spesifikasyon bazında
Advertising_Instance 1 sekizlik Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir

Bluetooth Core 4.1 Spesifikasyonu'nda yukarıdaki komuta göre belirtilen şekilde, bu komut için bir Komut Tamamlama etkinliği oluşturulur. Reklam örneği veya Tx_Power parametreleri geçersizse denetleyici, başarısız olan bir kodla yanıt verir.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Multi_advt_opcode 1 sekizlik 0x02 [Set_Advt_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: Set_Scan_Resp_Data_Multi_Sub_Cmd

Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 970 (LE Set Scan Response Data Command)

Alt OCF: 0x03

Alt komut parametresi Boyut Amaç
Scan_Response_Data_Length Spesifikasyon bazında Spesifikasyon bazında
Scan_Response_Data Spesifikasyon bazında Spesifikasyon bazında
Advertising_Instance 1 sekizlik Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir

Bluetooth Core 4.1 Spesifikasyonu'nda yukarıdaki komuta göre belirtilen şekilde, bu komut için bir Komut Tamamlama etkinliği oluşturulur. Reklam örneği veya Tx_Power parametreleri geçersizse denetleyici, başarısız olmayan bir kod (geçersiz parametre) ile yanıt verir.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Multi_advt_opcode 1 sekizlik 0x03 [Set_Scan_Resp_Data_Multi_Sub_Cmd]

LE_Multi_Advt_Command: "Set_Random_Addr_Multi_Sub_Cmd"

Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 963 (LE Set Random Address Command)

Alt OCF: 0x04

Alt komut parametresi Boyut Amaç
Rastgele Adres Spesifikasyon bazında Spesifikasyon bazında
Advertising_Instance 1 sekizlik Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Multi_advt_opcode 1 sekizlik 0x04 [Set_Random_Addr_Multi_Sub_Cmd]

LE_Multi_Advt_Command: "Set_Advt_Enable_Multi_Sub_Cmd"

Temel referans: Bluetooth Core 4.1 Spesifikasyonu, sayfa 971 (LE Set Reklam Veren Bu temel spesifikasyonda Komutu Etkinleştir)

OCF: 0x05

Alt komut parametresi Boyut Amaç
Advertising_Enable 1 sekizlik 1 değeri, etkinleştir anlamına gelir. Başka herhangi bir değer devre dışı bırak anlamına gelir.
Advertising_Instance 1 sekizlik Yukarıdaki parametrelerin bir örneğe uygulanabilirliğini belirtir. Örnek 0, standart bir HCI örneği anlamına gelir.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Multi_advt_opcode 1 sekizlik 0x05 [Set_Advt_Enable_Multi_Sub_Cmd]

Özel adresin indirilmiş çözünürlüğü

Bu özellik, kumandanın donanım yazılımı veya donanımındaki özel adresi çözerek aşağıdaki avantajları sağlar:

  • Özel bir adresin çözümlenmesinde ana makineyle yaşanan gecikme
  • Sunucuyu uyandırmadan güç tasarrufu

LE_Ayarla_RPA_Zaman Aşımı

OCF: 0x15C

Komut parametresi Boyut Amaç
LE_local_IRK 16 oktet Rastgele çözümlenebilir adres oluşturmak için kullanılan yerel cihaz IRK'si.
tRPA_min 2 oktet Saniye cinsinden minimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımı tarihinde veya sonrasında tüm reklam/tarama/bağlantı etkinlikleri için yeni çözümlenebilir adresler oluşturmalıdır.
Geçerli aralık: 300-1800
tRPA_max 2 oktet Saniye cinsinden maksimum RPA oluşturma zaman aşımı. Denetleyici, bu zaman aşımı tarihinde veya öncesinde tüm reklam/tarama/bağlantı etkinlikleri için yeni çözümlenebilir adresler oluşturmalıdır.
Geçerli aralık: tRPA_min-1.800
Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komutun durumu.

Önerilen HCI durum değerleri:
0x00 Başarılı
0x01 Bilinmeyen komut (desteklenmiyorsa)
0x12 Geçersiz komut parametreleri (parametreler belirtilen aralığın dışındaysa)

LE_RPA_Aktarma_Komutu

OCF: 0x155

Komut parametresi Boyut Amaç
RPA_offload_opcode 1 sekizlik 0x1 - Müşteriye özel özelliği etkinleştir
0x2 - IRK'yı listeye ekle
0x3 - IRK'yı listeden kaldır
0x4 - IRK listesini temizle
0x5 - IRK listesi girişini oku

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Event_RPA_offload_opcode 1 sekizlik 0x1 - Müşteriye özel özelliği etkinleştir
0x2 - IRK'yı listeye ekle
0x3 - IRK'yı listeden kaldır
0x4 - IRK listesini temizle
0x5 - IRK listesi girişini oku

LE_RPA_offload: "cust_specific_sub_Command_"

Alt OCF: 0x01

Alt komut parametresi Boyut Amaç
enable_customer_specific_feature_set 1 sekizlik 0x01 - Devre dışı bırakılan RPA özelliğini etkinleştir
0x00 - Yüklü RPA özelliğini devre dışı bırak

RPA boşaltımı, çip özelliğine bağlı olarak ana makine tarafından etkinleştirilmelidir. LE_Get_Vendor_Capabilities_Command inceleyin. Her çipin donanım yazılımında değişiklik gösteren max_irk_list_sz bulunabilir.

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Event_cust_specific_feature_opcode 1 sekizlik 0x01 [Müşteriye özel özelliği etkinleştir]

LE_RPA_offload: "Listeye_IRK_listesine_ek_Komut_ekleme"

Alt OCF: 0x02

Alt komut parametresi Boyut Amaç
LE_IRK 16 oktet LE IRK (1. bayt LSB)
Address_Type 1 sekizlik 0: Herkese açık adres
1: Rastgele adres
LE_Device_Address 6 oktet IRK (1. bayt LSB) ile ilişkili herkese açık veya rastgele adres

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Event_cust_specific_feature_opcode 1 sekizlik 0x02 [Listeye IRK'yı ekle]
LE_IrkList_AvailableSpaces 1 sekizlik Geçerli işlemden sonra kullanılabilir gerçek hayattaki liste girişleri

LE_RPA_offload: "IRK_to_list_sub_Command_Kaldır_"

Alt OCF: 0x03

Alt komut parametresi Boyut Amaç
Address_Type 1 sekizlik 0: Herkese açık adres
1: Rastgele adres
LE_Device_Address 6 oktet IRK ile ilişkili herkese açık veya rastgele adres

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Event_cust_specific_feature_opcode 1 sekizlik 0x03 [Listeden IRK'yi kaldırın]
LE_IrkList_AvailableSpaces 1 sekizlik Geçerli işlemden sonra kullanılabilir gerçek hayattaki liste girişleri

LE_RPA_offload: Temiz_IRK_listesi_sub_Command

Alt OCF: 0x04

Alt komut parametresi Boyut Amaç
Yok

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Event_cust_specific_feature_opcode 1 sekizlik 0x04 [IRK Listesini Temizle]
LE_IrkList_AvailableSpaces 1 sekizlik Geçerli işlemden sonra kullanılabilen gerçek hayattaki liste girişleri [max_irk_list_sz]

LE_RPA_offload: "Read_IRK_list_sub_Command"

Alt OCF: 0x05

Alt komut parametresi Boyut Amaç
LE_read_IRK_list_entry-index 1 sekizlik IRK listesi dizini [0, max_irk_list_sz-1]

Bu komut için bir Komut Tamamlama etkinliği oluşturulur.

Döndürme parametresi Boyut Amaç
Status 1 sekizlik Komut Tamamlanma durumu
Event_cust_specific_feature_opcode 1 sekizlik 0x05 [IRK Liste Girişini Oku]
LE_Read_IRK_List_entry 1 sekizlik Ana makinenin tekrar okumak istediği IRK dizininin dizini (maksimum IRK listesi boyutu 32'dir)
LE_IRK 16 oktet IRK değeri
Address_Type 1 sekizlik 0: Herkese açık adres
1: Rastgele adres
LE_Device_Address 6 oktet IRK ile ilişkilendirilmiş herkese açık veya rastgele adres
LE_Resolved_Private_Address 6 oktet Bu IRK'nin mevcut çözülmüş özel adresi