27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Mülk yapılandırmaları
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Desteklenen her mülk, VehiclePropConfig
yapısı üzerinden tanımlanan bir mülk yapılandırmasıyla belirtilir ve aşağıdaki alanlara sahiptir.
Alan |
Açıklama |
---|
prop |
Mülk kimliği. Bu, VehicleProperty.aidl bölümündeki tanımlanmış sistem özelliklerinden biri veya bir tedarikçi özelliği olmalıdır. Mülk kimliği, aşağıdaki alanların bit-veya işlemi kullanılarak oluşturulur (sağdan sola):
- (0x00000000) 16 bit: 0x0100 - 0xffff aralığındaki benzersiz bir kimlik.
- (0x00000000) 8 bit: Mülkün türünü tanımlayan mülk türleri.
- (0x00000000) 4 bit: Alan türleri.
- (0x00000000) 4 bit:
VehiclePropertyGroup Bu, SYSTEM
(0x10000000) veya VENDOR (0x20000000) değerini alır. Özelleştirebileceğiniz özellikler için Tedarikçi Özellikleri bölümüne bakın.
Örneğin,
INFO_VIN (0x11100100) = UniqueID (0x00000100) | VehiclePropertyType.STRING (0x00100000) | VehicleArea.GLOBAL (0x01000000) | VehiclePropertyGroup.SYSTEM (0x10000000)
|
access |
- Tesisin erişim modu.
READ , WRITE veya READ_WRITE olmalıdır.
- Sistem özellikleri için bu,
VehicleProperty.aidl dokümanlarında belirtilen tanımlanmış erişim modlarından biri olmalıdır.
- Alan başına erişimi olan mülkler için bu, alan başına erişimin maksimum alt kümesidir. Örneğin, mülklerin erişimi
READ ve READ_WRITE olan iki alanı varsa bu değer READ olarak ayarlanmalıdır.
|
changeMode |
- Mülkün modunu değiştirin.
STATIC , ON_CHANGE veya CONTINUOUS olmalıdır. STATIC , sistem açıldığında özellik değerinin hiçbir zaman değişmediği anlamına gelir. ON_CHANGE , VHAL'ın değer değiştiğinde bildirmesi gerektiği anlamına gelir. CONTINUOUS , mülk değerinin sürekli olarak değiştiği ve VHAL'in abonelik örnek oranına göre raporlaması gerektiği anlamına gelir.
- Sistem özellikleri için bu,
VehicleProperty.aidl dokümanında belirtilen değişiklik moduna eşit olmalıdır.
|
configArray |
Mülke özgü yapılandırmayı içeren isteğe bağlı bir dizi. Boş bırakılabilir. GEAR_SELECTION gibi belirli sistem özellikleri için config dizisi özel bir anlama sahiptir ve belirtilmelidir.
|
configString |
Mülke özgü yapılandırmayı içeren isteğe bağlı bir dize. Boş bırakılabilir. |
minSampleRate ve maxSampleRate |
Sürekli özellik için desteklenen minimum ve maksimum örnekleme hızı (Hertz cinsinden). Mülk sürekli değilse kullanılmaz. minSampleRate ve maxSampleRate , VHAL uygulaması tarafından elde edilebilir olmalıdır. Minimum ve maksimum arasındaki tüm örnekleme hızlarının desteklenmesi gerekmez. |
Tesis türleri
VehiclePropertyType.aidl
içinde enum olarak tanımlanır. Desteklenen mülk türleri aşağıdaki tabloda listelenmiştir.
Mülk türü |
Değer |
Açıklama |
---|
STRING |
0x00100000 |
Dize mülkü, Araç mülkü değeri alanındaki stringValue alanını kullanır. |
BOOLEAN |
0x00200000 |
Boolean mülkü, Araç mülkü değeri alanındaki int32Values alanındaki ilk öğeyi kullanır.
0 , false anlamına gelir. None 0 ise true anlamına gelir. |
INT32 |
0x00400000 |
Integer mülkü, Araç mülkü değeri alanındaki int32Values alanındaki ilk öğeyi kullanır. |
INT32_VEC |
0x00410000 |
Integer[] özelliği, Araç mülkü değeri'nde int32Values alanındaki öğeleri kullanır. |
INT64 |
0x00500000 |
Uzun mülk, Araç mülkü değeri alanındaki int64Values alanındaki ilk öğeyi kullanır. |
INT64_VEC |
0x00510000 |
Long[] mülkü, Araç mülkü değeri'nde int64Values alanındaki öğeleri kullanır. |
FLOAT |
0x00600000 |
Float mülkü, Araç mülkü değeri alanındaki floatValues alanındaki ilk öğeyi kullanır. |
FLOAT_VEC |
0x00610000 |
Float[] mülkü, Araç mülkü değeri'nde floatValues alanındaki öğeleri kullanır. |
BYTES |
0x00700000 |
byte[] mülkü, Araç mülkü değeri'nde byteValues alanındaki öğeleri kullanır. |
MIXED |
0x00e00000 |
Karma türde mülk. Skaler veya vektör türlerinin herhangi bir kombinasyonu. Tam biçim, mülk yapılandırmasında config dizisinde sağlanmalıdır.
Tedarikçi firma MIXED türü mülkleri için configArray 'ün şu yapıda biçimlendirilmesi gerekir:
configArray[0] , 1, mülkün String değerine sahip olduğunu gösterir
configArray[1] , 1, mülkün Boolean değerine sahip olduğunu gösterir
configArray[2] , 1, mülkün Integer değerine sahip olduğunu gösterir
configArray[3] , sayı mülkte bulunan Integer[] 'ın boyutunu gösterir
configArray[4] , 1, mülkün Long değerine sahip olduğunu gösterir
configArray[5] , sayı mülkte bulunan Long[] 'ın boyutunu gösterir
configArray[6] , 1, mülkün Float değerine sahip olduğunu gösterir
configArray[7] , sayı mülkte bulunan Float[] 'ın boyutunu gösterir
configArray[8] , sayı mülkte byte[] 'nin boyutunu gösterir.
Örneğin, configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0} , mülkte String değeri, Boolean değeri, Integer değeri ve üç tam sayı içeren bir dizi olduğunu gösterir.
|
Alan kimliği yapılandırması
Her mülk yapılandırması, alan kimliği yapılandırmalarının bir listesini de içerebilir. Bu liste, global mülkler için isteğe bağlıdır ve bölgelendirilmiş mülkler (birden fazla desteklenen bölgeye sahip mülkler) için zorunludur. Her alan kimliği yapılandırmasında aşağıdaki alanlar bulunur.
Alan |
Açıklama |
---|
areaId |
Bu alanın kimliği. Alan kimlikleri bölümüne bakın. |
minInt32Value ve maxInt32Value |
- Açılış sırasında INT32 türü özellikler için isteğe bağlı minimum ve maksimum değer. Diğer tüm türler için 0 olmalıdır. Her ikisi de 0 ise yoksayılır.
- Genel mülk için minimum ve maksimum değerin tanımlanması gerekiyorsa bölge kimliği 0 olan bir bölge yapılandırması kullanılmalıdır.
- Bu değer statiktir ve minimum veya maksimum değer çalışma zamanında değişse bile değişmez. Dinamik minimum veya maksimum değer için
IVehicle#getMinMaxSupportedValue 'ü uygulayın.
|
minInt64Value ve maxInt64Value |
- Açılış sırasında INT64 türündeki özellikler için isteğe bağlı minimum ve maksimum değer. Diğer tüm türler için 0 olmalıdır. Her ikisi de 0 ise yoksayılır.
- Genel mülk için minimum ve maksimum değerin tanımlanması gerekiyorsa bölge kimliği 0 olan bir bölge yapılandırması kullanılmalıdır.
- Bu değer statiktir ve minimum veya maksimum değer çalışma zamanında değişse bile değişmez. Dinamik minimum veya maksimum değer için
IVehicle#getMinMaxSupportedValue 'ü uygulayın.
|
minFloatValue ve maxFloatValue |
- Başlatma sırasında kayan nokta türündeki özellikler için isteğe bağlı minimum ve maksimum değer. Diğer tüm türler için 0 olmalıdır. İkisi de 0,0 ise yoksayılır.
- Genel mülk için minimum ve maksimum değerin tanımlanması gerekiyorsa bölge kimliği 0 olan bir bölge yapılandırması kullanılmalıdır.
- Bu değer statiktir ve minimum veya maksimum değer çalışma zamanında değişse bile değişmez. Dinamik minimum veya maksimum değer için
IVehicle#getMinMaxSupportedValue 'ü uygulayın.
|
(Android 14'te yeni)
supportedEnumValues |
- Mülk, enum türü mülk olarak tanımlanmışsa önyükleme sırasında desteklenen değerlerin isteğe bağlı listesi. Belirtilmemişse (boş) veya Android 14'ten önceyse tüm enum değerlerinin desteklendiği varsayılır.
- Genel mülk için desteklenen enum değerlerinin tanımlanması gerekiyorsa bölge kimliği 0 olan bir bölge yapılandırması kullanılmalıdır.
- Bu değer statiktir ve desteklenen değerler çalışma zamanında değişse bile değişmez. Dinamik olarak desteklenen değerler için
IVehicle#getSupportedValuesLists 'ü uygulayın.
- Bu durum yalnızca enum türü mülkler için geçerlidir. Diğer türlerde bu alan boş olmalıdır.
Enum olmayan diğer türler için desteklenen değerleri göstermek isterseniz
IVehicle#getSupportedValuesLists değerini kullanın.
|
(Android 15'te yeni)
supportVariableUpdateRate |
- Değişken güncelleme hızının desteklenip desteklenmediği. Bu durum yalnızca sürekli mülkler için geçerlidir.
- Bu değer
true ise uygulama, yalnızca özellik değeri değiştiğinde özellik güncelleme etkinlikleri almak için abonelik için değişken güncelleme hızını etkinleştirebilir (sürekli özellikler, değişiklikte etkinleştirilen özellikler olarak değerlendirilir).
- Bir mülkün tüm aboneleri değişken güncelleme hızını etkinleştiriyorsa VHAL'e gönderilen abonelik isteği, mülk için değişken güncelleme hızını etkinleştirir ve VHAL yalnızca mülk değeri değiştiğinde mülk güncelleme etkinlikleri göndermelidir.
- Sabit güncelleme hızı isteyen aboneler varsa VHAL'a gönderilen abonelik isteği, mülk için değişken güncelleme hızını devre dışı bırakır ve AAOS, değişken güncelleme hızı isteyen istemciler için yinelenen etkinlikleri filtreler.
- Mülk verileri büyük olmadığı (ör. 1 KB boyutunda bir bayt dizisi) ve önbelleğe alma için büyük miktarda bellek kaplamadığı sürece, daha iyi performans için kalp atışı olmayan tüm sürekli mülkler için değişken güncelleme hızının desteklenmesi önemle ÖNERİLİR.
|
(Android 16'da yeni)
hasSupportedValueInfo |
null değilse bu mülkün minimum veya maksimum desteklenen değerleri ya da desteklenen değerler listesini belirtip belirtmediğini gösterir.
- Bu alan, aşağıdaki dinamik desteklenen değer API'lerinin bu mülk kimliği ve alan kimliği için desteklenip desteklenmediğini kontrol eder:
getMinMaxSupportedValue , getSupportedValuesLists ,
subscribeSupportedValueChange , unsubscribeSupportedValueChange
null değilse VHAL bu mülk kimliği ve alan kimliği için bu API'leri uygulamalıdır.
null veya Android 15 veya daha eski bir sürüm kullanılıyorsa bu mülk kimliği ve alan kimliği için dinamik desteklenen değerler desteklenmez. Müşteri, araç mülkü yapılandırmasında sağlanan statik desteklenen değer bilgilerini kullanmalıdır.
|
Alan türleri
VehicleArea.aidl
içinde enum olarak tanımlanır. Desteklenen alan türleri aşağıda listelenmiştir.
Alan türü |
Değer |
Açıklama |
---|
KÜRESEL |
0x01000000 |
Bu mülk küresel bir mülktür ve birden fazla alanı yoktur. |
WINDOW |
0x03000000 |
Pencerelere dayalı alan, VehicleAreaWindow enum kullanır. |
MIRROR |
0x04000000 |
Aynalar temelli alan, VehicleAreaMirror enum kullanır. |
SEAT |
0x05000000 |
Koltuğa dayalı alan, VehicleAreaSeat enum kullanır. |
KAPI |
0x06000000 |
Kapılara dayalı alan, VehicleAreaDoor enum kullanır. |
WHEEL |
0x07000000 |
Tekerleklere dayalı alan, VehicleAreaWheel enum kullanır. |
Her imar planı bölgesi, önceden tanımlanmış bir alan türü kullanmalıdır. Her alan türünün, alan türü için bir enum içinde tanımlanmış bir dizi bit işareti vardır. Örneğin, SEAT alanı VehicleAreaSeat
enum'larını tanımlar:
ROW_1_LEFT = 0x0001
ROW_1_CENTER = 0x0002
ROW_1_RIGHT = 0x0004
ROW_2_LEFT = 0x0010
ROW_2_CENTER = 0x0020
ROW_2_RIGHT = 0x0040
ROW_3_LEFT = 0x0100
...
Alan kimlikleri
Bölgeye ayrılmış mülkler, alan kimlikleri aracılığıyla adreslenir. Her bölgeye ayrılmış mülk, bir veya daha fazla alan kimliğini destekleyebilir. Alan kimliği, ilgili enum'daki bir veya daha fazla işaretten oluşur. Örneğin, VehicleAreaSeat
kullanan bir mülk aşağıdaki alan kimliklerini kullanabilir:
Öğe |
Açıklama |
---|
ROW_1_LEFT | ROW_1_RIGHT |
Alan kimliği her iki ön koltuk için de geçerlidir. |
ROW_2_LEFT |
Yalnızca arka sol koltuk için geçerlidir. |
ROW_2_RIGHT |
Yalnızca sağ arka koltuk için geçerlidir. |
Daha fazla bilgi için HVAC başlıklı makaleyi inceleyin.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-06-12 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-06-12 UTC."],[],[]]