Satıcı özellikleri
VHAL, iş ortağına özel ihtiyaçları desteklemek için erişilen tedarikçi firma mülklerine izin verir API'leri kullanabilirsiniz. Tedarikçi firma mülkleriyle çalışırken aşağıdaki yönergeleri kullanın:
- Daima önce her zaman ilk olarak sistem özelliklerini kullanmaya çalışın, son çare olarak tedarikçi özellikleri kullanılmalıdır hiçbir sistem özelliği gereksinimlerinizi karşılamazsa
- Ekosistemin parçalara ayrılmasını önlemek için tedarikçi mülkleri, aracı kopyalamak amacıyla kullanılmamalıdır SDK'da bulunan diğer özellikler VehiclePropertyIds. Daha fazla bilgi edinmek için bkz. Bölüm 2.5, CDD'deki Otomotiv Koşulları'na tabidir.
- Mülk Kimliğini oluşturmak için aşağıdaki alanları kullanın:
VehiclePropertyGroup:VENDOR
TEDARİKÇİ grubu yalnızca tedarikçi firma mülkleri için kullanılır.VehicleArea
Uygun bir Alan Türü seçin.VehiclePropertyType
Uygun veri türünü seçin. BYTES türü ham verilerin iletilmesini sağlar, Bu çoğu durumda yeterlidir. Tedarikçi mülkleri üzerinden sık sık büyük veri gönderme tüm araç ağ erişimini yavaşlatabilir. Büyük bir yük eklerken dikkatli olun.Property ID
Tedarikçi firma özelliği için iki baytlık benzersiz bir kimlik seçin. Örneğin, 0x1234.
VehiclePropConfig.configString
alanına tedarikçi firmanın kısa bir açıklamasını girin Bu, geçerlilik kontrolü araçlarının mevcut dokümanların yanlışlıkla kopyalanmasını işaretlemesini sağlar araç özellikleri. Örneğin, "XYZ için özel mülküm".- Erişim:
CarPropertyManager
(Java bileşenleri için) veya
libvhalclient
(yerel için). Yapılması gerekenler diğer araba API'lerinde değişiklik yapmak gelecekte uyumluluk sorunlarına yol açabileceğinden.
Tedarikçi firma mülkleri izni
Tanımlanmış tüm tedarikçi firma özellikleri için varsayılan izin:
android.car.Car.PERMISSION_VENDOR_EXTENSION
Daha ayrıntılı izin ayrıntı düzeyi için
denetimi için SUPPORT_CUSTOMIZE_VENDOR_PERMISSION
özelliğini destekler. Bu İSTATİSTİK
özelliği salt okunurdur ve bu özellik için yapılandırma dizisi, satıcı özelliklerine ilişkin izinleri belirtir.
configArray
şu şekilde ayarlanmıştır (i, 0'dan başlayan bir tam sayıdır):
configArray[3 * i]
propId, tedarikçi firma özelliğinin mülk kimliği.configArray[3 * i + 1]
VehicleVendorPermission.aidl
içindeki bir sıralamayı özellik değerini okuma iznini belirtir.configArray[3 * i + 2]
VehicleVendorPermission.aidl
içindeki bir sıralamayı özellik değerini yazma iznini gösterin.
Örneğin, aşağıdaki yapılandırma dizisi iki tedarikçi firma özelliğini yapılandırır.
Şu izinlere sahip olmak için vendor_prop_1
ve vendor_prop_2
:
vendor_prop_1
için gerekenlerandroid.car.hardware.property.VehicleVendorPermission.PERMISSION_GET_CAR_VENDOR_CATEGORY_SEAT
okuma,android.car.hardware.property.VehicleVendorPermission.PERMISSION_SET_CAR_VENDOR_CATEGORY_SEAT
tıklayın.vendor_prop-2
için gerekenlerandroid.car.hardware.property.VehicleVendorPermission.PERMISSION_GET_CAR_VENDOR_CATEGORY_INFO
Android uygulamalarında yazılamaz.
configArray = { PERMISSION_SET_VENDOR_CATEGORY_SEAT vendor_prop_2, PERMISSION_GET_VENDOR_CATEGORY_INFO, PERMISSION_NOT_ACCESSIBLE }
Bu dizide bulunmayan tedarikçi firma özellikleri, varsayılan tedarikçi firma iznini alır. Zaman
PERMISSION_NOT_ACCESSIBLE
seçildi. Android uygulamaları mülke erişemez.
Örnekte, Android uygulamaları vendor_prop_2
için bir değer yazamaz. Yalnızca yerel
VHAL müşterileri bu mülke yazabilir.
Gelişmiş sürüş yardımı sistemleri (ADAS)
ADAS Araç Özellikleri'ne bakın.KOLTUK ve DÖNÜŞÜM
Koltuk ve Direksiyon Özellikleri'ne bakın.
Isıtma, Havalandırma ve Soğutma
HVAC ile ilgili özellikleri ayarlayarak HVAC'yi kontrol etmek için VHAL'yi kullanabilirsiniz. Çoğu ısıtma, havalandırma ve soğutma tesisi araçtaki belirli alanlarla ilişkilidir. Bunların bazıları küresel mülklerdir. Tanımlanan özellikler örnekleri arasında şunlar bulunur:
Özellik | Amaç |
---|---|
HVAC_TEMPERATURE_SET |
Alan kimliğine göre sıcaklığı ayarlayın. |
HVAC_POWER_ON |
HVAC sisteminin alan kimliğine göre güç durumu. |
HVAC sisteminin güç durumuna bağlı olan HVAC özellikleri için, bu özellikleri
HVAC_POWER_ON
yapılandırma dizisinde listelenir. Isıtma, havalandırma ve soğutma özelliklerinin tam listesini görmek için
VehicleProperty.aidl
içinde HVAC_*
araması, bkz.
Desteklenen Sistem Özellikleri.
özellikler.
GLOBAL olmayan VehicleArea türü HVAC özelliklerini FieldID'lerle eşleme kuralları:
Mülkten etkilenen belirli bir VehicleArea
türüne ait her "alan" şu şekilde olmalıdır:
bu mülkün alan kimliğine eklenir. Sıcaklık kontrol cihazları
"en fazla etkide bulunan" koltuklar Ancak etkilenen her koltuğun tam olarak bir kez dahil edilmesi gerekiyor.
Orta arka koltuğun sol veya sağ Alan Kimliği'ne atanması rastgele görünebilir.
Ancak etkilenen her koltuğun tam olarak bir AreaID'ye dahil edilmesi, koltuğun
arabadaki tüm koltukların ifade edilmesi ve her bir koltukta etkili olması için makul bir yol bulunması.
1. Örnek
Bir arabanın iki ön koltuğu (ROW_1_LEFT, ROW_1_RIGHT) ve üç arka koltuğu var
(ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT). Her biri için bir tane olmak üzere iki sıcaklık kontrol ünitesi vardır
hem sürücü tarafı hem yolcu tarafı. Şu alan için geçerli bir AreaID eşleme kümesi:
HVAC_TEMPERATURE_SET
, iki öğeli bir dizi olur:
- ROW_1_LEFT | SATIRSAY_2_SOL
- ROW_1_RIGHT | ROW_2_CENTER | ROW_2_SAĞ
Aynı donanım yapılandırmasına ilişkin alternatif bir eşleme şöyle olur:
- ROW_1_LEFT | ROW_2_CENTER | SATIRSAY_2_SOL
- ROW_1_RIGHT | ROW_2_SAĞ
2. Örnek
Bir arabanın ön sırasında iki koltuklu sıradan üç koltuk var (ROW_1_LEFT, ROW_1_RIGHT)
ve ikinci sıra (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT) ve üçüncü sıradan üç koltuk
(ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT). Üç sıcaklık kontrol ünitesi vardır. Her biri
sürücü tarafı, yolcu tarafı ve arka. Harita oluşturmanın makul bir yolu
HVAC_TEMPERATURE_SET
ile AreaID'ler, üç öğeli bir dizidir:
- SATIRSAY_1_SOL
- ROW_1_SAĞ
- ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_SAĞ
3. Örnek
Bir arabanın iki ön koltuğu (ROW_1_LEFT, ROW_1_RIGHT) ve üç arka koltuğu var (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT). Aracın yalnızca HVAC_OTO_ON özelliğini desteklediğini varsayalım. öndeki iki koltuğa. HVAC_auto_ON için geçerli bir AreaID eşleme kümesi tek olur öğe dizisi:
- ROW_1_LEFT | ROW_1_SAĞ
HVAC_AUTO_ON
konumunda, sürücü tarafı ve yolcu için iki ayrı kontrol birimi olsaydı
yerine, alternatif eşleme iki öğe dizisidir:
- SATIRSAY_1_SOL
- ROW_1_SAĞ
INFO_EXTERIOR_DIMENSIONS
Bir aracın dış boyutları, Şekil 1'de gösterildiği gibi milimetre cinsinden ölçülür.
ziyaret edin.Dış kaportayı tanımlamak için bu tabloda açıklanan özellikleri kullanın. seçin.
Araç özelliği | VHAL alanı | Açıklama |
---|---|---|
Boy | int32Values[0] |
Zemin ile aracın en yüksek noktası arasındaki dikey mesafe. Bu varsayımım şişirilmiş fabrika tekerlekleri vardır. |
Uzunluk | int32Values[1] |
Aracın ön ve arka tarafının en dış noktaları arasındaki yatay mesafe. |
Genişlik (aynalar hariç) | int32Values[2] |
Aşağıdakiler hariç olmak üzere aracın her bir tarafındaki en dıştaki iki nokta arasındaki yatay mesafe yan aynalara bakın. |
Aynalar dahil genişlik | int32Values[3] |
Aracın her iki tarafındaki en dıştaki iki nokta arasındaki yatay mesafe, yan aynalar dahil. |
Tekerlek tabanı | int32Values[4] |
Aracın ön ve arka tekerlekleri arasındaki mesafe. |
Parça genişliği, ön | int32Values[5] |
Ön tekerlek arasındaki mesafe, bir lastik dişinin orta çizgisinden yana kadar ölçülür. orta çizgisini çizin. |
Parça genişliği, arka | int32Values[6] |
Arka tekerlek arasındaki mesafe, bir lastik dişinin orta çizgisinden bitişe kadar ölçülür orta çizgisini çizin. |
Kaldırıma dönme çapı | int32Values[7] |
Tam dönüş yaparken aracın dış tekerleklerinin oluşturduğu dairenin çapı tam kilitli direksiyonla. |
Avrupa Birliği genel güvenlik mevzuatına uygunluk
Aracın Avrupa Birliği Genel Güvenlik Yönetmeliği (GSR) gereksinimlerine uyması gerekiyorsa
kullanıyorsanız, GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT
mülkü
yardımcı olur. AB'de tanımlandığı şekilde GSR-ISA (Akıllı Hız Desteği) kullanım alanına örnek olarak verilebilir.
2019/2144 yönetmeliği. Bu özellik, Android 13'ten AIDL VHAL'ye eklenmiş ancak şu şekildedir:
Android 12 sürümünden itibaren Araba Hizmeti'nde desteklenir. Bu özellik salt okunur olarak tanımlandı
olası değerleri tanımlanan statik genel tam sayı özelliği
GsrComplianceRequirementType
sıralaması:
Ad | Değer | Açıklama |
---|---|---|
GSR_COMPLIANCE_NOT_REQUIRED |
0 | GSR uyumluluğu gerekli değildir |
GSR_COMPLIANCE_REQUIRED_V1 |
1 | GSR uyumluluğu gereklidir ve gereksinim çözüm sürümü 1'dir. |
Satıcıların, bu özelliği HIDL VHAL'de (Android 12'de) desteklemek için mülk kimliğini sabit olarak kodlaması gerekir.
Örneğin, aşağıdaki snippet, referans HIDL'de bunun nasıl desteklendiğini göstermektedir
VHAL
DefaultConfig.h
:
{ .config = { // GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT .prop = 0x11400F47, .access = VehiclePropertyAccess::READ, .changeMode = VehiclePropertyChangeMode::STATIC, }, // GsrComplianceRequirementType::GSR_COMPLIANCE_REQUIRED_V1 .initialValue = {.int32Values = {1}}, }
Satıcılar, bu tesisi AIDL VHAL'de (Android 13'ten) desteklemek için
VehicleProperty.h
ve GsrComplianceRequirementType.h
öğesinden sıralama. Örneğin,
(ör. AIDL VHAL referansında olduğu gibi)
DefaultProperties.json
:
{ "property": "VehicleProperty::GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT", "defaultValue": { "int32Values": [ "GsrComplianceRequirementType::GSR_COMPLIANCE_REQUIRED_V1" ] } }
Bu mülkü bir Android uygulamasından okumak için şunu kullanın:
CarPropertyManager.getIntProperty
.
- Android 13 ve sonraki sürümlerde
VehiclePropertyIds.GENERAL_SAFETY_REGULATION_COMPLIANCE
girin. - Android 12'de mülk kimliği olarak sabit kodlu 0x11400F47 değerini kullanın. Bu
mülkü için
Car#PERMISSION_CAR_INFO
izni gerekiyor.