partial interface Navigator {
readonly attribute Vehicle
vehicle;
};
Navigator
implements VehicleManagerObject
;
1.1 Attributes
-
vehicle
of type
Vehicle
, readonly
-
The object that exposes the interface to vehicle information services.
The
Vehicle
interface
represents the initial entry point for getting access to the vehicle information
services, i.e. Engine Speed and Tire Pressure.
[NoInterfaceObject]
interface Vehicle {
};
3.
Zone
Interface
The
Zone
interface contains the constants that represent physical zones and logical zones
enum ZonePosition {
"front",
"middle",
"right",
"left",
"rear",
"center"
};
Enumeration description |
front
| middle |
middle
| the middle position of a row. |
right
| left |
left
| rear |
rear
| center |
center
| the center row |
interface Zone {
attribute DOMString[] value;
readonly attribute Zone
driver;
boolean equals (Zone
zone);
boolean contains (Zone
zone);
};
3.1 Attributes
-
driver
of type
Zone
, readonly
-
MUST return physical zone for logical driver
-
value
of type array of DOMString,
-
MUST return array of physical zones
3.2 Methods
-
contains
-
MUST return true if zone.value can be found within this.value
Parameter | Type | Nullable | Optional | Description |
zone |
Zone
| ✘ | ✘ | |
Return type:
boolean
-
equals
-
MUST return true if zone.value matches the contents of this.value.
Ordering of elements within Zone.value does not matter.
Parameter | Type | Nullable | Optional | Description |
zone |
Zone
| ✘ | ✘ | |
Return type:
boolean
VehicleInterfaceError is used to identify the type of error encountered during an opertion
enum VehicleError {
"permission_denied",
"invalid_operation",
"timeout",
"invalid_zone",
"unknown"
};
Enumeration description |
permission_denied
| Indicates that the user does not have permission to perform the operation. More details can be obtained through the Data Availability API. |
invalid_operation
| Indicates that the operation is not valid. This can be because it isn't supported or has invalid arguments |
timeout
| Operation timed out. Timeout length depends upon the implementation |
invalid_zone
| Indicates the zone argument is not valid |
unknown
| Indicates an error that is not known |
[NoInterfaceObject]
interface VehicleInterfaceError {
readonly attribute VehicleError
error;
readonly attribute DOMString message;
};
6.1 Attributes
-
error
of type
VehicleError
, readonly
-
MUST return VehicleError
-
message
of type DOMString, readonly
-
MUST return user-readable error message
The
VehicleInterface
interface represents the base interface to get all vehicle properties.
interface VehicleInterface {
Promise get (optional Zone
zone);
readonly attribute Zone
[] zones;
};
7.1 Attributes
-
zones
of type array of
Zone
, readonly
-
MUST return all zones supported for this type.
7.2 Methods
-
get
-
MUST return the Promise. The "resolve" callback in the promise is used to pass the vehicle data type that corresponds to the specific VehicleInterface instance.
For example, "vehicle.vehicleSpeed" corresponds to the "VehicleSpeed" data type.
VehicleInterfaceError
is passed to the 'reject' callback in the promise.
Parameter | Type | Nullable | Optional | Description |
zone |
Zone
| ✘ | ✔ | |
Return type:
Promise
Example 1
vehicle.vehicleSpeed.get().then(resolve);
function resolve(data)
{
//data is of type VehicleSpeed
console.log("Speed: " + data.speed);
console.log("Time Stamp: " + data.timestamp);
}
The
VehicleConfigurationInterface
interface is to be used to provide access to static vehicle information that never changes: external dimensions, identification, transmission type etc...
[NoInterfaceObject]
interface VehicleConfigurationInterface : VehicleInterface
{
};
The
VehicleSignalInterface
interface represents vehicle signals that, as a rule, and unlike vehicle configurations, can change values, either programmatically
(necessitating support for set method) or due to external events and occurrences, as reflected by subscription management.
[NoInterfaceObject]
interface VehicleSignalInterface : VehicleInterface
{
Promise set (object value, optional Zone
zone);
unsigned short subscribe (VehicleInterfaceCallback
callback, optional Zone
zone);
void unsubscribe (unsigned short handle);
};
9.1 Methods
-
set
-
MUST return Promise. The "resolve" callback indicates the set was successful. No data is passed to resolve. If there was an error,
"reject" will be called with a
VehicleInterfaceError
object
Parameter | Type | Nullable | Optional | Description |
value |
object
| ✘ | ✘ | |
zone |
Zone
| ✘ | ✔ | |
Return type:
Promise
-
subscribe
-
MUST return handle to subscription or 0 if error
Return type:
unsigned short
-
unsubscribe
-
MUST return void. unsubscribes to value changes on this interface.
Parameter | Type | Nullable | Optional | Description |
handle |
unsigned short
| ✘ | ✘ | |
Return type:
void
Example 2
var zone = Zone
vehicle.door.set({"lock" : true}, zone.driver).then(resolve, reject);
function resolve()
{
/// success
}
function reject(errorData)
{
console.log("Error occurred during set: " + errorData.message + " code: " + errorData.error);
}
10. Data Availability
The availability API allows for developers to determine what attributes are available or not and if not, why. It also allows for notifications when the availability
changes.
enum Availability {
"available",
"not_supported",
"not_supported_yet",
"not_supported_security_policy",
"not_supported_business_policy",
"not_supported_other"
};
Enumeration description |
available
| data is available |
not_supported
| not supported by this vehicle |
not_supported_yet
| not supported at this time, but may become supported later. |
not_supported_security_policy
| not supported because of security policy |
not_supported_business_policy
| not supported because of business policy |
not_supported_other
| not supported for other reasons |
partial interface VehicleInterface {
Availability
availableForRetrieval (DOMString attributeName);
readonly attribute boolean supported;
short availabilityChangedListener (AvailableCallback
callback);
void removeAvailabilityChangedListener (short handle);
};
10.1 Attributes
-
supported
of type boolean, readonly
-
MUST return true if this attribute is supported and available
10.2 Methods
-
availabilityChangedListener
-
MUST return handle for listener.
Return type:
short
-
availableForRetrieval
-
MUST return whether a not this attribute is available for get() or not
Parameter | Type | Nullable | Optional | Description |
attributeName |
DOMString
| ✘ | ✘ | |
-
removeAvailabilityChangedListener
-
Parameter | Type | Nullable | Optional | Description |
handle |
short
| ✘ | ✘ | |
Return type:
void
Example 3
if( ( var a = vehicle.vehicleSpeed.availableForRetrieval("speed") ) === "available" )
{
// we can use it.
}
else
{
// tell us why:
console.log(a);
}
partial interface VehicleSignalInterface {
Availability
availableForSubscription (DOMString attributeName);
Availability
availableForSetting (DOMString attributeName);
};
10.3 Methods
-
availableForSetting
-
MUST return whether a not this attribute is available for set() or not
Parameter | Type | Nullable | Optional | Description |
attributeName |
DOMString
| ✘ | ✘ | |
-
availableForSubscription
-
MUST return whether a not this attribute is available for subscribe() or not
Parameter | Type | Nullable | Optional | Description |
attributeName |
DOMString
| ✘ | ✘ | |
Example 4
var canHasVehicleSpeed = vehicle.vehicleSpeed.availableForSubscription("speed") === "available";
vehicle.vehicleSpeed.availabilityChangedListener( function (available) {
canHasVehicleSpeed = available === "available";
checkVehicleSpeed();
});
function checkVehicleSpeed()
{
if(canHasVehicleSpeed)
{
vehicle.vehicleSpeed.get().then(callback);
}
}
11. History
The History API provides a way for applications to access logged data from the vehicle. What data is available and how much is up to the implementation. This section is OPTIONAL.
-
readonly attribute any value
-
MUST return value. This is ANY Vehicle Data Type.
-
readonly attribute DOMTimeStamp timeStamp
-
MUST return time in which 'value' was read by the system.
partial interface VehicleInterface {
Promise getHistory (Date begin, Date end, optional Zone
zone);
readonly attribute boolean isLogged;
readonly attribute Date ? from;
readonly attribute Date ? to;
};
11.1 Attributes
-
from
of type Date , readonly , nullable
-
MUST return Date in which logging started from. Returns null if isLogged is false.
-
isLogged
of type boolean, readonly
-
MUST return true if this attribute is logged
-
to
of type Date , readonly , nullable
-
MUST return Date in which logging of this attribute ends. Returns null if isLogged is false.
11.2 Methods
-
getHistory
-
MUST return Promise. The "resolve" callback in the promise is used to pass an array of HistoryItems.
Parameter | Type | Nullable | Optional | Description |
begin |
Date
| ✘ | ✘ | |
end |
Date
| ✘ | ✘ | |
zone |
Zone
| ✘ | ✔ | |
Return type:
Promise
Example 5
/// check if there is data being logged for vehicleSpeed:
if(vehicle.vehicleSpeed.isLogged)
{
/// get all vehicleSpeed since it was first logged:
vehicle.vehicleSpeed.getHistory(vehicle.vehicleSpeed.from, vehicle.vehicleSpeed.to).then( function ( data ) {
console.log(data.length);
});
}
12.Extending the Vehicle Data API
This specification anticipates that implementors may desire to extend this API and define new data types that this specification does not define. This section provides some general guidlines on how extending the API should be done.
All new data types must have two parts: a VehicleInterface attributed on the navigator.vehicle object and an interface definition that defines the data type. The following example describes how one would extend the specification to add a "whizzer" data feature.
Example 6
partial interface Vehicle {
/span>readonly attribute VehicleSignalInterface whizzer; /// returns an interface to the Whizzer type
an>}
an>interface Whizzer {
readonly attribute boolean isWhizzing;
an>}
12.1 Extending the Vehicle Data API
There may also be attributes of a data type interface that an implementor may wish to extend. The general guideline here is to add attributes to interfaces that are logically related. For example, lets say an implementor wishes to add support for a new type of light. The implementor would extend the already existing Light interface and add the attribute there.
Example 7
partial interface Light {
/span>attribute boolean superBeam;
an>}
12.2 Mapping vs. Extending
Because vehicle data may be different in a system than what is defined in the specication, it is preferable to perform post-processing to translate and map the system data to the defined type. It is NOT preferable to create a new type if one has already been defined by this specification.
The
VehicleCommonDataType
interface represents the common data type for all vehicle data types
[NoInterfaceObject]
interface VehicleCommonDataType {
readonly attribute DOMTimeStamp? timeStamp;
};
13.1 Attributes
-
timeStamp
of type DOMTimeStamp, readonly , nullable
-
MUST return timestamp when any data in this interface was received on the system.
13. Configuration and Identification Interfaces
Interfaces relating to vehicle configuration and identification including: make, type size, transmission
configuration, identification numbers, etc...
partial interface Vehicle {
readonly attribute VehicleConfigurationInterface identification;
readonly attribute VehicleConfigurationInterface sizeConfiguration;
readonly attribute VehicleConfigurationInterface fuelConfiguration;
readonly attribute VehicleConfigurationInterface transmissionConfiguration;
readonly attribute VehicleConfigurationInterface wheelConfiguration;
readonly attribute VehicleSignalInterface steeringWheelConfiguration;
};
14.1 Attributes
-
fuelConfiguration
of type VehicleConfigurationInterface, readonly
-
MUST return VehicleConfigurationInterface for accessing
FuelConfiguration
-
identification
of type VehicleConfigurationInterface, readonly
-
MUST return VehicleConfigurationInterface for accessing
Identification
-
sizeConfiguration
of type VehicleConfigurationInterface, readonly
-
MUST return VehicleConfigurationInterface for accessing
SizeConfiguration
-
steeringWheelConfiguration
of type VehicleSignalInterface, readonly
-
MUST return VehicleConfigurationInterface for accessing
SteeringWheelConfiguration
-
transmissionConfiguration
of type VehicleConfigurationInterface, readonly
-
MUST return VehicleConfigurationInterface for accessing
TransmissionConfiguration
-
wheelConfiguration
of type VehicleConfigurationInterface, readonly
-
MUST return VehicleConfigurationInterface for accessing
WheelConfiguration
The
Identification
interface provides identification information about a
vehicle.
enum VehicleTypeEnum {
"passengerCarMini",
"passengerCarLight",
"passengerCarCompact",
"passengerCarMedium",
"passengerCarHeavy",
"sportUtilityVehicle",
"pickupTruck",
"van"
};
Enumeration description |
passengerCarMini
| Passenger car 680–907 kg |
passengerCarLight
| Passenger car 907–1,134 kg |
passengerCarCompact
| Passenger car 1,134–1,360 kg |
passengerCarMedium
| Passenger car 1,361–1,587 kg |
passengerCarHeavy
| Passenger car 1,588 kg and over |
sportUtilityVehicle
| Sport utility vehicle |
pickupTruck
| Pickup truck |
van
| Van |
[NoInterfaceObject]
interface Identification : VehicleCommonDataType
{
readonly attribute DOMString? VIN;
readonly attribute DOMString? WMI;
readonly attribute VehicleTypeEnum
? vehicleType;
readonly attribute DOMString? brand;
readonly attribute DOMString? model;
readonly attribute unsigned short? year;
};
14.2.1 Attributes
-
VIN
of type DOMString, readonly , nullable
-
MUST return the Vehicle Identification Number (ISO 3833)
-
WMI
of type DOMString, readonly , nullable
-
MUST return the World Manufacture Identifier defined by SAE ISO 3780:2009. 3 characters.
-
brand
of type DOMString, readonly , nullable
-
MUST return vehicle brand name
-
model
of type DOMString, readonly , nullable
-
MUST return vehicle model
-
vehicleType
of type
VehicleTypeEnum
, readonly , nullable
-
MUST return vehicle type
-
year
of type unsigned short, readonly , nullable
-
MUST return vehicle model year
The
SizeConfiguration
interface provides size and shape information about a
vehicle as a whole.
[NoInterfaceObject]
interface SizeConfiguration : VehicleCommonDataType
{
readonly attribute unsigned short? width;
readonly attribute unsigned short? height;
readonly attribute unsigned short? length;
readonly attribute unsigned short[]? doorsCount;
readonly attribute unsigned short? totalDoors;
};
14.3.1 Attributes
-
doorsCount
of type array of unsigned short, readonly , nullable
-
MUST return list of car doors, organized in "rows" with number doors in each row.(Per Row -
Min: 0, Max: 3)
-
height
of type unsigned short, readonly , nullable
-
MUST return distance from the ground to the highest point of the vehicle (not including antennas)
(Unit: millimeters Note: Number may be an approximation, and should not be expected to be exact.)
-
length
of type unsigned short, readonly , nullable
-
MUST return distance from front bumper to rear bumper
(Unit: millimeters Note: Number may be an approximation, and should not be expected to be exact.)
-
totalDoors
of type unsigned short, readonly , nullable
-
MUST return total number of doors on the vehicle (all doors opening to the interior,
including hatchbacks) (Min: 0, Max: 10)
-
width
of type unsigned short, readonly , nullable
-
MUST return widest dimension of the vehicle (not including the side mirrors) (Unit: millimeters
Note: Number may be an approximation, and should not be expected to be exact.)
The
FuelConfiguration
interface provides information about the fuel
configuration of a vehicle.
enum FuelTypeEnum {
"gasoline",
"methanol",
"ethanol",
"diesel",
"lpg",
"cng",
"electric"
};
Enumeration description |
gasoline
| Gasoline |
methanol
| Methanol |
ethanol
| Ethanol |
diesel
| Diesel |
lpg
| Liquified petroleom gas |
cng
| Compressed natural gas |
electric
| Electric |
[NoInterfaceObject]
interface FuelConfiguration : VehicleCommonDataType
{
readonly attribute FuelTypeEnum
[]? fuelType;
readonly attribute Zone? refuelPosition;
};
14.4.1 Attributes
-
fuelType
of type array of
FuelTypeEnum
, readonly , nullable
-
MUST return type of fuel used by vehicle. If the vehicle uses multiple fuels, fuelType returns an array of fuel types.
-
refuelPosition
of type Zone, readonly , nullable
-
MUST return location on the vehicle with access to the fuel door
The
WheelConfiguration
interface provides wheel configuration information
about a vehicle.
[NoInterfaceObject]
interface WheelConfiguration : VehicleCommonDataType
{
readonly attribute unsigned short? wheelRadius;
readonly attribute Zone? zone;
};
14.6.1 Attributes
-
wheelRadius
of type unsigned short, readonly , nullable
-
MUST return radius of the front wheel (Unit: millimeters)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
SteeringWheelConfiguration
interface provides steering wheel configuration
information information about a vehicle.
[NoInterfaceObject
interface SteeringWheelConfiguration : VehicleCommonDataType
{
readonly attribute boolean? steeringWheelLeft;
attribute unsigned short? steeringWheelTelescopingPosition;
attribute unsigned short? steeringWheelPositionTilt;
};
14.7.1 Attributes
-
steeringWheelLeft
of type boolean, readonly , nullable
-
MUST return true if steering wheel is on left side of vehicle
-
steeringWheelPositionTilt
of type unsigned short, , nullable
-
MUST return steering wheel position as percentage of tilt
(Unit: percentage, 0%:tilted lowest downward-facing position, 100%:highest upward-facing position)
-
steeringWheelTelescopingPosition
of type unsigned short, , nullable
-
MUST return steering wheel position as percentage of extension from the dash
(Unit: percentage, 0%:closest to dash, 100%:farthest from dash)
15. Running Status Interfaces
Interfaces relating to the running/operation of a vehicle including: speed, temperatures, acceleration,
etc...
partial interface Vehicle {
readonly attribute VehicleSignalInterface vehicleSpeed;
readonly attribute VehicleSignalInterface wheelSpeed;
readonly attribute VehicleSignalInterface engineSpeed;
readonly attribute VehicleSignalInterface powerTrainTorque;
readonly attribute VehicleSignalInterface acceleratorPedalPosition;
readonly attribute VehicleSignalInterface throttlePosition;
readonly attribute VehicleSignalInterface tripMeters;
readonly attribute VehicleSignalInterface transmission;
readonly attribute VehicleSignalInterface cruiseControlStatus;
readonly attribute VehicleSignalInterface lightStatus;
readonly attribute VehicleSignalInterface interiorLightStatus;
readonly attribute VehicleSignalInterface horn;
readonly attribute VehicleSignalInterface chime;
readonly attribute VehicleSignalInterface fuel;
readonly attribute VehicleSignalInterface engineOil;
readonly attribute VehicleSignalInterface acceleration;
readonly attribute VehicleSignalInterface engineCoolant;
readonly attribute VehicleSignalInterface steeringWheel;
readonly attribute VehicleSignalInterface ignitionTime;
readonly attribute VehicleSignalInterface yawRate;
readonly attribute VehicleSignalInterface brakeOperation;
readonly attribute VehicleSignalInterface wheelTick;
readonly attribute VehicleSignalInterface buttonEvent;
readonly attribute VehicleSignalInterface drivingMode;
readonly attribute VehicleSignalInterface nightMode;
};
15.1 Attributes
-
acceleration
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Acceleration
-
acceleratorPedalPosition
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
AcceleratorPedalPosition
-
brakeOperation
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
BrakeOperation
-
buttonEvent
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ButtonEvent
-
chime
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Chime
-
cruiseControlStatus
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
CruiseControlStatus
-
drivingMode
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
DrivingMode
-
engineCoolant
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
EngineCoolant
-
engineOil
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
EngineOil
-
engineSpeed
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
EngineSpeed
-
fuel
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Fuel
or undefined if not supported
-
horn
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Horn
-
ignitionTime
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
IgnitionTime
-
interiorLightStatus
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
InteriorLightStatus
-
lightStatus
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
LightStatus
-
nightMode
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
NightMode
-
powerTrainTorque
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
PowertrainTorque
-
steeringWheel
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
SteeringWheel
-
throttlePosition
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ThrottlePosition
-
transmission
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Transmission
-
tripMeters
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
TripMeters
-
vehicleSpeed
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
VehicleSpeed
-
wheelSpeed
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
WheelSpeed
-
wheelTick
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
WheelTick
-
yawRate
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
YawRate
The
VehicleSpeed
interface represents vehicle speed information
[NoInterfaceObject]
interface VehicleSpeed : VehicleCommonDataType
{
readonly attribute unsigned short speed;
};
15.2.1 Attributes
-
speed
of type unsigned short, readonly
-
MUST return vehicle speed (Unit: meters per hour)
The
WheelSpeed
interface represents wheel speed information.
[NoInterfaceObject]
interface WheelSpeed : VehicleCommonDataType
{
readonly attribute unsigned short speed;
readonly attribute Zone? zone;
};
15.3.1 Attributes
-
speed
of type unsigned short, readonly
-
MUST return wheel speed (Unit: meters per hour)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
EngineSpeed
interface represents engine speed information.
[NoInterfaceObject]
interface EngineSpeed : VehicleCommonDataType
{
readonly attribute unsigned long speed;
};
15.4.1 Attributes
-
speed
of type unsigned long, readonly
-
MUST return engine speed (Unit: rotations per minute)
The
PowertrainTorque
interface represents powertrain torque.
[NoInterfaceObject]
interface PowerTrainTorque : VehicleCommonDataType
{
readonly attribute short value;
};
15.6.1 Attributes
-
value
of type short, readonly
-
MUST return powertrain torque (Unit: newton meters)
The
AcceleratorPedalPosition
interface represents the accelerator pedal position.
[NoInterfaceObject]
interface AcceleratorPedalPosition : VehicleCommonDataType
{
readonly attribute unsigned short value;
};
15.7.1 Attributes
-
value
of type unsigned short, readonly
-
MUST return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)
The
ThrottlePosition
represents position of the throttle.
[NoInterfaceObject]
interface ThrottlePosition : VehicleCommonDataType
{
readonly attribute unsigned short value;
};
15.8.1 Attributes
-
value
of type unsigned short, readonly
-
MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)
15.9
Trip
Interface
The
Trip
interface
represents trip meter.
[NoInterfaceObject]
interface Trip {
readonly attribute unsigned long distance;
readonly attribute unsigned short? averageSpeed;
readonly attribute unsigned short? fuelConsumption;
};
15.9.1 Attributes
-
averageSpeed
of type unsigned short, readonly , nullable
-
MUST return average speed based on trip meter (Unit: kilometers per hour)
-
distance
of type unsigned long, readonly
-
MUST return distance travelled based on trip meter (Unit: meters)
-
fuelConsumption
of type unsigned short, readonly , nullable
-
MUST return fuel consumed based on trip meter (Unit: milliliters per 100 kilometers)
[NoInterfaceObject]
interface TripMeters : VehicleCommonDataType
{
readonly attribute Trip
[] meters;;
};
15.9.2 Attributes
-
meters;
of type array of
Trip
, readonly
-
MUST return trip meters
The
Transmission
interface represents the current transmission gear and mode.
enum TransmissionMode {
"park",
"reverse",
"neutral",
"low",
"drive",
"overdrive"
};
Enumeration description |
park
| Transmission is in park |
reverse
| Transmission is in reverse |
neutral
| Transmission is in neutral |
low
| Transmission is in low |
drive
| Transmission is in drive |
overdrive
| Transmission is in overdrive |
[NoInterfaceObject]
interface Transmission : VehicleCommonDataType
{
readonly attribute octet? gear;
readonly attribute TransmissionMode
? mode;
};
15.10.1 Attributes
-
gear
of type octet, readonly , nullable
-
MUST return transmission gear position. Range 0 - 10
-
mode
of type
TransmissionMode
, readonly , nullable
-
MUST return transmission Mode (see
TransmissionMode
)
The
CruiseControlStatus
interface represents cruise control settings.
[NoInterfaceObject]
interface CruiseControlStatus : VehicleCommonDataType
{
readonly attribute boolean status;
readonly attribute unsigned short speed;
};
15.11.1 Attributes
-
speed
of type unsigned short, readonly
-
MUST return target Cruise Control speed in kilometers per hour (Unit: kilometers per hour)
-
status
of type boolean, readonly
-
MUST return whether or not the Cruise Control system is on (true) or off (false)
The
LightStatus
interface represents exterior light statuses.
[NoInterfaceObject]
interface LightStatus : VehicleCommonDataType
{
attribute boolean head;
attribute boolean rightTurn;
attribute boolean leftTurn;
attribute boolean brake;
attribute boolean? fog;
attribute boolean hazard;
attribute boolean parking;
attribute boolean highBeam;
attribute boolean? automaticHeadlights;
attribute boolean? dynamicHighBeam;
readonly attribute Zone? zone;
};
15.12.1 Attributes
-
automaticHeadlights
of type boolean, , nullable
-
MUST return whether automatic head lights status: activated (true) or not (false)
-
brake
of type boolean,
-
MUST return Brake light status: on (true), off (false)
-
dynamicHighBeam
of type boolean, , nullable
-
MUST return whether dynamic high beam status: activated (true) or not (false)
-
fog
of type boolean, , nullable
-
MUST return Fog light status: on (true), off (false)
-
hazard
of type boolean,
-
MUST return Hazard light status: on (true), off (false)
-
head
of type boolean,
-
MUST return headlight status: on (true), off (false)
-
highBeam
of type boolean,
-
MUST return HighBeam light status: on (true), off (false)
-
leftTurn
of type boolean,
-
MUST return left turn signal status: on (true), off (false)
-
parking
of type boolean,
-
MUST return Parking light status: on (true), off (false)
-
rightTurn
of type boolean,
-
MUST return right turn signal status: on (true), off (false)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
InteriorLightStatus
interface represents interior light status.
[NoInterfaceObject]
interface InteriorLightStatus : VehicleCommonDataType
{
attribute boolean status;
readponly attribute Zone? zone;
};
15.13.1 Attributes
-
status
of type boolean,
-
MUST return interior light status for the given zone: on (true), off (false)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
15.14
Horn
Interface
The
Horn
interface represents horn status.
[NoInterfaceObject]
interface Horn : VehicleCommonDataType
{
attribute boolean status;
};
15.14.1 Attributes
-
status
of type boolean,
-
MUST return Horn status: on (true) or off (false)
15.15
Chime
Interface
The
Chime
interface represents chime status.
[NoInterfaceObject]
interface Chime : VehicleCommonDataType
{
readonly attribute boolean status;
};
15.15.1 Attributes
-
status
of type boolean, readonly
-
MUST return Chime status when a door is open: on (true) or off (false)
15.16
Fuel
Interface
The
Fuel
interface represents vehicle fuel status.
[NoInterfaceObject]
interface Fuel : VehicleCommonDataType
{
readonly attribute unsigned short? level;
readonly attribute unsigned long? range;
readonly attribute unsigned long? instantConsumption;
attribute unsigned long? averageConsumption;
readonly attribute unsigned long? fuelConsumedSinceRestart;
readonly attribute unsigned long? timeSinceRestart;
};
15.16.1 Attributes
-
averageConsumption
of type unsigned long, nullable
-
MUST return average fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers). Setting this to any value should reset the counter to '0'
-
fuelConsumedSinceRestart
of type unsigned long, readonly,nullable
-
MUST return fuel consumed since engine start; (Unit: milliliters per 100 kilometers) resets to 0 each restart
-
instantConsumption
of type unsigned long, readonly,nullable
-
MUST return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers)
-
level
of type unsigned short, readonly,nullable
-
MUST return fuel level as a percentage of fullness
-
range
of type unsigned long, readonly,nullable
-
MUST return estimated fuel range (Unit: meters)
-
timeSinceRestart
of type unsigned long, readonly,nullable
-
MUST return time elapsed since vehicle restart (Unit: seconds)
The
EngineOil
interface represents engine oil status.
[NoInterfaceObject]
interface EngineOil : VehicleCommonDataType
{
readonly attribute unsigned short level;
readonly attribute unsigned short lifeRemaining;
readonly attribute long temperature;
readonly attribute unsigned short pressure;
readonly attribute boolean change;
};
15.17.1 Attributes
-
change
of type boolean, readonly
-
MUST return engine oil change indicator status: change oil (true) or no change (false)
-
level
of type unsigned short, readonly
-
MUST return engine oil level (Unit: percentage, 0%: empty, 100%: full
-
lifeRemaining
of type unsigned short, readonly
-
MUST return remaining engine oil life (Unit: percentage, 0%:no life remaining, 100%: full life remaining
-
pressure
of type unsigned short, readonly
-
MUST return Engine Oil Pressure (Unit: kilopascals)
-
temperature
of type long, readonly
-
MUST return Engine Oil Temperature (Unit: celcius)
The
Acceleration
interface represents vehicle acceleration.
[NoInterfaceObject]
interface Acceleration : VehicleCommonDataType
{
readonly attribute long x;
readonly attribute long y;
readonly attribute long z;
};
15.18.1 Attributes
-
x
of type long, readonly
-
MUST return acceleration on the "X" axis (Unit: centimeters per second squared)
-
y
of type long, readonly
-
MUST return acceleration on the "Y" axis (Unit: centimeters per second squared)
-
z
of type long, readonly
-
MUST return acceleration on the "Z" axis (Unit: centimeters per second squared)
The
EngineCoolant
represents values related to engine coolant.
[NoInterfaceObject]
interface EngineCoolant : VehicleCommonDataType
{
readonly attribute octet level;
readonly attribute short temperature;
};
15.19.1 Attributes
-
level
of type octet, readonly
-
MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)
-
temperature
of type short, readonly
-
MUST return engine coolant temperature (Unit: celcius)
The
SteeringWheel
represents steering wheel data.
[NoInterfaceObject]
interface SteeringWheel : VehicleCommonDataType
{
readonly attribute short angle;
};
15.20.1 Attributes
-
angle
of type short, readonly
-
MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right)
The
WheelTick
number of ticks per second.
[NoInterfaceObject]
interface WheelTick : VehicleCommonDataType
{
readonly attribute unsigned long value;
readonly attribute Zone? zone;
};
15.21.1 Attributes
-
value
of type unsigned long, readonly
-
MUST return number of ticks per second (Unit: ticks per second)
-
zone
of type Zone,readonly, nullable
-
MUST return Zone for requested attribute
The
IgnitionTime
represents status of ignition.
[NoInterfaceObject]
interface IgnitionTime : VehicleCommonDataType
{
readonly attribute DOMTimeStamp ignitionOnTime;
readonly attribute DOMTimeStamp ignitionOffTime;
};
15.22.1 Attributes
-
ignitionOffTime
of type DOMTimeStamp, readonly
-
MUST return time at ignition off
-
ignitionOnTime
of type DOMTimeStamp, readonly
-
MUST return time at ignition on
15.23
YawRate
Interface
The
YawRate
represents vehicle yaw rate.
[NoInterfaceObject]
interface YawRate : VehicleCommonDataType
{
readonly attribute short value;
};
15.23.1 Attributes
-
value
of type short, readonly
-
MUST return yaw rate of vehicle. (Unit: degrees per second)
The
BrakeOperation
represents vehicle brake operation.
[NoInterfaceObject]
interface BrakeOperation : VehicleCommonDataType
{
readonly attribute boolean brakePedalDepressed;
};
15.24.1 Attributes
-
brakePedalDepressed
of type boolean, readonly
-
MUST return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
The
DrivingMode
interface provides information about whether or not the vehicle is driving. DrivingMode is an abstract data type that may
combine several other data types such as vehicle speed, transmission gear, etc. Typical usage would be to disable certain functions in the application
if the vehicle is not safe to operate those functions to avoid driver distraction.
[NoInterfaceObject]
interface DrivingMode : VehicleCommonDataType
{
readonly attribute boolean mode;
};
15.26.1 Attributes
-
mode
of type boolean, readonly
-
MUST return true if vehicle is in driving mode
The
NightMode
interface provides information about whether or not it is night time. NightMode is an abstract data type that may
combine several other data types such as exterior brightness, time of day, sunrise/sunset, etc to determine whether or not it is night time.
Typical usage is to change the UI theme to a darker theme during the night.
[NoInterfaceObject]
interface NightMode : VehicleCommonDataType
{
readonly attribute boolean mode;
};
15.27.1 Attributes
-
mode
of type boolean, readonly
-
MUST return true if it is night time
16. Maintenance Interfaces
Interfaces relating to vehicle maintenance, the act of inspecting or testing the condition of vehicle
subsystems (e.g., engine) and servicing or replacing parts and fluids.
partial interface Vehicle {
readonly attribute VehicleSignalInterface odometer;
readonly attribute VehicleSignalInterface transmissionOil;
readonly attribute VehicleSignalInterface transmissionClutch;
readonly attribute VehicleSignalInterface brakeMaintenance;
readonly attribute VehicleSignalInterface washerFluid;
readonly attribute VehicleSignalInterface malfunctionIndicator;
readonly attribute VehicleSignalInterface batteryStatus;
readonly attribute VehicleSignalInterface tire;
readonly attribute VehicleSignalInterface diagnostic;
};
16.1 Attributes
-
batteryStatus
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
BatteryStatus
-
brakeMaintenance
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
BrakeMaintenance
-
diagnostic
of type VehicleInterface, readonly
-
MUST return VehicleInterface for accessing
Diagnostic
-
malfunctionIndicator
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
MalfunctionIndicator
-
odometer
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Odometer
or undefined if not supported
-
tire
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Tire
-
transmissionClutch
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
TransmissionClutch
-
transmissionOil
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
TransmissionOil
-
washerFluid
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
WasherFluid
The
Odometer
interface provides information about the distance that the
vehicle has traveled.
[NoInterfaceObject]
interface Odometer : VehicleCommonDataType
{
readonly attribute unsigned long? distanceSinceStart;
readonly attribute unsigned long distanceTotal;
};
16.2.1 Attributes
-
distanceSinceStart
of type unsigned long, readonly , nullable
-
MUST return the distance traveled by vehicle since start (Unit: meters).
-
distanceTotal
of type unsigned long, readonly
-
MUST return the total distance traveled by the vehicle (Unit: meters).
The
TransmissionOil
interface provides information about the state of a
vehicles transmission oil.
[NoInterfaceObject]
interface TransmissionOil : VehicleCommonDataType
{
readonly attribute octet? wear;
readonly attribute byte? temperature;
};
16.3.1 Attributes
-
temperature
of type byte, readonly , nullable
-
MUST return current temperature of the transmission oil(Unit: celsius).
-
wear
of type octet, readonly , nullable
-
MUST return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).
The
TransmissionClutch
interface provides information about the state of a
vehicles transmission clutch.
[NoInterfaceObject]
interface TransmissionClutch : VehicleCommonDataType
{
readonly attribute octet wear;
};
16.4.1 Attributes
-
wear
of type octet, readonly
-
MUST return transmission clutch wear (Unit: percentage, 0%: no wear, 100%: completely worn).
The
BrakeMaintenance
interface provides information about the maintenance state of a
vehicles brakes.
[NoInterfaceObject]
interface BrakeMaintenance : VehicleCommonDataType
{
readonly attribute octet? fluidLevel;
readonly attribute boolean? fluidLevelLow;
readonly attribute octet? padWear;
readonly attribute boolean? brakesWorn;
readonly attribute Zone? zone;
};
16.5.1 Attributes
-
brakesWorn
of type boolean, readonly , nullable
-
MUST return true if brakes are worn: worn (true), not worn (false)
-
fluidLevel
of type octet, readonly , nullable
-
MUST return brake fluid level (Unit: percentage, 0%: empty, 100%: full).
-
fluidLevelLow
of type boolean, readonly , nullable
-
MUST return true if brake fluid level: low (true), not low (false)
-
padWear
of type octet, readonly , nullable
-
MUST return brake pad wear (Unit: percentage, 0%: no wear, 100%: completely worn).
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
WasherFluid
interface provides information about the state of a
vehicles washer fluid.
[NoInterfaceObject]
interface WasherFluid : VehicleCommonDataType
{
readonly attribute unsigned short? level;
readonly attribute boolean? levelLow;
};
16.6.1 Attributes
-
level
of type unsigned short, readonly , nullable
-
MUST return washer fluid level (Unit: percentage, 0%: empty, 100%: full).
-
levelLow
of type boolean, readonly , nullable
-
MUST return true if washer fluid level is low: low (true), not low: (false)
The
MalfunctionIndicator
interface provides information about the state of a
vehicles Malfunction Indicator lamp.
[NoInterfaceObject]
interface MalfunctionIndicator : VehicleCommonDataType
{
readonly attribute boolean on;
};
16.7.1 Attributes
-
on
of type boolean, readonly
-
MUST return true if malfunction indicator lamp is on: lamp on (true), lamp not on (false)
The
BatteryStatus
interface provides information about the state of a
vehicles battery.
[NoInterfaceObject]
interface BatteryStatus : VehicleCommonDataType
{
readonly attribute unsigned short? chargeLevel;
readonly attribute unsigned short? voltage;
readonly attribute unsigned short? current;
readonly attribute Zone? zone;
};
16.8.1 Attributes
-
chargeLevel
of type unsigned short, readonly , nullable
-
MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).
-
current
of type unsigned short, readonly , nullable
-
MUST return battery current (Unit: amperes).
-
voltage
of type unsigned short, readonly , nullable
-
MUST return battery voltage (Unit: volts).
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
16.9
Tire
Interface
The
Tire
interface provides information about the state of a
vehicles tires.
[NoInterfaceObject]
interface Tire : VehicleCommonDataType
{
readonly attribute boolean? pressureLow;
readonly attribute unsigned short? pressure;
readonly attribute short? temperature;
readonly attribute Zone? zone;
};
16.9.1 Attributes
-
pressure
of type unsigned short, readonly , nullable
-
MUST return tire pressure (Unit: kilopascal).
-
pressureLow
of type boolean, readonly , nullable
-
MUST return true if any tire pressure is low: pressure low (true), pressure not low (false)
-
temperature
of type short, readonly , nullable
-
MUST return tire temperature (Unit: celsius).
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
Diagnostic
interface
represents Diagnostic interface to malfunction indicator light information.
[NoInterfaceObject]
interface Diagnostic : VehicleCommonDataType
{
readonly attribute unsigned long accumulatedEngineRuntime;
readonly attribute unsigned long distanceWithMILOn;
readonly attribute unsigned long distanceSinceCodeCleared.;
readonly attribute unsigned long timeRunMILOn;
readonly attribute unsigned long timeTroubleCodeClear;
};
16.10.1 Attributes
-
accumulatedEngineRuntime
of type unsigned long, readonly
-
MUST return engine runtime (Unit: seconds)
-
distanceSinceCodeCleared.
of type unsigned long, readonly
-
MUST return distance travelled since the codes were last cleared (Unit: meters)
-
distanceWithMILOn
of type unsigned long, readonly
-
MUST return distance travelled with the malfunction indicator light on (Unit: meters)
-
timeRunMILOn
of type unsigned long, readonly
-
MUST return time elapsed with the malfunction indicator light on (Unit: seconds)
-
timeTroubleCodeClear
of type unsigned long, readonly
-
MUST return time elapsed since the trouble codes were last cleared (Unit: seconds)
17. Personalization Interfaces
Interfaces relating personalization the settings of vehicle
such as seat and mirror position.
partial interface Vehicle {
readonly attribute VehicleSignalInterface? languageConfiguration;
readonly attribute VehicleSignalInterface unitsOfMeasure;
readonly attribute VehicleSignalInterface mirror;
readonly attribute VehicleSignalInterface steeringWheel;
readonly attribute VehicleSignalInterface driveMode;
readonly attribute VehicleSignalInterface seatAdjustment;
readonly attribute VehicleSignalInterface dashboardIllumination;
readonly attribute VehicleSignalInterface vehicleSound;
};
17.1 Attributes
-
dashboardIllumination
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
DashboardIllumination
-
driveMode
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
DriveMode
-
languageConfiguration
of type VehicleSignalInterface, readonly , nullable
-
MUST return VehicleSignalInterface for accessing
LanguageConfiguration
-
mirror
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Mirror
-
seatAdjustment
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
SeatAdjustment
-
steeringWheel
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
SteeringWheel
-
unitsOfMeasure
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
UnitsOfMeasure
-
vehicleSound
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
VehicleSound
The
LanguageConfiguration
interface provides language information about a
vehicle.
[NoInterfaceObject]
interface LanguageConfiguration : VehicleCommonDataType
{
attribute DOMString? language;
};
17.2.1 Attributes
-
language
of type DOMString, , nullable
-
MUST return language identifier based on two-letter codes as specified in ISO 639-1
The
UnitsOfMeasure
interface provides information about the measurement
system and units of measure of a vehicle.
[NoInterfaceObject]
interface UnitsOfMeasure : VehicleCommonDataType
{
attribute boolean? isMKSSystem;
attribute DOMString? unitsFuelVolume;
attribute DOMString? unitsDistance;
attribute DOMString? unitsSpeed;
attribute DOMString? unitsFuelConsumption;
};
17.3.1 Attributes
-
isMKSSystem
of type boolean, , nullable
-
MUST return measurement system currently being used by vehicle.
'true' means the current measurement system is MKS-km(liter).
'false' means it is US customary units-mile(gallon).
-
unitsDistance
of type DOMString, , nullable
-
MUST return distance unit of measurement. The value is one of both "km" and "mile".
-
unitsFuelConsumption
of type DOMString, , nullable
-
MUST return fuel consumption unit of measurement.
The value is one of following values: "l/100", "mpg", "km/l".
-
unitsFuelVolume
of type DOMString, , nullable
-
MUST return fuel unit of measurement. The value is one of both "litter" and "gallon".
-
unitsSpeed
of type DOMString, , nullable
-
MUST return speed unit of measurement. The value is one of both "km/h" and "mph".
17.4
Mirror
Interface
The
Mirror
interface provides or sets information about mirrors
in vehicle.
[NoInterfaceObject]
interface Mirror : VehicleCommonDataType
{
attribute unsigned short? mirrorTilt;
attribute unsigned short? mirrorPan;
readonly attribute Zone? zone;
};
17.4.1 Attributes
-
mirrorPan
of type unsigned short, , nullable
-
MUST return mirror pan position in percentage distance travelled, from left to right
position (Unit: percentage, %0:center position, -100%:fully left, 100%:fully right)
-
mirrorTilt
of type unsigned short, , nullable
-
MUST return mirror tilt position in percentage distance travelled, from downward-facing to
upward-facing position (Unit: percentage, 0%:center position, -100%:fully downward, 100%:full upward)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
SeatAdjustment
interface provides or sets information about seats
in vehicle.
[NoInterfaceObject]
interface SeatAdjustment : VehicleCommonDataType
{
attribute unsigned short? reclineSeatBack;
attribute unsigned short? seatSlide;
attribute unsigned short? seatCushionHeight;
attribute unsigned short? seatHeadrest;
attribute unsigned short? seatBackCushion;
attribute unsigned short? seatSideCushion;
readonly attribute Zone? zone;
};
17.5.1 Attributes
-
reclineSeatBack
of type unsigned short, , nullable
-
Seat back recline position as percent to completely reclined
(Unit: percentage, 0%:upright at a 90 degree angle, 100%:fully reclined, -100%:fully forward)
-
seatBackCushion
of type unsigned short, , nullable
-
MUST return back cushion position as a percentage of lumbar curvature
(Unit: percentage, 0%:flat, 100%: maximum curvature)
-
seatCushionHeight
of type unsigned short, , nullable
-
MUST return seat cushion height position as a percentage of upward distance travelled
(Unit: percentage, 0%:lowest. 100%:highest)
-
seatHeadrest
of type unsigned short, , nullable
-
MUST return headrest position as a percentage of upward distance travelled
(Unit: percentage, 0%:lowest, 100%:highest)
-
seatSideCushion
of type unsigned short, , nullable
-
MUST return sides of back cushion position as a percentage of curvature
(Unit: percentage, 0%:flat, 100%:maximum curvature)
-
seatSlide
of type unsigned short, , nullable
-
MUST return seat slide position as percentage of distance travelled away from forwardmost
position (Unit: percentage, 0%:farthest forward, 100%:farthest back)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
DriveMode
interface provides or sets information about a vehicles
drive mode.
enum DriveModeEnum {
"comfort",
"auto",
"sport",
"eco",
"manual",
"winter"
};
Enumeration description |
comfort
| Comfort mode |
auto
| Automatically set mode |
sport
| Sport mode |
eco
| Ecological/fuel efficient mode |
manual
| Manual mode |
winter
| Winter/slippery mode |
[NoInterfaceObject]
interface DriveMode : VehicleCommonDataType
{
attribute DriveModeEnum
? driveMode;
};
17.6.1 Attributes
-
driveMode
of type
DriveModeEnum
, , nullable
-
MUST return vehicle driving mode
The
DashboardIllumination
interface provides or sets information about dashboard
illumination in vehicle.
[NoInterfaceObject]
interface DashboardIllumination : VehicleCommonDataType
{
attribute DOMString? dashboardIllumination;
};
17.8.1 Attributes
-
dashboardIllumination
of type DOMString, , nullable
-
MUST return illumination of dashboard as a percentage
(Unit: percentage, 0%:none, 100%:maximum illumination)
The
VehicleSound
interface provides or sets information about vehicle sound.
[NoInterfaceObject]
interface VehicleSound : VehicleCommonDataType
{
attribute boolean activeNoiseControlMode;
attribute DOMString? engineSoundEnhancementMode;
};
17.9.1 Attributes
-
activeNoiseControlMode
of type boolean,
-
MUST return active noise control status: not-activated (false), activated (true)
-
engineSoundEnhancementMode
of type DOMString, , nullable
-
MUST return engine sound enhancement mode where a null string means not-activated, and any
other value represents a manufacture specific setting
18. DrivingSafety Interfaces
Interfaces related to driving safety such as anti-lock braking and airbag status.
partial interface Vehicle {
readonly attribute VehicleSignalInterface antilockBrakingSystem;
readonly attribute VehicleSignalInterface tractionControlSystem;
readonly attribute VehicleSignalInterface electronicStabilityControl;
readonly attribute VehicleSignalInterface topSpeedLimit;
readonly attribute VehicleSignalInterface airbagStatus;
readonly attribute VehicleSignalInterface door;
readonly attribute VehicleSignalInterface childSafetyLock;
readonly attribute VehicleSignalInterface seat;
};
18.1 Attributes
-
airbagStatus
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
AirbagStatus
-
antilockBrakingSystem
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
AntilockBrakingSystem
-
childSafetyLock
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ChildSafetyLock
-
door
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Door
-
electronicStabilityControl
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ElectronicStabilityControl
-
seat
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Seat
-
topSpeedLimit
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
TopSpeedLimit
-
tractionControlSystem
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
TractionControlSystem
The
AntilockBrakingSystem
interface
provides status of ABS(Antilock Braking System) status and setting.
[NoInterfaceObject]
interface AntilockBrakingSystem : VehicleCommonDataType
{
readonly attribute boolean enabled;
readonly attribute boolean engaged;
};
18.2.1 Attributes
-
enabled
of type boolean, readonly
-
MUST return whether or not the ABS Setting is enabled: enabled (true) or disabled (false)
-
engaged
of type boolean, readonly
-
MUST return whether or not the ABS is engaged: engaged (true) or idle (false)
The
TractionControlSystem
interface
provides status of TCS(Traction Control System) status and setting.
[NoInterfaceObject]
interface TractionControlSystem : VehicleCommonDataType
{
readonly attribute boolean enabled;
readonly attribute boolean engaged;
};
18.3.1 Attributes
-
enabled
of type boolean, readonly
-
MUST return whether or not the TCS Setting is enabled: enabled (true) or disabled (false)
-
engaged
of type boolean, readonly
-
MUST return whether or not the TCS is engaged: engaged (true) or idle (false)
The
ElectronicStabilityControl
interface
provides status of ESC(Electronic Stability Control) status and setting.
[NoInterfaceObject]
interface ElectronicStabilityControl : VehicleCommonDataType
{
readonly attribute boolean enabled;
readonly attribute boolean engaged;
};
18.4.1 Attributes
-
enabled
of type boolean, readonly
-
MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)
-
engaged
of type boolean, readonly
-
MUST return whether or not the ESC is engaged: engaged (true) or idle (false)
The
TopSpeedLimit
interface
provides the current setting of top speed limit of the vehicle.
[NoInterfaceObject]
interface TopSpeedLimit : VehicleCommonDataType
{
readonly attribute unsigned short speed;
};
18.5.1 Attributes
-
speed
of type unsigned short, readonly
-
MUST return vehicle top speed limit (Unit: kilometers per hour)
The
AirbagStatus
interface
provides the current status of airbags in each zones of the vehicle.
[NoInterfaceObject]
interface AirbagStatus : VehicleCommonDataType
{
readonly attribute boolean activated;
readonly attribute boolean deployed;
readonly attribute Zone? zone;
};
18.6.1 Attributes
-
activated
of type boolean, readonly
-
MUST return whether or not the airbag is activaged: activated (true) or deactivated (false)
-
deployed
of type boolean, readonly
-
MUST return whether the airbag is deployed: deployed (true) or not (false)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
18.7
Door
Interface
The
Door
interface
provides the current status of doors in each zones of the vehicle.
enum DoorOpenStatus {
"open",
"ajar",
"closed"
};
Enumeration description |
open
| Door is opened |
ajar
| Door is ajar |
closed
| Door is closed |
[NoInterfaceObject]
interface Door : VehicleCommonDataType
{
readonly attribute DoorOpenStatus
status;
attribute boolean lock;
readonly attribute Zone? zone;
};
18.7.1 Attributes
-
lock
of type boolean,
-
MUST return whether or not the door is locked: locked (true) or unlocked (false)
-
status
of type
DoorOpenStatus
, readonly
-
MUST return the status of door's open status
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
ChildSafetyLock
interface
provides the current setting of Child Safety Lock.
[NoInterfaceObject]
interface ChildSafetyLock : VehicleCommonDataType
{
attribute boolean lock;
readonly attribute Zone? zone;
};
18.8.1 Attributes
-
lock
of type boolean,
-
MUST return whether or not the Child Safety Lock is locked: locked (true) or unlocked (false)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
18.9
Seat
Interface
The
Seat
interface
provides the current occupant information and seatbelt status of a seat in different zones of the vehicle.
enum OccupantStatus {
"adult",
"child",
"vacant"
};
Enumeration description |
adult
| Occupant is an adult |
child
| Occupant is a child |
vacant
| Seat is vacant |
enum IdentificationType {
"pin",
"keyfob",
"Bluetooth",
"NFC",
"fingerprint",
"camera",
"voice"
};
Enumeration description |
pin
| Four digit pin number entered by user |
keyfob
| Identification by key fob |
Bluetooth
| Identification by Bluetooth device |
NFC
| Identification by NFC device |
fingerprint
| Identification by fingerprint |
camera
| Identification by camera |
voice
| Identification by voice |
[NoInterfaceObject]
interface Seat : VehicleCommonDataType
{
readonly attribute OccupantStatus
occupant;
readonly attribute boolean seatbelt;
readonly attribute DOMString? occupantName;
readonly attribute IdentificationType
identificationType;
readonly attribute Zone? zone;
};
18.9.1 Attributes
-
identificationType
of type
IdentificationType
, readonly
-
MUST return identification type
-
occupant
of type
OccupantStatus
, readonly
-
MUST return the status of seat occupant
-
occupantName
of type DOMString, readonly , nullable
-
Must return occupant identifier
-
seatbelt
of type boolean, readonly
-
MUST return whether or not the seat belt is fastened: fastened (true) or unfastened (false)
-
zone
of type Zone, readonly
, nullable
-
MUST return Zone for requested attribute
19. Climate Interfaces
Interfaces related to vehicle climate (interior and exterior) such as temperature and rain.
partial interface Vehicle {
readonly attribute VehicleSignalInterface temperature;
readonly attribute VehicleSignalInterface rainSensor;
readonly attribute VehicleSignalInterface wiperStatus;
readonly attribute VehicleSignalInterface wiperSetting;
readonly attribute VehicleSignalInterface defrost;
readonly attribute VehicleSignalInterface sunroof;
readonly attribute VehicleSignalInterface convertibleRoof;
readonly attribute VehicleSignalInterface sideWindow;
readonly attribute VehicleSignalInterface climateControl;
readonly attribute VehicleSignalInterface atmosphericPressure;
};
19.1 Attributes
-
atmosphericPressure
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
AtmosphericPressure
-
climateControl
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ClimateControl
or undefined if not supported
-
convertibleRoof
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ConvertibleRoof
-
defrost
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Defrost
-
rainSensor
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
RainSensor
-
sideWindow
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
SideWindow
-
sunroof
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Sunroof
-
temperature
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Temperature
-
wiperSetting
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
WiperSetting
-
wiperStatus
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
WiperStatus
The
Temperature
interface provides information about the current temperature of outside or inside vehicle.
[NoInterfaceObject]
interface Temperature : VehicleCommonDataType
{
readonly attribute float interiorTemperature;
readonly attribute float exteriorTemperature;
};
19.2.1 Attributes
-
exteriorTemperature
of type float, readonly
-
MUST return the current temperature of the air around the vehicle (Unit: celsius)
-
interiorTemperature
of type float, readonly
-
MUST return the current temperature of the air inside of the vehicle (Unit: celsius)
The
RainSensor
interface provides information about ambient light levels.
[NoInterfaceObject]
interface RainSensor : VehicleCommonDataType
{
readonly attribute unsigned byte rain;
readonly attribute Zone? zone;
};
19.3.1 Attributes
-
rain
of type unsigned byte, readonly
-
MUST return the amount of rain detected by the rain sensor. level of rain intensity (0: No Rain, 10:Heaviest Rain)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
WiperStatus
interface represents the status of wiper operation.
[NoInterfaceObject]
interface WiperStatus : VehicleCommonDataType
{
readonly attribute unsigned byte wiperSpeed;
readonly attribute Zone? zone;
};
19.4.1 Attributes
-
wiperSpeed
of type unsigned byte, readonly
-
MUST return current speed interval of wiping windshield (0: off, 1: Slowest, 10: Fastest )
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
WiperSetting
interface represents the current setting of the wiper controller.
enum WiperControl {
"off",
"once",
"slowest",
"slow",
"middle",
"fast",
"fastest",
"auto"
};
Enumeration description |
off
| Wiper is not in operation |
once
| Wipe single. It's a transient state and goes to the off mode |
slowest
| Wiper is on mode with the slowest speed |
slow
| Wiper is on mode with slow speed |
middle
| Wiper is on mode with middle speed |
fast
| Wiper is on mode with fast speed |
fastest
| Wiper is on mode with the fastest speed |
auto
| Wiper is on the automatic mode which controls wiping speed with accordance with the amount of rain |
[NoInterfaceObject]
interface WiperSetting : VehicleCommonDataType
{
attribute WiperControl
wiperControl;
readonly attribute Zone? zone;
};
19.5.1 Attributes
-
wiperControl
of type
WiperControl
,
-
MUST return current setting of the front wiper controller. It can be used to send user's request for changing setting.
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
19.6
Defrost
Interface
The
Defrost
interface represents the status of wiper operation.
[NoInterfaceObject]
interface Defrost : VehicleCommonDataType
{
attribute boolean? defrostWindow;
attribute boolean? defrostMirrors;
readonly attribute Zone? zone;
};
19.6.1 Attributes
-
defrostMirrors
of type boolean, , nullable
-
MUST return current status of the defrost switch for mirrors. It can be used to send user's request for changing setting.
-
defrostWindow
of type boolean, , nullable
-
MUST return current status of the defrost switch for window. It can be used to send user's request for changing setting.
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
19.7
Sunroof
Interface
The
Sunroof
interface represents the current status of Sunroof.
[NoInterfaceObject]
interface Sunroof : VehicleCommonDataType
{
attribute unsigned byte openness;
attribute unsigned byte tilt;
readonly attribute Zone? zone;
};
19.7.1 Attributes
-
openness
of type unsigned byte,
-
MUST return current status of Sunroof as a percentage of openness (0%: closed, 100%: fully opened)
-
tilt
of type unsigned byte,
-
MUST return current status of Sunroof as a percentage of tilted (0%: closed, 100%: maximum tilted)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
Both can be used to send user's request for changing setting.
The
ConvertibleRoof
interface represents the current status of Convertible Roof.
enum ConvertibleRoofStatus {
"closed",
"closing",
"opening",
"opened"
};
Enumeration description |
closed
| the convertible roof is closed |
closing
| the convertible roof is closing |
opening
| the convertible roof is opening |
opened
| the convertible roof is opened |
[NoInterfaceObject]
interface ConvertibleRoof : VehicleCommonDataType
{
attribute ConvertibleRoofStatus
status;
};
It can be used to send user's request for changing setting. "closed" is used to close and "opened" is used to open.
The
SideWindow
interface represents the current status of openness of side windows.
[NoInterfaceObject]
interface SideWindow : VehicleCommonDataType
{
attribute boolean? lock;
attribute unsigned byte? openness;
readonly attribute Zone? zone;
};
19.9.1 Attributes
-
lock
of type unsigned boolean, , nullable
-
MUST return whether or not the window is locked: locked (true) or unlocked (false)
-
openness
of type unsigned byte, , nullable
-
MUST return current status of the side window as a percentage of openness. (0%:Closed, 100%:Fully Opened)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
The
ClimateControl
interface represents the current setting of the climate control equipments such as heater and air conditioner.
enum AirflowDirection {
"frontpanel",
"floorduct",
"bilevel",
"defrostfloor"
};
Enumeration description |
frontpanel
| Air flow is directed to the instrument panel outlets |
floorduct
| Air flow is directed to the floor outlets |
bilevel
| Air flow is directed to the instrument panel outlets and the floor outlets |
defrostfloor
| Air flow is directed to the floor outlets and the windshield |
[NoInterfaceObject]
interface ClimateControl : VehicleCommonDataType
{
attribute AirflowDirection
airflowDirection;
attribute unsigned byte fanSpeedLevel;
attribute byte? targetTemperature;
attribute boolean airConditioning;
attribute boolean heater;
attribute unsigned byte? seatHeater;
attribute unsigned byte? seatCooler;
attribute boolean airRecirculation;
attribute unsigned byte? steeringWheelHeater;
readonly attribute Zone? zone;
};
19.10.1 Attributes
-
airConditioning
of type boolean,
-
MUST return current status of the air conditioning system: on (true) or off (false)
-
airRecirculation
of type boolean,
-
MUST return current setting of air recirculation: on (true) or pulling in outside air (false).
-
airflowDirection
of type
AirflowDirection
,
-
MUST return current status of the direction of the air flow through the ventilation system
-
fanSpeedLevel
of type unsigned byte,
-
MUST return current status of the fan speed of the air flowing (0: off, 1: weakest, 10: strongest )
-
heater
of type boolean,
-
MUST return current status of the heating system: on (true) or off (false)
-
seatCooler
of type unsigned byte, , nullable
-
MUST return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )
-
seatHeater
of type unsigned byte, , nullable
-
MUST return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )
-
steeringWheelHeater
of type unsigned byte, , nullable
-
MUST return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).
-
targetTemperature
of type byte, , nullable
-
MUST return current setting of the desired temperature (Unit: celsius)
-
zone
of type Zone, readonly , nullable
-
MUST return Zone for requested attribute
ClimateControl
can be used to send user's request for changing setting.
The
AtmosphericPressure
interface provides information about the current atmospheric pressure outside of the vehicle.
[NoInterfaceObject]
interface AtmosphericPressure : VehicleCommonDataType
{
readonly attribute unsigned short pressure;
};
19.11.1 Attributes
-
pressure
of type unsigned short, readonly
-
MUST return the current atmospherics pressure outside of the vehicle (Unit: hectopascal)
20. Vision and Parking Interfaces
Interfaces relating to vision and parking such as lane departure and parking brake.
partial interface Vehicle {
readonly attribute VehicleSignalInterface laneDepartureStatus;
readonly attribute VehicleSignalInterface alarm;
readonly attribute VehicleSignalInterface parkingBrake;
readonly attribute VehicleSignalInterface parkingLights;
};
20.1 Attributes
-
alarm
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
Alarm
-
laneDepartureStatus
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
LaneDepartureStatus
or undefined if not supported
-
parkingBrake
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ParkingBrake
-
parkingLights
of type VehicleSignalInterface, readonly
-
MUST return VehicleSignalInterface for accessing
ParkingLights
The
LaneDepartureDetection
interface represents the current status of the lane departure warning function.
enum LaneDepartureStatus {
"off",
"pause",
"running"
};
Enumeration description |
off
| The function is not running |
pause
| The function has been paused (running, but inactive) |
running
| The function is in its operational mode |
[NoInterfaceObject]
interface LaneDepartureDetection : VehicleCommonDataType
{
readonly attribute LaneDepartureStatus
status;
};
20.2.1 Attributes
-
status
of type
LaneDepartureStatus
, readonly
-
MUST return current status of Lane departure warning function.
20.3
Alarm
Interface
The
Alarm
interface represents the current status of the in vehicle Alarm system.
enum AlarmStatus {
"disarmed",
"preArmed",
"armed",
"alarmed"
};
Enumeration description |
disarmed
| The alarm is not armed |
preArmed
| The function is temporary not active |
armed
| The function is active |
alarmed
| The alarm is screaming |
[NoInterfaceObject]
interface Alarm : VehicleCommonDataType
{
attribute AlarmStatus
status;
};
20.3.1 Attributes
-
status
of type
AlarmStatus
,
-
MUST return current status of In vehicle Alarm System.
The
ParkingBrake
interface represents the current status of the parking brake.
enum ParkingBrakeStatus {
"inactive",
"active",
"error"
};
Enumeration description |
inactive
| Parking brake is not engaged (driving position) |
active
| Parking brake is engaged (parking position) |
error
| There is a problem with the parking brake system |
[NoInterfaceObject]
interface ParkingBrake : VehicleCommonDataType
{
readonly attribute ParkingBrakeStatus
status;
};
20.4.1 Attributes
-
status
of type
ParkingBrakeStatus
, readonly
-
MUST return current status of parking brake.
The
ParkingLights
interface represents the current status of the parking Lights.
[NoInterfaceObject]
interface ParkingLights : VehicleCommonDataType
{
readonly attribute boolean status;
attribute boolean setting;
};
20.5.1 Attributes
-
setting
of type boolean,
-
MUST return whether or not the Parking Lights is enabled: enabled (true) or disabled (false).
It can be used to send user's request for changing setting.
-
status
of type boolean, readonly
-
MUST return parking light status: on (true) or off (false)
21. Full WebIDL
module Vehicle {
[NoInterfaceObject]
interface VehicleManagerObject {
readonly attribute Vehicle vehicle;
};
Navigator implements VehicleManagerObject;
[NoInterfaceObject]
interface Vehicle {
readonly attribute VehicleConfigurationInterface identification;
readonly attribute VehicleConfigurationInterface sizeConfiguration;
readonly attribute VehicleConfigurationInterface fuelConfiguration;
readonly attribute VehicleConfigurationInterface transmissionConfiguration;
readonly attribute VehicleConfigurationInterface wheelConfiguration;
readonly attribute VehicleSignalInterface steeringWheelConfiguration;
readonly attribute VehicleSignalInterface vehicleSpeed;
readonly attribute VehicleSignalInterface wheelSpeed;
readonly attribute VehicleSignalInterface engineSpeed;
readonly attribute VehicleSignalInterface powerTrainTorque;
readonly attribute VehicleSignalInterface acceleratorPedalPosition;
readonly attribute VehicleSignalInterface throttlePosition;
readonly attribute VehicleSignalInterface tripMeters;
readonly attribute VehicleSignalInterface transmission;
readonly attribute VehicleSignalInterface cruiseControlStatus;
readonly attribute VehicleSignalInterface lightStatus;
readonly attribute VehicleSignalInterface interiorLightStatus;
readonly attribute VehicleSignalInterface horn;
readonly attribute VehicleSignalInterface chime;
readonly attribute VehicleSignalInterface fuel;
readonly attribute VehicleSignalInterface engineOil;
readonly attribute VehicleSignalInterface acceleration;
readonly attribute VehicleSignalInterface engineCoolant;
readonly attribute VehicleSignalInterface steeringWheel;
readonly attribute VehicleSignalInterface ignitionTime;
readonly attribute VehicleSignalInterface yawRate;
readonly attribute VehicleSignalInterface brakeOperation;
readonly attribute VehicleSignalInterface wheelTick;
readonly attribute VehicleSignalInterface buttonEvent;
readonly attribute VehicleSignalInterface drivingMode;
readonly attribute VehicleSignalInterface nightMode;
readonly attribute VehicleSignalInterface odometer;
readonly attribute VehicleSignalInterface transmissionOil;
readonly attribute VehicleSignalInterface transmissionClutch;
readonly attribute VehicleSignalInterface brakeMaintenance;
readonly attribute VehicleSignalInterface washerFluid;
readonly attribute VehicleSignalInterface malfunctionIndicator;
readonly attribute VehicleSignalInterface batteryStatus;
readonly attribute VehicleSignalInterface tire;
readonly attribute VehicleSignalInterface diagnostic;
readonly attribute VehicleSignalInterface? languageConfiguration;
readonly attribute VehicleSignalInterface unitsOfMeasure;
readonly attribute VehicleSignalInterface mirror;
readonly attribute VehicleSignalInterface driveMode;
readonly attribute VehicleSignalInterface seatAdjustment;
readonly attribute VehicleSignalInterface dashboardIllumination;
readonly attribute VehicleSignalInterface vehicleSound;
readonly attribute VehicleSignalInterface antilockBrakingSystem;
readonly attribute VehicleSignalInterface tractionControlSystem;
readonly attribute VehicleSignalInterface electronicStabilityControl;
readonly attribute VehicleSignalInterface topSpeedLimit;
readonly attribute VehicleSignalInterface airbagStatus;
readonly attribute VehicleSignalInterface door;
readonly attribute VehicleSignalInterface childSafetyLock;
readonly attribute VehicleSignalInterface seat;
readonly attribute VehicleSignalInterface temperature;
readonly attribute VehicleSignalInterface rainSensor;
readonly attribute VehicleSignalInterface wiperStatus;
readonly attribute VehicleSignalInterface wiperSetting;
readonly attribute VehicleSignalInterface defrost;
readonly attribute VehicleSignalInterface sunroof;
readonly attribute VehicleSignalInterface convertibleRoof;
readonly attribute VehicleSignalInterface sideWindow;
readonly attribute VehicleSignalInterface climateControl;
readonly attribute VehicleSignalInterface atmosphericPressure;
readonly attribute VehicleSignalInterface laneDepartureStatus;
readonly attribute VehicleSignalInterface alarm;
readonly attribute VehicleSignalInterface parkingBrake;
readonly attribute VehicleSignalInterface parkingLights;
};
enum ZonePosition {"front", "middle", "right", "left", "rear", "center"};
[NoInterfaceObject]
interface Zone {
attribute DOMString[] value;
readonly attribute Zone driver;
boolean equals (Zone zone);
boolean contains (Zone zone);
};
[Callback=FunctionOnly, NoInterfaceObject]
interface VehicleInterfaceCallback {
void onsuccess (object value);
};
[Callback=FunctionOnly, NoInterfaceObject]
interface AvailableCallback {
void onsuccess (Availability available);
};
enum VehicleError {"permission_denied", "invalid_operation", "timeout", "invalid_zone", "unknown"};
[NoInterfaceObject]
interface VehicleInterfaceError {
readonly attribute VehicleError error;
readonly attribute DOMString message;
};
[NoInterfaceObject]
interface VehicleInterface {
Availability availableForRetrieval (DOMString attributeName);
Promise get (optional Zone zone);
Promise getHistory (Date begin, Date end, optional Zone zone);
short availabilityChangedListener (AvailableCallback callback);
void removeAvailabilityChangedListener (short handle);
readonly attribute Zone[] zones;
readonly attribute boolean supported;
readonly attribute boolean isLogged;
readonly attribute Date? from;
readonly attribute Date? to;
};
[NoInterfaceObject]
interface VehicleConfigurationInterface : VehicleInterface
{};
[NoInterfaceObject]
interface VehicleSignalInterface : VehicleInterface
{
Availability availableForSubscription (DOMString attributeName);
Availability availableForSetting (DOMString attributeName);
Promise set (object value, optional Zone zone);
unsigned short subscribe (VehicleInterfaceCallback callback, optional Zone zone);
void unsubscribe (unsigned short handle);
};
enum Availability {"available", "not_supported", "not_supported_yet", "not_supported_security_policy", "not_supported_business_policy", "not_supported_other"};
[NoInterfaceObject]
interface VehicleCommonDataType {
readonly attribute DOMTimeStamp? timeStamp;
};
enum VehicleTypeEnum {"passengerCarMini", "passengerCarLight", "passengerCarCompact", "passengerCarMedium", "passengerCarHeavy", "sportUtilityVehicle", "pickupTruck", "van"};
[NoInterfaceObject]
interface Identification : VehicleCommonDataType
{
readonly attribute DOMString? VIN;
readonly attribute DOMString? WMI;
readonly attribute VehicleTypeEnum? vehicleType;
readonly attribute DOMString? brand;
readonly attribute DOMString? model;
readonly attribute unsigned short? year;
};
[NoInterfaceObject]
interface SizeConfiguration : VehicleCommonDataType
{
readonly attribute unsigned short? width;
readonly attribute unsigned short? height;
readonly attribute unsigned short? length;
readonly attribute unsigned short[]? doorsCount;
readonly attribute unsigned short? totalDoors;
};
enum FuelTypeEnum {"gasoline", "methanol", "ethanol", "diesel", "lpg", "cng", "electric"};
[NoInterfaceObject]
interface FuelConfiguration : VehicleCommonDataType
{
readonly attribute FuelTypeEnum[]? fuelType;
readonly attribute Zone? refuelPosition;
};
enum TransmissionGearTypeEnum {"auto", "manual"};
[NoInterfaceObject]
interface TransmissionConfiguration : VehicleCommonDataType
{
readonly attribute TransmissionGearTypeEnum? transmissionGearType;
};
[NoInterfaceObject]
interface WheelConfiguration : VehicleCommonDataType
{
readonly attribute unsigned short? wheelRadius;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface SteeringWheelConfiguration : VehicleCommonDataType
{
readonly attribute boolean? steeringWheelLeft;
attribute unsigned short? steeringWheelTelescopingPosition;
attribute unsigned short? steeringWheelPositionTilt;
};
[NoInterfaceObject]
interface VehicleSpeed : VehicleCommonDataType
{
readonly attribute unsigned short speed;
};
[NoInterfaceObject]
interface WheelSpeed : VehicleCommonDataType
{
readonly attribute unsigned short speed;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface EngineSpeed : VehicleCommonDataType
{
readonly attribute unsigned long speed;
};
enum VehiclePowerMode {"off", "accessory1", "accessory2", "running"};
[NoInterfaceObject]
interface VehiclePowerModeType : VehicleCommonDataType
{
readonly attribute VehiclePowerMode value;
};
[NoInterfaceObject]
interface PowerTrainTorque : VehicleCommonDataType
{
readonly attribute short value;
};
[NoInterfaceObject]
interface AcceleratorPedalPosition : VehicleCommonDataType
{
readonly attribute unsigned short value;
};
[NoInterfaceObject]
interface ThrottlePosition : VehicleCommonDataType
{
readonly attribute unsigned short value;
};
[NoInterfaceObject]
interface Trip {
readonly attribute unsigned long distance;
readonly attribute unsigned short? averageSpeed;
readonly attribute unsigned short? fuelConsumption;
};
[NoInterfaceObject]
interface TripMeters : VehicleCommonDataType
{
readonly attribute Trip[] meters;
};
enum TransmissionMode {"park", "reverse", "neutral", "low", "drive", "overdrive"};
[NoInterfaceObject]
interface Transmission : VehicleCommonDataType
{
readonly attribute octet? gear;
readonly attribute TransmissionMode? mode;
};
[NoInterfaceObject]
interface CruiseControlStatus : VehicleCommonDataType
{
readonly attribute boolean status;
readonly attribute unsigned short speed;
};
[NoInterfaceObject]
interface LightStatus : VehicleCommonDataType
{
attribute boolean head;
attribute boolean rightTurn;
attribute boolean leftTurn;
attribute boolean brake;
attribute boolean? fog;
attribute boolean hazard;
attribute boolean parking;
attribute boolean highBeam;
attribute boolean? automaticHeadlights;
attribute boolean? dynamicHighBeam;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface InteriorLightStatus : VehicleCommonDataType
{
attribute boolean status;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface Horn : VehicleCommonDataType
{
attribute boolean status;
};
[NoInterfaceObject]
interface Chime : VehicleCommonDataType
{
readonly attribute boolean status;
};
[NoInterfaceObject]
interface Fuel : VehicleCommonDataType
{
readonly attribute unsigned short? level;
readonly attribute unsigned long? range;
readonly attribute unsigned long? instantConsumption;
attribute unsigned long? averageConsumption;
readonly attribute unsigned long? fuelConsumedSinceRestart;
readonly attribute unsigned long? timeSinceRestart;
};
[NoInterfaceObject]
interface EngineOil : VehicleCommonDataType
{
readonly attribute unsigned short level;
readonly attribute unsigned short lifeRemaining;
readonly attribute long temperature;
readonly attribute unsigned short pressure;
readonly attribute boolean change;
};
[NoInterfaceObject]
interface Acceleration : VehicleCommonDataType
{
readonly attribute long x;
readonly attribute long y;
readonly attribute long z;
};
[NoInterfaceObject]
interface EngineCoolant : VehicleCommonDataType
{
readonly attribute octet level;
readonly attribute short temperature;
};
[NoInterfaceObject]
interface SteeringWheel : VehicleCommonDataType
{
readonly attribute short angle;
};
[NoInterfaceObject]
interface WheelTick : VehicleCommonDataType
{
readonly attribute unsigned long value;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface IgnitionTime : VehicleCommonDataType
{
readonly attribute DOMTimeStamp ignitionOnTime;
readonly attribute DOMTimeStamp ignitionOffTime;
};
[NoInterfaceObject]
interface YawRate : VehicleCommonDataType
{
readonly attribute short value;
};
[NoInterfaceObject]
interface BrakeOperation : VehicleCommonDataType
{
readonly attribute boolean brakePedalDepressed;
};
enum Button {"home", "back", "search", "call", "end_call", "media_play", "media_next", "media_previous", "media_pause", "voice_recognize", "enter", "left", "right", "up", "down"};
enum ButtonEventType {"press", "long_press", "release"};
[NoInterfaceObject]
interface VehicleButton : VehicleCommonDataType
{
readonly attribute Button button;
readonly attribute ButtonEventType state;
};
[NoInterfaceObject]
interface ButtonEvent : VehicleCommonDataType
{
readonly attribute VehicleButton[] button;
};
[NoInterfaceObject]
interface DrivingMode : VehicleCommonDataType
{
readonly attribute boolean mode;
};
[NoInterfaceObject]
interface NightMode : VehicleCommonDataType
{
readonly attribute boolean mode;
};
[NoInterfaceObject]
interface Odometer : VehicleCommonDataType
{
readonly attribute unsigned long? distanceSinceStart;
readonly attribute unsigned long distanceTotal;
};
[NoInterfaceObject]
interface TransmissionOil : VehicleCommonDataType
{
readonly attribute octet? wear;
readonly attribute short? temperature;
};
[NoInterfaceObject]
interface TransmissionClutch : VehicleCommonDataType
{
readonly attribute octet wear;
};
[NoInterfaceObject]
interface BrakeMaintenance : VehicleCommonDataType
{
readonly attribute octet? fluidLevel;
readonly attribute boolean? fluidLevelLow;
readonly attribute octet? padWear;
readonly attribute boolean? brakesWorn;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface WasherFluid : VehicleCommonDataType
{
readonly attribute unsigned short? level;
readonly attribute boolean? levelLow;
};
[NoInterfaceObject]
interface MalfunctionIndicator : VehicleCommonDataType
{
readonly attribute boolean on;
};
[NoInterfaceObject]
interface BatteryStatus : VehicleCommonDataType
{
readonly attribute unsigned short? chargeLevel;
readonly attribute unsigned short? voltage;
readonly attribute unsigned short? current;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface Tire : VehicleCommonDataType
{
readonly attribute boolean? pressureLow;
readonly attribute unsigned short? pressure;
readonly attribute short? temperature;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface Diagnostic : VehicleCommonDataType
{
readonly attribute unsigned long accumulatedEngineRuntime;
readonly attribute unsigned long distanceWithMILOn;
readonly attribute unsigned long distanceSinceCodeCleared;
readonly attribute unsigned long timeRunMILOn;
readonly attribute unsigned long timeTroubleCodeClear;
};
[NoInterfaceObject]
interface LanguageConfiguration : VehicleCommonDataType
{
attribute DOMString? language;
};
[NoInterfaceObject]
interface UnitsOfMeasure : VehicleCommonDataType
{
attribute boolean? isMKSSystem;
attribute DOMString? unitsFuelVolume;
attribute DOMString? unitsDistance;
attribute DOMString? unitsSpeed;
attribute DOMString? unitsFuelConsumption;
};
[NoInterfaceObject]
interface Mirror : VehicleCommonDataType
{
attribute unsigned short? mirrorTilt;
attribute unsigned short? mirrorPan;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface SeatAdjustment : VehicleCommonDataType
{
attribute unsigned short? reclineSeatBack;
attribute unsigned short? seatSlide;
attribute unsigned short? seatCushionHeight;
attribute unsigned short? seatHeadrest;
attribute unsigned short? seatBackCushion;
attribute unsigned short? seatSideCushion;
readonly attribute Zone? zone;
};
enum DriveModeEnum {"comfort", "auto", "sport", "eco", "manual", "winter"};
[NoInterfaceObject]
interface DriveMode : VehicleCommonDataType
{
attribute DriveModeEnum? driveMode;
};
[NoInterfaceObject]
interface DashboardIllumination : VehicleCommonDataType
{
attribute DOMString? dashboardIllumination;
};
[NoInterfaceObject]
interface VehicleSound : VehicleCommonDataType
{
attribute boolean activeNoiseControlMode;
attribute DOMString? engineSoundEnhancementMode;
};
[NoInterfaceObject]
interface AntilockBrakingSystem : VehicleCommonDataType
{
readonly attribute boolean enabled;
readonly attribute boolean engaged;
};
[NoInterfaceObject]
interface TractionControlSystem : VehicleCommonDataType
{
readonly attribute boolean enabled;
readonly attribute boolean engaged;
};
[NoInterfaceObject]
interface ElectronicStabilityControl : VehicleCommonDataType
{
readonly attribute boolean enabled;
readonly attribute boolean engaged;
};
[NoInterfaceObject]
interface TopSpeedLimit : VehicleCommonDataType
{
readonly attribute unsigned short speed;
readonly attribute unsigned short speed;
};
[NoInterfaceObject]
interface AirbagStatus : VehicleCommonDataType
{
readonly attribute boolean activated;
readonly attribute boolean deployed;
readonly attribute Zone? zone;
};
enum DoorOpenStatus {"open", "ajar", "closed"};
[NoInterfaceObject]
interface Door : VehicleCommonDataType
{
readonly attribute DoorOpenStatus status;
attribute boolean lock;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface ChildSafetyLock : VehicleCommonDataType
{
attribute boolean lock;
readonly attribute Zone? zone;
};
enum OccupantStatus {"adult", "child", "vacant"};
enum IdentificationType {"pin", "keyfob", "Bluetooth", "NFC", "fingerprint", "camera", "voice"};
[NoInterfaceObject]
interface Seat : VehicleCommonDataType
{
readonly attribute OccupantStatus occupant;
readonly attribute boolean seatbelt;
readonly attribute DOMString? occupantName;
readonly attribute IdentificationType identificationType;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface Temperature : VehicleCommonDataType
{
readonly attribute float interiorTemperature;
readonly attribute float exteriorTemperature;
};
[NoInterfaceObject]
interface RainSensor : VehicleCommonDataType
{
readonly attribute unsigned short rain;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface WiperStatus : VehicleCommonDataType
{
readonly attribute unsigned short wiperSpeed;
readonly attribute Zone? zone;
};
enum WiperControl {"off", "once", "slowest", "slow", "middle", "fast", "fastest", "auto"};
[NoInterfaceObject]
interface WiperSetting : VehicleCommonDataType
{
attribute WiperControl wiperControl;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface Defrost : VehicleCommonDataType
{
attribute boolean? defrostWindow;
attribute boolean? defrostMirrors;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface Sunroof : VehicleCommonDataType
{
attribute unsigned short openness;
attribute unsigned short tilt;
readonly attribute Zone? zone;
};
enum ConvertibleRoofStatus {"closed", "closing", "opening", "opened"};
[NoInterfaceObject]
interface ConvertibleRoof : VehicleCommonDataType
{
attribute ConvertibleRoofStatus status;
};
[NoInterfaceObject]
interface SideWindow : VehicleCommonDataType
{
attribute boolean? lock;
attribute unsigned short? openness;
readonly attribute Zone? zone;
};
enum AirflowDirection {"frontpanel", "floorduct", "bilevel", "defrostfloor"};
[NoInterfaceObject]
interface ClimateControl : VehicleCommonDataType
{
attribute AirflowDirection airflowDirection;
attribute unsigned short fanSpeedLevel;
attribute short? targetTemperature;
attribute boolean airConditioning;
attribute boolean heater;
attribute unsigned short? seatHeater;
attribute unsigned short? seatCooler;
attribute boolean airRecirculation;
attribute unsigned short? steeringWheelHeater;
readonly attribute Zone? zone;
};
[NoInterfaceObject]
interface AtmosphericPressure : VehicleCommonDataType
{
readonly attribute unsigned short pressure;
};
enum LaneDepartureStatus {"off", "pause", "running"};
[NoInterfaceObject]
interface LaneDepartureDetection : VehicleCommonDataType
{
readonly attribute LaneDepartureStatus status;
};
enum AlarmStatus {"disarmed", "preArmed", "armed", "alarmed"};
[NoInterfaceObject]
interface Alarm : VehicleCommonDataType
{
attribute AlarmStatus status;
};
enum ParkingBrakeStatus {"inactive", "active", "error"};
[NoInterfaceObject]
interface ParkingBrake : VehicleCommonDataType
{
readonly attribute ParkingBrakeStatus status;
};
[NoInterfaceObject]
interface ParkingLights : VehicleCommonDataType
{
readonly attribute boolean status;
attribute boolean setting;
};
};