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ı aracılığıyla 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 içindeki tanımlı sistem özelliklerinden biri veya bir satıcı özelliği olmalıdır. Mülk kimliği, aşağıdaki alanların bit düzeyinde OR işlemi kullanılarak oluşturulur
(sağdan sola):
- (0x00000000) 16 bit: 0x0100 - 0xffff aralığında 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) olur. Özelleştirebileceğiniz özellikler için Tedarikçi Özellikleri'ne bakın.
Örneğin,
INFO_VIN (0x11100100) = UniqueID (0x00000100) | VehiclePropertyType.STRING (0x00100000) | VehicleArea.GLOBAL (0x01000000) | VehiclePropertyGroup.SYSTEM (0x10000000)
|
access |
- Mülk için erişim modu.
READ , WRITE veya READ_WRITE olmalıdır.
- Sistem özellikleri için bu,
VehicleProperty.aidl dokümanında açıklanan tanımlı erişim modlarından biri olmalıdır.
- Alan bazında erişimi olan mülkler için bu, alan bazında 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 için modu değiştirin.
STATIC , ON_CHANGE veya CONTINUOUS olmalıdır. STATIC , özellik değerinin sistem başlatıldıktan sonra asla değişmediği anlamına gelir. ON_CHANGE , değer değiştiğinde VHAL'nin rapor vermesi gerektiği anlamına gelir. CONTINUOUS , mülk değerinin
sürekli değiştiği ve VHAL'nin abonelik örnekleme hızına göre raporlama yapması gerektiği anlamına gelir.
- Sistem özellikleri için bu değer,
VehicleProperty.aidl içinde belgelenen değişiklik moduyla eşit olmalıdır.
|
configArray |
Mülke özgü yapılandırmayı içeren isteğe bağlı bir dizi. Boş olabilir. Belirli sistem özellikleri (ör. GEAR_SELECTION ) için yapılandırma dizisinin özel bir anlamı vardır ve belirtilmesi gerekir.
|
configString |
Mülke özgü yapılandırmayı içeren isteğe bağlı bir dize. Boş olabilir. |
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ında 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.
Tesis türü |
Değer |
Açıklama |
---|
STRING |
0x00100000 |
Dize özelliği, Araç özelliği değeri içindeki stringValue alanını kullanır. |
BOOLEAN |
0x00200000 |
Boolean özelliği, Araç özelliği değeri'ndeki int32Values alanında yer alan ilk öğeyi kullanır.
0 , false anlamına gelir. None 0 , true anlamına gelir. |
INT32 |
0x00400000 |
Integer özelliği, Araç özelliği değeri'ndeki int32Values alanında yer alan ilk öğeyi kullanır. |
INT32_VEC |
0x00410000 |
Integer[] özelliği, Araç özelliği değeri alanındaki int32Values alanındaki öğeleri kullanır. |
INT64 |
0x00500000 |
Uzun özellik, Araç özelliği değeri alanındaki int64Values alanında ilk öğeyi kullanır. |
INT64_VEC |
0x00510000 |
Long[] özelliği, Araç özelliği değeri'ndeki int64Values alanındaki öğeleri kullanır. |
FLOAT |
0x00600000 |
Float özelliği, Araç özelliği değeri'ndeki floatValues alanında yer alan ilk öğeyi kullanır. |
FLOAT_VEC |
0x00610000 |
Float[] özelliği, Araç özelliği değeri'ndeki floatValues alanındaki öğeleri kullanır. |
BYTES |
0x00700000 |
byte[] özelliği, Araç özelliği değeri'ndeki 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ındaki yapılandırma dizisinde sağlanmalıdır.
MIXED türündeki satıcı mülkleri için configArray şu yapıda biçimlendirilmelidir:
configArray[0] , 1 değeri mülkün String değerine sahip olduğunu gösterir
configArray[1] , 1 değeri mülkün Boolean değerine sahip olduğunu gösterir
configArray[2] , 1 değeri mülkün Integer değerine sahip olduğunu gösterir.
configArray[3] : Sayı, mülkteki Integer[] boyutunu gösterir.
configArray[4] , 1 değeri mülkün Long değerine sahip olduğunu gösterir
configArray[5] : Sayı, mülkteki Long[] boyutunu gösterir.
configArray[6] , 1 değeri mülkün Float değerine sahip olduğunu gösterir
configArray[7] : Sayı, mülkteki Float[] boyutunu gösterir.
configArray[8] , sayı mülkteki byte[] boyutunu gösterir.
Örneğin, configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0} , özelliğin String değeri, Boolean değeri, Integer değeri ve üç tam sayı içeren bir diziye sahip 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ölgelere ayrılmış mülkler (birden fazla desteklenen alana 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 konusuna bakın. |
minInt32Value ve maxInt32Value |
- Başlatma 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. İkisi de 0 ise yoksayılır.
- Global mülk için minimum ve maksimum değerin tanımlanması gerekiyorsa alan kimliği 0 olan bir alan yapılandırması kullanılmalıdır.
- Bu değer statiktir ve çalışma zamanında minimum veya maksimum değer değişse bile değişmez. Dinamik minimum veya maksimum değer için
IVehicle#getMinMaxSupportedValue özelliğini uygulayın.
|
minInt64Value ve maxInt64Value |
- Başlatma sırasında INT64 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. İkisi de 0 ise yoksayılır.
- Global mülk için minimum ve maksimum değerin tanımlanması gerekiyorsa alan kimliği 0 olan bir alan yapılandırması kullanılmalıdır.
- Bu değer statiktir ve çalışma zamanında minimum veya maksimum değer değişse bile değişmez. Dinamik minimum veya maksimum değer için
IVehicle#getMinMaxSupportedValue özelliğini uygulayın.
|
minFloatValue ve maxFloatValue |
- Başlatma sırasında Float 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. İkisi de 0,0 ise yoksayılır.
- Global mülk için minimum ve maksimum değerin tanımlanması gerekiyorsa alan kimliği 0 olan bir alan yapılandırması kullanılmalıdır.
- Bu değer statiktir ve çalışma zamanında minimum veya maksimum değer değişse bile değişmez. Dinamik minimum veya maksimum değer için
IVehicle#getMinMaxSupportedValue özelliğini uygulayın.
|
(Android 14'teki yenilik)
supportedEnumValues |
- Özellik, enum türü özelliği olarak tanımlanmışsa başlatma 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 alan kimliği 0 olan bir alan 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 yalnızca enum türü özellikler için geçerlidir. Diğer türler için bu alan boş olmalıdır.
Numaralandırılmamış diğer türler için desteklenen değerleri göstermek üzere
IVehicle#getSupportedValuesLists kullanın.
|
(Android 15'teki yenilik)
supportVariableUpdateRate |
- Değişken güncelleme hızının desteklenip desteklenmediği. Bu yalnızca sürekli özellikler için geçerlidir.
- Bu
true ise uygulama, yalnızca özellik değeri değiştiğinde özellik güncelleme etkinliklerini almak için abonelikte değişken güncelleme hızını etkinleştirebilir (bu durumda sürekli özellikler, değişiklik üzerine özellikler olarak ele alınır).
- Bir tesisin tüm aboneleri değişken güncelleme hızını etkinleştiriyorsa VHAL'ye gönderilen abonelik isteği, tesis için değişken güncelleme hızını etkinleştirir ve VHAL, tesis güncelleme etkinliklerini yalnızca tesis değeri değiştiğinde göndermelidir.
- Abonelerden biri sabit güncelleme hızı istiyorsa VHAL'ye yapılan abonelik isteği, özellik 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.
- Özellik verileri büyük olmadığı (örneğin, 1k boyutunda bir bayt dizisi) ve önbelleğe alma için büyük miktarda bellek kaplayabileceği durumlar dışında, daha iyi performans için tüm kalp atışı dışı sürekli özelliklerde değişken güncelleme hızının desteklenmesi ŞİDDETLE TAVSİYE EDİLİR.
|
(Android 16'daki yenilikler)
hasSupportedValueInfo |
null değilse bu özelliğin, desteklenen minimum veya maksimum değerleri ya da desteklenen değerler listesini belirtip belirtmediğini gösterir.
- Bu alan, dinamik desteklenen değer API'lerinin:
getMinMaxSupportedValue , getSupportedValuesLists ,
subscribeSupportedValueChange , unsubscribeSupportedValueChange
bu mülk kimliği ve alan kimliği için desteklenip desteklenmediğini kontrol eder.
- Aksi takdirde
null , VHAL bu mülk kimliği ve alan kimliği için bu API'leri uygulamalıdır.
null veya Android 15 ya da daha eski bir sürümde bu mülk kimliği ve alan kimliği için dinamik olarak 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 |
---|
GLOBAL |
0x01000000 |
Bu mülk, global bir mülktür ve birden fazla alanı yoktur. |
WINDOW |
0x03000000 |
Pencerelere göre alan, VehicleAreaWindow enum'unu kullanır. |
MIRROR |
0x04000000 |
Aynalara dayalı alan, VehicleAreaMirror enum'ını kullanır. |
SEAT |
0x05000000 |
Lisanslara göre alan, VehicleAreaSeat enum'ını kullanır. |
DOOR |
0x06000000 |
Kapılara göre alan, VehicleAreaDoor enum'unu kullanır. |
WHEEL |
0x07000000 |
Tekerleklere göre alan, VehicleAreaWheel enum'u kullanır. |
Her bölgelendirilmiş mülk, önceden tanımlanmış bir alan türü kullanmalıdır. Her alan türü, alan türü için bir enum'da tanımlanan bir dizi bit işaretine sahiptir. Örneğin, SEAT alanı VehicleAreaSeat
enum'u 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ölgelere ayrılmış mülkler, Alan Kimlikleri aracılığıyla ele alınır. Her bölgeli 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 edinmek 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-10-10 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-10-10 UTC."],[],[]]