Questa pagina elenca le proprietà di sistema supportate nel VHAL. Le proprietà supportate dal VHAL devono essere proprietà di sistema dell'elenco riportato di seguito o proprietà del fornitore. In Android 14 e versioni superiori, le definizioni delle proprietà sono definite in hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl
.
La definizione della proprietà è definita nell'interfaccia AIDL,
android.hardware.automotive.vehicle.property
, separata dall'interfaccia VHAL (android.hardware.automotive.vehicle
). Le implementazioni VHAL e i client VHAL
devono dipendere da entrambe le interfacce.
Modalità di accesso e di modifica generate automaticamente
In Android 14 e versioni successive, per supportare le implementazioni VHAL, forniamo file di intestazione C++ e file di classi Java generati automaticamente con la modalità di modifica o di accesso consentita per le proprietà di sistema. Le implementazioni VHAL dei fornitori possono utilizzarle per garantire che le configurazioni delle proprietà soddisfino le specifiche.
Dalla A alla D
ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE
Distanza misurata dal veicolo che precede quando si utilizza il cruise control adattivo (ACC) o il cruise control predittivo (PCC). Restituisce la distanza misurata in millimetri tra il punto più arretrato del veicolo che precede e il punto più anteriore del veicolo con ACC. maxInt32Value
e minInt32Value
in VehicleAreaConfig
devono essere definiti. minInt32Value
deve essere pari a 0. Il campo maxInt32Value
deve essere compilato con
l'intervallo massimo supportato dal sensore di distanza. Questo valore deve essere non negativo.
Quando non viene rilevato alcun veicolo davanti (ovvero quando non c'è nessun veicolo davanti o il veicolo davanti è troppo lontano per essere rilevato dal sensore), questa proprietà deve restituire StatusCode.NOT_AVAILABLE
Quando questa proprietà non è disponibile perché la funzionalità CC è disattivata (ad esempio,
StatusCode#NOT_AVAILABLE_DISABLED
è false), deve restituire
StatusCode#NOT_AVAILABLE_DISABLED
. Se CRUISE_CONTROL_STATE
è implementato e lo stato è impostato su un valore ErrorState
, questa proprietà deve restituire un StatusCode
in linea con il valore ErrorState
. Ad esempio, se CRUISE_CONTROL_STATE
è impostato su ErrorState#NOT_AVAILABLE_SPEED_LOW
, questa proprietà deve restituire StatusCode#NOT_AVAILABLE_SPEED_LOW
.
Cambia modalità: CONTINUOUS
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:MILLIMETER
Release: Android 14
ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP
Differenza di tempo target corrente per ACC o PCC in millisecondi. Questa proprietà deve specificare il tempo di attesa target rispetto a un veicolo che precede. Questo intervallo è definito come il tempo necessario per percorrere la distanza tra il punto più arretrato del veicolo che precede e il punto più anteriore del veicolo con ACC. L'intervallo di tempo effettivo di un veicolo che precede può essere superiore o inferiore a questo valore.
I possibili valori da impostare per l'intervallo di tempo target devono essere specificati in configArray in ordine crescente. Tutti i valori devono essere positivi. Se la proprietà è scrivibile, tutti i valori devono essere scrivibili. Quando questa proprietà non è disponibile perché i sottotitoli codificati sono disattivati (ad esempio,
CRUISE_CONTROL_ENABLED
è false), deve restituire
StatusCode#NOT_AVAILABLE_DISABLED
Se CRUISE_CONTROL_STATE
è implementato e lo stato è impostato su un valore ErrorState
, questa proprietà deve restituire un StatusCode
in linea con il valore ErrorState
. Ad esempio,
se CRUISE_CONTROL_STATE
è impostato su ErrorState#NOT_AVAILABLE_SPEED_LOW
,
questa proprietà deve restituire StatusCode#NOT_AVAILABLE_SPEED_LOW
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:MILLI_SECS
Release: Android 14
ABS_ACTIVE
L'impianto frenante antiblocco (ABS) è attivo. Imposta su true quando l'ABS è attivo e reimposta su false quando l'ABS è spento. Questa proprietà può essere impostata in modo intermittente (impulso) in base allo stato in tempo reale del sistema ABS.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
ANDROID_EPOCH_TIME
Data e ora correnti, codificate come tempo UNIX (in millisecondi). Questo valore indica il numero di millisecondi trascorsi dal 1/1/1970 UTC.
Questo valore indica il numero di millisecondi trascorsi dal 1° gennaio 1970 UTC.
CarServices WRITE
a questo valore per fornire a VHAL l'ora del sistema Android, se VHAL supporta questa proprietà. Questa operazione può essere utile per sincronizzare altri sistemi del veicolo (orologio del cruscotto) con il tempo di Android.
AAOS WRITE
a questa proprietà una volta durante l'avvio e successivamente WRITE
solo quando le modifiche all'origine di tempo vengono propagate. AAOS compilerà correttamente VehiclePropValue.timestamp. AAOS non invia aggiornamenti per il normale scorrere del tempo. int64Values[0] = tempo Unix fornito (in millisecondi).
La proprietà potrebbe richiedere più di 0 ms per essere propagata nello stack e avere una proprietà con timestamp consente di ridurre eventuali scostamenti temporali. Pertanto, per tutti i WRITE
della proprietà,
il timestamp può essere utilizzato per annullare questa deriva:
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
Cambia modalità: ON_CHANGE
Modalità di accesso: WRITE
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:MILLI_SECS
Release: Android 13
AP_POWER_BOOTUP_REASON
Proprietà per segnalare il motivo dell'avvio per l'accensione corrente. Si tratta di una proprietà STATIC
che non cambia per l'intera durata fino allo spegnimento. Ad esempio, anche se l'utente preme
il tasto di accensione dopo l'accensione automatica con sblocco della serratura, il motivo di avvio deve rimanere con
VehicleApPowerBootupReason#USER_UNLOCK
int32Values[0]
deve essere
VehicleApPowerBootupReason
Cambia modalità: STATIC
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
AP_POWER_STATE_REPORT
Proprietà per segnalare lo stato di alimentazione del processore dell'app. Si presume che lo stato di alimentazione dell'AP sia controllato da un controller di alimentazione separato.
int32Values[0]
Valore enum VehicleApPowerStateReportint32Values[1]
Tempo in ms per riattivare il servizio, se necessario (in caso contrario 0)
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
AP_POWER_STATE_REQ
Proprietà per controllare lo stato di alimentazione del processore dell'app. Si presume che lo stato di alimentazione dell'AP sia controllato da un controller di alimentazione separato. Per informazioni sulla configurazione,
VehiclePropConfig.configArray
deve avere valori di combinazione di flag di bit in
VehicleApPowerStateConfigFlag
int32Values[0]
Valore dell'enum VehicleApPowerStateReqint32Values[1]
Un parametro aggiuntivo pertinente per ogni stato, 0 se non utilizzato.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
AUTOMATIC_EMERGENCY_BRAKING_ENABLED
Attiva o disattiva la frenata di emergenza automatica (AEB).
Imposta true per attivare l'AEB e false per disattivarlo. Quando l'AEB è attivato, il sistema ADAS nel
veicolo deve essere acceso e monitorato per evitare potenziali collisioni. Questa proprietà deve essere applicata solo per le applicazioni a velocità più elevate. Per attivare la frenata di emergenza automatica a bassa velocità, deve essere utilizzato LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED
.
In generale, AUTOMATIC_EMERGENCY_BRAKING_ENABLED
deve sempre restituire true o false.
Se la funzionalità non è disponibile a causa di uno stato temporaneo, ad esempio la velocità del veicolo è troppo bassa, queste informazioni devono essere trasmesse tramite i valori ErrorState
nella proprietà AUTOMATIC_EMERGENCY_BRAKING_STATE
.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma
gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
AUTOMATIC_EMERGENCY_BRAKING_STATE
Stato del sistema di frenata automatica di emergenza (AEB). Restituisce lo stato attuale dell'AEB. Questa proprietà deve sempre restituire uno stato valido definito in AutomaticEmergencyBrakingState o ErrorState
. Non deve mostrare errori tramite StatusCode
e deve utilizzare gli stati di errore supportati. Questa proprietà deve essere applicata solo per le applicazioni a velocità più elevate. Per rappresentare lo stato
del sistema di frenata di emergenza automatica a bassa velocità,
deve essere utilizzato LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE
.
Se l'AEB include avvisi di collisione anteriore prima dell'attivazione dei freni, questi avvisi devono essere visualizzati tramite le proprietà di avviso di collisione anteriore (FCW).
Per l'ID area globale (0), l'array StatusCode#VehicleAreaConfig#supportedEnumValues
deve essere definito, a meno che non siano supportati tutti gli stati di AutomaticEmergencyBrakingState
(incluso OTHER
, che non è consigliato) e ErrorState
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di elenco: ForwardCollisionWarningState/ErrorState
Tipo di unità: N/A
Release: Android 14
BLIND_SPOT_WARNING_ENABLED
Attiva e disattiva l'avviso di punto cieco (BSW). Imposta true per attivare il BSW e false per disattivarlo. Quando il sistema BSW è attivo, il sistema ADAS del veicolo deve essere acceso e monitorare la presenza di oggetti negli angoli ciechi del veicolo.
In generale, BLIND_SPOT_WARNING_ENABLED
deve sempre restituire true o false. Se la funzionalità non è disponibile a causa di uno stato temporaneo, ad esempio la velocità del veicolo è troppo bassa, queste informazioni devono essere trasmesse tramite i valori ErrorState
nella proprietà BLIND_SPOT_WARNING_STATE
.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
BLIND_SPOT_WARNING_STATE
Stato dell'avviso di angolo cieco (BSW). Restituisce lo stato corrente di BSW. Questa proprietà deve sempre
restituire uno stato valido definito in BlindSpotWarningState
o ErrorState
Non deve mostrare errori tramite StatusCode
e deve utilizzare gli stati di errore supportati.
Per ogni ID area supportato, deve essere definito un array StatusCode#VehicleAreaConfig#supportedEnumValues
a meno che non siano supportati tutti gli stati di BlindSpotWarningState
(incluso
OTHER
, che non è consigliato) e ErrorState
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: BlindSpotWarningState/ErrorState
Tipo di unità: N/A
Release: Android 14
CABIN_LIGHTS_STATE
Restituisce lo stato delle luci della cabina.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: VehicleLightState
Tipo di unità: N/A
Release: Android 13
CABIN_LIGHTS_SWITCH
Interruttore delle luci della cabina. La posizione dell'interruttore fisico che controlla le luci della cabina.
Questo valore potrebbe essere diverso da CABIN_LIGHTS_STATE
se le luci sono accese perché una porta è aperta o a causa di un comando vocale. Ad esempio, quando l'opzione è impostata su Off o Automatico.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma
gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: VehicleLightSwitch
Tipo di unità: N/A
Release: Android 13
CLUSTER_DISPLAY_STATE
Modifica lo stato del display del cluster.
- Confini: area per il rendering dell'attività del cluster.
- Inserimento: area in cui l'attività non deve inserire informazioni importanti.
Valori possibili
int32[0]
On, Off: 0 - off, 1 - on, -1 - indifferenteint32[1]
Bounds - left: numero positivo - posizione a sinistra in pixel -1 - non importa (devono essere impostati tutti i campi Bounds)int32[2]
Bounds - top: same format with 'left'int32[3]
Limiti - destra: stesso formato di "sinistra"int32[4]
Limiti - basso: stesso formato di "sinistra"int32[5]
Inset - left: numero positivo - valore dell'inset sinistro effettivo in pixel -1 - non importa (devi impostare "non importa" per tutti i campi Inset)int32[6]
Inserimento - in alto: stesso formato con "sinistra"int32[7]
Inserimento - a destra: stesso formato con "sinistra"int32[8]
Inserimento - in basso: stesso formato con "sinistra"
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
CLUSTER_NAVIGATION_STATE
Fornisce lo stato di navigazione corrente. bytes: il messaggio serializzato di NavigationStateProto.
Cambia modalità: ON_CHANGE
Modalità di accesso: WRITE
Tipo di enumerazione:
Tipo di unità: N/A
Release: Android 13
CLUSTER_REPORT_STATE
Segnala lo stato attuale della visualizzazione e lo stato di ClusterUI.
ClusterHome
invia questo messaggio quando gestisce CLUSTER_SWITCH_UI
,
CLUSTER_DISPLAY_STATE
. Inoltre, ClusterHome
deve inviare questo messaggio
quando si avvia per la prima volta. Quando ClusterOS riceve questo messaggio e se la
previsione interna è diversa dal messaggio ricevuto, deve inviare nuovamente
CLUSTER_SWITCH_UI
, CLUSTER_DISPLAY_STATE
per abbinare lo stato.
int32[0]
on/off: 0 - off, 1 - onint32[1]
Limiti - a sinistraint32[2]
Limiti - superioreint32[3]
Limiti - a destraint32[4]
Limiti - inferioreint32[5]
Incavo - sinistraint32[6]
Inset - topint32[7]
Inset - rightint32[8]
Inset - bottomint32[9]
Tipo di ClusterUI nella schermata a schermo intero o principale. 0 indicaClusterHome
. Gli altri valori sono seguiti dalla definizione dell'OEM.int32[10]
Tipo di ClusterUI nella schermata secondaria se al momento sono visualizzate due UI. -1 indica che l'area non è più utilizzata. bytes: l'array per rappresentare la disponibilità di ClusterUI. 0 indica non disponibile e 1 indica disponibile. Ad esempio, se un'auto supporta tre UI cluster definite dall'OEM, come CASA, MAPPE e CHIAMA, e supporta l'UI CHIAMA solo quando è disponibile la rete cellulare. Se la rete è disponibile, invia [1 1 1] e, se non è disponibile, invia [1 1 0].
Cambia modalità: ON_CHANGE
Modalità di accesso: WRITE
Tipo di enumerazione: VehicleLightSwitch
Tipo di unità: N/A
Release: Android 13
CLUSTER_REQUEST_DISPLAY
Richieste di modificare lo stato di visualizzazione del cluster per mostrare alcune UI del cluster. Quando lo stato corrente del display è spento, ClusterHome
invia questo messaggio a ClusterOS per richiedere di accendere il display in modo da mostrare una ClusterUI specifica. ClusterOS dovrebbe rispondere con
CLUSTER_DISPLAY_STATE
int32
Tipo di ClusterUI da mostrare
Cambia modalità: ON_CHANGE
Modalità di accesso: WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
CLUSTER_SWITCH_UI
Avvia ClusterUI nel display del cluster.
int32
Tipo di ClusterUI da mostrare 0 indicaClusterHome
, la schermata Home del display del cluster e fornisce l'interfaccia utente predefinita e una sorta di funzionalità di avvio per il display del cluster. Gli altri valori dipendono dalla definizione dell'OEM.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
CREATE_USER
Chiamato dal sistema Android dopo la creazione di un utente Android. L'HAL può utilizzare questa proprietà per creare l'utente equivalente. Si tratta di una richiesta asincrona: Android la effettua impostando un valore VehiclePropValue e HAL deve rispondere con una modifica della proprietà che indica se la richiesta è andata a buon fine o meno. In caso di errore, il sistema Android rimuove l'utente.
Il formato della richiesta è definito da CreateUserRequest e il formato della risposta da CreateUserResponse. Ad esempio, se il sistema aveva due utenti (0 e 10) ed è stato creato un terzo utente (ospiti temporanei), la richiesta sarà:
int32[0]
42 // request idint32[1]
11 // ID Android dell'utente creatoint32[2]
6 // Flag Android (ospite temporaneo) dell'utente creatoint32[3]
10 // utente correnteint32[4]
0 // indicatori utente attuali (nessuno)int32[5]
3 // numero di utentiint32[6]
0 // primo utente (utente 0)int32[7]
0 // segnalazioni del primo utente (nessuna)int32[8]
10 // secondo utente (utente 10)int32[9]
0 // flag del secondo utente (nessuno)int32[10]
11 // terzo utente (utente 11)int32[11]
6 // stringa di flag di utente terzo (ospite temporaneo): "ElGuesto" // nome del nuovo utente
Se la richiesta ha esito positivo, l'HAL restituisce:
int32[0]
42 // request idint32[1]
1 // CreateUserStatus::SUCCESS
Se invece non riesce:
int32[0]
42 // request idint32[1]
2 // CreateUserStatus::FAILURE string: "D'OH!" //
Il significato è una black box e viene passato al chiamante (ad esempio l'interfaccia utente delle Impostazioni), che intraprende l'azione appropriata.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
CRITICALLY_LOW_TIRE_PRESSURE
Questa proprietà indica la soglia di pressione criticamente bassa per ogni pneumatico. Indica quando sostituire o riparare uno pneumatico. Il valore deve essere minore o uguale a minFloatValue in TIRE_PRESSURE. I valori minimo e massimo della proprietà (minFloatValue e maxFloatValue) non si applicano a questa proprietà.
Cambia modalità: STATIC
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:KILOPASCAL
Release: Android 13
CRUISE_CONTROL_COMMAND
WRITE
Comandi del cruise control (CC).
Consulta CruiseControlCommand per i dettagli su ciascun comando supportato. Per l'ID area globale (0),
l'array StatusCode#VehicleAreaConfig#supportedEnumValues
deve essere definito, a meno che tutti
gli stati di CruiseControlState
non siano supportati. Tutti i comandi non supportati inviati tramite questa proprietà devono restituire StatusCode#INVALID_ARG
. Quando questa proprietà non è disponibile perché la funzionalità CC è disattivata (ad esempio, CRUISE_CONTROL_ENABLED
è false), deve restituire StatusCode#NOT_AVAILABLE_DISABLED
. Se CRUISE_CONTROL_STATE
è implementato e lo stato è impostato su un valore ErrorState
, questa proprietà deve restituire un StatusCode
in linea con il valore ErrorState
.
Ad esempio, se CRUISE_CONTROL_STATE
è impostato su
ErrorState#NOT_AVAILABLE_SPEED_LOW
, questa proprietà deve restituire
StatusCode#NOT_AVAILABLE_SPEED_LOW
Cambia modalità: ON_CHANGE
Modalità di accesso: WRITE
Tipo di enumerazione: CruiseControlCommand
Tipo di unità: N/A
Release: Android 14
CRUISE_CONTROL_ENABLED
Attiva o disattiva il cruise control. Imposta true per attivare la Cc e false per disattivarla. Questa proprietà è condivisa da tutte le forme di CruiseControlType. Quando il controllo di crociera è attivo, il sistema ADAS nel
veicolo deve essere acceso e rispondere ai comandi. In generale,
CRUISE_CONTROL_ENABLED
deve sempre restituire true o false. Se la funzionalità non è disponibile a causa di uno stato temporaneo, come la velocità del veicolo troppo bassa, queste informazioni devono essere trasmesse tramite i valori ErrorState
nella proprietà CRUISE_CONTROL_STATE
. Questa proprietà è definita come
VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come
VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
CRUISE_CONTROL_STATE
Stato attuale del cruise control (CC). Questa proprietà restituisce lo stato corrente del controllo conteggio. In genere,
questa proprietà deve restituire uno stato valido definito in CruiseControlState o
ErrorState
Ad esempio, se la funzionalità non è disponibile a causa di uno stato temporaneo, queste informazioni devono essere trasmesse tramite ErrorState
Per l'ID area globale (0), deve essere definito l'array VehicleAreaConfig#supportedEnumValue
, a meno che non siano supportati tutti gli stati di
CruiseControlState (incluso OTHER, che non è consigliato) e ErrorState
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: CruiseControlState/ErrorState
Tipo di unità: N/A
Release: Android 14
CRUISE_CONTROL_TARGET_SPEED
Velocità target corrente per il controllo automatico della velocità (CC). Gli OEM devono impostare i valori minFloatValue e
maxFloatValue per questa proprietà per definire i valori di velocità target minima e massima. Questi valori
devono essere non negativi. maxFloatValue rappresenta il limite superiore della velocità target.
minFloatValue rappresenta il limite inferiore della velocità target.
Quando questa proprietà non è disponibile perché la funzionalità CC è disattivata (ad esempio,
CRUISE_CONTROL_ENABLED
è false), deve restituire StatusCode#NOT_AVAILABLE_DISABLED
. Se
CRUISE_CONTROL_STATE
è
implementato e lo stato è impostato su un valore ErrorState, questa proprietà deve restituire un
StatusCode
in linea con il valore ErrorState. Ad esempio, se
CRUISE_CONTROL_STATE
è impostato su
ErrorState#NOT_AVAILABLE_SPEED_LOW
, questa proprietà deve restituire
StatusCode#NOT_AVAILABLE_SPEED_LOW
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:METER_PER_SEC
Release: Android 14
CRUISE_CONTROL_TYPE
Tipo attuale di cruise control (CC). Quando CRUISE_CONTROL_ENABLED
è true,
questa proprietà restituisce
il tipo di CC attualmente abilitato (ad es. CC standard e CC adattivo, predittivo).
In genere, questa proprietà deve restituire uno stato valido definito in CruiseControlType
o
ErrorState
. Ad esempio, se la funzionalità non è disponibile a causa di uno stato temporaneo,
queste informazioni devono essere trasmesse tramite ErrorState
.
Per l'ID area globale (0), l'array StatusCode#VehicleAreaConfig#supportedEnumValues
deve essere definito
a meno che non siano supportati tutti gli stati di CruiseControlType
(incluso OTHER
, che non è consigliato) e
ErrorState
. Il tentativo di WRITE
CruiseControlType#OTHER
o un ErrorState
a questa
proprietà genera un IllegalArgumentException
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono
implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: CruiseControlType
ErrorState
Tipo di unità: N/A
Release: Android 14
CURRENT_GEAR
Marcia attuale. In un caso non manuale, la marcia selezionata potrebbe non corrispondere a quella attuale. Ad esempio, se la marcia selezionata è GEAR_DRIVE
, la marcia corrente sarà una tra GEAR_1
, GEAR_2
e così via, il che riflette la marcia effettiva in cui è in funzione la trasmissione. I valori nei dati di configurazione devono rappresentare l'elenco delle marce supportate per questo veicolo. Ad esempio, i dati di configurazione per una trasmissione automatica devono contenere
{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_1, GEAR_2,...}
e, per la trasmissione manuale, l'elenco deve essere {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
Questo elenco non deve essere uguale a quello delle marce supportate riportato in
GEAR_SELECTION
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: VehicleGear
Tipo di unità: N/A
Release: Android 13
CURRENT_POWER_POLICY
Invia una notifica al livello VHAL del criterio di alimentazione corrente. Il servizio dei criteri di alimentazione dell'auto imposta questa proprietà quando il criterio di alimentazione corrente viene modificato
string: "sample_policy_id" // power policy ID
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
DISABLED_OPTIONAL_FEATURES
Consente la disattivazione di funzionalità facoltative in VHAL. Questa proprietà segnala le funzionalità facoltative che devono essere disattivate. Tutte le funzionalità facoltative consentite per il sistema sono dichiarate nell'overlay del servizio auto. config_allowed_optional_car_features
Questa proprietà consente di disattivare le funzionalità definite nell'overlay. Senza questa proprietà, tutte le funzionalità dichiarate nell'overlay verranno attivate.
Il valore READ
deve includere tutte le funzionalità disattivate con una separazione da virgola (,
).
Ad esempio, com.android.car.user.CarUserNoticeService,storage_monitoring
Cambia modalità: STATIC
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
DISPLAY_BRIGHTNESS
Proprietà per rappresentare la luminosità del display. Alcune auto hanno un unico controllo per la luminosità di tutti i display. Questa proprietà serve a condividere le modifiche apportate al controllo. Nelle auto con display la cui luminosità è controllata separatamente, deve essere utilizzato PER_DISPLAY_BRIGHTNESS
. Deve essere implementato solo uno tra DISPLAY_BRIGHTNESS
e PER_DISPLAY_BRIGHTNESS
. Se sono entrambi disponibili, PER_DISPLAY_BRIGHTNESS
viene utilizzato da AAOS. Se è possibile scrivere, Android può impostare questo valore quando l'utente modifica la luminosità del display dalle Impostazioni. Se si tratta solo di READ
,
l'utente può comunque
modificare la luminosità del display da Impostazioni, ma la modifica non deve essere applicata ad altri display.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
DISTANCE_DISPLAY_UNITS
Unità di misura della distanza per la visualizzazione. Indica le unità utilizzate dall'auto per mostrare le distanze all'utente. Ad esempio, Miglia, Metri o Chilometri. Le unità di misura della distanza sono definite in VehicleUnit.
VehiclePropConfig.configArray viene utilizzato per indicare le unità di misura della distanza supportate.
Ad esempio, configArray[0] = METER configArray[1] = KILOMETER configArray[2] = MILE
se l'aggiornamento di DISTANCE_DISPLAY_UNITS
influisce sui valori di altre proprietà
*_DISPLAY_UNITS
, anche i loro valori devono essere aggiornati e comunicati al framework AAOS.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: VehicleUnit
Tipo di unità: N/A
Release: Android 13
DOOR_CHILD_LOCK_ENABLED
La funzionalità di sicurezza per bambini della serratura della porta è attivata. Restituisce true se la funzionalità di sicurezza per bambini della porta è attivata e false se è disattivata. Se questa opzione è attivata, la porta non può essere aperta dall'interno. Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
DOOR_LOCK
Se il valore è true, la porta è chiusa a chiave. Questa proprietà è definita come
VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come
VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
DOOR_MOVE
maxInt32Value
e minInt32Value
in ogni VehicleAreaConfig devono essere
definiti. Tutti i numeri interi compresi tra minInt32Value
e maxInt32Value
devono essere supportati. maxInt32Value
indica la velocità massima di movimento della porta durante l'apertura. minInt32Value
indica la velocità massima di movimento della porta durante la chiusura.
Valori assoluti più elevati, positivi o negativi, indicano una maggiore velocità di movimento. Una volta che la porta raggiunge il limite di posizione, il valore deve essere reimpostato su 0. Se il valore di DOOR_MOVE
è 0, significa che al momento non è in corso alcun movimento.
Questa proprietà non è in un'unità specifica, ma in un intervallo specificato di velocità di movimento relative.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
DOOR_POS
Posizione della porta. maxInt32Value
e minInt32Value
in
VehicleAreaConfig
devono essere definiti.
Tutti i numeri interi compresi tra minInt32Value
e maxInt32Value
devono essere supportati.
minInt32Value
indica che la porta è chiusa. minInt32Value
debe essere 0.
maxInt32Value
indica che la porta è completamente aperta. I valori tra
minInt32Value
e
maxInt32Value
indicano uno stato di transizione tra le posizioni chiuse e completamente
aperte.
Questa proprietà non è in un'unità particolare, ma in un intervallo specificato di posizioni relative.
Alcuni veicoli (minivan) possono aprire la porta elettronicamente. Di conseguenza, la possibilità di
WRITE
questa proprietà. Questa proprietà è definita come VehiclePropertyAccess
READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE
/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
E a G
ELECTRONIC_TOLL_COLLECTION_CARD_STATUS
电子收费卡状态。此属性表示相应车辆中的 ETC 卡的状态。如果车机检测到连接到车辆的 ETC 卡,ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
会显示该卡的状态。否则,此属性应为 UNAVAILABLE
更改模式:ON_CHANGE
访问模式:READ
枚举类型:ElectronicTollCollectionCardStatus
单位类型:无
版本:Android 13
ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
电子收费卡 (ETC) 类型。此属性表示相应车辆中的 ETC 卡的类型。如果车机检测到连接到车辆的 ETC 卡,此属性应返回连接的卡的类型;否则,此属性应为 UNAVAILABLE
更改模式:ON_CHANGE
访问模式:READ
枚举类型:ElectronicTollCollectionCardType
单位类型:无
版本:Android 13
EMERGENCY_LANE_KEEP_ASSIST_ENABLED
启用或停用 Emergency Lane Keep Assist (ELKA)。设置为 true 表示启用 ELKA,设置为 false 表示停用 ELKA。当 ELKA 处于启用状态时,车辆中的 ADAS 系统应保持开启状态,并监测驾驶员是否有不安全的变道行为。检测到不安全的操控行为后,ELKA 会提醒驾驶员并应用转向修正,以使车辆保持在原车道内。一般来说,EMERGENCY_LANE_KEEP_ASSIST_ENABLED
应始终返回 true 或 false。如果该功能因某种临时状态(例如车速过低)而不可用,则必须通过 EMERGENCY_LANE_KEEP_ASSIST_STATE
属性中的 ErrorState
值传达此信息。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
EMERGENCY_LANE_KEEP_ASSIST_STATE
Emergency Lane Keep Assist (ELKA) 状态。返回 ELKA 的当前状态。通常,此属性应返回 EmergencyLaneKeepAssistState
或 ErrorState
中定义的有效状态。例如,如果该功能因某种临时状态而无法使用,则应通过 ErrorState
传达此信息。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非支持 EmergencyLaneKeepAssistState
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:EmergencyLaneKeepAssistState/ErrorState
单位类型:无
版本:Android 14
ENGINE_COOLANT_TEMP
引擎冷却剂的温度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
ENGINE_IDLE_AUTO_STOP_ENABLED
表示引擎闲置自动停止的功能。如果为 true,车辆可能会在不需要引擎时自动将其关闭,然后在需要引擎时自动将其重新启动。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
ENGINE_OIL_LEVEL
引擎机油量。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleOilLevel
单位类型:无
版本:Android 13
ENGINE_OIL_TEMP
引擎机油的温度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
ENGINE_RPM
引擎每分钟转数 (RPM)。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:RPM
版本:Android 13
ENV_OUTSIDE_TEMPERATURE
车外温度。此属性必须传达车外环境的温度读数。如果有多个传感器用于测量车外温度,则应使用读数的平均值或有意义的加权平均值来填充此属性,因为此类值最能代表车外环境的温度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
EV_BATTERY_DISPLAY_UNITS
电动汽车电池电量显示单位。表示汽车使用哪些单位向用户显示电动汽车电池信息。例如,瓦时 (Wh)、千瓦时 (kWh) 或安时 (Ah)。VehiclePropConfig.configArray
用于指明支持的电能单位。在 VehicleUnit
中定义电能单位,例如:
configArray[0] = WATT_HOUR configArray[1] = AMPERE_HOURS configArray[2] = KILOWATT_HOUR
如果更新 EV_BATTERY_DISPLAY_UNITS
会影响其他 *_DISPLAY_UNITS
属性的值,则必须更新这些属性的值,并将其一并传达给 AAOS 框架。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
EV_BATTERY_INSTANTANEOUS_CHARGE_RATE
电动汽车瞬时充电速率(以毫瓦为单位)。正值表示电池正在充电。负值表示电池正在放电。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MW
版本:Android 13
EV_BATTERY_LEVEL
无论是电动汽车还是混合动力汽车,均返回当前电池电量。此值不会超过 EV_CURRENT_BATTERY_CAPACITY
。如需计算电池电量百分比,请使用 (EV_BATTERY_LEVEL
, EV_CURRENT_BATTERY_CAPACITY
)*100。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:WH
版本:Android 13
EV_BRAKE_REGENERATION_LEVEL
电动汽车的再生制动等级。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。minInt32Value
必须是 0。maxInt32Value
表示通过制动再生的最大能量对应的设置。minInt32Value
表示不进行再生制动对应的设置。此属性是 EV_REGENERATIVE_BRAKING_STATE
的更精细形式。如果 EvRegenerativeBrakingState
中的状态对 OEM 来说不够精细,用户可以通过此属性设置更具体的再生制动级别。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_CURRENT_DRAW_LIMIT
表示用户设置的最大当前充电量阈值。
EvChargeState::configArray[0]
用于指定车辆允许的最大电流消耗量(以安培为单位)。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITEREAD
枚举类型:无
单位类型:VehicleUnit:AMPERE
版本:Android 13
EV_CHARGE_PERCENT_LIMIT
表示用户设置的最大充电百分比阈值。表示用户设置的最大充电百分比阈值。返回 0 到 100 之间的浮点值。configArray 用于指定有效值。例如,如果车辆支持充电百分比限值 [20, 40, 60, 80, 100],configArray 应为 {20, 40, 60, 80, 100}。如果 configArray 为空,则 0 到 100 之间的所有值都必须有效。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE,
、READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_PORT_CONNECTED
电动汽车充电接口被占用。如果车辆有多个充电接口,那么当有任何充电接口被占用时,此属性必须返回
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_PORT_OPEN
电动汽车充电接口空闲。如果车辆有多个充电接口,那么当有任何充电接口空闲时,此属性必须返回 true。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITEREAD
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_STATE
汽车的充电状态。返回汽车当前的充电状态。如果车辆的目标充电百分比不是 100,那么当电池电量达到目标电量时,此属性必须返回 EvChargeState::STATE_FULLY_CHARGED
。如需了解详情,请参阅 EvChargeState::EV_CHARGE_PERCENT_LIMIT
。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:EvChargeState
单位类型:无
版本:Android 13
EV_CHARGE_SWITCH
开始或停止为电动汽车电池充电。用户希望使用的设置。将此属性设为 true 可开始为电池充电,设为 false 可停止充电。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITEREAD
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_TIME_REMAINING
预计剩余充电时间(以秒为单位)。如果车辆未在充电,则返回 0。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:SECS
版本:Android 13
EV_CURRENT_BATTERY_CAPACITY
电动汽车或混合动力汽车当前的可用电池容量。返回电动汽车或混合动力汽车的电池容量实际值。此属性在获取实时可用电池容量时,会考虑电池老化、温度依赖性等因素。此值可能与 INFO_EV_BATTERY_CAPACITY
不同,因为 INFO_EV_BATTERY_CAPACITY
返回的是车辆全新时的标称电池容量。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:WH
版本:Android 14
EV_REGENERATIVE_BRAKING_STATE
汽车的再生制动或单踏板驾驶设置。返回与车辆的再生制动设置相关联的当前设置。如果 OEM 需要的设置多于 EvRegenerativeBrakingState
中提供的设置,可以改用 EV_BRAKE_REGENERATION_LEVEL
属性,该属性可提供更精细的信息。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:EvRegenerativeBrakingState
单位类型:无
版本:Android 13
EV_STOPPING_MODE
表示车辆当前停止模式的属性。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
,除非同时支持 EvStoppingMode
的所有枚举值。未来,EvStoppingMode
枚举可能会扩展到包含更多状态。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以选择将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:EvStoppingMode
单位类型:无
版本:Android 14
EVS_SERVICE_REQUEST
启用并请求 EVS 服务。此属性提供了一种触发 EVS 服务的方式。VHAL 应使用此属性请求 Android 启动或停止 EVS 服务。
int32Values[0]
EVS 服务的类型。该值必须是 EvsServiceType 中的枚举项。int32Values[1]
EVS 服务的状态。该值必须是 EvsServiceState 中的枚举项之一。
例如,如需启用后视 EVS 服务,Android 可以将该属性值设置为:
[EvsServiceType::REAR_VIEW, EvsServiceState::ON]
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
EXTERNAL_CAR_TIME
汽车的当前日期和时间建议,编码为纪元时间(以毫秒为单位)。此值表示自世界协调时间 (UTC) 1970 年 1 月 1 日以来已经过的毫秒数。此属性用于向 Android 表明 CarTime 发生了更改。如果此属性受支持,VHAL 必须在读取此属性时报告最准确的当前 CarTime,并在 CarTime 值发生更改时发布此属性发生更改这一事件。
当 CarTime 因任何原因(时间自然流逝除外)而发生更改时,必须发布此属性的 on-change 事件(时间增量小于 500 毫秒不应触发 on-change 事件)。Android 将读取并订阅此属性,以便从 VHAL 获取时间。这对于使 Android 的时间与其他车载系统(仪表盘时钟)保持同步非常有用。int64Values[0] = 收到的纪元时间(以毫秒为单位)。每当收到该属性的新值时,AAOS 都会创建 ExternalTimeSuggestion 并将其发送到 TimeDetectorService。
如果其他时间源没有更高的优先级,Android 将使用此时间源来设置系统时间。如需了解如何调整时间源优先级以及如何处理时间建议,包括 Android 如何处理 gitter、漂移和最小分辨率,请参阅“时间检测器服务”文档。
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
我们强烈建议不要使用此属性通过协议(例如 GNSS、NTP 和 Telephony)从 ECU 获取时间。由于 Android 已支持这些协议,因此我们建议使用 Android 系统,而不是使用此属性通过 VHAL 进行连接。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLI_SECS
版本:Android 13
FOG_LIGHTS_STATE
雾灯状态。返回雾灯的当前状态。如果:
- 汽车配有前雾灯和后雾灯。前雾灯和后雾灯只能一起控制。必须实现
FOG_LIGHTS_STATE
。不得实现FRONT_FOG_LIGHTS_STATE
和REAR_FOG_LIGHTS_STATE
。 - 前雾灯和后雾灯只能单独控制。不得实现
FOG_LIGHTS_STATE
,但必须实现FRONT_FOG_LIGHTS_STATE
和REAR_FOG_LIGHTS_STATE
。 - 汽车只有前雾灯。必须实现
FOG_LIGHTS_STATE
或FRONT_FOG_LIGHTS_STATE
中的一个(不能同时实现这两者)。不得实现REAR_FOG_LIGHTS_STATE
。 - 汽车只有后雾灯。必须实现
FOG_LIGHTS_STATE
或REAR_FOG_LIGHTS_STATE
中的一个(不能同时实现这两者)。不得实现FRONT_FOG_LIGHTS_STATE
。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
FOG_LIGHTS_SWITCH
雾灯开关。用户希望使用的设置。如果:
- 汽车同时配有前雾灯和后雾灯。如果前雾灯和后雾灯只能一起控制,则必须实现
FOG_LIGHTS_SWITCH
。不得实现FRONT_FOG_LIGHTS_SWITCH
和REAR_FOG_LIGHTS_SWITCH
。 - 前雾灯和后雾灯只能单独控制。不得实现
FOG_LIGHTS_SWITCH
。必须实现FRONT_FOG_LIGHTS_SWITCH
和REAR_FOG_LIGHTS_SWITCH
。 - 汽车只有前雾灯。必须实现
FOG_LIGHTS_SWITCH
或FRONT_FOG_LIGHTS_SWITCH
中的一个(不能同时实现这两者)。不得实现REAR_FOG_LIGHTS_SWITCH
。 - 汽车只有后雾灯。必须实现
FOG_LIGHTS_SWITCH
或REAR_FOG_LIGHTS_SWITCH
中的一个(不能同时实现这两者)。不得实现FRONT_FOG_LIGHTS_SWITCH
。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
FORWARD_COLLISION_WARNING_ENABLED
启用或停用前向碰撞警示 (FCW)。 设置为 true 表示启用 FCW,设置为 false 表示停用 FCW。当 FCW 处于启用状态时,车辆中的 ADAS 系统应保持开启状态,并监测可能发生的碰撞。一般来说,FORWARD_COLLISION_WARNING_ENABLED
应始终返回 true 或 false。如果该功能因某种临时状态(例如车速过低)而无法使用,则必须通过 FORWARD_COLLISION_WARNING_STATE
属性中的 ErrorState
值传达此信息。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
FORWARD_COLLISION_WARNING_STATE
前向碰撞警示 (FCW) 状态。返回当前的 FCW 状态。此属性必须始终返回 ForwardCollisionWarningState
或 ErrorState
中定义的有效状态。它不得通过 StatusCode 显示错误,而必须改用受支持的错误状态。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 ForwardCollisionWarningState
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:ForwardCollisionWarningState/ErrorState
单位类型:无
版本:Android 14
FRONT_FOG_LIGHTS_STATE
前雾灯状态。返回前雾灯的当前状态。必须实现 FOG_LIGHTS_STATE
或 FRONT_FOG_LIGHTS_STATE
中的一个。如需了解详情,请参阅关于 FOG_LIGHTS_STATE
的文档。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
FRONT_FOG_LIGHTS_SWITCH
前雾灯开关。用户希望使用的设置。必须实现 FOG_LIGHTS_SWITCH
或 FRONT_FOG_LIGHTS_SWITCH
中的一个。如需了解详情,请参阅关于 FOG_LIGHTS_SWITCH
的文档。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME
油耗显示单位。表示汽车使用哪种单位向用户显示油耗信息。如果为 True,则表示单位是距离与体积的比值,例如 MPG。False 表示单位是体积与距离的比值,例如 L/100KM。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
FUEL_DOOR_OPEN
油箱盖开着。此属性必须传达车辆油箱盖是开着还是关着。此属性不适用于电动汽车。也就是说,如果 INFO_FUEL_TYPE
仅包含 FuelType::FUEL_TYPE_ELECTRIC
,则不得实现此属性。对于电动汽车,请实现 EV_CHARGE_PORT_OPEN
。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
FUEL_LEVEL
车辆剩余燃料(以毫升为单位)。此属性必须传达车辆中当前剩余的燃油量(以毫升为单位)。此属性不适用于电动汽车。也就是说,如果 INFO_FUEL_TYPE
仅包含 FuelType::FUEL_TYPE_ELECTRIC
,则不得实现此属性。对于电动汽车,请实现 EV_BATTERY_LEVEL
。值不能超过 INFO_FUEL_CAPACITY
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLILITER
版本:Android 13
FUEL_LEVEL_LOW
燃料不足警告。此属性对应于信息中心内的燃料不足警告。设置 FUEL_LEVEL_LOW
后,在向车辆添加更多燃料之前,不应将其清除。此属性可考虑车辆中的所有燃料来源。例如:
- 在汽油车中:此属性仅基于汽油量。
- 在电池供电的车辆中:此属性仅基于电池电量。
- 在混合动力车辆中:此属性可基于汽油和电池电量的组合,具体由 OEM 自行决定。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
FUEL_VOLUME_DISPLAY_UNITS
燃油体积显示单位。表示汽车使用哪些单位向用户显示燃油量。例如升或加仑。VehiclePropConfig.configArray
用于指明支持的燃油量显示单位。体积单位在 VehicleUnit
中定义。例如 configArray[0] = LITER configArray[1] = GALLON
。如果更新 FUEL_VOLUME_DISPLAY_UNITS
会影响其他 *_DISPLAY_UNITS
属性的值,则必须更新这些属性的值,并将其一并传达给 AAOS 框架。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
GEAR_SELECTION
用户选择的档位。配置数据中的值必须表示相应车辆的受支持档位列表。例如,对于自动变速模式,配置数据必须包含 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK,
,而对于手动变速模式,列表必须为 GEAR_DRIVE
, GEAR_1, GEAR_2,...}{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
。对于允许驾驶员按需选择特定档位(例如手动模式)的自动变速车辆,必须将 GEAR_SELECTION
的值设为驾驶员选择的具体档位,而非 GEAR_DRIVE
。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleGear
单位类型:无
版本:Android 13
GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT
欧盟一般安全法规遵从要求。返回一个值,指明是否需要遵从一般安全法规,如果需要,则指明要求类型。
更改模式:静态
访问模式:READ
枚举类型:GsrComplianceRequirementType
单位类型:无
版本:Android 14
GLOVE_BOX_DOOR_POS
表示手套箱门当前位置的属性。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示手套箱门已关闭。minInt32Value
必须是 0。maxInt32Value
表示手套箱门处于完全打开位置。介于 minInt32Value
和 maxInt32Value
之间的值表示处于关闭位置和完全打开位置之间的过渡状态。
此属性不采用任何特定单位,而是采用相对位置的指定范围。区域 ID 必须与预期使用手套箱的乘客所坐的座椅相匹配。例如,如果右前仪表板中嵌入了手套箱,则区域 ID 应为 SEAT_1_RIGHT
。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
GLOVE_BOX_LOCKED
锁上或解锁手套箱。如果为 true,则表示手套箱已锁上。如果为 false,则表示手套箱未锁上。区域 ID 必须与预期使用手套箱的乘客所坐的座椅相匹配。例如,如果右前仪表板中嵌入了手套箱,则区域 ID 应为 VehicleAreaSeat#ROW_1_RIGHT
。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式: READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
Da H a I
HANDS_ON_DETECTION_DRIVER_STATE
离手检测 (HOD) 驾驶员状态。返回以下状况:驾驶员的手是否放在方向盘上。通常,此属性应返回 HandsOnDetectionDriverState
或 ErrorState
中定义的有效状态。例如,如果此功能因某种临时状态而不可用,则应通过 ErrorState
传达此信息。如果车辆因驾驶员的手离开方向盘时间过长而想要向用户发送警告,则应通过 HANDS_ON_DETECTION_WARNING
显示警告。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 HandsOnDetectionDriverState
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:HandsOnDetectionDriverState/ErrorState
单位类型:无
版本:Android 14
HANDS_ON_DETECTION_ENABLED
启用或停用离手检测 (HOD)。设置为 true 表示启用 HOD,设置为 false 表示停用 HOD。当 HOD 处于启用状态时,车辆内的系统应监控驾驶员的手是否放在方向盘上,并在检测到驾驶员的手已离开方向盘时发送警告。一般来说,HANDS_ON_DETECTION_ENABLED
应始终返回 true 或 false。
如果该功能因某种临时状态而不可用,则必须通过 HANDS_ON_DETECTION_STATE
属性中的 ErrorState
值传达此信息。此属性定义为 minInt32Value
VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
HANDS_ON_DETECTION_WARNING
离手检测 (HOD) 警告。返回以下状况:是否因驾驶员双手离开方向盘时间过长而在向驾驶员发送警告。通常,此属性应返回 HandsOnDetectionWarning
或 ErrorState
中定义的有效状态。例如,如果该功能因某种临时状态而不可用,则应通过 ErrorState
传达此信息。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 HandsOnDetectionWarning
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:HandsOnDetectionWarning/ErrorState
单位类型:无
版本:Android 14
HAZARD_LIGHTS_STATE
危险警示灯的状态。返回危险警示灯的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
HAZARD_LIGHTS_SWITCH
危险警示灯开关。用户所需的设置。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
HEADLIGHTS_STATE
前照灯状态。返回前照灯的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
HEADLIGHTS_SWITCH
前照灯开关。用户所需的设置。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
HIGH_BEAM_LIGHTS_STATE
远光灯的状态。返回远光灯的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
HIGH_BEAM_LIGHTS_SWITCH
远光灯开关。用户所需的设置。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
HVAC_AC_ON
为指定的 areaId 开启和关闭空调。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_ACTUAL_FAN_SPEED_RPM
实际风扇速度。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_AUTO_ON
开启和关闭自动温控系统。如果为 true,则自动温控系统处于开启状态。如果为 false,则自动温控系统处于关闭状态。如果车辆不支持直接关闭自动温控系统,原始设备制造商 (OEM) 应在其 VHAL 实现中添加逻辑,以将 HVAC_AUTO_ON
设置为 false,从而更改必要的 HVAC 设置以间接关闭 HVAC_AUTO_ON
。理想情况下,这不应对用户造成干扰。在自动温控系统已关闭时,OEM 应该将被修改的所有设置还原为之前的状态。这样,唯一的结果应该是 HVAC_AUTO_ON
处于关闭状态。如果无法将 HVAC 设置恢复为之前的设置,OEM 应实现干扰最小的更改。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_AUTO_RECIRC_ON
自动内循环开启或关闭。自动内循环处于开启状态时,如果车辆检测到进气质量不佳,HVAC 系统可能会自动切换到内循环模式。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_DEFROSTER
为指定车窗使用风扇除霜。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_DUAL_ON
启用区域之间的温度耦合。HVAC_DUAL_ON
属性的 AreaIDs
应包含可耦合在一起的 HVAC_TEMPERATURE_SET
AreaIDs
组合。如果 HVAC_TEMPERATURE_SET
映射到 AreaIDs
[a_1, a_2, ..., a_n],并且如果 HVAC_DUAL_ON
可启用以耦合 a_i 和 a_j,则 HVAC_DUAL_ON
属性必须映射到 [a_i | a_j]。此外,如果 a_k 和 a_l 也可以单独耦合在一起,则 HVAC_DUAL_ON
必须映射到 [a_i | a_j, a_k | a_l]。例如,某辆汽车有两个前排座椅(ROW_1_LEFT
和 ROW_1_RIGHT
)和三个后排座椅(ROW_2_LEFT、ROW_2_CENTER 和 ROW_2_RIGHT)。有两个温度控制单元,分别位于驾驶员侧和乘客侧,可选择是否让其同步。这可以在 AreaIDs
中按如下方式表示:
HVAC_TEMPERATURE_SET > [ROW_1_LEFT | ROW_2_LEFT, ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT] HVAC_DUAL_ON > [ROW_1_LEFT | ROW_2_LEFT | ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT]
启用此属性后,ECU 必须同步受影响区域的温度。如果开启或关闭 DUAL_ON 参数导致了有参数被修改的副作用,任何被修改的参数都应生成对 VHAL 的 onPropertyEvent()
回调。此外,如果设置一个温度(例如,驾驶员温度)会更改另一温度(例如,前排乘客温度),则必须生成适当的 onPropertyEvent()
回调。
如果用户更改温度而破坏了耦合(例如,独立设置乘客侧温度),则 VHAL 必须发送适当的 onPropertyEvent()
回调(包括 HVAC_DUAL_ON = false and HVAC_TEMPERATURE_SET[AreaID] = xxx
)。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_ELECTRIC_DEFROSTER_ON
电加热除霜器的状态。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_FAN_DIRECTION
风扇方向设置。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleHvacFanDirection
单位类型:无
版本:Android 13
HVAC_FAN_DIRECTION_AVAILABLE
可用风扇位置。这是一个用于表示该区域可用风扇位置的位掩码。每个可用风扇方向在矢量中都由一个单独的条目表示。为了实现某个风扇方向,可能需要同时设置 vehicle_hvac_fan_direction
中的多个位。例如,一辆典型的汽车可能具有以下风扇位置:
- FAN_DIRECTION_FACE (0x1) - FAN_DIRECTION_FLOOR (0x2) - FAN_DIRECTION_FACE | FAN_DIRECTION_FLOOR (0x3) - FAN_DIRECTION_DEFROST (0x4) - FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST (0x6)
更改模式:静态
访问模式:READ
枚举类型:VehicleHvacFanDirection
单位类型:无
版本:Android 13
HVAC_FAN_SPEED
风扇速度设置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
最低风扇速度maxInt32Value
最高风扇速度
此属性不采用任何特定单位,而是采用相对速度的指定范围。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可选择将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_MAX_AC_ON
开启或关闭 MAX 空调。当 MAX 空调处于开启状态时,ECU 可以根据需要调整通风口位置、风扇速度、温度等项目,以尽快为车辆降温。如果开启或关闭 MAX 空调参数导致了有参数被修改的副作用,任何被修改的参数都应生成对 VHAL 的 onPropertyEvent()
回调。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_MAX_DEFROST_ON
开启和关闭 MAX 除霜。当 MAX 除霜处于开启状态时,ECU 可以根据需要调整通风口位置、风扇速度、温度等项目,以尽快给车窗除霜。如果开启或关闭 MAX 除霜参数导致了有参数被修改的副作用,任何被修改的参数都应生成对 VHAL 的 onPropertyEvent()
回调。HVAC_MAX_DEFROST_ON
的 AreaIDs
表示在该区域内 MAX 除霜可控制。例如,areaConfig.areaId = {ROW_1_LEFT | ROW_1_RIGHT}
表示只能控制前排的 HVAC_MAX_DEFROST_ON
。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_POWER_ON
表示 HVAC 的全局电源状态。将此属性设为 false 可能会将一些用于控制各个 HVAC 功能和子系统的属性标记为处于 UNAVAILABLE 状态。将此属性设为 true 可能会将一些用于控制各个 HVAC 功能和子系统的属性标记为处于 AVAILABLE 状态(除非其中任何属性或所有属性都因各自特性而处于 UNAVAILABLE 状态)。
HvacPower_DependentProperties
是指那些需要 HVAC 处于开机状态才能启用功能的属性。例如,在某些车辆中,如需开启空调,必须先将 HVAC 开机。HvacPower_DependentProperties
列表必须在 VehiclePropConfig.configArray
中设置;HvacPower_DependentProperties
只能包含与 VehicleArea:SEAT
相关联的属性
HVAC_POWER_ON
属性的 AreaID 映射必须包含 HvacPower_DependentProperties
映射到的所有 AreaIDs
。例如,一辆汽车有:
- 两个前排座椅(
ROW_1_LEFT
、ROW_1_RIGHT
)和三个后排座椅(ROW_2_LEFT、ROW_2_CENTER、ROW_2_RIGHT)。如果整个车辆的 HVAC 功能(空调、温度等)依赖于单个 HVAC 电源控制器,则HVAC_POWER_ON
必须映射到 [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
- 两个前排座椅(
ROW_1_LEFT
、ROW_1_RIGHT
)、三个第二排座椅 (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT
) 和三个第三排座椅 (ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT
)。如果汽车的前排有温度控制器,并且它可以完全独立于车辆后部的温度控制器运行,则必须将HVAC_POWER_ON
映射到一个包含两个元素的数组:- ROW_1_LEFT | ROW_1_RIGHT - ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_RIGHT
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以选择将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_RECIRC_ON
开启和关闭内循环。控制车厢内外部空气的供应情况。内循环处于开启状态,表示进入车厢的大部分气流都来自车厢。内循环处于关闭状态,表示进入车厢的大部分气流来自车外。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_SEAT_TEMPERATURE
座椅加热和冷却。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅加热温度设置的最高值。除非车辆支持座椅冷却,否则 minInt32Value
必须为 0。在本例中,minInt32Value
表示座椅冷却温度设置的最高值。此属性不采用任何特定单位,而是采用指定范围的相对温度设置。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_SEAT_VENTILATION
座椅通风。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
必须是 0。maxInt32Value
表示座椅可用的最大通风设置。
此属性不采用任何特定单位,而是采用通风设置的指定范围。
供 HVAC 应用和 Google 助理使用,用于启用、更改或读取座椅通风状态。这与座椅冷却不同。它可以在冷却的同时开启,也可不在冷却的同时开启。
此属性定义为 >VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_SIDE_MIRROR_HEAT
侧视镜加热。值越高,表示侧视镜加热水平就越高。必须在 VehicleAreaConfig
中定义 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。在配置数据中:
maxInt32Value
表示最高加热级别。minInt32Value
必须为 0,表示不加热。
此属性不采用任何特定单位,而是采用相对加热设置的指定范围。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以选择将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_STEERING_WHEEL_HEAT
设置方向盘的加热和冷却值范围。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示方向盘加热设置的最大值。minInt32Value
应为 0,除非车辆也支持方向盘冷却。在本例中,minInt32Value
表示方向盘冷却设置的最大值。此属性不采用任何特定单位,而是采用加热设置的指定范围。此属性定义为 VehiclePropertyAccess.READ
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_TEMPERATURE_CURRENT
HVAC 当前温度。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
HVAC_TEMPERATURE_DISPLAY_UNITS
温度显示单位。指明温度是以摄氏度还是华氏度显示。VehiclePropConfig.configArray
表示支持的温度显示单位。例如,configArray[0] = CELSIUS configArray[1] = FAHRENHEIT
此参数可用于显示系统中的任何 HVAC 温度。值必须为 VehicleUnit.CELSIUS
或 VehicleUnit.FAHRENHEIT
之一
如果更新 HVAC_TEMPERATURE_DISPLAY_UNITS 会影响其他 *_DISPLAY_UNITS
属性的值,则必须更新它们的值,并将其传达给 AAOS 框架。
此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
HVAC_TEMPERATURE_SET
以摄氏度为单位设置的 HVAC 目标温度。
必须定义 VehicleAreaConfig
中的 minFloatValue
和 maxFloatValue
:
minFloatValue
最低温度设置(摄氏度)。maxFloatValue
最高温度设置(摄氏度)。
如果不支持 minFloatValue
和 maxFloatValue
之间的所有值,请使用 configArray
列出可设置的有效温度值。此文件还介绍了用于将车辆温度单位从摄氏度换算为华氏度(反之亦然)的对照表。如果车辆不支持标准单位换算,则必须定义 configArray
。
configArray
的设置如下:
configArray[0]
[支持的温度下限(摄氏度)] * 10configArray[1]
[支持的温度上限(摄氏度)] * 10configArray[2]
[增量(摄氏度)] * 10configArray[3]
[支持的温度下限(华氏度)] * 10configArray[4]
[支持的温度上限(华氏度)] * 10configArray[5]
[增量(华氏度)] * 10
VehicleAreaConfig
中的 minFloatValue
和 maxFloatValue
必须分别等于 configArray[0]
和 configArray[1]
。例如,如果车辆支持温度值为 [16.0, 16.5, 17.0 ,..., 28.0] in Celsius [60.5, 61.5, 62.5 ,..., 84.5]
(华氏度),则 configArray
应为 configArray = {160, 280, 5, 605, 845, 10}
理想情况下,摄氏度增量与华氏度增量的比率应尽可能接近 1 摄氏度与 1.8 华氏度的实际比率。所有摄氏度值必须与由 configArray
定义的华氏度值一对一映射。客户使用 configArray
将此属性的温度单位从摄氏度换算为华氏度。此外,它还让客户清楚了解:要将此属性的摄氏度值设置为多少,系统才能达到客户所需的华氏度值。如果 ECU 没有将所有摄氏度值与华氏度值进行一对一映射,则 configArray
应仅定义具有一对一映射关系的摄氏度值和华氏度值列表。
例如,如果 ECU 支持 16 到 28 摄氏度值和 60 到 85 华氏度值,每个值的增量为 1,则一个可能的 configArray
为 code>{160, 280, 10, 600, 840, 20}。在本例中,85 不是受支持的温度。
任何设置在有效值之间的数值都应四舍五入到最接近的有效值。我们强烈建议 OEM 还实现 HVAC_TEMPERATURE_VALUE_SUGGESTION
车辆属性,因为它为应用提供了一种简单的方法来确定可为车辆设置的温度值,以及在摄氏度和华氏度之间换算值。
此属性定义为 VehiclePropertyAccess.READ
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
HVAC_TEMPERATURE_VALUE_SUGGESTION
设置 HVAC 温度时的建议值。
实现此属性有助于应用了解最接近的受支持温度值(摄氏度或华氏度)。
floatValues[0]
应用希望设置的目标请求值。floatValues[1]
floatValues[0]
的单位,应为{VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}
之一floatValues[2]
OEM 建议的摄氏度值(此值不包含在请求中)。floatValues[3]
OEM 建议的华氏度值(此值不包含在请求中)。
应用调用 set(VehiclePropValue propValue)
并传入请求的值和该值的单位。OEM 需要通过 onPropertyEvent()
回调在 floatValues[2]
和 floatValues[3]
中返回建议的值。建议的值必须符合可从 HVAC_TEMPERATURE_SET
configArray
派生出的值。换句话说,建议的值和 configArray
中的值表应相同。
我们建议 OEM 在其 VHAL 实现中添加自定义逻辑,以避免向 HVAC ECU 发出请求。逻辑可以如下所示。如需将温度从摄氏度换算成华氏度,请执行以下操作:
// Given tempC and the configArray float minTempC = configArray[0] / 10.0; float temperatureIncrementCelsius = configArray[2] / 10.0; float minTempF = configArray[3] / 10.0; float temperatureIncrementFahrenheit = configArray[5] / 10.0; // Round to the closest increment int numIncrements = round((tempC - minTempC) / temperatureIncrementCelsius); tempF = temperatureIncrementFahrenheit * numIncrements + minTempF;
例如,当驾驶员使用语音助理将 HVAC 温度设置为华氏 66.2 度时。首先,应用使用值 [66.2, (float)VehicleUnit.FAHRENHEIT,0,0]
设置此属性。如果 OEM 应用户请求建议将温度设置为 19.0 摄氏度或 66.5 华氏度,则 VHAL 必须生成一个具有属性值 [66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5]
的回调。语音助理收到回调后,会通知用户并将 HVAC 温度设置为建议的值。
再举一个例子,一款应用通过查询 HVC_TEMPERATURE_SET
收到 21 摄氏度作为当前温度值,但应用需要知道汽车界面上显示的华氏度值。为此,应用会将该属性设置为 [21, (float)VehicleUnit.CELSIUS, 0, 0]
;如果 OEM 针对 21 摄氏度建议的值为 70 华氏度,则 VHAL 必须生成一个属性值为 [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0]
的回调。在这种情况下,应用就可以知道汽车界面中的值为 70.0 华氏度。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
HW_CUSTOM_INPUT
定义一个自定义 OEM 合作伙伴输入事件。希望传播 Android 不支持的事件的原始设备制造商 (OEM) 合作伙伴必须使用此输入事件。它仅由一个含 int32 值的数组组成。Android 属性如下:
int32Values[0]
输入代码,用于标识表示此事件的函数。有效事件类型由CustomInputType.CUSTOM_EVENT_F1
定义,最高可达CustomInputType.CUSTOM_EVENT_F10
。它们表示要由 OEM 合作伙伴定义的自定义事件。int32Values[1]
在VehicleDisplay
中定义的目标显示屏类型 未与特定显示屏相关联的事件必须发送到VehicleDisplay#MAIN
int32Values[2]
重复计数器,如果为 0,则表示相应事件未重复。值为 1 或更高表示相应事件已重复的次数。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:CustomInputType
单位类型:无
版本:Android 13
HW_KEY_INPUT
此属性用于将硬件输入事件馈送给 Android。
int32Values[0]
由 VehicleHwKeyInputAction 定义的操作int32Values[1]
键码,必须使用标准 Android 键码int32Values[2]
在VehicleDisplay
中定义的目标显示屏 未与特定显示屏相关联的事件必须发送到VehicleDisplay#MAIN
int32Values[3]
(可选):计数次数。该值必须等于或大于 1。如果省略,Android 会将其默认为 1。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
HW_KEY_INPUT_V2
此属性用于将硬件输入事件馈送给 Android。
int32array[0]
由VehicleDisplay
定义的目标显示屏,例如:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
int32array[1]
键码,必须使用标准 Android 键码,例如KEYCODE_HOME
和KEYCODE_BACK
int32array[2]
VehicleHwKeyInputAction 中定义的操作,例如:
VehicleHwKeyInputAction::ACTION_UP
、VehicleHwKeyInputAction::ACTION_UP
int32array[3]
事件的重复计数。对于键按下事件,这表示重复按下键的计数,第一次按下时从 0 开始递增计数。对于键释放事件,此值始终为 0。int64array[0]
按下时间,自上次启动以来经过的纳秒数。表示最近一次键按下事件的时间。对于键按下事件,这是此类事件的事件时间。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14
HW_MOTION_INPUT
此属性用于将硬件输入事件馈送给 Android。
int32array[0]
由VehicleDisplay
定义的目标显示屏,例如:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER
、VehicleDisplay::AUX
int32array[1]
VehicleHwMotionInputSource 中定义的输入类型,例如:
VehicleHwMotionInputSource::SOURCE_KEYBOARD
、VehicleHwMotionInputSource::SOURCE_DPAD
int32array[2]
VehicleHwMotionInputAction 中定义的操作码,例如:
VehicleHwMotionInputAction::ACTION_UP
、VehicleHwMotionInputAction::ACTION_DOWN
int32array[3]
VehicleHwMotionButtonStateFlag 中定义的按钮状态标志,例如:
VehicleHwMotionButtonStateFlag::BUTTON_PRIMARY
、VehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
int32array[4]
指针事件计数,N。N 必须是正整数。int32array[5:5+N-1]
指针 ID,长度为 Nint32array[5+N:5+2*N-1]
工具类型,长度为 N。如VehicleHwMotionToolType
中所定义,例如:
、VehicleHwMotionToolType::TOOL_TYPE_FINGER
、VehicleHwMotionToolType::TOOL_TYPE_STYLUS
floatArray[0:N-1]
x 数据,长度为 NfloatArray[N:2*N-1]
y 数据,长度为 NfloatArray[2*N:3*N-1]
压力数据,长度为 NfloatArray[3*N:4*N-1]
尺寸数据,长度为 Nint64array[0]
按下时间,自启动以来经过的纳秒数。表示用户最初按下键来启动一系列位置事件时的时间。对于键按下事件,这是此类事件的事件时间。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14
HW_ROTARY_INPUT
此属性用于将硬件旋转事件馈送给 Android。
int32Values[0]
RotaryInputType,用于确定旋转了哪个旋钮。int32Values[1]
定位点(发出咔嗒声)数量,顺时针为正数,逆时针为负数。int32Values[2]
在VehicleDisplay
中定义的目标显示屏 未与特定显示屏相关联的事件必须发送到VehicleDisplay#MAIN
int32values[3 .. 3 + abs(number of detents) - 2]
连续定位点对之间的纳秒差异(当定位点数量大于 1 或小于 -1 时)。VehiclePropValue.timestamp
旋转发生的时间。如果定位点数量大于 1 或小于 -1,则表示发生旋转时到底第一个定位点的时间。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:RotaryInputType
单位类型:无
版本:Android 13
IGNITION_STATE
表示点火状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleIgnitionState
单位类型:无
版本:Android 13
INFO_DRIVER_SEAT
驾驶员座椅位置 VHAL 实现必须忽略 areaId。使用 VehicleArea:GLOBAL
更改模式:静态
访问模式:READ
枚举类型:VehicleAreaSeat
单位类型:无
版本:Android 13
INFO_EV_BATTERY_CAPACITY
电动汽车或混合动力汽车的标称电池容量。返回电动汽车或混合动力汽车的标称电池容量。这是车辆全新时的总可用电池容量。此值可能与 EV_CURRENT_BATTERY_CAPACITY
不同,因为 EV_CURRENT_BATTERY_CAPACITY
会考虑电池老化、温度依赖性等因素,并返回实时可用电池容量。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:WH
版本:Android 13
INFO_EV_CONNECTOR_TYPE
此电动汽车可能使用的连接器的列表。如果车辆有多个充电接口,此属性必须返回车辆上至少一个充电接口可用的所有可能的连接器类型。
更改模式:静态
访问模式:READ
枚举类型:EvConnectorType
单位类型:无
版本:Android 13
INFO_EV_PORT_LOCATION
此属性必须使用 PortLocationType 枚举来传达电动汽车上的充电接口的位置。如果车辆有多个接口,此属性必须返回可实现最快充电速度的接口。如需传达所有接口的位置,请使用 INFO_MULTI_EV_PORT_LOCATIONS
访问模式:读取
枚举类型:
PortLocationType
单位类型:无
版本:Android 13
INFO_EXTERIOR_DIMENSIONS
车辆外部尺寸:
- 高度:
int32Values[0]
- 长度:
int32Values[1]
- 宽度:
int32Values[2]
- 宽度(包括车镜):
int32Values[3]
- 轴距(包括车镜):
int32Values[4]
- 前轮距:
int32Values[5]
- 后轮距:
int32Values[6]
- 路缘到路缘转弯直径:
int32Values[7]
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLIMETER
版本:Android 13
INFO_FUEL_CAPACITY
车辆的燃料容量(以毫升为单位)。此属性必须传达车辆中可存储的最大燃料量(以毫升为单位)。此属性不适用于电动汽车 (EV)。也就是说,如果 INFO_FUEL_TYPE
仅包含 FuelType::FUEL_TYPE_ELECTRIC
,则不得实现 INFO_FUEL_CAPACITY。对于电动汽车,请实现 INFO_EV_BATTERY_CAPACITY。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLILITER
版本:Android 13
INFO_FUEL_DOOR_LOCATION
油箱盖位置。此属性必须传达车辆油箱盖的位置。此属性不适用于电动汽车。也就是说,如果 INFO_FUEL_TYPE
仅包含 FuelType::FUEL_TYPE_ELECTRIC
,则不得实现此属性。对于电动汽车,请实现 INFO_EV_PORT_LOCATION
或 INFO_MULTI_LOCATIONS
更改模式:静态
访问模式:READ
枚举类型:PortLocationType
单位类型:无
版本:Android 13
INFO_FUEL_TYPE
车辆可能使用的燃料的列表。必须仅在车辆可插电充电时才包含 FuelType::FUEL_TYPE_ELECTRIC
。例如,全混合动力汽车 (FHEV) 不得将 FuelType::FUEL_TYPE_ELECTRIC
作为 INFO_FUEL_TYPE
的 INT32_VEC 值包含在内;INFO_FUEL_TYPE
可以这样填充。
int32Values = { FuelType::FUEL_TYPE_UNLEADED }
FuelType::FUEL_TYPE_ELECTRIC
作为 INFO_FUEL_TYPE
的 INT32_VEC 值;INFO_FUEL_TYPE
可以这样填充:int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }
更改模式:静态
访问模式:READ
枚举类型:FuelType
单位类型:无
版本:Android 13
INFO_MAKE
车辆制造商。此属性必须传达车辆的公开品牌名称。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
INFO_MODEL
车辆型号。此属性必须传达车辆的公开品牌名称。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
INFO_MODEL_YEAR
车辆的车型年份,采用公历的“YYYY”格式。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:YEAR
版本:Android 13
INFO_MULTI_EV_PORT_LOCATIONS
多个电动汽车充电接口位置。如果车辆有多个电动汽车充电接口,请实现此属性。接口位置在 PortLocationType 中定义。例如:一辆车在前左侧有一个接口,在后左侧也有一个接口:
int32Values[0] = PortLocationType::FRONT_LEFT int32Values[1] = PortLocationType::REAR_LEFT
如果车辆只有一个端口,此属性的值应列出一个元素。如需说明一个接口位置,请参阅 INFO-EV-PORT-LOCATION
.
更改模式:静态
访问模式:READ
枚举类型:PortLocationType
单位类型:无
版本:Android 13
INFO_VIN
汽车的车辆识别码 (VIN)。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
INITIAL_USER_INFO
定义初始化期间要使用的 Android 用户。Android 系统在初始化时会调用此属性,并让 HAL 定义应启动哪个 Android 用户。此请求是通过设置 VehiclePropValue(由 InitialUserInfoRequest
定义)发出的,并且 HAL 必须通过属性更改事件(由 InitialUserInfoResponse 定义)进行响应。如果 HAL 在 Android 系统定义的时间后没有响应,Android 系统会继续执行,就像 HAL 返回了操作 InitialUserInfoResponseAction:DEFAULT 的响应一样。例如,在首次启动时,请求可以是:
int32[0] 42 // request id (arbitrary number set by Android system) int32[1] 1 // InitialUserInfoRequestType::FIRST_BOOT int32[2] 0 // id of current user (usersInfo.currentUser.userId) int32[3] 1 // flag of current user (usersInfo.currentUser.flags = SYSTEM) int32[4] 1 // number of existing users (usersInfo.numberUsers); int32[5] 0 // user #0 (usersInfo.existingUsers[0].userId) int32[6] 1 // flags of user #0 (usersInfo.existingUsers[0].flags)
int32[0] 42 // must match the request id from the request int32[1] 2 // action = InitialUserInfoResponseAction::CREATE int32[2] -10000 // userToSwitchOrCreate.userId (not used as user will be created) int32[3] 8 // userToSwitchOrCreate.flags = ADMIN string: "||Owner" // userLocales + separator + userNameToCreate
InitialUserInfoResponseAction:CREATE
时)。例如,如需使用 en-US 和 pt-BR 语言区域创建同一个“Owner”用户,响应的字符串值为 en-US,pt-BR||Owner。因此,语言区域和名称中都不能包含两条竖线 (||
),但可以使用单条竖线 (|
)。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
Da J a R
LANE_CENTERING_ASSIST_COMMAND
Comandi di assistenza per il mantenimento della corsia (LCA). Comandi per attivare e sospendere l'LCA.
Quando viene inviato il comando ACTIVATE
da LaneCenteringAssistCommand
,
LANE_CENTERING_ASSIST_STATE
deve essere impostato su LaneCenteringAssistState#ACTIVATION_REQUESTED
Quando il
comando ACTIVATE
ha esito positivo,
LANE_CENTERING_ASSIST_STATE
deve essere impostato su LaneCenteringAssistState#ACTIVATED
Quando il comando
DEACTIVATE
da LaneCenteringAssistCommand
ha esito positivo,
LANE_CENTERING_ASSIST_STATE
deve essere impostato su
LaneCenteringAssistState#ENABLED
Per l'ID area globale (0), VehicleAreaConfig#supportedEnumValues
deve essere definito, a meno che non siano supportati tutti i valori dell'enum di LaneCenteringAssistCommand
. Quando questa proprietà non è disponibile perché l'LCA è disattivata (ad esempio, LANE_CENTERING_ASSIST_ENABLED
è false), deve restituire StatusCode#NOT_AVAILABLE_DISABLED
. Se LANE_CENTERING_ASSIST_STATE
è implementato e lo stato è impostato su un valore ErrorState
, questa proprietà deve restituire un StatusCode
in linea con il valore ErrorState
. Ad esempio, se LANE_CENTERING_ASSIST_STATE
è impostato su
ErrorState#NOT_AVAILABLE_SPEED_LOW
, questa proprietà deve restituire
StatusCode#NOT_AVAILABLE_SPEED_LOW
Modalità di modifica: ON_CHANGE
Modalità di accesso: WRITE
Tipo di enumerazione: LaneCenteringAssistCommand
Tipo di unità: N/A
Release: Android 14
LANE_CENTERING_ASSIST_ENABLED
Attiva o disattiva l'assistenza per il mantenimento della corsia (LCA). Imposta true per attivare l'LCA e false per disattivarla. Quando l'LCA è attiva, il sistema ADAS del veicolo deve essere acceso e in attesa di un segnale di attivazione da parte del conducente. Una volta attivata la funzionalità, il sistema ADAS dovrebbe controllare il veicolo per mantenerlo al centro della corsia attuale.
È diverso dal sistema di assistenza alla guida in corsia (LKA), che controlla se il conducente sbanda involontariamente verso o oltre la linea di mezzeria. Se viene rilevata una deviazione involontaria dalla corsia, il sistema applica il controllo dello sterzo per riportare il veicolo nella corsia corrente.
In generale, LANE_CENTERING_ASSIST_ENABLED
deve sempre restituire true o false. Se la funzionalità non è disponibile a causa di uno stato temporaneo, ad esempio se la velocità del veicolo è troppo bassa o troppo elevata, queste informazioni devono essere trasmesse tramite i valori ErrorState
nella proprietà LANE_CENTERING_ASSIST_STATE
.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
LANE_CENTERING_ASSIST_STATE
Stato dell'assistenza di centratura corsia (LCA). Restituisce lo stato corrente dell'LCA. Questa proprietà deve sempre
restituire uno stato valido definito in LaneCenteringAssistState
o ErrorState
Non deve mostrare errori tramite StatusCode
e deve utilizzare gli stati di errore supportati.
Se il sistema LCA include avvisi di abbandono corsia, questi avvisi devono essere visualizzati tramite le proprietà Avviso di abbandono corsia (LDW).
Per l'ID area globale (0), l'array VehicleAreaConfig#supportedEnumValues
deve essere definito, a meno che non siano supportati tutti gli stati di LaneCenteringAssistState
(incluso OTHER, che non è consigliato) e ErrorState
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: LaneCenteringAssistState/ErrorState
Tipo di unità: N/A
Release: Android 14
LANE_DEPARTURE_WARNING_ENABLED
Attiva o disattiva l'avviso di cambio corsia (LDW). Imposta true per attivare la funzionalità LDW e false per disattivarla. Quando LDW è attivato, il sistema ADAS nel veicolo deve essere acceso e monitorare se il veicolo si sta avvicinando o sta attraversando le linee di corsia, nel qual caso verrà emesso un avviso.
In generale, LANE_DEPARTURE_WARNING_ENABLED
deve sempre restituire true o false. Se la funzionalità non è disponibile a causa di uno stato temporaneo, ad esempio se la velocità del veicolo è troppo bassa o troppo elevata, queste informazioni devono essere trasmesse tramite i valori ErrorState
nella proprietà LANE_DEPARTURE_WARNING_STATE
.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
LANE_DEPARTURE_WARNING_STATE
Stato dell'avviso di cambio corsia (LDW). Restituisce lo stato corrente di LDW. Questa proprietà deve sempre
restituire uno stato valido definito in LaneDepartureWarningState
o ErrorState
Non deve mostrare errori tramite StatusCode
e deve utilizzare gli stati di errore supportati.
Per l'ID area globale (0), l'array VehicleAreaConfig#supportedEnumValues
deve essere definito, a meno che non siano supportati tutti gli stati di LaneDepartureWarningState
(incluso OTHER, che non è consigliato) e ErrorState
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: LaneDepartureWarningState/ErrorState
Tipo di unità: N/A
Release: Android 14
LANE_KEEP_ASSIST_ENABLED
Attiva o disattiva il sistema di assistenza alla guida in corsia (LKA). Imposta true per attivare LKA e false per disattivarlo. Quando LKA è attivato, il sistema ADAS del veicolo deve essere acceso e monitorare se il conducente si sposta involontariamente verso o oltre la linea di mezzeria. Se viene rilevata un'uscita involontaria dalla corsia, il sistema applica il controllo dello sterzo per riportare il veicolo nella corsia corrente. È diverso dall'assistenza per il mantenimento della corsia (LCA) che, se attivata, applica un controllo continuo del volante per mantenere il veicolo al centro della corsia corrente.
In generale, LANE_KEEP_ASSIST_ENABLED
deve sempre restituire true o false. Se la funzionalità non è disponibile a causa di uno stato temporaneo, ad esempio se la velocità del veicolo è troppo bassa o troppo elevata, queste informazioni devono essere trasmesse tramite i valori ErrorState
nella proprietà LANE_KEEP_ASSIST_STATE
.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
LANE_KEEP_ASSIST_STATE
Stato dell'assistenza alla guida in corsia (LKA). Restituisce lo stato attuale di LKA. Questa proprietà deve sempre restituire un stato valido definito in LaneKeepAssistState
o ErrorState
. Non deve mostrare errori tramite StatusCode
e deve utilizzare gli stati di errore supportati
Se LKA include avvisi di abbandono corsia prima di applicare le correzioni dello sterzo, questi avvisi devono essere visualizzati tramite le proprietà di avviso di abbandono corsia (LDW).
Per l'ID area globale (0), l'array VehicleAreaConfig#supportedEnumValues
deve essere definito
a meno che non siano supportati tutti gli stati di LaneKeepAssistState
(incluso OTHER, che non è consigliato) e
ErrorState
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: LaneKeepAssistState/ErrorState
Tipo di unità: N/A
Release: Android 14
LOCATION_CHARACTERIZATION
Caratterizzazione degli input utilizzati per calcolare la posizione. Questa proprietà deve indicare quali dati e input dei sensori (se presenti) vengono presi in considerazione dal sistema prilikom pisanja lokacije vozila koja se dijeli s Androidom preko GNSS HAL-a.
Il valore deve restituire una raccolta di flag di bit. I bit flag sono definiti in LocationCharacterization. Il valore deve includere anche esattamente uno di DEAD_RECKONED
o
RAW_GNSS_ONLY
tra i flag di bit.
Quando questa proprietà non è supportata, si presume che nessun input aggiuntivo del sensore sia combinato negli aggiornamenti GNSS forniti tramite l'HAL GNSS. A meno che non sia specificato diversamente tramite le interfacce HAL GNSS.
Modalità di modifica: STATIC
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
MIRROR_AUTO_FOLD_ENABLED
Rappresenta la proprietà per la funzionalità di chiusura automatica del retrovisore. Questa proprietà è vera quando è attivata la funzionalità di chiusura automatica degli specchietti laterali del veicolo (ad esempio, quando gli specchietti si chiudono automaticamente quando si esce e si chiude il veicolo).
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
MIRROR_AUTO_TILT_ENABLED
Rappresenta la proprietà per la funzionalità Inclinazione automatica specchio. Questa proprietà è vera quando è attivata la funzionalità di inclinazione automatica degli specchietti laterali del veicolo (ad esempio, quando gli specchietti si inclinano automaticamente verso il basso quando si mette in retromarcia).
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
MIRROR_FOLD
Piega a specchio. Il valore True indica che gli specchi sono ripiegati. Questa proprietà è definita come
VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come
VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
MIRROR_LOCK
Blocco dello specchio. True indica che le posizioni degli specchi sono bloccate e non possono essere modificate.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
MIRROR_Y_MOVE
Movimento Y speculare. maxInt32Value
e minInt32Value
in ogni
VehicleAreaConfig
devono essere definiti.
Tutti i numeri interi compresi tra minInt32Value
e maxInt32Value
devono essere supportati.
maxInt32Value
indica la velocità massima di movimento dello specchio durante l'inclinazione
verso destra. minInt32Value
indica la velocità massima di movimento dello specchio mentre si inclina a sinistra.
Valori assoluti più elevati, positivi o negativi, indicano una maggiore velocità di movimento. Una volta che il specchio raggiunge il limite di posizione, il valore deve essere reimpostato su 0. Se il valore di MIRROR_Y_MOVE è attualmente 0, significa che non è in corso alcun movimento.
Questa proprietà non è in un'unità specifica, ma in un intervallo specificato di velocità di movimento relative.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
MIRROR_Y_POS
Posizione Y speculare. maxInt32Value
e minInt32Value
in
VehicleAreaConfig
devono essere definiti.
Tutti i numeri interi compresi tra minInt32Value
e maxInt32Value
devono essere supportati.
minInt32Value
indica che lo specchietto è inclinato completamente verso sinistra.
Deve essere un valore non positivo. maxInt32Value
indica che lo specchio è inclinato completamente a destra. Deve essere un valore non negativo. 0 indica che lo specchio non è inclinato in nessuna direzione.
I valori compresi tra minInt32Value
e maxInt32Value
indicano uno stato di transizione tra le posizioni estreme sinistra e destra.
Questa proprietà non è in un'unità particolare, ma in un intervallo specificato di posizioni relative.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
MIRROR_Z_MOVE
Esegui la mossa Z speculare. maxInt32Value
e minInt32Value
in ogni
VehicleAreaConfig
devono essere definiti.
Tutti i numeri interi compresi tra minInt32Value
e maxInt32Value
devono essere supportati.
maxInt32Value
indica la velocità massima di movimento dello specchio durante l'inclinazione verso l'alto.
minInt32Value
indica la velocità massima di movimento dello specchio durante l'inclinazione verso il basso.
Valori assoluti più elevati, positivi o negativi, indicano una maggiore velocità di movimento. Una volta che il specchio raggiunge il limite di posizione, il valore deve essere reimpostato su 0. Se il valore di MIRROR_Z_MOVE è attualmente 0, significa che non è in corso alcun movimento.
Questa proprietà non è in un'unità specifica, ma in un intervallo specificato di velocità di movimento relative.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
MIRROR_Z_POS
Posizione Z speculare. maxInt32Value
e minInt32Value
in
VehicleAreaConfig
devono essere definiti. Tutti i numeri interi compresi tra minInt32Value
e maxInt32Value
devono essere supportati. minInt32Value
indica che lo specchio è inclinato completamente verso il basso. Deve essere un valore non positivo. maxInt32Value
indica che lo specchio è inclinato completamente verso l'alto. Deve essere un valore non negativo. 0 indica che lo specchio non è inclinato in nessuna direzione.
I valori compresi tra minInt32Value
e maxInt32Value
indicano un
stato di transizione tra le posizioni completamente verso il basso e completamente verso l'alto.
Questa proprietà non è in un'unità particolare, ma in un intervallo specificato di posizioni relative.
Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come VehiclePropertyAccess.READ
.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
NIGHT_MODE
Il valore True indica che il sensore della modalità notturna ha rilevato che l'ambiente dell'abitacolo dell'auto è poco illuminato. La piattaforma può utilizzarla, ad esempio, per attivare un'interfaccia utente appropriata per una migliore visualizzazione in ambienti bui o con scarsa illuminazione.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
OBD2_FREEZE_FRAME
Genera uno snapshot del valore dei sensori OBD2 disponibili al momento in cui si è verificato e rilevato un guasto. È necessario fornire un array config con lo stesso significato definito per
OBD2_LIVE_FRAME
I valori di questa proprietà devono essere interpretati in modo simile a quelli per OBD2_LIVE_FRAME
, con l'eccezione che il campo stringValue può contenere un codice di risoluzione dei problemi diagnostici (DTC) non vuoto.
Una richiesta IVehicle#get di questa proprietà deve fornire un valore per int64Values[0]. Viene interpretato come il timestamp dell'immagine in primo piano da recuperare. Un elenco di timestamp può essere ottenuto da un metodo IVehicle#get di OBD2_FREEZE_FRAME_INFO
Se non è disponibile alcun fermo immagine al timestamp specificato, l'implementazione deve restituire una risposta NOT_AVAILABLE
. Poiché i veicoli potrebbero avere un
spazio di archiviazione limitato per gli istantanei, è possibile che una richiesta di frame risponda con
NOT_AVAILABLE
anche se il timestamp associato è stato ottenuto di recente tramite
OBD2_FREEZE_FRAME_INFO
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
OBD2_FREEZE_FRAME_CLEAR
Immagine in pausa cancellata. Genera uno snapshot del valore dei sensori OBD2 disponibili al momento in cui si è verificato e rilevato un guasto. È necessario fornire un array config con lo stesso significato definito per OBD2_LIVE_FRAME
I valori di questa proprietà devono essere interpretati in modo simile a quelli per OBD2_LIVE_FRAME
, con l'eccezione che il campo stringValue può contenere un codice di risoluzione dei problemi diagnostici (DTC) non vuoto.
Una richiesta IVehicle#get di questa proprietà deve fornire un valore per int64Values[0]. Verrà interpretato come il timestamp dell'immagine in primo piano da recuperare. Un elenco di timestamp può essere ottenuto tramite un metodo IVehicle#get di OBD2_FREEZE_FRAME_INFO
Se non è disponibile alcun fotogramma fermo al timestamp specificato, l'implementazione deve restituire una risposta NOT_AVAILABLE
. Poiché lo spazio di archiviazione per i frame fissi dei veicoli potrebbe essere limitato,
è possibile che una richiesta di frame risponda con NOT_AVAILABLE
anche se il timestamp associato è stato ottenuto di recente tramite OBD2_FREEZE_FRAME_INFO
Cambia modalità: ON_CHANGE
Modalità di accesso: WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
OBD2_FREEZE_FRAME_INFO
Questa proprietà descrive gli attuali frame fissi memorizzati nella memoria del veicolo e disponibili per il recupero tramite OBD2_FREEZE_FRAME
. I valori devono essere interpretati come segue. Ogni elemento di
int64Values deve essere il timestamp in cui è stato rilevato un codice di errore e memorizzato il corrispondente
fermo immagine e ogni elemento di questo tipo può essere utilizzato come chiave per OBD2_FREEZE_FRAME
per recuperare il fermo immagine corrispondente.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
OBD2_LIVE_FRAME
Genera uno snapshot dei valori correnti (in tempo reale) dei sensori OBD2 disponibili. L'array config è impostato come segue:
configArray[0]
Numero di sensori con valori interi specifici del fornitoreconfigArray[1]
Numero di sensori con valori in virgola mobile specifici del fornitore
I valori di questa proprietà devono essere interpretati come nell'esempio seguente. Un
configArray = {2,3} int32Values
deve essere un vettore contenente
Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX
più due elementi (o 33 elementi).
floatValues
deve essere un vettore contenente
Obd2FloatSensorIndex.LAST_SYSTEM_INDEX
più tre elementi (o 73 elementi).
È possibile che ogni frame contenga un sottoinsieme diverso di valori dei sensori, sia quelli forniti dal sistema sia quelli specifici del fornitore. Per supportare questa funzionalità, l'elemento bytes del valore della proprietà viene utilizzato come maschera di bit. I byte devono avere un numero sufficiente di byte per rappresentare
il numero totale di sensori possibili (in questo caso, 14 byte per rappresentare 106 valori possibili).
Deve essere letto come una maschera di bit contigua in modo che ogni bit indichi la presenza o l'assenza di un sensore dal frame, a partire da un numero di bit pari alle dimensioni di int32Values
, seguito immediatamente da un numero di bit pari alle dimensioni di floatValues.
Ad esempio, se bytes[0] = 0x4C (0b01001100)
significa che:
int32Values[0 and 1]
non sono valori del sensore validiint32Values[2 and 3]
sono valori del sensore validiint32Values[4 and 5]
non sono valori del sensore validiint32Values[6]
è un valore del sensore validoint32Values[7]
non è un valore del sensore validoint32Values[0 and 1]
non sono valori del sensore validiint32Values[2 and 3]
sono valori del sensore validiint32Values[4 and 5]
non sono valori del sensore validiint32Values[6]
è un valore del sensore validoint32Values[7]
non è un valore del sensore valido
Se bytes[5] = 0x61 (0b01100001)
, allora:
int32Values[32]
è un valore del sensore validofloatValues[0 thru 3]
sono valori dei sensori non validifloatValues[4 and 5]
sono valori del sensore validifloatValues[6]
non è un valore del sensore valido.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
ON_CHANGE
Modalità di modifica:
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione:
VehicleLightSwitch
Tipo di unità:N/A
Release: Android 13
PARKING_BRAKE_AUTO_APPLY
Freno di stazionamento automatico. Se true, questa proprietà indica che il freno a mano automatico dell'auto è attivo. False indica che la funzionalità del freno di stazionamento automatico dell'auto è disattivata. Questa proprietà viene spesso confusa con PARKING_BRAKE_ON
. La differenza è che PARKING_BRAKE_ON
indica se il freno di stazionamento effettivo è attivo o disattivato, mentre PARKING_BRAKE_AUTO_APPLY
indica se la funzionalità del freno di stazionamento automatico è attivata o disattivata e non descrive lo stato corrente del freno di stazionamento effettivo.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
PARKING_BRAKE_ON
Stato del freno di stazionamento. Se è true, questa proprietà indica che il freno a mano dell'auto è inserito. False indica che il freno a mano dell'auto è disinserito.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
PER_DISPLAY_BRIGHTNESS
Proprietà per rappresentare la luminosità dei display controllati separatamente.
Alcune auto hanno uno o più display la cui luminosità è controllata separatamente e questa proprietà consente di indicare la luminosità di ciascun display del passeggero. Nelle auto in cui la luminosità di tutti i display viene controllata insieme, deve essere utilizzata DISPLAY_BRIGHTNESS
Deve essere implementato solo uno tra PER_DISPLAY_BRIGHTNESS
e PER_DISPLAY_BRIGHTNESS
. Se sono entrambi disponibili, PER_DISPLAY_BRIGHTNESS
viene utilizzato da AAOS.
La porta display identifica in modo univoco un connettore fisico sul dispositivo per l'uscita del display, con un valore compreso tra 0 e 255.
int32Values[0]
Porta displayint32Values[1]
Luminosità
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 14
PERF_ODOMETER
Valore attuale del contachilometri del veicolo.
Modalità di modifica: CONTINUOUS
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:KILOMETER
Release: Android 13
PERF_REAR_STEERING_ANGLE
Angolo di sterzo del modello di bicicletta posteriore per il veicolo. L'angolo viene misurato in gradi. A sinistra è negativo. Questa proprietà è indipendente dall'angolo del volante. Questa proprietà deve comunicare l'angolo delle ruote posteriori rispetto al veicolo, non l'angolo del volante.
Modalità di modifica: CONTINUOUS
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:DEGREES
Release: Android 13
PERF_STEERING_ANGLE
Angolo di sterzo del modello di bicicletta anteriore per il veicolo. L'angolo viene misurato in gradi. A sinistra è negativo. Questa proprietà è indipendente dall'angolo del volante. Questa proprietà deve comunicare l'angolo delle ruote anteriori rispetto al veicolo, non l'angolo del volante.
Modalità di modifica: CONTINUOUS
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:DEGREES
Release: Android 13
PERF_VEHICLE_SPEED
Velocità del veicolo. Il valore deve essere positivo quando il veicolo si muove in avanti e negativo quando si muove in retromarcia. Questo valore è indipendente dal valore della marcia
(CURRENT_GEAR
o GEAR_SELECTION
). Ad esempio, se
GEAR_SELECTION
è GEAR_NEUTRAL
, PERF_VEHICLE_SPEED
è positivo quando il veicolo si muove in avanti, negativo in retromarcia e zero quando non si muove.
Cambia modalità: CONTINUOUS
Modalità di accesso: READ
Tipo di unità: N/A
Tipo di unità: VehicleUnit:METER_PER_SEC
Release: Android 13
PERF_VEHICLE_SPEED_DISPLAY
Velocità del veicolo per i display: alcune auto mostrano sul tachimetro una velocità leggermente inferiore rispetto a quella effettiva.
Modalità di modifica: CONTINUOUS
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:METER_PER_SEC
Release: Android 13
POWER_POLICY_GROUP_REQ
Definisce una richiesta per impostare il gruppo di criteri di alimentazione utilizzato per decidere un criterio di alimentazione predefinito per ogni transizione di stato di alimentazione.
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
POWER_POLICY_REQ
Definisce una richiesta di applicazione del criterio di risparmio energetico. VHAL imposta questa proprietà per modificare i criteri di potenza dell'auto.
Il servizio dei criteri di alimentazione dell'auto si iscrive a questa proprietà e modifica effettivamente i criteri di alimentazione. La richiesta viene effettuata impostando VehiclePropValue con l'ID di un criterio di alimentazione definito in /vendor/etc/automotive/power_policy.xml
. Se l'ID specificato non è definito, il servizio del criterio di alimentazione dell'auto ignora la richiesta e il criterio di alimentazione corrente viene mantenuto.
string: "sample_policy_id" // power policy ID
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
POWER_POLICY_GROUP_REQ
Definisce una richiesta per impostare il gruppo di criteri di alimentazione utilizzato per decidere un criterio di alimentazione predefinito per ogni transizione di stato dell'alimentazione. VHAL imposta questa proprietà con l'ID di un gruppo di criteri di alimentazione per impostare il criterio di alimentazione predefinito applicato durante la transizione dello stato di alimentazione. I gruppi di criteri di alimentazione sono definiti in /vendor/etc/power_policy.xml. Se l'ID specificato non è definito, il servizio dei criteri di alimentazione dell'auto ignora la richiesta. Il servizio dei criteri di alimentazione dell'auto si iscrive a questa proprietà e imposta il gruppo di criteri di alimentazione. L'applicazione effettiva del criterio di alimentazione avviene quando lo stato di alimentazione del sistema cambia ed è presente un criterio di alimentazione mappato valido per il nuovo stato di alimentazione.
string: "sample_policy_group_id" // power policy group ID
Cambia modalità: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
RANGE_REMAINING
Autonomia rimanente. Litri di carburante e carica rimanenti. L'autonomia rimanente deve tenere conto di tutte le fonti di energia di un veicolo. Ad esempio, l'autonomia di un'auto ibrida è la somma delle autonomie basate su carburante e batteria. Questa proprietà è definita come VehiclePropertyAccess.READ_WRITE
perché un'app di navigazione potrebbe aggiornare l'intervallo se dispone di una stima più accurata in base al percorso imminente. Questa proprietà può essere implementata come VehiclePropertyAccess.READ
solo a discrezione dell'OEM.
Modalità di modifica: CONTINUOUS
Modalità di accesso: READ_WRITE
Tipo di enumerazione: N/A
Tipo di unità: VehicleUnit:METER
Release: Android 13
READING_LIGHTS_STATE
Restituisce lo stato attuale delle luci di lettura.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: VehicleLightState
Tipo di unità: N/A
Release: Android 13
READING_LIGHTS_SWITCH
Passare al controllo delle luci di lettura. Questo valore può essere diverso da READING_LIGHTS_STATE
se le luci sono accese perché una porta è aperta o a causa di un comando vocale. Ad esempio, quando l'opzione è in posizione off o automatica. Questa proprietà è definita come
VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come
VehiclePropertyAccess.READ
.
REAR_FOG_LIGHTS_STATE
Restituisce lo stato attuale degli anabbaglianti posteriori. È possibile implementare solo uno tra FOG_LIGHTS_STATE
o
REAR_FOG_LIGHTS_STATE
. Vedi FOG_LIGHTS_STATE
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ
Tipo di enumerazione: VehicleLightState
Tipo di unità: N/A
Release: Android 13
REAR_FOG_LIGHTS_SWITCH
L'impostazione che l'utente vuole. È necessario implementare solo uno tra FOG_LIGHTS_SWITCH
o
REAR_FOG_LIGHTS_SWITCH
. Per saperne di più, visita la pagina FOG_LIGHTS_SWITCH
. Questa proprietà è definita come
VehiclePropertyAccess.READ_WRITE
, ma gli OEM possono implementarla solo come
VehiclePropertyAccess.READ
.
Modalità di modifica: ON_CHANGE
Modalità di accesso: READ_WRITE/READ
Tipo di enumerazione: VehicleLightSwitch
Tipo di unità: N/A
Release: Android 13
REMOVE_USER
Chiamato dal sistema Android dopo la rimozione di un utente Android. L'HAL può utilizzare questa proprietà per rimuovere l'utente equivalente. Si tratta di un comando di sola scrittura. Il sistema Android non si aspetta una risposta dall'HAL. Di conseguenza, questa richiesta non dovrebbe non riuscire. Se non è possibile rimuovere l'utente HAL equivalente, HAL deve contrassegnarlo come inattivo o recuperarlo in un altro modo.
La richiesta viene effettuata impostando VehiclePropValue con i contenuti definiti da
RemoveUserRequest
Ad esempio, se il sistema aveva 3 utenti (0, 10 e 11) e l'utente 11
è stato rimosso, la richiesta sarà:
int32[0]
42 // request idint32[1]
11 // (ID utente Android dell'utente rimosso)int32[2]
0 // (flag utente Android dell'utente rimosso)int32[3]
10 // utente correnteint32[4]
0 // indicatori utente attuali (nessuno)int32[5]
2 // numero di utentiint32[6]
0 // primo utente (utente 0)int32[7]
0 // segnalazioni del primo utente (nessuna)int32[8]
10 // secondo utente (utente 10)int32[9
] 0 // second user flags (none)
Cambia modalità: STATIC
Modalità di accesso: WRITE
Tipo di enumerazione: N/A
Tipo di unità: N/A
Release: Android 13
Dalla S alla Z
SEAT_AIRBAG_ENABLED
表示座椅在安全气囊被触发时(例如在发生碰撞时)展开安全气囊的功能是处于启用还是停用状态。如果为 true
,则表示座椅的安全气囊处于启用状态,并且在被触发后会展开。如果为 true
,则表示座椅的安全气囊处于停用状态,并且在任何情况下都不会展开。此属性不会指明安全气囊是否处于展开状态。
为了遵守法规或出于安全考虑,可以将此属性设置为 VehiclePropertyAccess.READ
只读。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_BACKREST_ANGLE_1_MOVE
座椅靠背角度 1 移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示座椅靠背在朝前竖起时的最快移动速度。minInt32Value
表示座椅靠背在后仰时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_BACKREST_ANGLE_1_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BACKREST_ANGLE_1_POS
座椅靠背角度 1 位置。靠背角度 1 是指到达最靠近座椅底部的致动器时的角度。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示座椅靠背的完全后仰位置,是与座椅底部的致动器的相对位置。maxInt32Value
表示座椅靠背的朝前竖起程度达到极限时的位置,是与座椅底部的致动器的相对位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于完全后仰和朝前竖起位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BACKREST_ANGLE_2_MOVE
座椅靠背角度 2 移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅靠背在朝前竖起时的最快移动速度。minInt32Value
表示座椅靠背在后仰时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_BACKREST_ANGLE_2_MOVE
的值目前为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BACKREST_ANGLE_2_POS
座椅靠背角度 2 位置。靠背角度 2 是指到达座椅底部向上的下一个致动器时的角度。
必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座椅靠背的完全后仰位置,是与以下致动器的相对位置:座椅靠背中与座椅底部的致动器紧邻的下一个致动器(有关详情,请参阅 SEAT_BACKREST_ANGLE_1_POS
)。maxInt32Value
表示座椅靠背的朝前竖起程度达到极限时的位置,是与以下致动器的相对位置:座椅靠背中与座椅底部的致动器紧邻的下一个致动器(有关详情,请参阅 SEAT_BACKREST_ANGLE_1_POS
)。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于完全后仰和朝前竖起位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BELT_BUCKLED
安全带已系好。true 表示安全带已系好。写入访问权限表示座椅具有自动系好安全带的功能。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BELT_HEIGHT_MOVE
安全带高度移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示安全带肩部固定点在向上移动时的最快移动速度。minInt32Value
表示安全带肩部固定点在向上移动时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。安全带达到位置极限后,该值必须重置为 0。如果 SEAT_BELT_HEIGHT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BELT_HEIGHT_POS
安全带高度位置。调整安全带肩部固定点。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示安全带肩部固定点处于最低位置。maxInt32Value
表示安全带肩部固定点处于最高位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最低位置和最高位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_CUSHION_SIDE_SUPPORT_MOVE
表示座垫侧面支撑移动方向和速度的属性。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座垫侧面支撑在变宽(例如支撑变小)时的最快移动速度。minInt32Value
表示座垫侧面支撑在变窄(例如支撑变大)时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座垫侧面支撑达到位置极限后,该值必须重置为 0。如果 SEAT_CUSHION_SIDE_SUPPORT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_CUSHION_SIDE_SUPPORT_POS
表示座椅臀部侧面(底部座垫侧面)支撑位置的属性。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座垫侧面支撑处于最宽位置(例如支撑最小)。minInt32Value
表示座垫侧面支撑处于最窄位置(例如支撑最大)。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最窄位置和最宽位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_DEPTH_MOVE
座椅深度移动。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅在加深时的最快移动速度。minInt32Value
表示座椅在变浅时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_DEPTH_MOVE
的值目前为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
SEAT_DEPTH_POS
座椅深度位置。设置座椅深度,即从座椅靠背到座椅前缘的距离。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座椅处于最浅位置(例如座垫前缘与座椅后端之间距离最小时的位置)。
maxInt32Value
表示座椅处于最深位置(例如座垫前缘与座椅后端之间距离最大时的位置)。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最浅位置和最深位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_EASY_ACCESS_ENABLED
表示座椅便捷进出功能的属性。如果为 true,则表示座椅会自动调整,以方便人员更轻松地进出车辆。每个区域 ID 都必须映射到用户在尝试借助便捷进出功能坐入/离开的座椅。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_FOOTWELL_LIGHTS_STATE
表示座椅脚窝灯状态的属性。SEAT_FOOTWELL_LIGHTS_STATE
反映灯在任意时间点的当前状态。这与 SEAT_FOOTWELL_LIGHTS_SWITCH
的功能不同,后者表示控制灯的开关的位置。
因此, SEAT_FOOTWELL_LIGHTS_STATE
可能与 SEAT_FOOTWELL_LIGHTS_SWITCH
的值不一致(例如 SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
和 SEAT_FOOTWELL_LIGHTS_SWITCH=ON
)。
仅当 SEAT_FOOTWELL_LIGHTS_STATE
的值可能与 CABIN_LIGHTS_STATE 的值不同时,才应实现此属性。
对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues,除非支持 VehicleLightState 的所有枚举值。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 14
SEAT_FOOTWELL_LIGHTS_SWITCH
表示座椅脚窝灯开关的属性。SEAT_FOOTWELL_LIGHTS_SWITCH
表示控制灯的开关的位置。这与 SEAT_FOOTWELL_LIGHTS_STATE 的功能不同,后者反映灯在任意时间点的当前状态。因此,SEAT_FOOTWELL_LIGHTS_SWITCH
可能与 SEAT_FOOTWELL_LIGHTS_STATE 的值不一致(例如 SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
和 SEAT_FOOTWELL_LIGHTS_SWITCH=ON
)。
仅当 SEAT_FOOTWELL_LIGHTS_SWITCH 的值可能与 CABIN_LIGHTS_SWITCH 的值不同时,才应实现此属性。
对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues,除非支持 VehicleLightSwitch 的所有枚举值。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
SEAT_FORE_AFT_MOVE
座椅向前和向后移动。此属性旨在使整个座椅沿所朝方位向前/向后移动。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅在向前移动时的最快移动速度。minInt32Value
表示座椅在向后移动时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅达到位置极限后,该值必须重置为 0。如果 SEAT_FORE_AFT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_FORE_AFT_POS
座椅的向前和向后移动位置。设置座椅的向前和向后移动位置。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座椅处于向后可以达到的最远线性位置。maxInt32Value
表示座椅处于向前可以达到的最远线性位置。介于 minInt32Value
和 maxInt32Value
之间的值表示处于最近位置和最远位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_ANGLE_MOVE
头枕角度移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅头枕在朝前竖起时的最快移动速度。minInt32Value
表示座椅头枕在向浅位移动时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_ANGLE_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_ANGLE_POS
头枕角度位置。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示头枕处于完全后仰位置。maxInt32Value
表示头枕处于朝前竖起程度达到极限的位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于完全后仰和朝前竖起程度达到极限之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_FORE_AFT_MOVE
头枕向前和向后移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅头枕在向前移动时的最快移动速度。minInt32Value
表示座椅头枕在向后移动时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_FORE_AFT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_FORE_AFT_POS
头枕的向前和向后移动位置。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示头枕处于向后可以达到的最远线性位置。maxInt32Value
表示头枕处于向前可以达到的最远线性位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于向前和向后移动位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_HEIGHT_MOVE
头枕高度移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅头枕在向上移动时的最快移动速度。minInt32Value
表示座椅头枕在向下移动时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_HEIGHT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_HEIGHT_POS
(已废弃)头枕高度位置。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_HEIGHT_POS_V2
头枕高度位置。设置受支持座椅的头枕高度。VehiclePropConfig.areaConfigs 用于指定支持哪些座椅。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示头枕处于最低位置。maxInt32Value
表示头枕处于最高位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最低位置和最高位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_HEIGHT_MOVE
座椅高度移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅在向上移动时的最快移动速度。
minInt32Value
表示座椅在向下移动时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅达到位置极限后,该值必须重置为 0。如果 SEAT_HEIGHT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEIGHT_POS
座椅高度位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座椅处于最低位置。maxInt32Value
表示座椅处于最高位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最低位置和最高位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_LUMBAR_FORE_AFT_MOVE
腰部支撑向前和向后移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅的腰部支撑在向前移动时的最快移动速度。minInt32Value
表示座椅的腰部支撑在向后移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。
座椅的腰部支撑达到位置极限后,该值必须重置为 0。如果 SEAT_LUMBAR_FORE_AFT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_LUMBAR_FORE_AFT_POS
腰部支撑的向前和向后移动位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示腰部支撑处于向后可以达到的最远位置(例如支撑最小的位置)。maxInt32Value
表示腰部支撑处于向前可以达到的最远位置(例如支撑最大的位置)。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于向前移动位置和向后移动位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_LUMBAR_SIDE_SUPPORT_MOVE
腰部侧面支撑移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅的腰部侧面支撑在加宽时的最快移动速度。minInt32Value
表示座椅的腰部侧面支撑在变窄时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅的腰部侧面支撑达到位置极限后,该值必须重置为 0。如果 SEAT_LUMBAR_SIDE_SUPPORT_MOVE
的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_LUMBAR_SIDE_SUPPORT_POS
腰部侧面支撑位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示腰部侧面支撑处于最窄位置(例如最大支撑)。maxInt32Value
表示腰部侧面支撑处于最宽位置(例如最小支撑)。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最窄位置和最宽位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_LUMBAR_VERTICAL_MOVE
表示座椅腰部支撑垂直移动方向和速度的属性。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示腰部支撑在以最快速度向上移动。minInt32Value
表示腰部支撑在以最快速度向下移动。
无论是正值还是负值,绝对值越大,表示移动速度越快。座垫侧面支撑达到位置极限后,该值必须重置为 0。如果 SEAT_LUMBAR_VERTICAL_MOVE 的值为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_LUMBAR_VERTICAL_POS
表示座椅腰部支撑垂直位置的属性。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示腰部支撑的最高位置。minInt32Value
表示腰部支撑的最低位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最低位置和最高位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_MEMORY_SELECT
此参数用于选择内存预设,以便在选择座椅位置时使用。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
始终为 0,maxInt32Value
用于确定可用的座椅预设内存槽位数(例如 numSeatPresets - 1)。例如,如果驾驶员座椅有三个内存预设,则 maxInt32Value
为 2。当用户选择预设时,系统会设置所需的预设数(0、1 或 2)。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
SEAT_MEMORY_SET
通过此设置,用户可以将当前座椅位置设置保存到所选的预设槽位。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。minInt32Value
必须为 0,并且每个座椅位置的 maxInt32Value
必须与 SEAT_MEMORY_SELECT
的 maxInt32Value
一致
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
SEAT_OCCUPANCY
根据汽车做出的最佳判断,指明特定座椅是否被占用。有效值来自 VehicleSeatOccupancyState
枚举。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleSeatOccupancyState
单位类型:无
版本:Android 13
SEAT_TILT_MOVE
座椅倾斜移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示座椅前缘在向上移动时的最快移动速度。minInt32Value
表示座椅前缘在向下移动时的最快移动速度。
无论是正值还是负值,绝对值越大,表示移动速度越快。座椅底部达到位置极限后,该值必须重置为 0。如果 SEAT_TILT_MOVE 的值目前为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_TILT_POS
座椅倾斜位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示座椅底部处于最小角度位置。这相当于座椅前缘处于相对于座椅后端的最低极限位置。maxInt32Value
表示座椅底部处于最大角度位置。这相当于座椅前缘处于相对于座椅后端的最高极限位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最低位置和最高位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_WALK_IN_POS
此属性用于表示座椅当前的进入位置。minInt32Value
表示正常座椅位置。minInt32Value
必须是 0。maxInt32Value
表示座椅处于完全进入位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于正常位置和进入位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
区域 ID 必须与启用便捷进入功能时实际移动的座椅匹配,而不是与乘客打算坐入的座椅匹配。
此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以
将其实现为仅 VehiclePropertyAccess.READ。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SHUTDOWN_REQUEST
请求关闭车机。
若要在车机关闭时执行任务(远程任务功能),必须发送此请求。在车机开启以执行任务后,车机应关闭。当任务完成后,车机会发送此消息。
当用户想要关闭车机时,此属性不适用。
这通常涉及告知车机以外的单独系统(例如电源控制器)准备关闭车机。
外部系统必须通过检查车辆是否正在使用中,来验证此请求是否有效。如果用户在发送 SHUTDOWN_REQUEST 后进入车辆,系统必须忽略此请求。建议将 VehicleInUse 属性存储在电源控制器中,并通过 VEHICLE_IN_USE 属性将其公开。如果 VehicleInUse 为 true,则必须忽略关闭请求。
如果可以,外部系统会向车机发送关闭信号,这会导致 VHAL 向 Android 发送 SHUTDOWN_PREPARE 消息。然后,Android 将处理该消息以启动关闭流程。
此属性仅用于发出请求,并且仅支持写入操作。每次设置此属性值时,系统都会发出关闭请求,无论当前属性值是什么。当前属性值毫无意义。
由于此属性为只写属性,因此不允许订阅,而且系统也不会生成任何属性更改事件。
要设置的值表示关闭选项,必须是 {@code VehicleApPowerStateShutdownParam}
之一。例如 VehicleApPowerStateShutdownParam.SLEEP_IMMEDIATELY
。如果系统不支持此关闭选项,则可能将其忽略。在这种情况下,系统不会返回错误。
对于配置信息,VehiclePropConfig.configArray
必须在 {@code VehicleApPowerStateConfigFlag}
中具有位标志组合值,以指明支持哪些关闭选项。
如果未能将关闭请求发送到其他系统,则会返回错误。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:VehicleApPowerStateShutdownParam
>
单位类型:无
版本:Android 14
STEERING_WHEEL_DEPTH_MOVE
方向盘深度移动。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。
maxInt32Value
表示方向盘朝远离驾驶员的方向移动。minInt32Value
表示方向盘朝靠近驾驶员的方向移动。
整数值越大(无论是正值还是负值),表示移动速度越快。方向盘达到位置极限后,该值必须重置为 0。如果 STEERING_WHEEL_DEPTH_MOVE
的值目前为 0,则表示没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_DEPTH_POS
方向盘深度位置。所有方向盘属性的唯一 ID 都以 0x0BE0 开头。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。maxInt32Value
表示距离驾驶员最远的方向盘位置。minInt32Value
表示距离驾驶员最近的方向盘位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_EASY_ACCESS_ENABLED
已启用方向盘方便进出功能。如果为 true,驾驶员的方向盘会自动调整,以便驾驶员更轻松地进出车辆。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_HEIGHT_MOVE
方向盘高度移动。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。
maxInt32Value
表示方向盘向上移动。minInt32Value
表示方向盘向下移动。
整数值越大(无论是正值还是负值),表示移动速度越快。方向盘达到位置极限后,该值必须重置为 0。如果 STEERING_WHEEL_HEIGHT_MOVE
的值目前为 0,则表示目前没有进行任何移动。
此属性以指定范围的相对移动速度来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_HEIGHT_POS
方向盘高度位置。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。maxInt32Value
表示方向盘处于最高位置。minInt32Value
表示方向盘处于最低位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于最低位置和最高位置之间的过渡状态。
此属性以指定范围的相对位置来表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_LIGHTS_STATE
方向盘灯的状态。表示方向盘灯的当前状态。这与 STEERING_WHEEL_LIGHTS_SWITCH
不同,后者表示控制灯的开关的位置。因此,STEERING_WHEEL_LIGHTS_STATE
可能与 STEERING_WHEEL_LIGHTS_SWITCH
的值不一致(例如
和 STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
STEERING_WHEEL_LIGHTS_STATE=ON
)。
仅当 STEERING_WHEEL_LIGHTS_STATE
的值可能与 CABIN_LIGHTS_STATE 的值不同时,才应实现此属性。
对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues,除非支持 VehicleLightState 的所有枚举值。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 14
STEERING_WHEEL_LIGHTS_SWITCH
方向盘灯开关。表示控制方向盘灯的开关的位置。这与表示方向盘灯当前状态的属性不同。因此,STEERING_WHEEL_LIGHTS_SWITCH
可能与 STEERING_WHEEL_LIGHTS_STATE
的值不一致。例如 STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
和 STEERING_WHEEL_LIGHTS_STATE=ON
。
仅当 STEERING_WHEEL_LIGHTS_SWITCH
的值可能与 CABIN_LIGHTS_SWITCH
的值不同时,才应实现此属性。
对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
,除非支持 VehicleLightSwitch 的所有枚举值。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 14
STEERING_WHEEL_LOCKED
方向盘已锁定。如果为 true,则方向盘位置已锁定且不可更改。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_THEFT_LOCK_ENABLED
已启用方向盘防盗锁功能。如果为 true,方向盘会在某些情况下自动锁定以防止车辆被盗。此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STORAGE_ENCRYPTION_BINDING_SEED
外部加密绑定种子。此值与本地密钥存储加密密钥混合使用。此属性会保存 16 个字节,并且应保留在与 IVI 分开的 ECU 上。此属性最初是由 AAOS 设置的,后者使用 CSRNG 生成此属性。然后,AAOS 会在后续启动时读取此属性。应可靠地保存绑定种子。任何丢失种子的行为都会导致需要将 IVI 恢复出厂设置。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
SUPPORT_CUSTOMIZE_VENDOR_PERMISSION
支持为供应商属性自定义权限。
如果 VHAL 支持自定义供应商权限功能,请实现此属性。VehiclePropConfig.configArray 用于指明供应商属性以及为此供应商属性选择的权限。权限必须是 VehicleVendorPermission 中的枚举项之一。configArray 的设置如下:configArray[n]: propId : property ID
用于供应商属性,其中 configArray[n+1] 是 VehicleVendorPermission 中的枚举项,表示属性值读取权限。
configArray[n+2] 是 VehicleVendorPermission 中的枚举项,表示属性值写入权限。例如:
configArray: { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, }
如果供应商属性不在此数组中,则具有默认供应商权限。如果供应商选择了 PERMISSION_NOT_ACCESSIBLE,则 Android 无法访问此属性。在示例中,Android 无法为 vendor_prop_2 写入值。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
SUPPORTED_PROPERTY_IDS
(已废弃)一个列表,列出所有受支持的属性 ID。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14
SWITCH_USER
定义切换前台 Android 用户的请求。
此属性主要供 Android 系统用于通知 HAL 将切换当前的前台 Android 用户,但 HAL 也可以使用此属性请求 Android 系统切换用户。当 Android 发出请求时,系统会设置 VehiclePropValue,并且 HAL 必须通过属性更改事件进行响应。HAL 发出请求时,还必须通过属性更改事件发出请求(主要区别在于,前者的请求 ID 为正数,后者为负数)。SwitchUserMessageType 也不同。
这两种请求的格式均由 SwitchUserRequest 定义,响应的格式(如有需要)则由 SwitchUserResponse 定义。HAL(或 Android 系统)应如何继续执行取决于消息类型(由 SwitchUserMessageType 参数定义),定义如下。LEGACY_ANDROID_SWITCH
由 Android 系统调用,用于指明 Android 用户即将更改,前提是更改请求的发出方式不同于集成 HAL 的方式(例如通过 adb shell am switch-user)。收到此请求后,HAL 可以切换其内部用户,但无需回复 Android 系统。如果出于某种原因无法更改其内部用户,则必须等待SWITCH_USER(type=ANDROID_POST_SWITCH)
调用以进行恢复(例如,它可以发出SWITCH_USER(type=VEHICLE_REQUEST)
以切换回上一个用户)。理想情况下,它永远不应失败(因为切换回来可能会让最终用户感到困惑)。
例如,如果系统有多个用户(0、10、11),并且要从 0 切换到 11(其中没有任何特殊标志),请求将如下所示:
int32[0]
42 // 请求 IDint32[1]
1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCHint32[2]
11 // 目标用户 IDint32[3]
0 // 目标用户标志(无)int32[4]
10 // 当前用户int32[5]
0 // 当前用户标志(无)int32[6]
3 // 用户数量int32[7]
0 // 用户 0(Android 用户 ID 0)int32[8]
0 // 用户 0 的标志(无)int32[9]
10 // 用户 1(Android 用户 ID 10)int32[10]
0 // 用户 1 的标志(无)int32[11]
11 // 用户 2 (Android 用户 ID 11)int32[12]
0 // 用户 2 的标志(无)
ANDROID_SWITCH
由 Android 系统调用,用于指明 Android 用户即将更改,但 Android 会等待 HAL 的响应(最多会等待一定的时间),然后再继续。HAL 在收到此请求后必须立即切换其内部用户,然后使用SWITCH_USER(type=VEHICLE_RESPONSE)
向 Android 做出响应,指明其内部用户是否已切换(通过 SwitchUserStatus 枚举)。例如,如果 Android 有多个用户(0、10、11),并且要从 10 切换到 11(其中没有任何特殊标志),请求将如下所示:int32[0]
42 // 请求 IDint32[1]
2 // SwitchUserMessageType::ANDROID_SWITCHint32[2]
11 // 目标用户 IDint32[3]
0 // 目标用户标志(无)int32[4]
10 // 当前用户int32[5]
0 // 当前用户标志(无)int32[6]
3 // 用户数量int32[7]
0 // 第一个用户(用户 0)int32[8]
1 // 第一个用户的标志(SYSTEM)int32[9]
10 // 第二个用户(用户 10)int32[10]
0 // 第二位用户标志(无)int32[11]
11 // 第三个用户(用户 11)int32[12]
0 // 第三个用户的标志(无)
如果请求成功了,HAL 必须使用以下代码更新属性:
int32[0]
42 // 请求 IDint32[1]
3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
1 // status: SwitchUserStatus::SUCCESS
如果请求失败了,响应将如下所示:
int32[0]
42 // 请求 IDint32[1]
3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"- OEM 专属错误消息
VEHICLE_RESPONSE
由 HAL 调用,用于指明 ANDROID_SWITCH 类型的请求是应继续还是中止。另请参阅 ANDROID_SWITCH。VEHICLE_REQUEST
由 HAL 调用,用于请求切换当前的前台 Android 用户。若 Android 以某个用户的身份启动,但车辆将驾驶员识别为其他用户,此方法非常有用。例如,用户 A 通过用户 B 的遥控钥匙解锁了汽车。INITIAL_USER_INFO 请求返回了用户 B,但随后面部识别子系统将用户识别为 A。HAL 通过属性更改事件(传递负请求 ID)发出此请求,而 Android 系统响应是发出具有相同请求 ID 的 ANDROID_POST_SWITCH 调用。例如,如果当前的前台 Android 用户是 10,并且 HAL 要求切换到 11,请求将如下所示:int32[0]
-108 // 请求 IDint32[1]
4 // messageType: SwitchUserMessageType::VEHICLE_REQUESTint32[2]
11 // Android 用户 ID
如果请求成功,并且 Android 有 3 个用户(0、10 和 11),响应将如下所示:
int32[0]
-108 // 请求 IDint32[1]
5 // messageType: SwitchUserMessageType::ANDROID_POST_SWITCHint32[2]
11 // 目标用户 IDint32[3]
0 // 目标用户 ID 标志(无)int32[4]
11 // 当前用户int32[5]
0 // 当前用户标志(无)int32[6]
3 // 用户数量int32[7]
0 // 第一个用户(用户 0)int32[8]
0 // 第一个用户的标志(无)int32[9]
10 // 第二个用户(用户 10)int32[10]
4 // 第二个用户的标志(无)int32[11]
11 // 第三个用户(用户 11)int32[12]
3 // 第三个用户的标志(无)
当前用户 ID 和目标用户 ID 相同。如果请求失败,则两者将会不同。例如,目标用户将为 11,而当前用户仍为 10。
ANDROID_POST_SWITCH
由 Android 系统在收到用户切换请求后调用。此属性在任何类型的切换请求(例如 >code>LEGACY_ANDROID_SWITCH、>code>ANDROID_SWITCH 或VEHICLE_REQUEST
)之后调用,可用于确定请求是成功还是失败了。- 如果请求成功了,则会在 Android 用户处于解锁状态且响应中当前用户 ID 和目标用户 ID 的值相同时调用它。这等同于在 Android 应用中收到 Intent.ACTION_USER_UNLOCKED。
- 如果请求失败了,系统会立即调用它,并且响应中当前用户 ID 和目标用户 ID 的值会不同(因为当前用户未更改为目标用户)。
- 如果在 HAL 响应上一个请求之前或在用户解锁之前发出新的切换请求,则不会发出 ANDROID_POST_SWITCH 请求。例如,驾驶员可能会不小心切换到具有锁定凭据的错误用户,然后在输入凭据之前切换到正确用户。
HAL 在收到此请求后可以更新其内部状态,但无需回复 Android 系统。
- 请求。由
INITIAL_USER_INFO
定义的前 N 个值(其中索引 1 处的请求专用值为SwitchUserMessageType::ANDROID_POST_SWITCH
),然后是针对目标用户 ID(例如请求切换到的 Android 用户 ID)及其标志(由 UserFlags 定义)的另外两个值。 - 回复:无。如需查看示例,请参阅
VEHICLE_REQUEST
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
TIRE_PRESSURE
胎压。每个轮胎都通过其 areaConfig.areaId 配置进行标识。相应的 minFloatValue 和 maxFloatValue 用于存储 OEM 建议的胎压范围。必须定义 VehicleAreaConfig 中的 minFloatValue 和 maxFloatValue 的值。
areaConfig 数据中的 minFloatValue 表示建议的胎压下限。areaConfig 数据中的 maxFloatValue 表示建议的胎压上限。例如,此 areaConfig 表示左前轮胎的建议胎压为 200.0kPa 到 240.0kPa。
.areaConfigs: { VehicleAreaConfig { .areaId: VehicleAreaWheel::LEFT_FRONT, .minFloatValue: 200.0, .maxFloatValue: 240.0, } }
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOPASCAL
版本:Android 13
TIRE_PRESSURE_DISPLAY_UNITS
胎压显示单位。表示汽车使用哪些单位向用户显示胎压。例如 PSI、Bar 或千帕。VehiclePropConfig.configArray 用于指明支持的胎压显示单位。胎压单位在 VehicleUnit 中定义。例如 configArray[0]: KILOPASCAL configArray[1]: PSI configArray[2]: BAR
如果更新 TIRE_PRESSURE_DISPLAY_UNITS 会影响其他 *_DISPLAY_UNITS 属性的值,则必须更新这些属性的值,并将这些值也传达给 AAOS 框架。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
TRACTION_CONTROL_ACTIVE
当牵引力控制 (TC) 处于启用状态时设置为 true,当 TC 处于停用状态时重置为 false。此属性可根据 TC 系统的实时状态间歇性设置(脉冲式)。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
TRAILER_PRESENT
返回汽车的拖车状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:TrailerState
单位类型:无
版本:Android 13
TURN_SIGNAL_STATE
车辆转向指示灯的状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleTurnSignal
单位类型:无
版本:Android 13
USER_IDENTIFICATION_ASSOCIATION
此属性用于将当前用户与车辆专用身份识别机制(例如遥控钥匙)相关联(或查询关联)。
这是一个可选的用户管理属性。OEM 仍可以在不定义此属性的情况下支持用户管理。事实上,即使不支持 INITIAL_USER_INFO 中所述的核心用户相关功能,也可以使用此属性。
为了查询关联,Android 系统会获取此属性,并传递一个 VehiclePropValue,其中包含要查询的关联的类型(由 UserIdentificationGetRequest 定义)。HAL 必须立即通过 UserIdentificationResponse 返回 VehiclePropValue。
请注意,用户身份识别是在系统启动时进行的。VHAL 实现应仅返回已识别的关联(例如用于解锁汽车的遥控钥匙),而非通过 get 调用开始建立新的关联。
为了关联类型,Android 系统会设置此属性,并传递一个 VehiclePropValue,其中包含要设置的关联的类型和值(由 UserIdentificationSetRequest 定义)。
然后,HAL 会使用属性更改事件(其 VehiclePropValue 由 UserIdentificationResponse 定义)来指明请求后的类型的当前状态。
例如,若要查询当前用户 (10) 是否与解锁汽车的 FOB 以及 OEM 提供的自定义机制相关联,请求如下所示:
int32[0]
42 // 请求 IDint32[1]
10 (Android 用户 ID)int32[2]
0 (Android 用户标志)int32[3]
2 (查询的类型数)int32[4]
1 (查询的第一个类型,UserIdentificationAssociationType::KEY_FOB)int32[5]
101(查询的第二个类型,UserIdentificationAssociationType::CUSTOM_1)
如果用户与 FOB 相关联,但未与自定义机制关联,则响应如下所示:
int32[0]
42 // 请求 IDint32[1]
2 (响应中的关联数)int32[2]
1 (第一种类型:UserIdentificationAssociationType::KEY_FOB)int32[3]
2 (第一个值:UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)int32[4]
101(第一种类型:UserIdentificationAssociationType::CUSTOM_1)int32[5]
4 (第二个值:UserIdentificationAssociationValue::NOT_ASSOCIATED_ANY_USER)
然后,为了将用户与自定义机制相关联,系统会发出设置请求:
int32[0]
43 // 请求 IDint32[1]
10 (Android 用户 ID)int32[2]
0 (Android 用户标志)int32[3]
1 (要设置的关联数)int32[4]
101(第一种类型:UserIdentificationAssociationType::CUSTOM_1)
如果请求成功,响应将如下所示:
int32[0]
43 // 请求 IDint32[1]
1 (响应中的关联数)int32[2]
101(第一种类型:UserIdentificationAssociationType::CUSTOM_1)int32[3]
1 (第一个值:UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)
设置请求会添加关联,但不会移除现有关联。在上面的示例中,最终状态将是两个关联(FOB 和 CUSTOM_1)。若要将用户仅与 CUSTOM_1 关联,而不与 FOB 关联,则请求应为:
int32[0]
43 // 请求 IDint32[1]
10 (Android 用户 ID)int32[2]
2 (类型集的数量)int32[3]
1 (第一种类型:UserIdentificationAssociationType::KEY_FOB)int32[4]
2 (第一个值:UserIdentificationAssociationValue::DISASSOCIATE_CURRENT_USER)int32[5]
101(第二种类型:UserIdentificationAssociationType::CUSTOM_1)int32[6]
1 (第二个值:UserIdentificationAssociationValue::ASSOCIATE_CURRENT_USER)
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
VEHICLE_CURB_WEIGHT
返回车辆的整备重量(单位:千克)。整备重量是指车辆在不载客、不载货的情况下,配备标准设备和所有必要的操作消耗品(例如机油、变速箱油、制动液、冷却液、空调制冷剂、油箱中额定容量的燃油)时的总重量。
configArray[0] 用于指定车辆的总重量(单位:千克)。车辆的总重量是指制造商指定的车辆最大满载重量,包括车辆的底盘、车身、发动机、发动机液体、燃油、附件、驾驶员、乘客和货物,但不包括任何拖车。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOGRAM
版本:Android 13
VEHICLE_IN_USE
指明车辆是否正在使用中。正在使用中意味着真人用户存在并打算使用车辆。这并不一定意味着车内有真人用户。例如,如果真人用户远程解锁车辆,则车辆会被视为正在使用中。如果此属性受支持:
- 每当用户启动车辆或系统检测到存在用户时,
VEHICLE_IN_USE
都必须设置为 true。每当用户关掉车辆或系统检测到不存在用户时,VEHICLE_IN_USE
都必须设置为 false。 - 如果用户关掉车辆或系统检测到不存在用户时,
VEHICLE_IN_USE
必须设置为 false。 - 如果用户启动车辆或系统检测到存在用户时,
VEHICLE_IN_USE
必须设置为 true。
此属性与 AP_POWER_BOOTUP_REASON
不同,因为 AP_POWER_BOOTUP_REASON
在系统启动期间仅设置一次。不过,此属性可能会在系统启动周期内更改多次。例如,设备目前未在使用中。系统启动以执行远程任务。VEHICLE_IN_USE
为 false。在远程任务执行期间,用户进入车辆并启动车辆。VEHICLE_IN_USE
设置为 true。在车辆停止行驶后,如果用户关掉车辆,VEHICLE_IN_USE
会设置为 false。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
VEHICLE_MAP_SERVICE
车载地图服务 (VMS) 消息。此属性使用 MIXED 数据来传达 VMS 消息。其内容应按如下方式进行解读。VmsMessageIntegerValuesInde 中定义的索引用于从 int32Values 读取数据。字节是 VMS 协议中定义的序列化 VMS 消息,该消息对框架来说是不可见的。IVehicle#get 必须始终返回 StatusCode::NOT_AVAILABLE
。
更改模式:ON_CHANGEREAD_WRITE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
VEHICLE_SPEED_DISPLAY_UNITS
速度显示单位。表示向用户显示速度时使用的单位类型。例如 m/s、km/h 或 mph。VehiclePropConfig.configArray 用于指明支持的速度显示单位。胎压单位在 VehicleUnit 中定义。例如:
.configArray: { VehicleUnit::METER_PER_SEC, VehicleUnit::KILOMETERS_PER_HOUR, VehicleUnit::MILES_PER_HOUR }
configArray[0]
METER_PER_SEC
configArray[1]
MILES_PER_HOUR
configArray[2]
KILOMETERS_PER_HOUR
如果更新 VEHICLE_SPEED_DISPLAY_UNITS
会影响其他 *_DISPLAY_UNITS properties
的值,则必须更新这些值,并将其传达给 AAOS 框架。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
VHAL_HEARTBEAT
定义一个事件,VHAL 将其作为检测信号发送给汽车监控定时器。如果 VHAL 支持此属性,VHAL 应每 3 秒向此属性写入一次系统正常运行时间。汽车监控定时器会订阅此属性,并每隔 3 秒检查一次此属性是否已更新。在缓冲区时间为 3 秒时,汽车监控定时器会等待检测信号,最长等待时间可达到 6 秒(从上次收到检测信号算起)。如果未更新,汽车监控定时器会将 VHAL 视为运行状况不佳并终止 VHAL。如果 VHAL 不支持此属性,汽车监控定时器不会检查 VHAL 的运行状况。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
WATCHDOG_ALIVE
定义 Car Watchdog 更新的事件,以表明其处于活跃状态。汽车监控定时器会每隔 3 秒将此属性设置为系统正常运行时间(单位:毫秒)。在启动过程中,更新可能需要更长时间。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
WATCHDOG_TERMINATED_PROCESS
定义被汽车监控定时器终止的进程以及终止原因。
int32Values[0] 1 // ProcessTerminationReason showing why a process is terminated. string: "/system/bin/log" // Process execution command
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
WHEEL_TICK
报告车轮 tick 计数。向量中的第一个元素是重置计数。重置表明之前的 tick 计数与当前及未来的 tick 计数不具有可比性。这表明在 tick 计数过程中出现了一些不连续的情况。
接下来的四个元素表示各个车轮的 tick 计数,顺序如下:
- 前左
- 前右
- 右后
- 左后
所有 tick 计数都是累计数据。当车辆前进时,tick 计数会递增;当车辆后退时,tick 计数会递减。车辆启动时,tick 计数应重置为 0。
int64Values[0]
重置计数int64Values[1]
左前车轮 tick 计数int64Values[2]
右前车轮 tick 计数int64Values[3]
右后车轮 tick 计数int64Values[4]
左后车轮 tick 计数
configArray
用于指明 micrometers-per-wheel-tick 值,以及支持的车轮,configArray 设置如下:
configArray[0], bits [0:3] Supported wheels
使用枚举 Wheel。例如,如果支持所有车轮,则:
configArray[0]
VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REARconfigArray[1]
左前车轮每 tick 对应的微米数configArray[2]
右前车轮每 tick 对应的微米数configArray[3]
右后车轮每 tick 对应的微米数configArray[4]
左后车轮每 tick 对应的微米数
如果某个车轮不受支持,则其值应始终设置为 0。
必须填写 VehiclePropValue.timestamp
。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
WINDOW_LOCK
车窗童锁。true 表示车窗已上童锁。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
WINDOW_MOVE
车窗移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示车窗在以最快速度沿平面方向打开/沿非平面方向关闭。minInt32Value
表示车窗在以最快速度沿平面方向关闭/沿非平面方向打开。
无论是正值还是负值,绝对值越大,表示移动速度越快。车窗达到位置极限后,该值必须重置为 0。如果 WINDOW_MOVE
的值为 0,则表示没有进行任何移动。此属性以指定范围的相对移动速度来表示。
对于可能沿非平面方向打开的车窗(天窗的通风模式),此参数的工作方式如下。如果:
- 天窗处于打开状态:
Max
进一步打开天窗,在天窗完全打开时自动停止。Min
关闭天窗,在天窗关闭时自动停止。
- 通风口已打开:
Max
关闭通风口,在通风口关闭时自动停止。Min
进一步打开通风口,在通风口完全打开时自动停止。
- 天窗已关闭:
Max
打开天窗,在天窗完全打开时自动停止。Min
打开通风口,在通风口完全打开时自动停止。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
WINDOW_POS
车窗位置。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示车窗已沿非平面方向关闭或完全打开。如果车窗无法沿非平面方向打开,则 minInt32Value
是车窗完全关闭时的位置,必须为 0。如果车窗可以沿非平面方向打开,minInt32Value
表示车窗已沿非平面方向完全打开,并且是一个负值。如需更详细的说明,请参阅以下示例。maxInt32Value
表示车窗已完全打开。
如果值介于 minInt32Value
和 maxInt32Value
之间,则表示处于已沿非平面方向关闭/完全打开位置和完全打开位置之间的过渡状态。此属性不采用任何特定单位,而是采用指定范围的相对速度。例如,对于可以沿非平面方向移动的车窗,此属性应按如下方式工作:对于可以沿非平面方向移动的车窗(天窗的通风模式),此参数可使用负值,如下所示:
Max
天窗完全打开(天窗关闭时为 0)。Min
天窗通风口完全打开(天窗关闭时为 0)。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
WINDSHIELD_WIPERS_PERIOD
挡风玻璃雨刷周期(毫秒)。返回挡风玻璃雨刷一个完整周期的瞬时时间段(单位:毫秒)。一个完整周期是指雨刷从停放位置移动并返回停放位置。选择间歇式雨刷设置后,在间歇式雨刷暂停期间,此属性的值必须设置为 0。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。每个区域 ID 的 maxInt32Value
必须指定最长的雨刷周期。每个区域 ID 的 minInt32Value
都必须设置为 0。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLI_SECS
版本:Android 14
WINDSHIELD_WIPERS_STATE
挡风玻璃雨刷的状态。返回挡风玻璃雨刷的当前状态。WINDSHIELD_WIPERS_STATE
的值可能与 WINDSHIELD_WIPERS_SWITCH
的值不一致,例如 WINDSHIELD_WIPERS_STATE: ON
和 WINDSHIELD_WIPERS_SWITCH: WindshieldWipersSwitch#AUTO
。如果实现了 WINDSHIELD_WIPERS_STATE: ON
和 WINDSHIELD_WIPERS_PERIOD
,则 WINDSHIELD_WIPERS_PERIOD
必须反映雨刷的一个完整周期的时间段。
对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非支持 WindshieldWipersState
中的所有状态(包括不推荐的 OTHER)。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:WindshieldWipersState
单位类型:无
版本:Android 14
WINDSHIELD_WIPERS_SWITCH
挡风玻璃雨刷开关。表示控制挡风玻璃雨刷的开关的位置。WINDSHIELD_WIPERS_SWITCH
的值可能与 WINDSHIELD_WIPERS_STATE
的值不一致,例如 WINDSHIELD_WIPERS_SWITCH: AUTO
和 WINDSHIELD_WIPERS_STATE: WindshieldWipersState#ON
。对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非支持 WindshieldWipersSwitch
中的所有状态(包括不推荐的 OTHER)。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。如果此属性实现为 VehiclePropertyAccess.READ_WRITE
,并且 OTHER 状态列在 VehicleAreaConfig#supportedEnumValues
数组中,则不支持写入 OTHER 不支持写入,仅支持读取该值。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:WindshieldWipersSwitch
单位类型:无
版本:Android 14