Proprietà di sistema supportate

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.

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 WRITEa 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 VehicleApPowerStateReport
  • int32Values[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 VehicleApPowerStateReq
  • int32Values[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 - indifferente
  • int32[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 - on
  • int32[1] Limiti - a sinistra
  • int32[2] Limiti - superiore
  • int32[3] Limiti - a destra
  • int32[4] Limiti - inferiore
  • int32[5] Incavo - sinistra
  • int32[6] Inset - top
  • int32[7] Inset - right
  • int32[8] Inset - bottom
  • int32[9] Tipo di ClusterUI nella schermata a schermo intero o principale. 0 indica ClusterHome. 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 indica ClusterHome, 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 id
  • int32[1] 11 // ID Android dell'utente creato
  • int32[2] 6 // Flag Android (ospite temporaneo) dell'utente creato
  • int32[3] 10 // utente corrente
  • int32[4] 0 // indicatori utente attuali (nessuno)
  • int32[5] 3 // numero di utenti
  • int32[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 id
  • int32[1] 1 // CreateUserStatus::SUCCESS

Se invece non riesce:

  • int32[0] 42 // request id
  • int32[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

Electronic Toll Collection card status. This property indicates the status of ETC card in this vehicle. If the head unit is aware of an ETC card attached to the vehicle, ELECTRONIC_TOLL_COLLECTION_CARD_TYPE gives that status of the card. Otherwise, this property should be UNAVAILABLE

Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardStatus
Unit type: N/A
Release: Android 13

ELECTRONIC_TOLL_COLLECTION_CARD_TYPE

Electronic Toll Collection (ETC) card type. This property indicates the type of ETC card in this vehicle. If the head unit is aware of an ETC card attached to the vehicle, this property should return the type of card attached; otherwise, this property should be UNAVAILABLE

Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardType
Unit type: N/A
Release: Android 13

EMERGENCY_LANE_KEEP_ASSIST_ENABLED

Enable or disable Emergency Lane Keep Assist (ELKA). Set true to enable ELKA and false to disable ELKA. When ELKA is enabled, the ADAS system in the vehicle should be on and monitoring for unsafe lane changes by the driver. When an unsafe maneuver is detected, ELKA alerts the driver and applies steering corrections to keep the vehicle in its original lane. In general, EMERGENCY_LANE_KEEP_ASSIST_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low, that information must be conveyed through the ErrorState values in the EMERGENCY_LANE_KEEP_ASSIST_STATE property. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

EMERGENCY_LANE_KEEP_ASSIST_STATE

Emergency Lane Keep Assist (ELKA) state. Returns the current state of ELKA. Generally, this property should return a valid state defined in the EmergencyLaneKeepAssistState or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through ErrorState For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of EmergencyLaneKeepAssistState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: EmergencyLaneKeepAssistState/ErrorState
Unit type: N/A
Release: Android 14

ENGINE_COOLANT_TEMP

Temperature of engine coolant.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

ENGINE_IDLE_AUTO_STOP_ENABLED

Represents feature for engine idle automatic stop. If true, the vehicle may automatically shut off the engine when it is not needed and then automatically restart it when needed. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

ENGINE_OIL_LEVEL

Engine oil level.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleOilLevel
Unit type: N/A
Release: Android 13

ENGINE_OIL_TEMP

Temperature of engine oil.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

ENGINE_RPM

Engine revolutions per minute (RPM).

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:RPM
Release: Android 13

ENV_OUTSIDE_TEMPERATURE

Outside temperature. This property must communicate the temperature reading of the environment outside the vehicle. If there are multiple sensors for measuring the outside temperature, this property should be populated with the mean or a meaningful weighted average of the readings that best represent the temperature of the outside environment.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

EV_BATTERY_DISPLAY_UNITS

EV battery units for display. Indicates which units the car is using to display EV battery information to the user. For example, watt-hours (Wh), kilowatt-hours (kWh) or ampere-hours (Ah). VehiclePropConfig.configArray is used to indicate the supported electrical energy. units. Electrical energy units are defined in VehicleUnit For example:

  configArray[0] = WATT_HOUR configArray[1] = AMPERE_HOURS configArray[2] = KILOWATT_HOUR

If updating EV_BATTERY_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then their values must be updated and communicated to the AAOS framework as well. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

EV_BATTERY_INSTANTANEOUS_CHARGE_RATE

EV instantaneous charge rate in milliwatts. A positive value indicates the battery is being charged. A negative value indicates the battery being discharged.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MW
Release: Android 13

EV_BATTERY_LEVEL

Returns the current battery level, whether EV or hybrid. This value will not exceed EV_CURRENT_BATTERY_CAPACITY To calculate the battery percentage, use (EV_BATTERY_LEVEL, EV_CURRENT_BATTERY_CAPACITY)*100.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 13

EV_BRAKE_REGENERATION_LEVEL

Regenerative braking level of a electronic vehicle. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported. The minInt32Value must be 0. The maxInt32Value indicates the setting for the maximum amount of energy regenerated from braking. The minInt32Value indicates the setting for no regenerative braking. This property is a more granular form of EV_REGENERATIVE_BRAKING_STATE It allows the user to set a more specific level of regenerative braking if the states in EvRegenerativeBrakingState are not granular enough for the OEM. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_CURRENT_DRAW_LIMIT

Indicates the maximum current draw threshold for charging set by the user. EvChargeState::configArray[0] is used to specify the max current draw allowed by the vehicle in Amperes. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: VehicleUnit:AMPERE
Release: Android 13

EV_CHARGE_PERCENT_LIMIT

Indicates the maximum charge percent threshold set by the user. Indicates the maximum charge percent threshold set by the user. Returns a float value from 0 to 100. configArray is used to specify the valid values. For example, if the vehicle supports the following charge percent limit values: [20, 40, 60, 80, 100] then the configArray should be {20, 40, 60, 80, 100} If the configArray is empty then all values from 0 to 100 must be valid. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE,, READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_PORT_CONNECTED

EV charge port connected. If the vehicle has multiple charging ports, this property must return true when any of the charge ports are connected.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_PORT_OPEN

EV charge port open. If the vehicle has multiple charging ports, this property must return true if any of the charge ports are open. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_STATE

Charging state of the car Returns the current charging state of the car. If the vehicle has a target charge percentage other than 100, this property must return EvChargeState::STATE_FULLY_CHARGED when the battery charge level has reached the target level. See EvChargeState::EV_CHARGE_PERCENT_LIMIT for more context.

Change mode: ON_CHANGE
Access mode: READ
Enum type: EvChargeState
Unit type: N/A
Release: Android 13

EV_CHARGE_SWITCH

Start or stop charging the EV battery. The setting wanted by the user. Setting this property to true starts the battery charging, and false to stop charging. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13

EV_CHARGE_TIME_REMAINING

Estimated charge time remaining in seconds. Returns 0 if the vehicle is not charging.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:SECS
Release: Android 13

EV_CURRENT_BATTERY_CAPACITY

Current usable battery capacity for and EV or hybrid vehicle. Returns the actual value of battery capacity, when EV or hybrid. This property captures the real-time usable battery capacity taking into account factors such as battery aging and temperature dependency. This value might differ from INFO_EV_BATTERY_CAPACITY because INFO_EV_BATTERY_CAPACITY returns the nominal battery capacity from when the vehicle was new.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 14

EV_REGENERATIVE_BRAKING_STATE

Regenerative braking or one-pedal drive setting of the car. Returns the current setting associated with the regenerative braking setting in the car. If the OEM requires more setting than those provided in EvRegenerativeBrakingState, the EV_BRAKE_REGENERATION_LEVEL property can be used instead, which provides more granular information.

Change mode: ON_CHANGE
Access mode: READ
Enum type: EvRegenerativeBrakingState
Unit type: N/A
Release: Android 13

EV_STOPPING_MODE

Represents property for the current stopping mode of the vehicle. For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of EvStoppingMode are supported. The EvStoppingMode enum may be extended to include more states in the future. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: EvStoppingMode
Unit type: N/A
Release: Android 14

EVS_SERVICE_REQUEST

Enable and request an EVS service. The property provides a way to trigger EVS services. The VHAL should use this property to request Android to start or stop EVS service.

  • int32Values[0] Type of EVS service. The value must be and enum in EvsServiceType.
  • int32Values[1] State of the EVS service. The value must be one of enums in EvsServiceState.

For example, to enable rear view EVS service, Android can set the property value as:

[EvsServiceType::REAR_VIEW, EvsServiceState::ON]

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

EXTERNAL_CAR_TIME

Current date and time suggestion for the cr, encoded as Epoch time (in milliseconds). This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC. This property signals a change in CarTime to Android. If the property is supported, VHAL must report the most accurate current CarTime when this property is read, and publish a change to this property when the CarTime value has changed.

An on-change event for this property must be published when CarTime changes for any reason other than the natural elapse of time (time delta smaller than 500ms should not trigger an on change event). Android will read and subscribe to this property to fetch time from VHAL. This can be useful to synchronize Android's time with other vehicle systems (dash clock). int64Values[0] = provided Epoch time (in milliseconds) Whenever a new Value for the property is received, AAOS creates and sends an ExternalTimeSuggestion to the TimeDetectorService.

If other sources do not have a higher priority, Android will use this to set the system time. For information on how to adjust time source priorities and how time suggestions are handled (including how Android handles gitter, drift, and minimum resolution), see the Time Detector Service documentation.

drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift

We strongly recommend that this propertynot be used to retrieve time from ECUs using protocols (such as GNSS, NTP, and Telephony). Since these protocols are already supported by Android, we recommend you use Android systems instead of wiring through the VHAL with this property.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 13

FOG_LIGHTS_STATE

Fog light state. Return the current state of fog lights. If the:

  • Car has front and rear fog lights. Front and rear fog lights can only be controlled together. FOG_LIGHTS_STATE must be implemented. FRONT_FOG_LIGHTS_STATE and REAR_FOG_LIGHTS_STATE must not be implemented.
  • Front and rear fog lights can only be controlled independently. FOG_LIGHTS_STATE must not be implemented and FRONT_FOG_LIGHTS_STATE and REAR_FOG_LIGHTS_STATE must be implemented.
  • Car has only front fog lights. Only one of FOG_LIGHTS_STATE or FRONT_FOG_LIGHTS_STATE must be implemented (not both). REAR_FOG_LIGHTS_STATE must not be implemented.
  • Car has only rear fog lights. Only one of FOG_LIGHTS_STATE or REAR_FOG_LIGHTS_STATE must be implemented (not both). FRONT_FOG_LIGHTS_STATE must not be implemented.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

FOG_LIGHTS_SWITCH

Fog light switch. The setting wanted by the user. If the:

  • Car has both front and rear fog lights. If front and rear fog lights can only be controlled together, FOG_LIGHTS_SWITCH must be implemented. FRONT_FOG_LIGHTS_SWITCH and REAR_FOG_LIGHTS_SWITCH must not be implemented.
  • Front and rear fog lights can only be controlled independently. FOG_LIGHTS_SWITCH must not be implemented. FRONT_FOG_LIGHTS_SWITCH and REAR_FOG_LIGHTS_SWITCH must be implemented.
  • Car has only front fog lights. Only one of FOG_LIGHTS_SWITCH or FRONT_FOG_LIGHTS_SWITCH must be implemented (not both). REAR_FOG_LIGHTS_SWITCH must not be implemented.
  • Car has only rear fog lights. Only one of FOG_LIGHTS_SWITCH or REAR_FOG_LIGHTS_SWITCH must be implemented (and not both). FRONT_FOG_LIGHTS_SWITCH must not be implemented.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

FORWARD_COLLISION_WARNING_ENABLED

Enable or disable Forward Collision Warning (FCW). Set to true to enable FCW and false to disable FCW. When FCW is enabled, the ADAS system in the vehicle should be turned on and monitoring for potential collisions. In general, FORWARD_COLLISION_WARNING_ENABLED should always return true or false. If the feature is not available due to some temporary state, such as the vehicle speed being too low, that information must be conveyed through the ErrorState values in the FORWARD_COLLISION_WARNING_STATE property.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

FORWARD_COLLISION_WARNING_STATE

Forward Collision Warning (FCW) state. Returns the current state of FCW. This property must always return a valid state defined in ForwardCollisionWarningState or ErrorState It must not surface errors through StatusCode and must use the supported error states instead. For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both ForwardCollisionWarningState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enun type: ForwardCollisionWarningState/ErrorState
Unit type: N/A
Release: Android 14

FRONT_FOG_LIGHTS_STATE

Front fog lights state. Returns the current state of the front fog lights. Only one of FOG_LIGHTS_STATE or FRONT_FOG_LIGHTS_STATE must be implemented. Refer to the documentation on FOG_LIGHTS_STATE for more information.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

FRONT_FOG_LIGHTS_SWITCH

Front fog lights switch. The setting wanted by the user. Only one of FOG_LIGHTS_SWITCH or FRONT_FOG_LIGHTS_SWITCH must be implemented. Refer to the documentation on FOG_LIGHTS_SWITCH for more information.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME

Fuel consumption units for display. Indicates type of units the car is using to display fuel consumption information to user True indicates units are distance over volume such as MPG. False indicates units are volume over distance such as L/100KM. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

FUEL_DOOR_OPEN

Fuel door open. This property must communicate if the fuel door on the vehicle is open or not. This property does not apply to EVs. That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement EV_CHARGE_PORT_OPEN. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

FUEL_LEVEL

Fuel remaining in the vehicle, in milliliters. This property must communicate the current amount of fuel remaining in the vehicle in milliliters. This property does not apply to electric vehicles. That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement EV_BATTERY_LEVEL Value can not exceed INFO_FUEL_CAPACITY

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLILITER
Release: Android 13

FUEL_LEVEL_LOW

Warning for fuel low level. This property corresponds to the low fuel warning on the dashboard. Once FUEL_LEVEL_LOW is set, it should not be cleared until more fuel is added to the vehicle. This property can account for all fuel sources in a vehicle. For example, in a:

  • Gas-powered vehicle, this property is based solely on gas level.
  • Battery powered vehicle, this property is based only on battery level.
  • Hybrid vehicle, this property may can based on a combination of gas and battery levels, at the OEM's discretion.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

FUEL_VOLUME_DISPLAY_UNITS

Fuel volume units for display. Indicates which units the car is using to display fuel volume to the user. For example, Liter or Gallon. VehiclePropConfig.configArray is used to indicate the supported fuel volume display units. Volume units are defined in VehicleUnit For example, configArray[0] = LITER configArray[1] = GALLON If updating FUEL_VOLUME_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then their values must be updated and communicated to the AAOS framework, too. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

GEAR_SELECTION

The gear selected by the user. Values in the config data must represent the list of supported gears for this vehicle. For example, config data for an automatic transmission must contain {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_DRIVE, GEAR_1, GEAR_2,...} and for manual transmission the list must be {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...} For an automatic transmission vehicle that allows the driver to select specific gears on demand (for example, manual mode), the value for GEAR_SELECTION must be set to the specific gear selected by the driver instead of GEAR_DRIVE

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleGear
Unit type: N/A
Release: Android 13

GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT

EU's General security regulation compliance requirement. Returns a value to indicate if general security regulation compliance is required and, if so, the type of requirement.

Change mode: STATIC
Access mode: READ
Enum type: GsrComplianceRequirementType
Unit type: N/A
Release: Android 14

GLOVE_BOX_DOOR_POS

Property that represents the current position of the glove box door. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates that the glove box door is closed. The minInt32Value must be 0. The maxInt32Value indicates that the glove box door is in the fully open position. Values in between minInt32Value and maxInt32Value indicate a transition state between the closed and fully open positions.

This property is not in any particular unit but in a specified range of relative positions. The area ID must match the seat by which the glove box is intended to be used. For example if the front right dashboard has a glove box embedded in it, then the area ID should be SEAT_1_RIGHT

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

GLOVE_BOX_LOCKED

Lock or unlock the glove box. If true, the glove box is locked. If false, the glove box is unlocked. The area ID must match the seat by which the glove box is intended to be used. For example, if the front right dashboard has an embedded glove box embedded, then the area ID should be VehicleAreaSeat#ROW_1_RIGHT

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

Da H a I

HANDS_ON_DETECTION_DRIVER_STATE

Hands On Detection (HOD) driver state. Returns whether the driver's hands are on the steering wheel. Generally, this property should return a valid state defined in the HandsOnDetectionDriverState or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through ErrorState If the vehicle wants to send a warning to the user because the driver's hands have been off the steering wheel for too long, the warning should be surfaced through HANDS_ON_DETECTION_WARNING For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both HandsOnDetectionDriverState (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: HandsOnDetectionDriverState/ErrorState
Unit type: N/A
Release: Android 14

HANDS_ON_DETECTION_ENABLED

Enable or disable Hands On Detection (HOD). Set true to enable HOD and false to disable HOD. When HOD is enabled, a system inside the vehicle should be monitoring the presence of the driver's hands on the steering wheel and send a warning if it detects that the driver's hands are no longer on the steering wheel. In general, HANDS_ON_DETECTION_ENABLED should always return true or false.

If the feature is not available due to some temporary state, that information must be conveyed through the ErrorState values in the HANDS_ON_DETECTION_STATE property. This property is defined as minInt32Value VehiclePropertyAccess.READ_WRITE, but OEMs can implement it is VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

HANDS_ON_DETECTION_WARNING

Hands On Detection (HOD) warning. Returns whether a warning is being sent to the driver for having their hands off the wheel for too long a duration. Generally, this property should return a valid state defined in HandsOnDetectionWarning or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through an ErrorState For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both HandsOnDetectionWarning (including OTHER, which is not recommended) and ErrorState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: HandsOnDetectionWarning/ErrorState
Unit type: N/A
Release: Android 14

HAZARD_LIGHTS_STATE

Hazard light status. Return the current status of hazard lights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

HAZARD_LIGHTS_SWITCH

Hazard light switch. The setting that the user wants. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

HEADLIGHTS_STATE

Headlights state. Returns the current state of headlights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

HEADLIGHTS_SWITCH

Headlight switch. The setting that the user wants. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

HIGH_BEAM_LIGHTS_STATE

High beam lights state. Returns the current state of high beam lights.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13

HIGH_BEAM_LIGHTS_SWITCH

High beam light switch. The setting that the user wants. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

HVAC_AC_ON

Turn AC on and off AC for the designated areaId. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_ACTUAL_FAN_SPEED_RPM

Actual fan speed.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_AUTO_ON

Turn automatic climate control on and off. If true, automatic climate control is on. If false, automatic climate control is off. If the vehicle does not support directly turning off automatic climate control, then OEMs should add logic in their VHAL implementation to set HVAC_AUTO_ON to false, which changes the necessary HVAC settings to indirectly turn off HVAC_AUTO_ON Ideally, this should not disrupt the user. OEMs should revert to the previous state any settings that were modified when automatic climate control is off. This way, the only outcome should be that HVAC_AUTO_ON is off. If restoring HVAC settings to previous settings is not possible, then the OEM should implement the least disruptive change.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_AUTO_RECIRC_ON

Automatic recirculation on or off. When automatic recirculation is on, the HVAC system may automatically switch to recirculation mode if the vehicle detects poor incoming air quality. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_DEFROSTER

Fan-based defrost for designated window. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_DUAL_ON

Enable temperature coupling between areas. The AreaIDs for the HVAC_DUAL_ON property shall contain a combination of HVAC_TEMPERATURE_SET AreaIDs that can be coupled together. If HVAC_TEMPERATURE_SET is mapped to AreaIDs[a_1, a_2, ..., a_n] and if HVAC_DUAL_ON can be enabled to couple a_i and a_j, then HVAC_DUAL_ON property must be mapped to [a_i | a_j]. Further, if a_k and a_l can also be coupled together separately, then HVAC_DUAL_ON must be mapped to [a_i | a_j, a_k | a_l]. For example, a car has two front seats (ROW_1_LEFT and ROW_1_RIGHT) and three back seats (ROW_2_LEFT, ROW_2_CENTER, and ROW_2_RIGHT). There are two temperature control units, driver side and passenger side, which can be optionally synchronized. This can be expressed this way in the 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]

When the property is enabled, the ECU must synchronize the temperature for the affected areas. Any parameters modified as a side effect of turning on or off the DUAL_ON parameter shall generate onPropertyEvent() callbacks to the VHAL. In addition, if setting a temperature (for example, driver temperature) changes another temperature (such as front passenger temperature), then the appropriate onPropertyEvent() callbacks must be generated.

If a user changes a temperature that breaks the coupling (for example, sets passenger temperature independently), then the VHAL must send the appropriate onPropertyEvent() callbacks (including HVAC_DUAL_ON = false and HVAC_TEMPERATURE_SET[AreaID] = xxx). This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_ELECTRIC_DEFROSTER_ON

Electric defrosters' status.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_FAN_DIRECTION

Fan direction setting. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleHvacFanDirection
Unit type: N/A
Release: Android 13

HVAC_FAN_DIRECTION_AVAILABLE

Fan positions available. This is a bit mask of fan positions available for the zone. Each available fan direction is denoted by a separate entry in the vector. A fan direction can have multiple bits from vehicle_hvac_fan_direction set. For instance, a typical car may have these fan positions:

- 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)

Change mode: STATIC
Access mode: READ
Enum type: VehicleHvacFanDirection
Unit type: N/A
Release: Android 13

HVAC_FAN_SPEED

Fan speed setting. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

  • minInt32Value lowest fan speed
  • maxInt32Value highest fan speed

This property is not in any specific unit but in a specified range of relative speeds. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can elect to implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_MAX_AC_ON

MAX AC on or off. When MAX AC is on, the ECU can adjust items such as vent position, fan speed, and temperature as needed to cool the vehicle as quickly as possible. Any parameters modified as a side effect of turning on or off the MAX AC parameter generates onPropertyEvent() callbacks to the VHAL. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_MAX_DEFROST_ON

Turn MAX DEFROST on and off. When MAX DEFROST is on, the ECU can adjust items such as vent position, fan speed, and temperature as needed to defrost the windows as quickly as possible. Any parameters modified as a side effect of turning on or off MAX DEFROST parameter generates onPropertyEvent() callbacks to the VHAL. The AreaIDs for HVAC_MAX_DEFROST_ON indicate MAX DEFROST can be controlled in the area. For example, areaConfig.areaId = {ROW_1_LEFT | ROW_1_RIGHT} indicates that HVAC_MAX_DEFROST_ON can only be controlled for the front rows. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_POWER_ON

Represents the global power state for HVAC. Setting this property to false MAY mark some properties that control individual HVAC features and subsystems in the UNAVAILABLE state. Setting this property to true MAY mark some properties that control individual HVAC features and subsystems to the AVAILABLE state (unless any or all of the properties are UNAVAILABLE on their own individual merits).

HvacPower_DependentProperties are those properties that require HVAC to be powered on to enable functionality. In some cars, for example, to turn on the AC, HVAC must first be powered on. The HvacPower_DependentProperties list must be set in the VehiclePropConfig.configArray HvacPower_DependentProperties must only contain those properties associated with VehicleArea:SEAT

AreaID mapping for HVAC_POWER_ON property must contain all AreaIDs that HvacPower_DependentProperties are mapped to. For example, a car has two:

  1. Front seats (ROW_1_LEFT, ROW_1_RIGHT) and three back seats (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT). If the HVAC features (AC, Temperature etc.) throughout the car are dependent on a single HVAC power controller, then HVAC_POWER_ON must be mapped to [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
  2. Seats in the front row (ROW_1_LEFT, ROW_1_RIGHT) and three seat in the second (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT) and third rows (ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT). If the car has temperature controllers in the front row that can operate entirely independently of temperature controllers in the back of the vehicle, then HVAC_POWER_ON must be mapped to a two element array:
    - ROW_1_LEFT | ROW_1_RIGHT - ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_RIGHT
    

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_RECIRC_ON

Recirculation on and off. Controls the supply of exterior air to the cabin. Recirc on means most of the airflow into the cabin originates in the cabin. Recirc off means most of the airflow into the cabin comes from outside the car. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_SEAT_TEMPERATURE

Seat heating and cooling. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the maximum seat temperature heating setting. The minInt32Value must be 0, unless the vehicle supports seat cooling. In this case, minInt32Value indicates the maximum seat temperature cooling setting. This property is not in any specific unit, but in a specified range of relative temperature settings. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_SEAT_VENTILATION

Seat ventilation. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value must be 0. The maxInt32Value indicates the maximum ventilation setting available for the seat.

This property is not in any particular unit but in the specified range of ventilation settings.

Used by HVAC apps and Assistant to enable, change, or read state of seat ventilation. This is different than seating cooling. It can be on at the same time as cooling, or not.

This property is defined as >VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_SIDE_MIRROR_HEAT

Side mirror heat. Increasing values denote higher heating levels for side mirrors. You must define maxInt32Value and minInt32Value in VehicleAreaConfig All integers between minInt32Value and maxInt32Value must be supported. In config data:

  • maxInt32Value represents maximum heating level.
  • minInt32Value MUST be 0 and indicates no heating.

This property is not in any particular unit but in a specified range of relative heating settings. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_STEERING_WHEEL_HEAT

Sets the amount of heating and cooling for the steering wheel. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the maximum steering wheel heating setting. The minInt32Value should be 0, unless the vehicle supports steering wheel cooling, too. In this case, the minInt32Value indicates the maximum steering wheel cooling setting. This property is not in any particular unit but in a specified range of heating settings. This property is defined as VehiclePropertyAccess.READ, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HVAC_TEMPERATURE_CURRENT

HVAC current temperature.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

HVAC_TEMPERATURE_DISPLAY_UNITS

Temperature units for display. Indicates if temperature is displayed in Celsius or Fahrenheit. VehiclePropConfig.configArray indicates the supported temperature display units. For example, configArray[0] = CELSIUS configArray[1] = FAHRENHEIT This parameter MAY be used to display any HVAC temperature in the system. Values must be one of VehicleUnit.CELSIUS or VehicleUnit.FAHRENHEIT

If updating HVAC_TEMPERATURE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITSproperties, then their values must be updated and communicated to the AAOS framework.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it is VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

HVAC_TEMPERATURE_SET

HVAC target temperature set in Celsius.

The minFloatValue and maxFloatValue in VehicleAreaConfig must be defined:

  • minFloatValue minimum temperature setting in Celsius.
  • maxFloatValue maximum temperature setting in Celsius.

If all the values between minFloatValue and maxFloatValue are not supported, use the configArray to list the valid temperature values that can be set. This also describes a lookup table to convert the temperature from Celsius to Fahrenheit (and vice versa) for the vehicle. The configArray must be defined if standard unit conversion is not supported on the vehicle.

The configArray is set as follows:

  • configArray[0] [lower bound of supported temperature in Celsius] * 10
  • configArray[1] [upper bound of supported temperature in Celsius] * 10
  • configArray[2] [increment in Celsius] * 10
  • configArray[3] [lower bound of the supported temperature in Fahrenheit] * 10
  • configArray[4] [upper bound of the supported temperature in Fahrenheit] * 10
  • configArray[5] [increment in Fahrenheit] * 10

The minFloatValue and maxFloatValue in VehicleAreaConfig must be equal to configArray[0] and configArray[1] respectively. For example, if the vehicle supports temperature values as [16.0, 16.5, 17.0 ,..., 28.0] in Celsius [60.5, 61.5, 62.5 ,..., 84.5] in Fahrenheit, the configArray should be configArray = {160, 280, 5, 605, 845, 10}

Ideally, the ratio of the Celsius increment to the Fahrenheit increment should be as close to the actual ratio of 1 degree Celsius to 1.8 degrees Fahrenheit. There must be a one-to-one mapping of all Celsius values to Fahrenheit values defined by the configArray The configArray is used by clients to convert this property's temperature from Celsius to Fahrenheit. Also, it lets clients know what Celsius value to set the property to achieve their desired Fahreneheit value for the system. If the ECU does not have a one-to-one mapping of all Celsius values to Fahrenheit values, then the configArray should only define the list of Celsius and Fahrenheit values that have a one-to-one mapping.

For example, if the ECU supports Celsius values from 16 to 28 and Fahrenheit values from 60 to 85, each with an increment of 1, then one possible configArray is code>{160, 280, 10, 600, 840, 20}In this case, 85 is not a supported temperature.

Any value set in between a valid value should be rounded to the closest valid value. We highly recommended that the OEM also implement the HVAC_TEMPERATURE_VALUE_SUGGESTION vehicle property because it provides applications with a simple method for determining temperature values that can be set for a vehicle and for converting values between Celsius and Fahrenheit.

This property is defined as VehiclePropertyAccess.READ, but OEMs can implement it as VehiclePropertyAccess.READ

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13

HVAC_TEMPERATURE_VALUE_SUGGESTION

Suggested values for setting HVAC temperature.

Implement the property to help applications understand the closest supported temperature value in Celsius or Fahrenheit.

  • floatValues[0] Requested value that an app wants to set a temperature to.
  • floatValues[1] Unit for floatValues[0] and should be one of {VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}
  • floatValues[2] Value OEMs suggested in CELSIUS (this value is not included in the request).
  • floatValues[3] Value OEMs suggested in FAHRENHEIT (this value is not included in the request).

An application calls set(VehiclePropValue propValue) with the requested value and unit for the value. OEMs need to return the suggested values in floatValues[2] and floatValues[3] by onPropertyEvent() callbacks. The suggested values must conform to the values that can be derived from the HVAC_TEMPERATURE_SET configArray In other words, the suggested values and the table of values from the configArray should be the same.

We recommended that the OEM add custom logic in their VHAL implementation to avoid making requests to the HVAC ECU. The logic can be as follows. To convert temperature from Celsius to Fahrenheit:

// 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;

For example, when a driver uses the voice assistant to set HVAC temperature to 66.2 in Fahrenheit. First, an application sets this property with the value [66.2, (float)VehicleUnit.FAHRENHEIT,0,0] If an OEM suggests to set 19.0 in Celsius or 66.5 in Fahrenheit at the user's request, then VHAL must generate a callback with a property value [66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5] After the voice assistant gets the callback, it informs the user and sets the HVAC temperature to the suggested value.

Another example, an app receives 21 Celsius as the current temperature value by querying HVC_TEMPERATURE_SET but the app needs to know what value is displayed on the car's UI in Fahrenheit. For this, the app sets the property to [21, (float)VehicleUnit.CELSIUS, 0, 0] If the suggested value by the OEM for 21 Celsius is 70 Fahrenheit, then VHAL must generate a callback with property value [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0] In this case, the app can know that the value is 70.0 Fahrenheit in the car's UI.

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

HW_CUSTOM_INPUT

Defines a custom OEM partner input event. This input event must be used by OEM partners who want to propagate events not supported by Android. It is composed by an array of int32 values only. The Android properties are:

  • int32Values[0] Input code identifying the function representing this event. Valid event types are defined by CustomInputType.CUSTOM_EVENT_F1 up to CustomInputType.CUSTOM_EVENT_F10 They represent the custom event to be defined by OEM partners.
  • int32Values[1] Target display type defined in VehicleDisplay Events not tied to a specific display must be sent to VehicleDisplay#MAIN
  • int32Values[2] Repeat counter, if 0 then event is not repeated. Values 1 or higher indicate how many times this event has been repeated.

Change mode: ON_CHANGE
Access mode: READ
Enum type: CustomInputType
Unit type: N/A
Release: Android 13

HW_KEY_INPUT

Property to feed hardware input events to Android.

  • int32Values[0] Action defined by VehicleHwKeyInputAction
  • int32Values[1] Key code, must use standard android key code
  • int32Values[2] Target display defined in VehicleDisplay Events not tied to specific display must be sent to VehicleDisplay#MAIN
  • int32Values[3] (Optional) Number of ticks. The value must be equal o greater than 1. When omitted, Android defaults to 1.

Change mode: .ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

HW_KEY_INPUT_V2

Property to feed hardware input events to Android.

  • int32array[0] Target display defined by VehicleDisplay such as:
    VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
  • int32array[1] Key code, must use the standard Android key code, such as KEYCODE_HOME and KEYCODE_BACK
  • int32array[2] action defined in VehicleHwKeyInputAction, such as:
    VehicleHwKeyInputAction::ACTION_UP, VehicleHwKeyInputAction::ACTION_UP
  • int32array[3] Repeat count of the event. For key down events, this is the repeat count with the first down starting at 0 and counting up from there. For key up events, this is always equal to 0.
  • int64array[0] Down time in elapsed nanoseconds since the last boot. Denotes the time of the most recent key down event. For the down event, this is the event time of the down event.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14

HW_MOTION_INPUT

Property to feed hardware input events to Android.

  • int32array[0] Target display defined by VehicleDisplay, such as:
    VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
  • int32array[1] Input type defined in VehicleHwMotionInputSource, such as:
    VehicleHwMotionInputSource::SOURCE_KEYBOARD, VehicleHwMotionInputSource::SOURCE_DPAD
  • int32array[2] Action code defined in VehicleHwMotionInputAction, such as:
    VehicleHwMotionInputAction::ACTION_UP, VehicleHwMotionInputAction::ACTION_DOWN
  • int32array[3] Button state flag defined in VehicleHwMotionButtonStateFlag, such as:
    VehicleHwMotionButtonStateFlag::BUTTON_PRIMARY, VehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
  • int32array[4] Pointer events count, N. N must be a positive integer.
  • int32array[5:5+N-1] Pointer id, length N
  • int32array[5+N:5+2*N-1] Tool type, length N. As defined in VehicleHwMotionToolType, such as:
    VehicleHwMotionToolType::TOOL_TYPE_FINGER, VehicleHwMotionToolType::TOOL_TYPE_STYLUS
  • floatArray[0:N-1] x data, length N
  • floatArray[N:2*N-1] y data, length N
  • floatArray[2*N:3*N-1] pressure data, length N
  • floatArray[3*N:4*N-1] size data, length N
  • int64array[0] Down time, elapsed nanoseconds since boot. Denotes the time when the user originally pressed down to start a stream of position events. For the down event, it is the event time of the down event.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14

HW_ROTARY_INPUT

Property to feed hardware rotary events to Android.

  • int32Values[0] RotaryInputType to identify which rotary knob is rotated.
  • int32Values[1] Number of detents (clicks), positive for clockwise, negative for counterclockwise.
  • int32Values[2] Target display defined in VehicleDisplay Events not tied to a specific display must be sent to VehicleDisplay#MAIN
  • int32values[3 .. 3 + abs(number of detents) - 2] Nanosecond deltas between pairs of consecutive detents when the number of detents is more than 1 or less than -1.
  • VehiclePropValue.timestamp When the rotation took place. If the number of detents is more than 1 or less than -1, when the first detent of rotation took place.

Change mode: ON_CHANGE
Access mode: READ
Enum type: RotaryInputType
Unit type: N/A
Release: Android 13

IGNITION_STATE

Represents ignition state.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleIgnitionState
Unit type: N/A
Release: Android 13

INFO_DRIVER_SEAT

Driver's seat location VHAL implementations must ignore the areaId. Use VehicleArea:GLOBAL

Change mode: STATIC
Access mode: READ
Enum type: VehicleAreaSeat
Unit type: N/A
Release: Android 13

INFO_EV_BATTERY_CAPACITY

Nominal battery capacity for EV or hybrid vehicle. Returns the nominal battery capacity, EV or hybrid. This is the total usable battery capacity when the vehicle is new. This value may differ from EV_CURRENT_BATTERY_CAPACITY because EV_CURRENT_BATTERY_CAPACITY returns the real-time usable battery capacity taking into account factors such as battery aging and temperature dependency.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 13

INFO_EV_CONNECTOR_TYPE

List of connectors this EV may use. If the vehicle has multiple charging ports, this property must return all possible connector types that can be used by at least one charging port on the vehicle.

Change mode: STATIC
Access mode: READ
Enum type: EvConnectorType
Unit type: N/A
Release: Android 13

INFO_EV_PORT_LOCATION

This property must communicate the location of the charging port on the EV using the PortLocationType enum. If a vehicle has multiple ports, this property must return the port that allows the fastest charging. To communicate all port locations, use INFO_MULTI_EV_PORT_LOCATIONS

EV port location: STATIC
Access mode: READ
Enum type: PortLocationType
Unit type: N/A
Release: Android 13

INFO_EXTERIOR_DIMENSIONS

Exterior dimensions of vehicle:

  • Height: int32Values[0]
  • Length: int32Values[1]
  • Width: int32Values[2]
  • Width, including mirrors: int32Values[3]
  • Wheel base, including mirrors: int32Values[4]
  • Track width front: int32Values[5]
  • Track width rear: int32Values[6]
  • Curb-to-curb turning diameter: int32Values[7]

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLIMETER
Release: Android 13

INFO_FUEL_CAPACITY

Fuel capacity of the vehicle in milliliters. This property must communicate the maximum amount of fuel that can be stored in the vehicle in milliliters. This property does not apply to electric vehicles (EV). That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, INFO_FUEL_CAPACITY must not be implemented. For EVs, implement INFO_EV_BATTERY_CAPACITY.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLILITER
Release: Android 13

INFO_FUEL_DOOR_LOCATION

Fuel door location. This property must communicate the location of the fuel door on the vehicle. This property does not apply to EVs. That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement INFO_EV_PORT_LOCATION or INFO_MULTI_LOCATIONS

Change mode: STATIC
Access mode: READ
Enum type: PortLocationType
Unit type: N/A
Release: Android 13

INFO_FUEL_TYPE

List of fuels the vehicle may use. FuelType::FUEL_TYPE_ELECTRIC must only be included if the vehicle can plug-in rechargeable. For example, a Fully Hybrid Electric Vehicle (FHEV) must not include FuelType::FUEL_TYPE_ELECTRIC as the INT32_VEC value for INFO_FUEL_TYPE INFO_FUEL_TYPE can be populated as such.

int32Values = { FuelType::FUEL_TYPE_UNLEADED }
On the other hand, a Plug-in Hybrid Electric Vehicle (PHEV) is plug-in rechargeable and should include FuelType::FUEL_TYPE_ELECTRIC as the INT32_VEC value for INFO_FUEL_TYPE INFO_FUEL_TYPE can be populated as such, int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }

Change mode: STATIC
Access mode: READ
Enum type: FuelType
Unit type: N/A
Release: Android 13

INFO_MAKE

Manufacturer of vehicle. This property must communicate the vehicle's public brand name.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

INFO_MODEL

Model of vehicle. This property must communicate the vehicle's public model name.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

INFO_MODEL_YEAR

Model year of vehicle in `YYYY` format based on the Gregorian calendar.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:YEAR
Release: Android 13

INFO_MULTI_EV_PORT_LOCATIONS

Multiple EV port locations. Implement this property if the vehicle has multiple EV ports. Port locations are defined in PortLocationType. For example, a car has one port front left and one port rear left:

int32Values[0] = PortLocationType::FRONT_LEFT int32Values[1] = PortLocationType::REAR_LEFT

If a vehicle has only one port, this property's value should list one element. To describe one port location, see INFO-EV-PORT-LOCATION

.

Change mode: STATIC
Access mode: READ
Enum type: PortLocationType
Unit type: N/A
Release: Android 13

INFO_VIN

VIN of vehicle.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

INITIAL_USER_INFO

Defines the Android user to be used during initialization. This property is called by the Android system when it initializes and lets the HAL define which Android user should be started. This request is made by setting a VehiclePropValue (defined by InitialUserInfoRequest), and the HAL must respond with a property change event (defined by InitialUserInfoResponse). If the HAL doesn't respond after a time defined by the Android system, the Android system proceeds as if HAL returned a response of action InitialUserInfoResponseAction:DEFAULT. For example, on first boot, the request could be:

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)
If the HAL responds with the creation of an admin user called Owner, the response would be:
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
The string value represents multiple values, separated by ||. The first value is the (optional) system locales for the user to be created (empty in this case meaning it uses the Android default value), while the second value is the (optional) name of the user to be created (when the type of response is InitialUserInfoResponseAction:CREATE). For example, to create the same Owner user with en-US and pt-BR locales, the string value of the response is en-US,pt-BR||Owner. As such, neither the locale nor the name can contain two vertical bars (||) in their values, although you can use a single vertical bar (|).

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: 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 fornitore
  • configArray[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 validi
  • int32Values[2 and 3] sono valori del sensore validi
  • int32Values[4 and 5] non sono valori del sensore validi
  • int32Values[6] è un valore del sensore valido
  • int32Values[7] non è un valore del sensore valido
  • int32Values[0 and 1] non sono valori del sensore validi
  • int32Values[2 and 3] sono valori del sensore validi
  • int32Values[4 and 5] non sono valori del sensore validi
  • int32Values[6] è un valore del sensore valido
  • int32Values[7] non è un valore del sensore valido

Se bytes[5] = 0x61 (0b01100001), allora:

  • int32Values[32] è un valore del sensore valido
  • floatValues[0 thru 3] sono valori dei sensori non validi
  • floatValues[4 and 5] sono valori del sensore validi
  • floatValues[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 display
  • int32Values[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 id
  • int32[1] 11 // (ID utente Android dell'utente rimosso)
  • int32[2] 0 // (flag utente Android dell'utente rimosso)
  • int32[3] 10 // utente corrente
  • int32[4] 0 // indicatori utente attuali (nessuno)
  • int32[5] 2 // numero di utenti
  • int32[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

Represents feature to enable and disable a seat's ability to deploy airbag(s) when triggered (for example, in a collision). If true, it means the seat's airbags are enabled and, if triggered, they deploy. If true, the seat's airbags are disabled, and they do not deploy in any circumstances. This property does not indicate if the airbags are deployed.

This property can be set to VehiclePropertyAccess.READ read only for the purpose of regulation or safety concerns.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_BACKREST_ANGLE_1_MOVE

Seat backrest angle 1 move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value represents the maximum movement speed of the seat backrest while angling forward. The minInt32Value represents the maximum movement speed of the seat backrest when reclining.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat backrest reaches the positional limit, the value must reset to 0. If the value for SEAT_BACKREST_ANGLE_1_MOVE is 0, no movement is occurring.

This property is represented in a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_BACKREST_ANGLE_1_POS

Seat backrest angle 1 position. Backrest angle 1 is the actuator closest to the bottom of the seat. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the seat backrest's full recline position with regard to the actuator at the bottom of the seat. The maxInt32Value indicates the seat backrest's most upright or forward position with regard to the actuator at the bottom of the seat.

Values between minInt32Value and maxInt32Value indicate a transition state between the full recline and the upright and forward positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_BACKREST_ANGLE_2_MOVE

Seat backrest angle 2 move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat backrest while angling forward. The minInt32Value represents the maximum movement speed of the seat backrest while reclining.

Larger absolute values, positive or negative, indicate a faster movement speed. Once the seat backrest reaches the positional limit, the value must reset to 0. If the value for SEAT_BACKREST_ANGLE_2_MOVE is currently 0, no movement is underway.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A Unit type: N/A
Release: Android 13

SEAT_BACKREST_ANGLE_2_POS

Seat backrest angle 2 position. Backrest angle 2 is the next actuator up from the bottom of the seat.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be #0supported.

The minInt32Value indicates the seat backrest's full recline position with regard to the next actuator in the backrest from the one at the bottom of the seat (see SEAT_BACKREST_ANGLE_1_POS for details). maxInt32Value indicates the seat backrest's most upright and forward position with regard to the next actuator in the backrest from the one at the bottom of the seat (see SEAT_BACKREST_ANGLE_1_POS for details).

Values between minInt32Value and maxInt32Value indicate a transition state between the full recline and upright and forward positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_BELT_BUCKLED

Seatbelt buckled. True indicates belt is buckled. Write access indicates automatic seat buckling capabilities. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_BELT_HEIGHT_MOVE

Seatbelt height move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat belt's shoulder anchor while moving up. The minInt32Value represents the maximum movement speed of the seat belt's shoulder anchor while moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat belt reaches the positional limit, the value must reset to 0. If the value of SEAT_BELT_HEIGHT_MOVE is 0, no movement is underway.

This property is represented as a a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_BELT_HEIGHT_POS

Seatbelt height position. Adjusts the shoulder belt anchor point.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the seat belt's shoulder anchor is at its lowest position. The maxInt32Value indicates the seat belt's shoulder anchor is at its highest position.

Values between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_CUSHION_SIDE_SUPPORT_MOVE

Represents property for movement direction and speed of seat cushion side support.

The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat cushion side support when growing wider (for example, support is decreasing). The minInt32Value represents the maximum movement speed of the seat cushion side support when growing narrower (for example, support is increasing).

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat cushion side support reaches the positional limit, the value must reset to 0. If the value of SEAT_CUSHION_SIDE_SUPPORT_MOVE is 0, then no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_CUSHION_SIDE_SUPPORT_POS

Represents property for seat's hipside (bottom cushion's side) support position.

The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value indicates the seat cushion side support is in its widest position (for example, least support). The minInt32Value indicates the seat cushion side support is in its thinnest position (for example, most support).

Values in between minInt32Value and maxInt32Value indicate a transition state between the thinnest and widest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_DEPTH_MOVE

Seat depth move.

The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat while getting deeper The minInt32Value represents the maximum movement speed of the seat while getting shallower.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat backrest reaches the positional limit, the value must reset to 0. If the value for SEAT_DEPTH_MOVE is currently 0, no movement is underway.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_DEPTH_POS

Seat depth position. Sets the seat depth, distance from back rest to front edge of seat.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the seat is in its shallowest position (for example, the position with the smallest distance between the front edge of the seat cushion and the rear end of the seat).

The maxInt32Value indicates the seat is in its deepest position (for example, the position with the largest distance between the front edge of the seat cushion and the rear end of the seat).

Values in between minInt32Value and maxInt32Value indicate a transition state between the shallowest and deepest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only..

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_EASY_ACCESS_ENABLED

Represents property for Seat easy access feature. If true, the seat is automatically adjusted to make it easier for the occupant to enter and exit the vehicle. Each area ID must map to the seat that the user is trying to enter/exit with the help of the easy access feature. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_FOOTWELL_LIGHTS_STATE

Represents property for the seat footwell lights state. SEAT_FOOTWELL_LIGHTS_STATE reflects the current state of the lights at any point in time. This is different from the function of SEAT_FOOTWELL_LIGHTS_SWITCH which represents the position of the switch controlling the lights.

Therefore, SEAT_FOOTWELL_LIGHTS_STATE may not match the value of SEAT_FOOTWELL_LIGHTS_SWITCH (for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC and SEAT_FOOTWELL_LIGHTS_SWITCH=ON).

This property should only be implemented if SEAT_FOOTWELL_LIGHTS_STATE 's value may be different from that of CABIN_LIGHTS_STATE.

For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 14

SEAT_FOOTWELL_LIGHTS_SWITCH

Represents property for the seat footwell lights switch. SEAT_FOOTWELL_LIGHTS_SWITCH represents the position of the switch controlling the lights. This is different from the function of SEAT_FOOTWELL_LIGHTS_STATE which reflects the current state of the lights at any point in time. Therefore, SEAT_FOOTWELL_LIGHTS_SWITCH may not match the value of SEAT_FOOTWELL_LIGHTS_STATE (for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC and SEAT_FOOTWELL_LIGHTS_SWITCH=ON).

This property should only be implemented if SEAT_FOOTWELL_LIGHTS_SWITCH's value may be different from that of CABIN_LIGHTS_SWITCH.

For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightSwitch are supported.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13

SEAT_FORE_AFT_MOVE

Seat fore and aft move. This property moves the entire seat forward/backward in the direction that it is facing.

The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat while moving forward. The minInt32Value represents the maximum movement speed of the seat while moving backward.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat reaches the positional limit, the value must reset to 0. If the value of SEAT_FORE_AFT_MOVE is 0, no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_FORE_AFT_POS

Seat fore and aft position. Sets the seat position forward and backward.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the seat is at its rearward-most linear position. The maxInt32Value indicates the seat is at its forward-most linear position. Values between minInt32Value and maxInt32Value indicate a transition state between the closest and farthest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEADREST_ANGLE_MOVE

Headrest angle move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat's headrest while moving into an upright or forward position. The minInt32Value represents the maximum movement speed of the seat's headrest while moving into a shallow position.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's headrest reaches the positional limit, the value must reset to 0. If the value of SEAT_HEADREST_ANGLE_MOVE is 0, thenno movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only..

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEADREST_ANGLE_POS

Headrest angle position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the headrest is in its full recline position. The maxInt32Value indicates the headrest is in its most upright and forward position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the full recline and most upright and forward positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEADREST_FORE_AFT_MOVE

Headrest fore and aft move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat's headrest while moving forward. The minInt32Value represents the maximum movement speed of the seat's headrest while moving backward.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's headrest reaches the positional limit, the value must reset to 0. If the value of SEAT_HEADREST_FORE_AFT_MOVE is 0, then no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEADREST_FORE_AFT_POS

Headrest fore and aft position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the headrest is in its rearward-most linear position. The maxInt32Value indicates the headrest is in its forward-most linear position.

Values between minInt32Value and maxInt32Value indicate a transition state between the forward and backward positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEADREST_HEIGHT_MOVE

Headrest height move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat's headrest while moving up. The minInt32Value represents the maximum movement speed of the seat's headrest while moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's headrest reaches the positional limit, the value must reset to 0. If the value for SEAT_HEADREST_HEIGHT_MOVE is 0, then no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEADREST_HEIGHT_POS

(Deprecated) Headrest height position.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEADREST_HEIGHT_POS_V2

Headrest height position. Sets the headrest height for supported seats. VehiclePropConfig.areaConfigs specifies which seats are supported.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the headrest is in its lowest position. The maxInt32Value indicates the headrest is in its highest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_HEIGHT_MOVE

Seat height move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

maxInt32Value represents the maximum movement speed of the seat when moving up.

minInt32Value represents the maximum movement speed of the seat when moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat reaches the positional limit, the value must reset to 0. If the value of SEAT_HEIGHT_MOVE value is 0, no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_HEIGHT_POS

Seat height position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the seat is in its lowest position. The maxInt32Value indicates the seat is in its highest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_LUMBAR_FORE_AFT_MOVE

Lumbar fore and aft move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat's lumbar support while moving forward. The minInt32Value represents the maximum movement speed of the seat's lumbar support while moving backward.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's lumbar support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_FORE_AFT_MOVE is 0, then no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_LUMBAR_FORE_AFT_POS

Lumber fore and aft position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The minInt32Value indicates the lumbar support is in its rearward most position (for example, least supportive position). The maxInt32Value indicates the lumbar support is in its forward most position (for example, most supportive position).

Values in between minInt32Value and maxInt32Value indicate a transition state between the forward and rearward positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access type: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_LUMBAR_SIDE_SUPPORT_MOVE

Lumbar side support move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

The maxInt32Value represents the maximum movement speed of the seat's lumbar side support while getting wider. The minInt32Value represents the maximum movement speed of the seat's lumbar side support while getting thinner.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat's lumbar side support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_SIDE_SUPPORT_MOVE 0, then no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access type: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_LUMBAR_SIDE_SUPPORT_POS

Lumbar side support position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the lumbar side support is in its thinnest position (for example, most support). The maxInt32Value indicates the lumbar side support is in its widest position (for example, least support).

Values in between minInt32Value and maxInt32Value indicate a transition state between the thinnest and widest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access type: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_LUMBAR_VERTICAL_MOVE

Represents property for vertical movement direction and speed of seat lumbar support.

The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the lumbar support is moving at the fastest upward speed. The minInt32Value indicates the lumbar support is moving at the fastest down speed.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat cushion side support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_VERTICAL_MOVE's is 0, then no movement is occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_LUMBAR_VERTICAL_POS

Represents property for seat's lumbar support vertical position. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. maxInt32Value indicates the lumbar support's highest position. minInt32Value indicates the lumbar support's lowest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_MEMORY_SELECT

This parameter selects the memory preset to use to select the seat position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value is always 0, and the maxInt32Value determines the number of seat preset memory slots available (for example, numSeatPresets - 1). For instance, if the driver's seat has three memory presets, the maxInt32Value is two. When the user selects a preset, the desired preset number (0, 1, or 2) is set.

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_MEMORY_SET

This setting allows the user to save the current seat position settings into the selected preset slot. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. The minInt32Value must be 0, and the maxInt32Value for each seat position must match the maxInt32Value for SEAT_MEMORY_SELECT

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_OCCUPANCY

Indicates if a specific seat is occupied, to the best of the car's ability to determine. Valid values are from the VehicleSeatOccupancyState enum.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleSeatOccupancyState
Unit type: N/A
Release: Android 13

SEAT_TILT_MOVE

Seat tilt move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value represents the maximum movement speed of the front edge of the seat while moving up. The minInt32Value represents the maximum movement speed of the front edge of the seat while moving down.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat bottom reaches the positional limit, the value must reset to 0. If SEAT_TILT_MOVE's value is currently 0, no movement is underway.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SEAT_TILT_POS

Seat tilt position. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the seat bottom is angled at its lowest angular position. This corresponds to the seat's front edge at its lowest possible position relative to the rear end of the seat. The maxInt32Value indicates the seat bottom is angled at its highest angular position. This corresponds to the seat's front edge at its highest possible position relative to the rear end of the seat.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SEAT_WALK_IN_POS

Represents property that indicates the current walk-in position of the seat. The minInt32Value indicates the normal seat position. The minInt32Value must be 0. The maxInt32Value indicates the seat is in the full walk-in position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the normal and walk-in positions.

This property is represented as a specified range of relative positions.

The area ID must match the seat that actually moves when the walk-in feature activates, not the intended seat the passengers will sit in.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can

implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SHUTDOWN_REQUEST

Request the head unit to be shu down.

This is required for executing a task when the head unit is powered off (remote task feature). After the head unit is powered-on to execute the task, the head unit should be shut down. The head unit sends this message once the task is finished.

This property doesn't apply when a user wants to shut down the head unit.

This usually involves telling a separate system outside the head unit (for instance a power controller) to prepare to shut down the head unit.

The external system must validate that this request is valid by checking if the vehicle is in use. If a user enters the vehicle after a SHUTDOWN_REQUEST is sent, then the system must ignore this request. It is recommended to store a VehicleInUse property in the power controller and exposes it through VEHICLE_IN_USE property. A shutdown request must be ignored if VehicleInUse is true.

If allowed, the external system sends a shutdown signal to the head unit, which causes VHAL to send SHUTDOWN_PREPARE message to Android. Android will then start the shut down process by handling the message.

This property is only for issuing a request and only supports writing. Every time this property value is set, the request to shutdown is issued no matter what the current property value is. The current property value is meaningless.

Since this property is write-only, subscribing is not allowed and no property change event is generated.

The value to set indicates the shutdown option, it must be one of {@code VehicleApPowerStateShutdownParam} For example, VehicleApPowerStateShutdownParam.SLEEP_IMMEDIATELY. This shutdown option might not be honored if the system doesn't support such option. In such a case, an error is not returned.

For configuration information, VehiclePropConfig.configArray must have bit flag combining values in {@code VehicleApPowerStateConfigFlag} to indicate which shutdown options are supported.

Returns error if failed to send the shutdown request to the other system.

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: VehicleApPowerStateShutdownParam>
Unit type: N/A
Release: Android 14

STEERING_WHEEL_DEPTH_MOVE

Steering wheel depth movement. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported.

The maxInt32Value indicates the steering wheel moving away from the driver. The minInt32Value indicates the steering wheel moving towards the driver.

Larger integers, either positive or negative, indicate a faster movement speed. Once the steering wheel reaches the positional limit, the value must reset to 0. If the value of STEERING_WHEEL_DEPTH_MOVE is currently 0, no movement is underway.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STEERING_WHEEL_DEPTH_POS

Steering wheel depth position. All steering wheel properties' unique ids start from 0x0BE0.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the steering wheel position furthest from the driver. The minInt32Value indicates the steering wheel position closest to the driver.

Values in between minInt32Value and maxInt32Value indicate a transition state between the

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STEERING_WHEEL_EASY_ACCESS_ENABLED

Steering wheel easy access feature enabled. If true, the driver's steering wheel is automatically adjusted to make it easier for the driver to enter and exit the vehicle.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STEERING_WHEEL_HEIGHT_MOVE

Steering wheel height movement. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported.

The maxInt32Value indicates the steering wheel moving up. The minInt32Value indicates the steering wheel moving down.

Larger integers, either positive or negative, indicate a faster movement speed. Once the steering wheel reaches the positional limit, the value must reset to 0. If STEERING_WHEEL_HEIGHT_MOVE's value is currently 0, then that means there is no movement currently occurring.

This property is represented as a specified range of relative movement speeds.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STEERING_WHEEL_HEIGHT_POS

Steering wheel height position.

The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the steering wheel being in the highest position. The minInt32Value indicates the steering wheel being in the lowest position.

Values in between minInt32Value and maxInt32Value indicate a transition state between the lowest and highest positions.

This property is represented as a specified range of relative positions.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STEERING_WHEEL_LIGHTS_STATE

Steering wheel lights state. Represents the current state of the steering wheel lights. This is different from STEERING_WHEEL_LIGHTS_SWITCH which represents the position of the switch controlling the lights. Therefore, STEERING_WHEEL_LIGHTS_STATE may not match the value of STEERING_WHEEL_LIGHTS_SWITCH (for example, STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC and STEERING_WHEEL_LIGHTS_STATE=ON).

This property should only be implemented if STEERING_WHEEL_LIGHTS_STATE's value may be different from that of CABIN_LIGHTS_STATE.

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 14

STEERING_WHEEL_LIGHTS_SWITCH

Steering wheel lights switch. Represents the position of the switch controlling the steering wheel lights. This differs from , which represents the current state of the steering wheel lights. Therefore, STEERING_WHEEL_LIGHTS_SWITCH may not match the value of STEERING_WHEEL_LIGHTS_STATE. For example, STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC and STEERING_WHEEL_LIGHTS_STATE=ON.

This property should only be implemented if the value for STEERING_WHEEL_LIGHTS_SWITCH can differ from that of CABIN_LIGHTS_SWITCH.

For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightSwitch are supported.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 14

STEERING_WHEEL_LOCKED

Steering wheel locked. If true, the steering wheel's position is locked and not changeable. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only./p>

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STEERING_WHEEL_THEFT_LOCK_ENABLED

Steering wheel theft lock feature enabled. If true, the steering wheel locks automatically to prevent theft in certain situations. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STORAGE_ENCRYPTION_BINDING_SEED

External encryption binding seed. This value is mixed with the local key storage encryption key. This property holds 16 bytes, and is expected to be persisted on an ECU separate from the IVI. The property is initially set by AAOS, who generates it using a CSRNG. AAOS then reads the property on subsequent boots. The binding seed is expected to be reliably persisted. Any loss of the seed results in a factory reset of the IVI.

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

SUPPORT_CUSTOMIZE_VENDOR_PERMISSION

Support customize permissions for vendor properties.

Implement this property if VHAL support customize vendor permissions feature. VehiclePropConfig.configArray is used to indicate vendor properties and permissions which selected for this vendor property. The permission must be one of enum in VehicleVendorPermission. The configArray is set as follows, configArray[n]: propId : property ID for the vendor property where configArray[n+1] is an enum in VehicleVendorPermission and indicates the permission for reading the value of the property.

configArray[n+2] is an enum in VehicleVendorPermission and indicates the permission for writing a value of the property. For example:

configArray: { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, }

If vendor properties are not in this array, they have the default vendor permission. If vendor chose PERMISSION_NOT_ACCESSIBLE, Android does not have access to the property. In the example, Android can not write a value for vendor_prop_2.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SUPPORTED_PROPERTY_IDS

(Deprecated) List of all supported property IDs.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SWITCH_USER

Defines a request to switch the foreground Android user.

This property is used primarily by the Android system to inform the HAL that the current foreground Android user is switching, but it could also be used by the HAL to request the Android system to switch users. When the request is made by Android, it sets a VehiclePropValue and the HAL must respond with a property change event. When the HAL makes the request, it must also do it through a property change event (the main difference is that the request id is positive in the former case, and negative in the latter). The SwitchUserMessageType also differs.

The format of both requests is defined by SwitchUserRequest and the format of the response (when needed) is defined by SwitchUserResponse. How the HAL (or Android system) should proceed depends on the message type (which is defined by the SwitchUserMessageType parameter), as defined below.
  • LEGACY_ANDROID_SWITCH Called by the Android system to indicate the Android user is about to change, when the change request was made in a way that is not integrated with the HAL (for example, through adb shell am switch-user). The HAL can switch its internal user once it receives this request, but it doesn't need to reply back to the Android system. If its internal user cannot be changed for some reason, then it must wait for the SWITCH_USER(type=ANDROID_POST_SWITCH) call to recover (for example, it could issue a SWITCH_USER(type=VEHICLE_REQUEST) to switch back to the previous user). Ideally it should never fail (as switching back could confuse the end user).
    For example, if the system have users (0, 10, 11) and it's switching from 0 to 11 (where none of them have any special flag), the request would be:
    • int32[0] 42 // request id
    • int32[1] 1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user flags (none)
    • int32[4] 10 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[7] 0 // user #0 (Android user id 0)
    • int32[8] 0 // flags of user #0 (none)
    • int32[9] 10 // user #1 (Android user id 10)
    • int32[10] 0 // flags of user #1 (none)
    • int32[11] 11 // user #2 (Android user id 11)
    • int32[12] 0 // flags of user #2 (none)
  • ANDROID_SWITCH Called by the Android system to indicate the Android user is about to change, but Android waits for the HAL's response (up to some time) before proceeding. The HAL must switch its internal user once it receives this request, then respond back to Android with a SWITCH_USER(type=VEHICLE_RESPONSE) indicating whether its internal user was switched or not (through the SwitchUserStatus enum). For example, if Android has users (0, 10, 11) and it's switching from 10 to 11 (where none of them have any special flag), the request would be:
    • int32[0] 42 // request id
    • int32[1] 2 // SwitchUserMessageType::ANDROID_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user flags (none)
    • int32[4] 10 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[7] 0 // first user (user 0)
    • int32[8] 1 // first user flags (SYSTEM)
    • int32[9] 10 // second user (user 10)
    • int32[10] 0 // second user flags (none)
    • int32[11] 11 // 3rd user (user 11)
    • int32[12] 0 // 3rd user flags (none)

    If the request succeeds, the HAL must update the property with:

    • int32[0] 42 // request id
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 1 // status: SwitchUserStatus::SUCCESS

    If the request fails, the response would be something like:

    • int32[0] 42 // request id
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"
    • OEM-specific error message
  • VEHICLE_RESPONSE Called by the HAL to indicate whether a request of type ANDROID_SWITCH should proceed or abort. See also ANDROID_SWITCH.
  • VEHICLE_REQUEST Called by the HAL to request that the current foreground Android user is switched. This is useful in situations where Android started as one user, but the vehicle identified the driver as another user. For example, user A unlocked the car using the key fob of user B. The INITIAL_USER_INFO request returned user B, but then a face recognition subsubsystem identified the user as A. The HAL makes this request by a property change event (passing a negative request id), and the Android system response is to issue an ANDROID_POST_SWITCH call which the same request id. For example, if the current foreground Android user is 10 and the HAL asked to switch to 11, the request would be:
    • int32[0] -108 // request id
    • int32[1] 4 // messageType: SwitchUserMessageType::VEHICLE_REQUEST
    • int32[2] 11 // Android user id

    If the request succeeded and Android has three users (0, 10, and 11), the response would be:

    • int32[0] -108 // request id
    • int32[1] 5 // messageType: SwitchUserMessageType::ANDROID_POST_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user id flags (none)
    • int32[4] 11 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[7] 0 // first user (user 0)
    • int32[8] 0 // first user flags (none)
    • int32[9] 10 // second user (user 10)
    • int32[10] 4 // second user flags (none)
    • int32[11] 11 // third user (user 11)
    • int32[12] 3 // third user flags (none)

    The current and target user ids are the same. If the request fails, then they would differ. For example, the target user would be 11 and the current user would remain 10.

  • ANDROID_POST_SWITCH Called by the Android system after a request to switch a user was made. This property is called after switch requests of any type (for example, >code>LEGACY_ANDROID_SWITCH, >code>ANDROID_SWITCH, or VEHICLE_REQUEST) and can be used to determine if the request succeeded or failed.
    • When it succeeds, it's called when the Android user is in the unlocked state and the value of the current and target users ids in the response are the same. This is equivalent to receiving an Intent.ACTION_USER_UNLOCKED in an Android app.
    • When it fails, it's called right away and the value of the current and target users ids in the response differ (since the current user didn't change to the target).
    • If a new switch request is made before the HAL responded to the previous one or before the user was unlocked, then the ANDROID_POST_SWITCH request is not made. For example, the driver might accidentally switch to the wrong user, which has lock credentials, and then switch to the correct user before entering the credentials.

    The HAL can update its internal state once it receives this request, but it needn't reply to the Android system.

    • Request. The first N values as defined by INITIAL_USER_INFO (where the request-specific value at index 1 is SwitchUserMessageType::ANDROID_POST_SWITCH), then two more values for the target user id (for example, the Android user id that was requested to be switched to) and its flags (as defined by UserFlags).
    • Response: none. For example, see VEHICLE_REQUEST

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

TIRE_PRESSURE

Tire pressure. Each tire is identified by its areaConfig.areaId config. The respective minFloatValue and maxFloatValue are used to store the OEM- recommended pressure range. Values for minFloatValue and maxFloatValue in VehicleAreaConfig must be defined.

The minFloatValue in the areaConfig data represents the lower bound of the recommended tire pressure. The maxFloatValue in the areaConfig data represents the upper bound of the recommended tire pressure. For example, this areaConfig indicates the recommended tire pressure of left_front tire as from 200.0kPa to 240.0kPa.

.areaConfigs: { VehicleAreaConfig { .areaId: VehicleAreaWheel::LEFT_FRONT, .minFloatValue: 200.0, .maxFloatValue: 240.0, } }

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOPASCAL
Release: Android 13

TIRE_PRESSURE_DISPLAY_UNITS

Tire pressure units for display. Indicates which units the car is using to display tire pressure to the user. For example, PSI, Bar or Kilopascal. VehiclePropConfig.configArray is used to indicate the supported pressure display units. Pressure units are defined in VehicleUnit. For example, configArray[0]: KILOPASCAL configArray[1]: PSI configArray[2]: BAR

If updating TIRE_PRESSURE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then their values must be updated and communicated to the AAOS framework as well. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only./p>

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

TRACTION_CONTROL_ACTIVE

Set to true when traction control (TC) is active and reset to false when TC is off. This property can be intermittently set (pulse) based on the real-time state of the TC system.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

TRAILER_PRESENT

Returns the trailer state of the car.

Change mode: ON_CHANGE
Access mode: READ
Enum type: TrailerState
Unit type: N/A
Release: Android 13

TURN_SIGNAL_STATE

State of the vehicles turn signals.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleTurnSignal
Unit type: N/A
Release: Android 13

USER_IDENTIFICATION_ASSOCIATION

Property used to associate (or query the association) the current user with vehicle-specific identification mechanisms (such as key FOB).

This is an optional user management property. The OEM can still support user management without defining it. In fact, this property could be used without supporting the core user-related functions described on INITIAL_USER_INFO.

To query the association, the Android system gets the property, passing a VehiclePropValue containing the types of associations are being queried, as defined by UserIdentificationGetRequest. The HAL must return right away, returning a VehiclePropValue with a UserIdentificationResponse.

Notice that user identification took place while the system was booting up. takehe VHAL implementation should only return the already identified association (such as the key FOB used to unlock the car), instead of starting a new association from the get call.

To associate types, the Android system sets the property, passing a VehiclePropValue containing the types and values of associations being set, as defined by the UserIdentificationSetRequest.

The HAL then uses a property change event (whose VehiclePropValue is defined by UserIdentificationResponse) indicating the current status of the types after the request.

For example, to query if the current user (10) is associated with the FOB that unlocked the car and a custom mechanism provided by the OEM, the request is:

  • int32[0] 42 // request id
  • int32[1] 10 (Android user id)
  • int32[2] 0 (Android user flags)
  • int32[3] 2 (number of types queried)
  • int32[4] 1 (first type queried, UserIdentificationAssociationType::KEY_FOB)
  • int32[5] 101 (second type queried, UserIdentificationAssociationType::CUSTOM_1)

If the user is associated with the FOB but not with the custom mechanism, the response is:

  • int32[0] 42 // request id
  • int32[1] 2 (number of associations in the response)
  • int32[2] 1 (first type: UserIdentificationAssociationType::KEY_FOB)
  • int32[3] 2 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)
  • int32[4] 101 (first type: UserIdentificationAssociationType::CUSTOM_1)
  • int32[5] 4 (second value: UserIdentificationAssociationValue::NOT_ASSOCIATED_ANY_USER)

Then to associate the user with the custom mechanism, a set request is made:

  • int32[0] 43 // request id
  • int32[1] 10 (Android user id)
  • int32[2] 0 (Android user flags)
  • int32[3] 1 (number of associations being set)
  • int32[4] 101 (first type: UserIdentificationAssociationType::CUSTOM_1)

If the request succeeded, the response would be:

  • int32[0] 43 // request id
  • int32[1] 1 (number of associations in the response)
  • int32[2] 101 (first type: UserIdentificationAssociationType::CUSTOM_1)
  • int32[3] 1 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)

The set request adds associations but doesn't remove the existing associations. In the previous example, the end state would be two associations (FOB and CUSTOM_1). To associate the user with just CUSTOM_1 but not FOB, then the request would have been:

  • int32[0] 43 // request id
  • int32[1] 10 (Android user id)
  • int32[2] 2 (number of types set)
  • int32[3] 1 (first type: UserIdentificationAssociationType::KEY_FOB)
  • int32[4] 2 (first value: UserIdentificationAssociationValue::DISASSOCIATE_CURRENT_USER)
  • int32[5] 101 (second type: UserIdentificationAssociationType::CUSTOM_1)
  • int32[6] 1 (second value: UserIdentificationAssociationValue::ASSOCIATE_CURRENT_USER)

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

VEHICLE_CURB_WEIGHT

Returns the vehicle's curb weight in kilograms. Curb weight is the total weight of the vehicle with standard equipment and all necessary operating consumables such as motor oil, transmission oil, brake fluid, coolant, air conditioning refrigerant, and weight of fuel at nominal tank capacity while not loaded with either passengers or cargo.

configArray[0] is used to specify the vehicle's gross weight in kilograms. The vehicle's gross weight is the maximum operating weight of the vehicle as specified by the manufacturer including the vehicle's chassis, body, engine, engine fluids, fuel, accessories, driver, passengers and cargo but excluding that of any trailers.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOGRAM
Release: Android 13

VEHICLE_IN_USE

Indicates if the vehicle is in use. In use means a human user is present and intendeds to use the vehicle. This doesn't necessarily mean the human user is in the vehicle. For example, if the human user unlocks the vehicle remotely, the vehicle is considered to be in use. If this property is supported:

  • Each time the user powers on the vehicle or the system detects the user is present, VEHICLE_IN_USE must be set to true. Each time the user powers off the vehicle or the system detects the user is not present, VEHICLE_IN_USE must be set to false.
  • If the user powers off the vehicle or the system detects the user is not present, VEHICLE_IN_USE must be set to false.
  • If the user powers on the vehicle or the system detects the user is present, VEHICLE_IN_USE must be set to true.

This property differs from AP_POWER_BOOTUP_REASON in the sense that AP_POWER_BOOTUP_REASON is only set once during system boot. However, this property might change multiple times during a system boot cycle. For example, a device is currently not in use. The system bootup to execute a remote task. VEHICLE_IN_USE is false. While the remote task is executing, the user enters the vehicle and powers on the vehicle. VEHICLE_IN_USE is set to true. After a driving session, user powers off the vehicle, VEHICLE_IN_USE is set to false.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

VEHICLE_MAP_SERVICE

Vehicle Maps Service (VMS) message. This property uses MIXED data to communicate VMS messages. Its contents are to be interpreted as follows. The indices defined in VmsMessageIntegerValuesInde are used to read from int32Values. bytes is a serialized VMS message as defined in the VMS protocol, which is opaque to the framework. IVehicle#get must always return StatusCode::NOT_AVAILABLE.

Change mode: ON_CHANGEREAD_WRITE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

VEHICLE_SPEED_DISPLAY_UNITS

Speed units for display. Indicates the type of units used to display speed to the user. For example, m/s, km/h, or mph. VehiclePropConfig.configArray indicates the supported speed display units. Pressure units are defined in VehicleUnit. For example:

.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

If updating VEHICLE_SPEED_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then those values must be updated and communicated to the AAOS framework.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

VHAL_HEARTBEAT

Defines an event that VHAL signals to Car Watchdog as a heartbeat. If VHAL supports this property, VHAL should write system uptime to this property at every three seconds. Car Watchdog subscribes to this property and checks if the property is updated every three seconds. With the buffer time of three seconds, Car Watchdog waits for a heartbeat to be signaled up to six seconds from the last heartbeat. If not, Car Watchdog considers VHAL unhealthy and terminates it. If this property is not supported by VHAL, Car Watchdog doesn't check VHAL health status.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

WATCHDOG_ALIVE

Defines an event that Car Watchdog updates to indicate it's active. Car Watchdog sets this property to system uptime in milliseconds at every three seconds. While booting, the update could take longer.

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

WATCHDOG_TERMINATED_PROCESS

Defines a process terminated by Car Watchdog and the reason for the termination.

int32Values[0] 1  // ProcessTerminationReason showing why a process is terminated. string: "/system/bin/log" // Process execution command

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

WHEEL_TICK

Reports wheel ticks. The first element in the vector is a reset count. A reset indicates previous tick counts are not comparable with this and future ones. Some sort of discontinuity in tick counting has occurred.

The next four elements represent ticks for individual wheels in the following order:

  1. Front left
  2. Front right
  3. Rear right
  4. Rear left

All tick counts are cumulative. Tick counts increment when the vehicle moves forward, and decrement when the vehicle moves backward. The ticks should be reset to 0 when the vehicle is started.

  • int64Values[0] Reset count
  • int64Values[1] Front left ticks
  • int64Values[2] Front right ticks
  • int64Values[3] Rear right ticks
  • int64Values[4] Rear left ticks

configArray is used to indicate the micrometers-per-wheel-tick value and which wheels are supported configArray is set as follows:

configArray[0], bits [0:3] Supported wheels

Uses enum Wheel. For example, if all wheels are supported, then:

  • configArray[0] VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REAR
  • configArray[1] Micrometers per front left wheel tick
  • configArray[2] Micrometers per front right wheel tick
  • configArray[3] Micrometers per rear right wheel tick
  • configArray[4] Micrometers per rear left wheel tick.

If a wheel is not supported, its value shall always be set to 0.

The VehiclePropValue.timestamp must be filled in.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

WINDOW_LOCK

Window child lock. True indicates the window is child-locked. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

WINDOW_MOVE

Window move. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the window is opening in plane/closing in the out of plane direction at the fastest speed. The minInt32Value indicates the window is closing in plane/opening in the out of plane direction at the fastest speed.

Larger absolute values, either positive or negative, indicate a faster movement speed. Once the window reaches the positional limit, the value must reset to 0. If the value of WINDOW_MOVE is 0, no movement is underway. This property is represented in a specified range of relative movement speeds.

For a window that may open out of plane (a vent mode of sunroof), this parameter works as follows. If:

  • Sunroof is open:
    • Max Open the sunroof further, stop automatically when fully open.
    • Min Close the sunroof, stop automatically when sunroof is closed.
  • Vent is open:
    • Max Close the vent, stop automatically stop when vent is closed.
    • Min Open the vent further, stop automatically when vent is fully open.
  • Sunroof is closed:
    • Max Open the sunroof, stop automatically when sunroof is fully open.
    • Min Open the vent, stop automatically when vent is fully open.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

WINDOW_POS

Window position. The maxInt32Value and minInt32Value in each VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value indicates the window is closed or fully open out of plane. If the window cannot open out of plane, then minInt32Value is the position of the window when fully closed and must be 0. If the window can open out of plane, the minInt32Value indicates the window is fully open in its position out of plane and is a negative value. See the example below for a more detailed explanation. The maxInt32Value indicates the window is fully open.

Values in between minInt32Value and maxInt32Value indicate a transition state between the closed/fully open out-of-plane and fully open positions. This property is not in any specific unit but in a specified range of relative positions. For example, this is how the property should work for a window that can move out of plane: For a window that may open out of plane (vent mode of sunroof) this parameter works with negative values as follows:

  • Max Sunroof fully open (0 for sunroof closed).
  • Min Sunroof vent fully open (0 for sunroof closed).
In this mode, 0 indicates the window is closed.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13

WINDSHIELD_WIPERS_PERIOD

Windshield wipers period (milliseconds). Returns the instantaneous time period for one full cycle of the windshield wipers in milliseconds. A full cycle is defined as a wiper moving from and returning to the rest position. When an intermittent wiper setting is selected, this property value must be set to 0 during the pause period of the intermittent wiping. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. The maxInt32Value for each area ID must specify the longest wiper period. The minInt32Value must be set to 0 for each area ID.

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 14

WINDSHIELD_WIPERS_STATE

Windshield wipers state. Returns the current state of the windshield wipers. The value of WINDSHIELD_WIPERS_STATE may not match the value of WINDSHIELD_WIPERS_SWITCH For example, WINDSHIELD_WIPERS_STATE: ON and WINDSHIELD_WIPERS_SWITCH: WindshieldWipersSwitch#AUTO If WINDSHIELD_WIPERS_STATE: ON and WINDSHIELD_WIPERS_PERIOD is implemented, then WINDSHIELD_WIPERS_PERIOD must reflect the time period of one full cycle of the wipers.

For each supported area ID, the VehicleAreaConfig#supportedEnumValues array must be defined unless all states in WindshieldWipersState are supported (including OTHER, which is not recommended).

Change mode: ON_CHANGE
Access mode: READ
Enum type: WindshieldWipersState
Unit type: N/A
Release: Android 14

WINDSHIELD_WIPERS_SWITCH

Windshield wipers switch. Represents the position of the switch controlling the windshield wipers. The value of WINDSHIELD_WIPERS_SWITCH may not match the value of WINDSHIELD_WIPERS_STATE For example, WINDSHIELD_WIPERS_SWITCH: AUTO and WINDSHIELD_WIPERS_STATE: WindshieldWipersState#ON For each supported area ID, the VehicleAreaConfig#supportedEnumValues array must be defined unless all states in WindshieldWipersSwitch are supported (including OTHER, which is not recommended).

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ only. If this property is implemented as VehiclePropertyAccess.READ_WRITE and the OTHER state is listed in the VehicleAreaConfig#supportedEnumValues array, then OTHER is not a supported value for writing It is only a supported value for reading.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: WindshieldWipersSwitch
Unit type: N/A
Release: Android 14