<!DOCTYPE html>
<html>
  <head>
    <title>Vehicle Data</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <script src='https://www.w3.org/Tools/respec/respec-w3c-common'
            class='remove'></script>
    <script class="remove">
      var respecConfig = {
          specStatus:           "BG-DRAFT",
          shortName:            "vehicle-data",
          publishDate:          "",
          previousPublishDate:  "2014-11-24",
          previousMaturity:     "BG-FINAL",
          edDraftURI:           "",
          // lcEnd:                "",
          crEnd:                "",
          editors:  [
              { name: "Kevron Rees", company: "Intel",
                      companyURL: "http://www.intel.com" },
              { name: "Justin (Jong Seon) Park", company: "LG Electronics",
                      companyURL: "http://www.lg.com"}
         ],
          inlineCSS:    true,
          noIDLIn:      true,
          wg:           "Automotive and Web Platform Business Group",
          wgURI:        "http://www.w3.org/community/autowebplatform/",
          wgPublicList: "public-autowebplatform",
          wgPatentURI:  "",

          localBiblio:  {
              "VIN": {
                  title:    "Vehicle Identificaiton Number"
              ,   href:     "http://en.wikipedia.org/wiki/Vehicle_Identification_Number#World_Manufacturer_Identifier"
              ,   publisher:  "Wikipedia"
              }
          }
      };
    </script>
  </head>

  <body>


<!------------------------------ Abstract ------------------------------------>
<section id="abstract">
  <p>
  This specification defines a standard for Vehicle Data which might be available in a vehicle.  It is designed to be used in conjunction with the <a href="vehicle_spec.html">Vehicle API Specification</a>.
</section>

<!----------------------- Status of this document ---------------------------->
<section id="sotd">
</section>

<!----------------------------- Introduction --------------------------------->
<section class="informative">
  <h2>Introduction</h2>
  <p>Each data type is accessed through a <a href="vehicle_spec.html#vehicleinterface-interface">VehicleInterface</a> attribute available on the <a href="vehicle_spec.html#vehicle-interface">navigator.vehicle</a> object.  The attribute name corresponds with the Vehicle Type. For example, the attribute <a href="#widl-Vehicle-vehicleSpeed">"vehicle.vehicleSpeed"</a> is the interface to the data type <a href="#vehiclespeed-interface">"VehicleSpeed"</a>.</p>

</section>

<!---------------------------- Conformance ----------------------------------->
<section id="conformance">
  <p>This specification defines conformance criteria that apply to a single
  product: the <dfn>user agent</dfn> that implements the interfaces that it
  contains.</p>

  <p>Implementations that use ECMAScript to implement the APIs defined in this
  specification MUST implement them in a manner consistent with the ECMAScript
  Bindings defined in the Web IDL specification [[!WEBIDL]], as this
  specification uses that specification and terminology.</p>
</section>

<!---------------------------- Extending this API ----------------------------------->
<section id="Extending">
  <h3>Extending the Vehicle Data API</h3>
  <p>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.</p>

  <p>All new data types must have two parts: a <a href="vehicle_spec.html#vehicleinterface-interface">VehicleInterface</a>
  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.</p>

  <pre class="example highlight">
    partial interface Vehicle {
       readonly attribute VehicleSignalInterface whizzer; /// returns an interface to the Whizzer type
    }

    interface Whizzer {
       readonly attribute boolean isWhizzing;
    }
  </pre>
  
  <section id="Extending Existing Data Types">
    <h3>Extending Existing Data Types</h3>
    <p>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.
    </p>
    <pre class="example highlight">
      partial interface Light {
        attribute boolean superBeam;
      }
    </pre>
  </section>

  <section id="Mapping vs Extending">
    <h3>Mapping vs. Extending</h3>
    <p>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.
    </p>
  </section>
</section>

<!----------------------------- Terminology ---------------------------------->
<!--
<section id="terminology">
  <h2>Terminology</h2>
</section>
-->

<!------------------------ Interface VehicleCommonDataType ------------------------>
<section>
  <h3><a>VehicleCommonDataType</a> Interface</h3> <p>The <a>VehicleCommonDataType</a>
  interface represents the common data type for all vehicle data types</p>

  <dl title="[NoInterfaceObject] interface VehicleCommonDataType" class="idl">
    <dt>readonly attribute DOMTimeStamp? timeStamp</dt>
    <dd>MUST return timestamp when any data in this interface was received on the system.</dd>
  </dl>
</section>

<!---------------- Vehicle Configuration & ID Interfaces --------------------->
<section id="configuration-identification-interfaces">
      <h2>Configuration and Identification Interfaces</h2>

      <p>Interfaces relating to vehicle configuration and identification including: make, type size, transmission
      configuration, identification numbers, etc...</p>

      <dl title="partial interface Vehicle" class="idl">
        <!-- identification and configuration types: -->
        <dt>readonly attribute VehicleConfigurationInterface identification</dt>
        <dd>MUST return VehicleConfigurationInterface for accessing <a>Identification</a></dd>
        <dt>readonly attribute VehicleConfigurationInterface sizeConfiguration</dt>
        <dd>MUST return VehicleConfigurationInterface for accessing <a>SizeConfiguration</a></dd>
        <dt>readonly attribute VehicleConfigurationInterface fuelConfiguration</dt>
        <dd>MUST return VehicleConfigurationInterface for accessing <a>FuelConfiguration</a></dd>
        <dt>readonly attribute VehicleConfigurationInterface transmissionConfiguration</dt>
        <dd>MUST return VehicleConfigurationInterface for accessing <a>TransmissionConfiguration</a></dd>
        <dt>readonly attribute VehicleConfigurationInterface wheelConfiguration</dt>
        <dd>MUST return VehicleConfigurationInterface for accessing <a>WheelConfiguration</a></dd>
        <dt>readonly attribute VehicleSignalInterface steeringWheelConfiguration</dt>
        <dd>MUST return VehicleConfigurationInterface for accessing <a>SteeringWheelConfiguration</a></dd>
      </dl>


<!------------------------ Interface Identification ------------------------------>
<section>
  <h3><a>Identification</a> Interface</h3>
  <p>The <a>Identification</a> interface provides identification information about a
  vehicle.

    <dl title="enum VehicleTypeEnum" class="idl">
        <dt>passengerCarMini</dt>
        <dd>Passenger car 680–907 kg</dd>
        <dt>passengerCarLight</dt>
        <dd>Passenger car 907–1,134 kg</dd>
        <dt>passengerCarCompact</dt>
        <dd>Passenger car 1,134–1,360 kg</dd>
        <dt>passengerCarMedium</dt>
        <dd>Passenger car 1,361–1,587 kg</dd>
        <dt>passengerCarHeavy</dt>
        <dd>Passenger car 1,588 kg and over</dd>
        <dt>sportUtilityVehicle</dt>
        <dd>Sport utility vehicle</dd>
        <dt>pickupTruck</dt>
        <dd>Pickup truck</dd>
        <dt>van</dt>
        <dd>Van</dd>
    </dl>

  <dl title="[NoInterfaceObject] interface Identification : VehicleCommonDataType" class="idl">
     <dt>readonly attribute DOMString? VIN</dt>
     <dd>MUST return the Vehicle Identification Number (ISO 3833)</dd>
     <dt>readonly attribute DOMString? WMI</dt>
     <dd>MUST return the World Manufacture Identifier defined by SAE ISO 3780:2009.  3 characters.</dd>
     <dt>readonly attribute VehicleTypeEnum? vehicleType</dt>
     <dd>MUST return vehicle type</dd>
     <dt>readonly attribute DOMString? brand</dt>
     <dd>MUST return vehicle brand name</dd>
     <dt>readonly attribute DOMString? model</dt>
     <dd>MUST return vehicle model</dd>
     <dt>readonly attribute unsigned short? year</dt>
     <dd>MUST return vehicle model year</dd>
  </dl>
</section>

<!------------------------ Interface Size Configuration --------------------------->
<section>
  <h3><a>SizeConfiguration</a> Interface</h3>
  <p>The <a>SizeConfiguration</a> interface provides size and shape information about a
  vehicle as a whole.</p>
  <dl title="[NoInterfaceObject] interface SizeConfiguration : VehicleCommonDataType" class="idl">
     <dt>readonly attribute unsigned short? width</dt>
     <dd>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.)</dd>
     <dt>readonly attribute unsigned short? height</dt>
     <dd>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.)</dd>
     <dt>readonly attribute unsigned short? length</dt>
     <dd>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.)</dd>
     <dt>readonly attribute unsigned short[]? doorsCount</dt>
     <dd>MUST return list of car doors, organized in "rows" with number doors in each row.(Per Row -
     Min: 0, Max: 3)
     </dd>
     <dt>readonly attribute unsigned short? totalDoors</dt>
     <dd>MUST return total number of doors on the vehicle (all doors opening to the interior,
     including hatchbacks) (Min: 0, Max: 10)</dd>
     </dd>
  </dl>
</section>

<!-------------------- Interface Fuel Configuration --------------------------->
<section>
  <h3><a>FuelConfiguration</a> Interface</h3>
  <p>The <a>FuelConfiguration</a> interface provides information about the fuel
  configuration of a vehicle.</p>

  <dl title="enum FuelTypeEnum" class="idl">
    <dt>gasoline</dt>
    <dd>Gasoline</dd>
    <dt>methanol</dt>
    <dd>Methanol</dd>
    <dt>ethanol</dt>
    <dd>Ethanol</dd>
    <dt>diesel</dt>
    <dd>Diesel</dd>
    <dt>lpg</dt>
    <dd>Liquified petroleom gas</dd>
    <dt>cng</dt>
    <dd>Compressed natural gas</dd>
    <dt>electric</dt>
    <dd>Electric</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface FuelConfiguration : VehicleCommonDataType" class="idl">
     <dt>readonly attribute FuelTypeEnum[]? fuelType</dt>
     <dd>MUST return type of fuel used by vehicle. If the vehicle uses multiple fuels, fuelType returns an array of fuel types.</dd>
     <dt>readonly attribute Zone? refuelPosition</dt>
     <dd>MUST return location on the vehicle with access to the fuel door</dd>

  </dl>
</section>

<!----------------- Interface Transmission Configuration ------------------->
<section>
  <h3><a>TransmissionConfiguration</a> Interface</h3>
  <p>The <a>TransmissionConfiguration</a> interface provides transmission configuration
  information information about a vehicle.</p>


  <dl title="enum TransmissionGearTypeEnum" class="idl">
    <dt>auto</dt>
    <dd>Automatic transmission</dd>
    <dt>manual</dt>
    <dd>Manual transmission</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface TransmissionConfiguration : VehicleCommonDataType" class="idl">
     <dt>readonly attribute TransmissionGearTypeEnum? transmissionGearType</dt>
     <dd>MUST return transmission gear type</dd>
  </dl>
</section>

<!------------------------ Interface Wheel Configuration ------------------------>
<section>
  <h3><a>WheelConfiguration</a> Interface</h3>

  <p>The <a>WheelConfiguration</a> interface provides wheel configuration information
  about a vehicle.</p>
  <dl title="[NoInterfaceObject] interface WheelConfiguration : VehicleCommonDataType" class="idl">
    <dt>readonly attribute unsigned short? wheelRadius</dt>
    <dd>MUST return radius of the front wheel (Unit: millimeters)</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------ Interface Steering Wheel Configuration --------------------->
<section>
  <h3><a>SteeringWheelConfiguration</a> Interface</h3>
  <p>The <a>SteeringWheelConfiguration</a> interface provides steering wheel configuration

  information information about a vehicle.</p>

  <dl title="[NoInterfaceObject] interface SteeringWheelConfiguration : VehicleCommonDataType" class="idl">
     <dt>readonly attribute boolean? steeringWheelLeft</dt>
     <dd>MUST return true if steering wheel is on left side of vehicle</dd>
     <dt>attribute unsigned short? steeringWheelTelescopingPosition</dt>
     <dd>MUST return steering wheel position as percentage of extension from the dash
     (Unit: percentage, 0%:closest to dash, 100%:farthest from dash)
     </dd>
     <dt>attribute unsigned short? steeringWheelPositionTilt</dt>
     <dd>MUST return steering wheel position as percentage of tilt
     (Unit: percentage, 0%:tilted lowest downward-facing position, 100%:highest upward-facing position)
     </dd>
  </dl>
</section>

</section>
<!--------------- End of Vehicle Configuration & ID Interfaces ---------------->
<!----------------------------------------------------------------------------->

<!----------------------------------------------------------------------------->
<!---------------------- Running Status Interfaces ---------------------------->
<section id="runningstatus-interfaces">
      <h2>Running Status Interfaces</h2>
      <p>Interfaces relating to the running/operation of a vehicle including:  speed, temperatures, acceleration,
      etc...</p>

      <dl title="partial interface Vehicle" class="idl">
        <!-- running status types: -->
        <dt>readonly attribute VehicleSignalInterface vehicleSpeed</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>VehicleSpeed</a></dd>
        <dt>readonly attribute VehicleSignalInterface wheelSpeed</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>WheelSpeed</a></dd>
        <dt>readonly attribute VehicleSignalInterface engineSpeed</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>EngineSpeed</a> or undefined if not supported</dd>
        <dt>readonly attribute VehicleSignalInterface powertrainTorque</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>PowertrainTorque</a></dd>
        <dt>readonly attribute VehicleSignalInterface acceleratorPedalPosition</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>AcceleratorPedalPosition</a></dd>
        <dt>readonly attribute VehicleSignalInterface throttlePosition</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ThrottlePosition</a></dd>
        <dt>readonly attribute VehicleSignalInterface tripMeters</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>TripMeters</a></dd>
        <dt>readonly attribute VehicleSignalInterface transmission</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Transmission</a></dd>
        <dt>readonly attribute VehicleSignalInterface cruiseControlStatus</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>CruiseControlStatus</a></dd>
        <dt>readonly attribute VehicleSignalInterface lightStatus</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>LightStatus</a></dd>
        <dt>readonly attribute VehicleSignalInterface interiorLightStatus</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>InteriorLightStatus</a></dd>
        <dt>readonly attribute VehicleSignalInterface horn</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Horn</a></dd>
        <dt>readonly attribute VehicleSignalInterface chime</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Chime</a></dd>
        <dt>readonly attribute VehicleSignalInterface fuel</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Fuel</a></dd>
        <dt>readonly attribute VehicleSignalInterface engineOil</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>EngineOil</a></dd>
        <dt>readonly attribute VehicleSignalInterface acceleration</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Acceleration</a></dd>
        <dt>readonly attribute VehicleSignalInterface engineCoolant</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>EngineCoolant</a></dd>
        <dt>readonly attribute VehicleSignalInterface steeringWheel</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>SteeringWheel</a></dd>
        <dt>readonly attribute VehicleSignalInterface ignitionTime</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>IgnitionTime</a></dd>
        <dt>readonly attribute VehicleSignalInterface yawRate</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>YawRate</a></dd>
        <dt>readonly attribute VehicleSignalInterface brakeOperation</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>BrakeOperation</a></dd>
        <dt>readonly attribute VehicleSignalInterface wheelTick</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>WheelTick</a></dd>
        <dt>readonly attribute VehicleSignalInterface buttonEvent</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ButtonEvent</a></dd>
        <dt>readonly attribute VehicleSignalInterface drivingMode</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>DrivingMode</a></dd>
        <dt>readonly attribute VehicleSignalInterface nightMode</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>NightMode</a></dd>
      </dl>

<!------------------------ Interface VehicleSpeed ------------------------>
<section>

  <h3><a>VehicleSpeed</a> Interface</h3>
  <p>The <a>VehicleSpeed</a> interface represents vehicle speed information</p>


  <dl title="[NoInterfaceObject] interface VehicleSpeed : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute unsigned short speed</dt>
    <dd>MUST return vehicle speed (Unit: meters per hour)</dd>
  </dl>
</section>

<!------------------------ Interface WheelSpeed ------------------------>
<section>
  <h3><a>WheelSpeed</a> Interface</h3>
  <p>The <a>WheelSpeed</a> interface represents wheel speed information.</p>

  <dl title="[NoInterfaceObject] interface WheelSpeed : VehicleCommonDataType"
      class="idl">
      <dt>readonly attribute unsigned short speed</dt>
      <dd>MUST return wheel speed (Unit: meters per hour)</dd>
      <dt>readonly attribute Zone? zone</dt>
      <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface EngineSpeed ------------------------>
<section>

  <h3><a>EngineSpeed</a> Interface</h3>
  <p>The <a>EngineSpeed</a> interface represents engine speed information.</p>


  <dl title="[NoInterfaceObject] interface EngineSpeed : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute unsigned long speed</dt>
    <dd>MUST return engine speed (Unit:  rotations per minute)</dd>
  </dl>
</section>

<!------------------------ Interface VehiclePowerModeType ------------------------>
<section>
  <h3><a>VehiclePowerModeType</a> Interface</h3>
  <p>The <a>VehiclePowerModeType</a> interface represents position of the ignition switch.</p>

  <dl title="enum VehiclePowerMode"
  class="idl">
    <dt>off</dt>
    <dd>Off - No power</dd>
    <dt>accessory1</dt>
    <dd>Accessory power 1</dd>
    <dt>accessory2</dt>
    <dd>Accessory power 2</dd>
    <dt>running</dt>
    <dd>Running power</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface VehiclePowerModeType : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute VehiclePowerMode value</dt>
    <dd>MUST return position of the ignition switch</dd>
  </dl>
</section>

<!------------------------ Interface PowertrainTorque ------------------------>
<section>
  <h3><a>PowertrainTorque</a> Interface</h3>
  <p>The <a>PowertrainTorque</a> interface represents powertrain torque.</p>


  <dl title="[NoInterfaceObject] interface PowertrainTorque : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute short value</dt>
    <dd>MUST return powertrain torque (Unit: newton meters)</dd>
  </dl>
</section>

<!------------------------ Interface AcceleratorPedalPosition ------------------------>
<section>
  <h3><a>AcceleratorPedalPosition</a> Interface</h3> <p>The <a>AcceleratorPedalPosition</a>
  interface represents the accelerator pedal position.</p>


  <dl title="[NoInterfaceObject] interface AcceleratorPedalPosition : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute unsigned short value</dt>
    <dd>MUST return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)</dd>
  </dl>
</section>

<!------------------------ Interface ThrottlePosition ------------------------>
<section>
  <h3><a>ThrottlePosition</a> Interface</h3> <p>The <a>ThrottlePosition</a>

  represents position of the throttle.</p>


  <dl title="[NoInterfaceObject] interface ThrottlePosition : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute unsigned short value</dt>
    <dd>MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)</dd>
  </dl>
</section>

<!------------------------ Interface TripMeters ------------------------>
<section>
  <h3><a>Trip</a> Interface</h3> <p>The <a>Trip</a> interface
  represents trip meter.</p>
  <dl title="[NoInterfaceObject] interface Trip"
  class="idl">
    <dt>readonly attribute unsigned long distance</dt>
    <dd>MUST return distance travelled based on trip meter (Unit: meters)</dd>
    <dt>readonly attribute unsigned short? averageSpeed</dt>
    <dd>MUST return average speed based on trip meter (Unit: kilometers per hour)</dd>
    <dt>readonly attribute unsigned short? fuelConsumption</dt>
    <dd>MUST return fuel consumed based on trip meter (Unit: milliliters per 100 kilometers)</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface TripMeters : VehicleCommonDataType" class="idl">
    <dt>readonly attribute Trip[] meters;
    <dd>MUST return trip meters</dd>
  </dl>
</section>




<!------------------------ Interface Transmission ------------------------------>
<section>
  <h3><a>Transmission</a> Interface</h3>
  <p>The <a>Transmission</a> interface represents the current transmission gear and mode.

  <dl title="enum TransmissionMode"
  class="idl">
    <dt>park</dt>
    <dd>Transmission is in park</dd>
    <dt>reverse</dt>
    <dd>Transmission is in reverse</dd>
    <dt>neutral</dt>
    <dd>Transmission is in neutral</dd>
    <dt>low</dt>
    <dd>Transmission is in low</dd>
    <dt>drive</dt>
    <dd>Transmission is in drive</dd>
    <dt>overdrive</dt>
    <dd>Transmission is in overdrive</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface Transmission : VehicleCommonDataType" class="idl">

     <dt>readonly attribute octet? gear</dt>
     <dd>MUST return transmission gear position. Range 0 - 10</dd>
     <dt>readonly attribute TransmissionMode? mode</dt>
     <dd>MUST return transmission Mode (see <a>TransmissionMode</a>)</dd>

  </dl>
</section>

<!------------------------ Interface CruiseControlStatus ------------------------------>
<section>
  <h3><a>CruiseControlStatus</a> Interface</h3>
  <p>The <a>CruiseControlStatus</a> interface represents cruise control settings.
  <dl title="[NoInterfaceObject] interface CruiseControlStatus : VehicleCommonDataType" class="idl">
     <dt>readonly attribute boolean status</dt>
     <dd>MUST return whether or not the Cruise Control system is on (true) or off (false)</dd>
     <dt>readonly attribute unsigned short speed</dt>
     <dd>MUST return target Cruise Control speed in kilometers per hour (Unit: kilometers per hour)</dd>
  </dl>
</section>

<!------------------------ Interface LightStatus ------------------------------>
<section>
  <h3><a>LightStatus</a> Interface</h3>
  <p>The <a>LightStatus</a> interface represents exterior light statuses.
  <dl title="[NoInterfaceObject] interface LightStatus : VehicleCommonDataType" class="idl">
     <dt>attribute boolean head</dt>
     <dd>MUST return headlight status: on (true), off (false)</dd>
     <dt>attribute boolean rightTurn</dt>
     <dd>MUST return right turn signal status: on (true), off (false)</dd>
     <dt>attribute boolean leftTurn</dt>
     <dd>MUST return left turn signal status: on (true), off (false)</dd>
     <dt>attribute boolean brake</dt>
     <dd>MUST return Brake light status: on (true), off (false)</dd>
     <dt>attribute boolean? fog</dt>
     <dd>MUST return Fog light status: on (true), off (false)</dd>
     <dt>attribute boolean hazard</dt>
     <dd>MUST return Hazard light status: on (true), off (false)</dd>
     <dt>attribute boolean parking</dt>
     <dd>MUST return Parking light status: on (true), off (false)</dd>
     <dt>attribute boolean highBeam</dt>
     <dd>MUST return HighBeam light status: on (true), off (false)</dd>
     <dt>attribute boolean? automaticHeadlights</dt>
     <dd>MUST return whether automatic head lights status: activated (true) or not (false)</dd>
     <dt>attribute boolean? dynamicHighBeam</dt>
     <dd>MUST return whether dynamic high beam status: activated (true) or not (false)</dd>
     <dt>readonly attribute Zone? zone</dt>
     <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface InteriorLightStatus ------------------------------>
<section>
  <h3><a>InteriorLightStatus</a> Interface</h3>
  <p>The <a>InteriorLightStatus</a> interface represents interior light status.
  <dl title="[NoInterfaceObject] interface InteriorLightStatus : VehicleCommonDataType" class="idl">
     <dt>attribute boolean status</dt>
     <dd> MUST return interior light status for the given zone: on (true), off (false)</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface Horn ------------------------------>
<section>
  <h3><a>Horn</a> Interface</h3>
  <p>The <a>Horn</a> interface represents horn status.
  <dl title="[NoInterfaceObject] interface Horn : VehicleCommonDataType" class="idl">
     <dt>attribute boolean status</dt>
     <dd>MUST return Horn status: on (true) or off (false)</dd>
  </dl>
</section>

<!------------------------ Interface Chime ------------------------------>
<section>
  <h3><a>Chime</a> Interface</h3>
  <p>The <a>Chime</a> interface represents chime status.
  <dl title="[NoInterfaceObject] interface Chime : VehicleCommonDataType" class="idl">
     <dt>readonly attribute boolean status</dt>
     <dd>MUST return Chime status when a door is open: on (true) or off (false)</dd>
  </dl>
</section>

<!------------------------ Interface Fuel ------------------------------>
<section>
  <h3><a>Fuel</a> Interface</h3>
  <p>The <a>Fuel</a> interface represents vehicle fuel status.
  <dl title="[NoInterfaceObject] interface Fuel : VehicleCommonDataType" class="idl">
     <dt>readonly attribute unsigned short? level</dt>
     <dd>MUST return fuel level as a percentage of fullness</dd>
     <dt>readonly attribute unsigned long? range</dt>
     <dd>MUST return estimated fuel range (Unit:  meters)</dd>
     <dt>readonly attribute unsigned long? instantConsumption</dt>
     <dd>MUST return instant fuel consumption in per distance travelled (Unit:  milliliters per 100 kilometers)</dd>
     <dt>attribute unsigned long? averageConsumption</dt>
     <dd>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'</dd>
     <dt>readonly attribute unsigned long? fuelConsumedSinceRestart</dt>
     <dd>MUST return fuel consumed since engine start; (Unit:  milliliters per 100 kilometers)  resets to 0 each restart</dd>
     <dt>readonly attribute unsigned long? timeSinceRestart</dt>
     <dd>MUST return time elapsed since vehicle restart (Unit:  seconds)</dd>
  </dl>
</section>

<!------------------------ Interface EngineOil ------------------------------>
<section>
  <h3><a>EngineOil</a> Interface</h3>
  <p>The <a>EngineOil</a> interface represents engine oil status.
  <dl title="[NoInterfaceObject] interface EngineOil : VehicleCommonDataType" class="idl">
    <dt>readonly attribute unsigned short level</dt>
    <dd>MUST return engine oil level (Unit: percentage, 0%: empty, 100%: full</dd>
     <dt>readonly attribute unsigned short lifeRemaining</dt>
     <dd>MUST return remaining engine oil life (Unit: percentage, 0%:no life remaining, 100%: full life remaining</dd>
     <dt>readonly attribute long temperature</dt>
     <dd>MUST return Engine Oil Temperature (Unit: celcius)</dd>
     <dt>readonly attribute unsigned short pressure</dt>
     <dd>MUST return Engine Oil Pressure (Unit: kilopascals)</dd>
     <dt>readonly attribute boolean change</dt>
     <dd>MUST return engine oil change indicator status: change oil (true) or no change (false)</dd>
  </dl>
</section>

<!------------------------ Interface Acceleration ------------------------------>
<section>
  <h3><a>Acceleration</a> Interface</h3>
  <p>The <a>Acceleration</a> interface represents vehicle acceleration.
  <dl title="[NoInterfaceObject] interface Acceleration : VehicleCommonDataType" class="idl">
     <dt>readonly attribute long x</dt>
     <dd>MUST return acceleration on the "X" axis (Unit:  centimeters per second squared)</dd>
     <dt>readonly attribute long y</dt>
     <dd>MUST return acceleration on the "Y" axis (Unit:  centimeters per second squared)</dd>
     <dt>readonly attribute long z</dt>
     <dd>MUST return acceleration on the "Z" axis (Unit:  centimeters per second squared)</dd>
  </dl>
</section>

<!------------------------ Interface EngineCoolant ------------------------>
<section>
  <h3><a>EngineCoolant</a> Interface</h3> <p>The <a>EngineCoolant</a>

  represents values related to engine coolant.</p>

  <dl title="[NoInterfaceObject] interface EngineCoolant : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute octet level</dt>
    <dd>MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)</dd>
    <dt>readonly attribute short temperature</dt>
    <dd>MUST return engine coolant temperature (Unit: celcius)</dd>
  </dl>
</section>

<!------------------------ Interface SteeringWheel ------------------------>
<section>
  <h3><a>SteeringWheel</a> Interface</h3> <p>The <a>SteeringWheel</a>

  represents steering wheel data.</p>


  <dl title="[NoInterfaceObject] interface SteeringWheel : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute short angle</dt>
    <dd>MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right)</dd>
  </dl>
</section>

<!------------------------ Interface WheelTick ------------------------>
<section>
  <h3><a>WheelTick</a> Interface</h3> <p>The <a>WheelTick</a>

  number of ticks per second.</p>


  <dl title="[NoInterfaceObject] interface WheelTick : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute unsigned long value</dt>
    <dd>MUST return number of ticks per second (Unit: ticks per second)</dd>
      <dt>readonly attribute Zone? zone</dt>
      <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface IgnitionTime ------------------------>
<section>
  <h3><a>IgnitionTime</a> Interface</h3> <p>The <a>IgnitionTime</a>
  represents status of ignition.</p>

  <dl title="[NoInterfaceObject] interface IgnitionTime : VehicleCommonDataType"
      class="idl">
      <dt>readonly attribute DOMTimeStamp ignitionOnTime</dt>
      <dd>MUST return time at ignition on</dd>
      <dt>readonly attribute DOMTimeStamp ignitionOffTime</dt>
      <dd>MUST return time at ignition off</dd>
  </dl>
</section>

<!------------------------ Interface YawRate ------------------------>
<section>
  <h3><a>YawRate</a> Interface</h3> <p>The <a>YawRate</a>
  represents vehicle yaw rate.</p>

  <dl title="[NoInterfaceObject] interface YawRate : VehicleCommonDataType"
      class="idl">
      <dt>readonly attribute short value</dt>
      <dd>MUST return yaw rate of vehicle.  (Unit:  degrees per second)</dd>
  </dl>
</section>

<!------------------------ Interface BrakeOperation ------------------------>
<section>
  <h3><a>BrakeOperation</a> Interface</h3> <p>The <a>BrakeOperation</a>
  represents vehicle brake operation.</p>

  <dl title="[NoInterfaceObject] interface BrakeOperation : VehicleCommonDataType"
      class="idl">
      <dt>readonly attribute boolean brakePedalDepressed</dt>
      <dd>MUST return whether brake pedal is depressed or not.  true: brake pedal is depressed, false: brake pedal is not depressed</dd>
  </dl>
</section>

<!------------------------ Interface ButtonEvent ------------------------>
<section>
  <h3><a>ButtonEvent</a> Interface</h3> <p>The <a>ButtonEvent</a>
  represents button press events from the steering wheel or other source</p>

  <dl title="enum Button"
  class="idl">
    <dt>home</dt>
    <dd></dd>
    <dt>back</dt>
    <dd></dd>
    <dt>search</dt>
    <dd></dd>
    <dt>call</dt>
    <dd></dd>
    <dt>end_call</dt>
    <dd></dd>
    <dt>media_play</dt>
    <dd></dd>
    <dt>media_next</dt>
    <dd></dd>
    <dt>media_previous</dt>
    <dd></dd>
    <dt>media_pause</dt>
    <dd></dd>
    <dt>voice_recognize</dt>
    <dd></dd>
    <dt>enter</dt>
    <dd></dd>
    <dt>left</dt>
    <dd></dd>
    <dt>right</dt>
    <dd></dd>
    <dt>up</dt>
    <dd></dd>
    <dt>down</dt>
    <dd></dd>
  </dl>

  <dl title="enum ButtonEventType"
  class="idl">
    <dt>press</dt>
    <dd></dd>
    <dt>long_press</dt>
    <dd></dd>
    <dt>release</dt>
    <dd></dd>
  </dl>

  <dl title="[NoInterfaceObject] interface VehicleButton" class="idl">
    <dt>readonly attribute Button button</dt>
    <dd>MUST return the button corresponding to the event.</dd>
    <dt>readonly attribute ButtonEventType state</dt>
    <dd>MUST return the type of event</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface ButtonEvent : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute VehicleButton[] button</dt>
    <dd>MUST return the button events that occured.  This supports multiple simultanious button events.</dd>
  </dl>
</section>

<!------------------------ Interface DrivingMode ------------------------------>
<section>
  <h3><a>DrivingMode</a> Interface</h3>
  <p>The <a>DrivingMode</a> 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.</p>
  <dl title="[NoInterfaceObject] interface DrivingMode : VehicleCommonDataType" class="idl">
    <dt>readonly attribute boolean mode</dt>
    <dd>MUST return true if vehicle is in driving mode</dd>
  </dl>

</section>

<!------------------------ Interface NightMode ------------------------------>
<section>
  <h3><a>NightMode</a> Interface</h3>
  <p>The <a>NightMode</a> 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.</p>
  <dl title="[NoInterfaceObject] interface NightMode : VehicleCommonDataType" class="idl">
    <dt>readonly attribute boolean mode</dt>
    <dd>MUST return true if it is night time</dd>
  </dl>

</section>

</section>
<!------------------- End of Running Status Interfaces ---------------------->
<!--------------------------------------------------------------------------->

<!--------------------------------------------------------------------------->
<!---------------------- Maintenance Interfaces ----------------------------->
<section id="maintenance-interfaces">
      <h2>Maintenance Interfaces</h2>

      <p>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.</p>

      <dl title="partial interface Vehicle" class="idl">
        <!-- maintenance types: -->
        <dt>readonly attribute VehicleSignalInterface odometer</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Odometer</a> or undefined if not supported</dd>
        <dt>readonly attribute VehicleSignalInterface transmissionOil</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>TransmissionOil</a></dd>
        <dt>readonly attribute VehicleSignalInterface transmissionClutch</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>TransmissionClutch</a></dd>
        <dt>readonly attribute VehicleSignalInterface brakeMaintenance</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>BrakeMaintenance</a></dd>
        <dt>readonly attribute VehicleSignalInterface washerFluid</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>WasherFluid</a></dd>
        <dt>readonly attribute VehicleSignalInterface malfunctionIndicator</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>MalfunctionIndicator</a></dd>
        <dt>readonly attribute VehicleSignalInterface batteryStatus</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>BatteryStatus</a></dd>
        <dt>readonly attribute VehicleSignalInterface tire</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Tire</a></dd>
        <dt>readonly attribute VehicleSignalInterface diagnostic</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Diagnostic</a></dd>
      </dl>


<!------------------------ Interface Odometer ------------------------------>
<section>
  <h3><a>Odometer</a> Interface</h3>
  <p>The <a>Odometer</a> interface provides information about the distance that the
  vehicle has traveled.
  <dl title="[NoInterfaceObject] interface Odometer : VehicleCommonDataType" class="idl">
     <dt>readonly attribute unsigned long? distanceSinceStart</dt>
     <dd>MUST return the distance traveled by vehicle since start (Unit: meters).</dd>
     <dt>readonly attribute unsigned long distanceTotal</dt>
     <dd>MUST return the total distance traveled by the vehicle (Unit: meters).</dd>
  </dl>
</section>

<!------------------------ Interface Transmission Oil ------------------------------>
<section>
  <h3><a>TransmissionOil</a> Interface</h3>
  <p>The <a>TransmissionOil</a> interface provides information about the state of a
  vehicles transmission oil.
  <dl title="[NoInterfaceObject] interface TransmissionOil : VehicleCommonDataType"
  class="idl">
     <dt>readonly attribute octet? wear</dt>
     <dd>MUST return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).</dd>
     <dt>readonly attribute byte? temperature</dt>
     <dd>MUST return current temperature of the transmission oil(Unit: celsius).</dd>
  </dl>
</section>

<!------------------------ Interface Transmission Clutch ------------------------------>
<section>
  <h3><a>TransmissionClutch</a> Interface</h3>
  <p>The <a>TransmissionClutch</a> interface provides information about the state of a
  vehicles transmission clutch.
  <dl title="[NoInterfaceObject] interface TransmissionClutch : VehicleCommonDataType"
  class="idl">
     <dt>readonly attribute octet wear</dt>
     <dd>MUST return transmission clutch wear (Unit: percentage, 0%: no wear, 100%: completely worn).</dd>
  </dl>
</section>

<!------------------------ Interface BrakeMaintenance ------------------------------>
<section>
  <h3><a>BrakeMaintenance</a> Interface</h3>
  <p>The <a>BrakeMaintenance</a> interface provides information about the maintenance state of a
  vehicles brakes.
  <dl title="[NoInterfaceObject] interface BrakeMaintenance : VehicleCommonDataType"
  class="idl">
     <dt>readonly attribute octet? fluidLevel</dt>
     <dd>MUST return brake fluid level (Unit: percentage, 0%: empty, 100%: full).</dd>
     <dt>readonly attribute boolean? fluidLevelLow</dt>
     <dd>MUST return true if brake fluid level: low (true), not low (false)</dd>
     <dt>readonly attribute octet? padWear</dt>
     <dd>MUST return brake pad wear (Unit: percentage, 0%: no wear, 100%: completely worn).</dd>
     <dt>readonly attribute boolean? brakesWorn</dt>
     <dd>MUST return true if brakes are worn: worn (true), not worn (false)</dd>
    <dt>readonly attribute Zone? zone</dt>
     <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface Washer Fluid ------------------------------>
<section>
  <h3><a>WasherFluid</a> Interface</h3>

  <p>The <a>WasherFluid</a> interface provides information about the state of a
  vehicles washer fluid.
  <dl title="[NoInterfaceObject] interface WasherFluid : VehicleCommonDataType"

  class="idl">
     <dt>readonly attribute unsigned short? level</dt>
     <dd>MUST return washer fluid level (Unit: percentage, 0%: empty, 100%: full).</dd>
     <dt>readonly attribute boolean? levelLow</dt>
     <dd>MUST return true if washer fluid level is low: low (true), not low: (false)</dd>
  </dl>
</section>

<!------------------------ Interface Malfunction Indicator ------------------------------>
<section>
  <h3><a>MalfunctionIndicator</a> Interface</h3>

  <p>The <a>MalfunctionIndicator</a> interface provides information about the state of a
  vehicles Malfunction Indicator lamp.
  <dl title="[NoInterfaceObject] interface MalfunctionIndicator : VehicleCommonDataType"

  class="idl">
     <dt>readonly attribute boolean on</dt>
     <dd>MUST return true if malfunction indicator lamp is on:  lamp on (true), lamp not on (false)</dd>
  </dl>
</section>

<!------------------------ Interface Battery Status ------------------------------>
<section>
  <h3><a>BatteryStatus</a> Interface</h3>

  <p>The <a>BatteryStatus</a> interface provides information about the state of a
  vehicles battery.
  <dl title="[NoInterfaceObject] interface BatteryStatus : VehicleCommonDataType"

  class="idl">
     <dt>readonly attribute octet? chargeLevel</dt>
     <dd>MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).</dd>
     <dt>readonly attribute unsigned short? voltage</dt>
     <dd>MUST return battery voltage (Unit: volts).</dd>
     <dt>readonly attribute unsigned short? current</dt>
     <dd>MUST return battery current (Unit: amperes).</dd>
     <dt>readonly attribute Zone? zone</dt>
     <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface Tire ------------------------------>
<section>
  <h3><a>Tire</a> Interface</h3>

  <p>The <a>Tire</a> interface provides information about the state of a
  vehicles tires.
  <dl title="[NoInterfaceObject] interface Tire : VehicleCommonDataType"

  class="idl">
     <dt>readonly attribute boolean? pressureLow</dt>
     <dd>MUST return true if any tire pressure is low: pressure low (true), pressure not low (false)</dd>
     <dt>readonly attribute unsigned short? pressure</dt>
     <dd>MUST return tire pressure (Unit: kilopascal).</dd>
     <dt>readonly attribute short? temperature</dt>
     <dd>MUST return tire temperature (Unit: celsius). </dd>
     <dt>readonly attribute Zone? zone</dt>
     <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface  Diagnostic ------------------------>
<section>

    <h3><a>Diagnostic</a> Interface</h3> <p>The <a>Diagnostic</a> interface
    represents Diagnostic interface to malfunction indicator light information.</p>


    <dl title="[NoInterfaceObject] interface Diagnostic : VehicleCommonDataType"
        class="idl">
        <dt>readonly attribute unsigned long accumulatedEngineRuntime</dt>
        <dd>MUST return engine runtime (Unit: seconds)</dd>
        <dt>readonly attribute unsigned long distanceWithMILOn</dt>
        <dd>MUST return distance travelled with the malfunction indicator light on (Unit: meters)</dd>
        <dt>readonly attribute unsigned long distanceSinceCodeCleared.</dt>
        <dd>MUST return distance travelled since the codes were last cleared (Unit: meters)</dd>
        <dt>readonly attribute unsigned long timeRunMILOn</dt>
        <dd>MUST return time elapsed with the malfunction indicator light on (Unit: seconds)</dd>
        <dt>readonly attribute unsigned long timeTroubleCodeClear</dt>
        <dd>MUST return time elapsed since the trouble codes were last cleared (Unit: seconds)</dd>
    </dl>
</section>

</section>
<!------------------- End of Maintenance Interfaces ----------------------->
<!------------------------------------------------------------------------->

<!------------------------------------------------------------------------->
<!---------------------- Personalization  Interfaces ---------------------->

<section id="personalization-interfaces">
      <h2>Personalization Interfaces</h2>

      <p>Interfaces relating personalization the settings of vehicle
      such as seat and mirror position.</p>

      <dl title="partial interface Vehicle" class="idl">
        <dt>readonly attribute VehicleSignalInterface? languageConfiguration</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>LanguageConfiguration</a></dd>
        <dt>readonly attribute VehicleSignalInterface unitsOfMeasure</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>UnitsOfMeasure</a></dd>
        <dt>readonly attribute VehicleSignalInterface mirror</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Mirror</a></dd>
        <dt>readonly attribute VehicleSignalInterface driveMode</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>DriveMode</a></dd>
        <dt>readonly attribute VehicleSignalInterface seatAdjustment</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>SeatAdjustment</a></dd>
        <dt>readonly attribute VehicleSignalInterface dashboardIllumination</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>DashboardIllumination</a></dd>
        <dt>readonly attribute VehicleSignalInterface vehicleSound</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>VehicleSound</a></dd>
      </dl>


<!------------------------ Interface Language ------------------------------>
<section>
  <h3><a>LanguageConfiguration</a> Interface</h3>
  <p>The <a>LanguageConfiguration</a> interface provides language information about a
  vehicle.
  <dl title="[NoInterfaceObject] interface LanguageConfiguration : VehicleCommonDataType" class="idl">
     <dt>attribute DOMString? language</dt>
     <dd>MUST return language identifier based on two-letter codes as specified in ISO 639-1</dd>
  </dl>
</section>

<!------------------------ Interface Units Of Measure ------------------------------>
<section>
  <h3><a>UnitsOfMeasure</a> Interface</h3>
  <p>The <a>UnitsOfMeasure</a> interface provides information about the measurement
  system and units of measure of a vehicle.
  <dl title="[NoInterfaceObject] interface UnitsOfMeasure : VehicleCommonDataType" class="idl">
     <dt>attribute boolean? isMKSSystem</dt>
     <dd>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).
     </dd>
     <dt>attribute DOMString? unitsFuelVolume</dt>
     <dd>MUST return fuel unit of measurement. The value is one of both "litter" and "gallon".</dd>
     <dt>attribute DOMString? unitsDistance</dt>
     <dd>MUST return distance unit of measurement. The value is one of both "km" and "mile".</dd>
     <dt>attribute DOMString? unitsSpeed</dt>
     <dd>MUST return speed unit of measurement. The value is one of both "km/h" and "mph".</dd>
     <dt>attribute DOMString? unitsFuelConsumption</dt>
     <dd>MUST return fuel consumption unit of measurement.
     The value is one of following values: "l/100", "mpg", "km/l".</dd>
  </dl>
</section>

<!------------------------ Interface Mirror ------------------------------>
<section>
  <h3><a>Mirror</a> Interface</h3>
  <p>The <a>Mirror</a> interface provides or sets information about mirrors
  in vehicle.
  <dl title="[NoInterfaceObject] interface Mirror : VehicleCommonDataType" class="idl">
     <dt>attribute octet? mirrorTilt</dt>
     <dd>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)</dd>
     <dt>attribute octet? mirrorPan</dt>
     <dd>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)</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>

  </dl>
</section>

<!--------------------- Interface SeatAdjustment -------------------------->
<section>
  <h3><a>SeatAdjustment</a> Interface</h3>
  <p>The <a>SeatAdjustment</a> interface provides or sets information about seats
  in vehicle.
  <dl title="[NoInterfaceObject] interface SeatAdjustment : VehicleCommonDataType" class="idl">
     <dt>attribute octet? reclineSeatBack</dt>

     <dd>MUST return seat back recline position as percent to completely reclined
     (Unit: percentage, 0%: fully forward, 100%: fully reclined)</dd>

     <dt>attribute octet? seatSlide</dt>
     <dd>MUST return seat slide position as percentage of distance travelled away from forwardmost
     position (Unit: percentage, 0%: farthest forward, 100%: farthest back)</dd>
     <dt>attribute octet? seatCushionHeight</dt>

     <dd>MUST return seat cushion height position as a percentage of upward distance travelled
     (Unit: percentage, 0%: lowest. 100%: highest)</dd>

     <dt>attribute octet? seatHeadrest</dt>
     <dd> MUST return headrest position as a percentage of upward distance travelled
     (Unit: percentage,  0%: lowest, 100%: highest)</dd>
     <dt>attribute octet? seatBackCushion</dt>

     <dd>MUST return back cushion position as a percentage of lumbar curvature
     (Unit: percentage,  0%: flat, 100%: maximum curvature)</dd>
     <dt>attribute octet? seatSideCushion</dt>
     <dd>MUST return sides of back cushion position as a percentage of curvature
     (Unit: percentage,  0%: flat, 100%: maximum curvature)</dd>
     <dt>readonly attribute Zone? zone</dt>
     <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface Drive Mode ------------------------------>
<section>
  <h3><a>DriveMode</a> Interface</h3>
  <p>The <a>DriveMode</a> interface provides or sets information about a vehicles
  drive mode.</p>

  <dl title="enum DriveModeType" class="idl">
    <dt>comfort</dt>
    <dd>Comfort mode</dd>
    <dt>auto</dt>
    <dd>Automatically set mode</dd>
    <dt>sport</dt>
    <dd>Sport mode</dd>
    <dt>eco</dt>
    <dd>Ecological/fuel efficient mode</dd>
    <dt>manual</dt>
    <dd>Manual mode</dd>
    <dt>winter</dt>
    <dd>Winter/slippery mode</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface DriveMode : VehicleCommonDataType" class="idl">
     <dt>attribute DriveModeType? driveMode</dt>
     <dd>MUST return vehicle drive mode</dd>
  </dl>
</section>

<!------------------------ Interface Dashboard Illumination ------------------------------>
<section>
  <h3><a>DashboardIllumination</a> Interface</h3>
  <p>The <a>DashboardIllumination</a> interface provides or sets information about dashboard
  illumination in vehicle.
  <dl title="[NoInterfaceObject] interface DashboardIllumination : VehicleCommonDataType" class="idl">
     <dt>attribute octet? dashboardIllumination</dt>

     <dd>MUST return illumination of dashboard as a percentage
     (Unit: percentage, 0%: none, 100%: maximum illumination)

     </dd>
  </dl>
</section>

<!------------------------ Interface Vehicle Sound ------------------------------>
<section>
  <h3><a>VehicleSound</a> Interface</h3>
  <p>The <a>VehicleSound</a> interface provides or sets information about vehicle sound.
  <dl title="[NoInterfaceObject] interface VehicleSound : VehicleCommonDataType" class="idl">
     <dt>attribute boolean activeNoiseControlMode</dt>

     <dd>MUST return active noise control status: not-activated (false), activated (true)</dd>

     <dt>attribute DOMString? engineSoundEnhancementMode</dt>
     <dd>MUST return engine sound enhancement mode where a null string means not-activated, and any
     other value represents a manufacture specific setting.  See <a>availableSounds</a>.
     </dd>
     <dt>readonly attribute DOMString[]? availableSounds</dt>
     <dd>MUST return array of available sounds.  See <a>engineSoundEnhancementMode</a></dd>
  </dl>
</section>

</section>
<!------------------- End of Personalization Interfaces ------------------->
<!------------------------------------------------------------------------->

<!------------------------------------------------------------------------->
<!------------------------ DrivingSafety Interfaces ----------------------->

<section id="drivingsafety-interfaces">
      <h2>DrivingSafety Interfaces</h2>
      <p>Interfaces related to driving safety such as anti-lock braking and airbag status.</p>

      <dl title="partial interface Vehicle" class="idl">
        <dt>readonly attribute VehicleSignalInterface antilockBrakingSystem</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>AntilockBrakingSystem</a></dd>
        <dt>readonly attribute VehicleSignalInterface tractionControlSystem</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>TractionControlSystem</a></dd>
        <dt>readonly attribute VehicleSignalInterface electronicStabilityControl</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ElectronicStabilityControl</a></dd>
        <dt>readonly attribute VehicleSignalInterface topSpeedLimit</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>TopSpeedLimit</a></dd>
        <dt>readonly attribute VehicleSignalInterface airbagStatus</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>AirbagStatus</a></dd>
        <dt>readonly attribute VehicleSignalInterface door</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Door</a></dd>
        <dt>readonly attribute VehicleSignalInterface childSafetyLock</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ChildSafetyLock</a></dd>
        <dt>readonly attribute VehicleSignalInterface seat</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Seat</a></dd>
      </dl>

<!------------------- AntilockBrakingSystem Interface  -------------------->
<section>
  <h3><a>AntilockBrakingSystem</a> Interface</h3> <p>The <a>AntilockBrakingSystem</a> interface
  provides status of ABS(Antilock Braking System) status and setting.</p>

  <dl title="[NoInterfaceObject] interface AntilockBrakingSystem : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute boolean enabled</dt>
    <dd>MUST return whether or not the ABS Setting is enabled: enabled (true) or disabled (false)</dd>
    <dt>readonly attribute boolean engaged</dt>
    <dd>MUST return whether or not the ABS is engaged: engaged (true) or idle (false)</dd>
  </dl>
</section>

<!------------------- TractionControlSystem Interface  -------------------->
<section>
  <h3><a>TractionControlSystem</a> Interface</h3> <p>The <a>TractionControlSystem</a> interface
  provides status of TCS(Traction Control System) status and setting.</p>

  <dl title="[NoInterfaceObject] interface TractionControlSystem : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute boolean enabled</dt>
    <dd>MUST return whether or not the TCS Setting is enabled: enabled (true) or disabled (false)</dd>
    <dt>readonly attribute boolean engaged</dt>
    <dd>MUST return whether or not the TCS is engaged: engaged (true) or idle (false)</dd>
  </dl>
</section>

<!------------------- ElectronicStabilityControl Interface  -------------------->
<section>
  <h3><a>ElectronicStabilityControl</a> Interface</h3> <p>The <a>ElectronicStabilityControl</a> interface
  provides status of ESC(Electronic Stability Control) status and setting.</p>

  <dl title="[NoInterfaceObject] interface ElectronicStabilityControl : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute boolean enabled</dt>
    <dd>MUST return whether or not the ESC Setting is enabled: enabled (true) or disabled (false)</dd>
    <dt>readonly attribute boolean engaged</dt>
    <dd>MUST return whether or not the ESC is engaged: engaged (true) or idle (false)</dd>
  </dl>
</section>

<!---------------------------- TopSpeedLimit Interface  ------------------------>
<section>
  <h3><a>TopSpeedLimit</a> Interface</h3> <p>The <a>TopSpeedLimit</a> interface
  provides the current setting of top speed limit of the vehicle.</p>

  <dl title="[NoInterfaceObject] interface TopSpeedLimit : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute unsigned short speed</dt>
    <dd>MUST return vehicle top speed limit (Unit:  kilometers per hour)</dd>
  </dl>
</section>

<!---------------------------- AirbagStatus Interface  ------------------------>
<section>
  <h3><a>AirbagStatus</a> Interface</h3> <p>The <a>AirbagStatus</a> interface
  provides the current status of airbags in each zones of the vehicle.</p>

  <dl title="[NoInterfaceObject] interface AirbagStatus : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute boolean activated</dt>
    <dd>MUST return whether or not the airbag is activaged: activated (true) or deactivated (false)</dd>
    <dt>readonly attribute boolean deployed</dt>
    <dd>MUST return whether the airbag is deployed: deployed (true) or not (false)</dd>
      <dt>readonly attribute Zone? zone</dt>
      <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!---------------------------- Door Interface  ------------------------>
<section>
  <h3><a>Door</a> Interface</h3> <p>The <a>Door</a> interface
  provides the current status of doors in each zones of the vehicle.</p>

  <dl title="enum DoorOpenStatus" class="idl">
    <dt>open</dt>
    <dd>Door is opened</dd>
    <dt>ajar</dt>
    <dd>Door is ajar</dd>
    <dt>closed</dt>
    <dd>Door is closed</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface Door : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute DoorOpenStatus status</dt>
    <dd>MUST return the status of door's open status</dd>
    <dt>attribute boolean lock</dt>
    <dd>MUST return whether or not the door is locked: locked (true) or unlocked (false)</dd>
      <dt>readonly attribute Zone? zone</dt>
      <dd>MUST return Zone for requested attribute</dd>
  </dl>

</section>

<!--------------------- ChildSafetyLock Interface  --------------------->
<section>
  <h3><a>ChildSafetyLock</a> Interface</h3> <p>The <a>ChildSafetyLock</a> interface
  provides the current setting of Child Safety Lock.</p>

  <dl title="[NoInterfaceObject] interface ChildSafetyLock : VehicleCommonDataType"
  class="idl">
    <dt>attribute boolean lock</dt>
    <dd>MUST return whether or not the Child Safety Lock is locked: locked (true) or unlocked (false)</dd>
      <dt>readonly attribute Zone? zone</dt>
      <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!---------------------------- Seat Interface  ------------------------>
<section>
  <h3><a>Seat</a> Interface</h3> <p>The <a>Seat</a> interface
  provides the current occupant information and seatbelt status of a seat in different zones of the vehicle.</p>


  <dl title="enum OccupantStatus" class="idl">
    <dt>adult</dt>
    <dd>Occupant is an adult</dd>
    <dt>child</dt>
    <dd>Occupant is a child</dd>
    <dt>vacant</dt>
    <dd>Seat is vacant</dd>
  </dl>


  <dl title="enum IdentificationType" class="idl">
    <dt>pin</dt>
    <dd>Four digit pin number entered by user</dd>
    <dt>keyfob</dt>
    <dd>Identification by key fob</dd>
    <dt>Bluetooth</dt>
    <dd>Identification by Bluetooth device</dd>
    <dt>NFC</dt>
    <dd>Identification by NFC device</dd>
    <dt>fingerprint</dt>
    <dd>Identification by fingerprint</dd>
    <dt>camera</dt>
    <dd>Identification by camera</dd>
    <dt>voice</dt>
    <dd>Identification by voice</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface Seat : VehicleCommonDataType"
  class="idl">
    <dt>readonly attribute OccupantStatus occupant</dt>
    <dd>MUST return the status of seat occupant</dd>
    <dt>readonly attribute boolean seatbelt</dt>
    <dd>MUST return whether or not the seat belt is fastened: fastened (true) or unfastened (false)</dd>
    <dt>readonly attribute DOMString? occupantName</dt>
    <dd>Must return occupant identifier</dd>
    <dt>readonly attribute IdentificationType identificationType</dt>
    <dd>MUST return identification type</dd>
      <dt>readonly attribute Zone? zone</dt>
      <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>


</section>
<!------------------------------------------------------------------------->
<!-------------------- End of DrivingSafety Interfaces -------------------->

<!------------------------------------------------------------------------->
<!---------------------- Climate Interfaces ------------------------------->
<section id="Climate-interfaces">
      <h2>Climate Interfaces</h2>
      <p>Interfaces related to vehicle climate (interior and exterior) such as temperature and rain.</p>

      <dl title="partial interface Vehicle" class="idl">
        <!-- climate types: -->
        <dt>readonly attribute VehicleSignalInterface temperature</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Temperature</a></dd>
        <dt>readonly attribute VehicleSignalInterface rainSensor</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>RainSensor</a></dd>
        <dt>readonly attribute VehicleSignalInterface wiperStatus</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>WiperStatus</a></dd>
        <dt>readonly attribute VehicleSignalInterface defrost</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Defrost</a></dd>
        <dt>readonly attribute VehicleSignalInterface sunroof</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Sunroof</a></dd>
        <dt>readonly attribute VehicleSignalInterface convertibleRoof</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ConvertibleRoof</a></dd>
        <dt>readonly attribute VehicleSignalInterface sideWindow</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>SideWindow</a></dd>
        <dt>readonly attribute VehicleSignalInterface climateControl</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ClimateControl</a> or undefined if not supported</dd>
        <dt>readonly attribute VehicleSignalInterface atmosphericPressure</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>AtmosphericPressure</a></dd>
      </dl>

<!------------------------ Interface Temperature ------------------------------>
<section>
  <h3><a>Temperature</a> Interface</h3>
  <p>The <a>Temperature</a> interface provides information about the current temperature of outside or inside vehicle.
  <dl title="[NoInterfaceObject] interface Temperature : VehicleCommonDataType" class="idl">
     <dt>readonly attribute float interiorTemperature</dt>
     <dd>MUST return the current temperature of the air inside of the vehicle (Unit: celsius)</dd>
     <dt>readonly attribute float exteriorTemperature</dt>
     <dd>MUST return the current temperature of the air around the vehicle (Unit: celsius)</dd>
  </dl>
</section>

<!------------------------ Interface RainSensor ------------------------------>
<section>
  <h3><a>RainSensor</a> Interface</h3>
  <p>The <a>RainSensor</a> interface provides information about ambient light levels.
  <dl title="[NoInterfaceObject] interface RainSensor : VehicleCommonDataType" class="idl">
     <dt>readonly attribute octet rainIntensity</dt>
     <dd>MUST return the amount of rain detected by the rain sensor. level of rain intensity (0: No Rain, 10:Heaviest Rain)</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface WiperStatus ------------------------------>
<section>
  <h3><a>WiperStatus</a> Interface</h3>
  <p>The <a>WiperStatus</a> interface represents the status of wiper operation.
  
  <dl title="enum WiperControl" class="idl">
    <dt>off</dt>
    <dd>Wiper is not in operation</dd>
    <dt>once</dt>
    <dd>Wipe single. It's a transient state and goes to the off mode</dd>
    <dt>slowest</dt>
    <dd>Wiper is on mode with the slowest speed</dd>
    <dt>slow</dt>
    <dd>Wiper is on mode with slow speed</dd>
    <dt>middle</dt>
    <dd>Wiper is on mode with middle speed</dd>
    <dt>fast</dt>
    <dd>Wiper is on mode with fast speed</dd>
    <dt>fastest</dt>
    <dd>Wiper is on mode with the fastest speed</dd>
    <dt>auto</dt>
    <dd>Wiper is on the automatic mode which controls wiping speed with accordance with the amount of rain</dd>
  </dl>
  
  <dl title="[NoInterfaceObject] interface WiperStatus : VehicleCommonDataType" class="idl">
     <dt>readonly attribute WiperControl wiperSpeed</dt>
     <dd>MUST return current speed interval of wiping windshield</dd>
     <dt>attribute WiperControl	wiperSetting</dt>
     <dd>MUST return current setting of the front wiper controller. It can be used to send user's request for changing setting.</dd>
     <dt>readonly attribute Zone? zone</dt>
     <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface Defrost ------------------------------>
<section>
  <h3><a>Defrost</a> Interface</h3>
  <p>The <a>Defrost</a> interface represents the status of wiper operation.
  <dl title="[NoInterfaceObject] interface Defrost : VehicleCommonDataType" class="idl">
     <dt>attribute boolean? defrostWindow</dt>
     <dd>MUST return current status of the defrost switch for window. It can be used to send user's request for changing setting.</dd>
     <dt>attribute boolean? defrostMirrors</dt>
     <dd>MUST return current status of the defrost switch for mirrors. It can be used to send user's request for changing setting.</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface Sunroof ------------------------------>
<section>
  <h3><a>Sunroof</a> Interface</h3>
  <p>The <a>Sunroof</a> interface represents the current status of Sunroof.
  <dl title="[NoInterfaceObject] interface Sunroof : VehicleCommonDataType" class="idl">
     <dt>attribute octet openness</dt>
     <dd>MUST return current status of Sunroof as a percentage of openness (0%: closed, 100%: fully opened)</dd>
     <dt>attribute octet tilt</dt>
     <dd>MUST return current status of Sunroof as a percentage of tilted (0%: closed, 100%: maximum tilted)</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>
  </dl>
  <p>Both can be used to send user's request for changing setting.</p>
</section>

<!------------------------ Interface ConvertibleRoof ------------------------------>
<section>
  <h3><a>ConvertibleRoof</a> Interface</h3>
  <p>The <a>ConvertibleRoof</a> interface represents the current status of Convertible Roof.

  <dl title="enum ConvertibleRoofStatus" class="idl">
    <dt>closed</dt>
    <dd>the convertible roof is closed</dd>
    <dt>closing</dt>
    <dd>the convertible roof is closing</dd>
    <dt>opening</dt>
    <dd>the convertible roof is opening</dd>
    <dt>opened</dt>
    <dd>the convertible roof is opened</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface ConvertibleRoof : VehicleCommonDataType" class="idl">
     <dt>readonly attribute ConvertibleRoofStatus status</dt>
     <dd>MUST return current status of Convertible Roof.</dd>
     
     <dt>attribute boolean? setting</dt>
     <dd>MUST return current setting of Convertible Roof.  This is used to open (true) and close (false).</dd>
  </dl>
  <p>This attribute can be used to send user's request for changing setting. "closed" is used to close and "opened" is used to open.</p>
</section>

<!------------------------ Interface SideWindow ------------------------------>
<section>
  <h3><a>SideWindow</a> Interface</h3>
  <p>The <a>SideWindow</a> interface represents the current status of openness of side windows.

  <dl title="[NoInterfaceObject] interface SideWindow : VehicleCommonDataType" class="idl">
    <dt>attribute boolean? lock</dt>
    <dd>MUST return whether or not the window is locked: locked (true) or unlocked (false)</dd>
    <dt>attribute octet? openness</dt>
    <dd>MUST return current status of the side window as a percentage of openness. (0%: Closed, 100%: Fully Opened)</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>
  </dl>
</section>

<!------------------------ Interface ClimateControl ------------------------------>
<section>
  <h3><a>ClimateControl</a> Interface</h3>
  <p>The <a>ClimateControl</a> interface represents the current setting of the climate control equipments such as heater and air conditioner.

  <dl title="enum AirflowDirection" class="idl">
    <dt>frontpanel</dt>
    <dd>Air flow is directed to the instrument panel outlets</dd>
    <dt>floorduct</dt>
    <dd>Air flow is directed to the floor outlets</dd>
    <dt>bilevel</dt>
    <dd>Air flow is directed to the instrument panel outlets and the floor outlets</dd>
    <dt>defrostfloor</dt>
    <dd>Air flow is directed to the floor outlets and the windshield</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface ClimateControl : VehicleCommonDataType" class="idl">

    <dt>attribute AirflowDirection airflowDirection</dt>
    <dd>MUST return current status of the direction of the air flow through the ventilation system</dd>
    <dt>attribute octet fanSpeedLevel</dt>
    <dd>MUST return current status of the fan speed of the air flowing (0: off, 1: weakest, 10: strongest )</dd>
    <dt>attribute byte? targetTemperature</dt>
    <dd>MUST return current setting of the desired temperature (Unit: celsius)</dd>
    <dt>attribute boolean airConditioning</dt>
    <dd>MUST return current status of the air conditioning system: on (true) or off (false)</dd>
    <dt>attribute boolean heater</dt>
    <dd>MUST return current status of the heating system: on (true) or off (false)</dd>
    <dt>attribute octet? seatHeater</dt>
    <dd>MUST return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )</dd>
    <dt>attribute octet? seatCooler</dt>
    <dd>MUST return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )</dd>
    <dt>attribute boolean airRecirculation</dt>
    <dd>MUST return current setting of air recirculation: on (true) or pulling in outside air (false).</dd>
    <dt>attribute octet? steeringWheelHeater</dt>
    <dd>MUST return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).</dd>
    <dt>readonly attribute Zone? zone</dt>
    <dd>MUST return Zone for requested attribute</dd>
  </dl>
  <p><a>ClimateControl</a> can be used to send user's request for changing setting.</p>
</section>

<!------------------------ Interface AtmosphericPressure ------------------------------>
<section>
  <h3><a>AtmosphericPressure</a> Interface</h3>
  <p>The <a>AtmosphericPressure</a> interface provides information about the current atmospheric pressure outside of the vehicle.
  <dl title="[NoInterfaceObject] interface AtmosphericPressure : VehicleCommonDataType" class="idl">
    <dt>readonly attribute unsigned short pressure</dt>
    <dd>MUST return the current atmospheric pressure outside of the vehicle (Unit: hectopascal)</dd>
  </dl>
</section>

</section>
<!--------------------- End of Climate Interfaces -------------------------->

<!--------------------------------------------------------------------------->
<!---------------------- Vision and Parking Interfaces ----------------------------->
<section id="vision-parking-interfaces">
      <h2>Vision and Parking Interfaces</h2>

      <p>Interfaces relating to vision and parking such as lane departure and parking brake.</p>

      <dl title="partial interface Vehicle" class="idl">
        <!-- maintenance types: -->
        <dt>readonly attribute VehicleSignalInterface laneDepartureDetection</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>LaneDepartureDetection</a> or undefined if not supported</dd>
        <dt>readonly attribute VehicleSignalInterface alarm</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>Alarm</a></dd>
        <dt>readonly attribute VehicleSignalInterface parkingBrake</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ParkingBrake</a></dd>
        <dt>readonly attribute VehicleSignalInterface parkingLights</dt>
        <dd>MUST return VehicleSignalInterface for accessing <a>ParkingLights</a></dd>
      </dl>

<!------------------------ Interface LaneDepartureDetection (Vision) ------------------------------>
<section>
  <h3><a>LaneDepartureDetection</a> Interface</h3>
  <p>The <a>LaneDepartureDetection</a> interface represents the current status of the lane departure warning function.

  <dl title="enum LaneDepartureStatus" class="idl">
    <dt>off</dt>
    <dd>The function is not running</dd>
    <dt>pause</dt>
    <dd>The function has been paused (running, but inactive) </dd>
    <dt>running</dt>
    <dd>The function is in its operational mode</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface LaneDepartureDetection : VehicleCommonDataType" class="idl">
     <dt>readonly attribute LaneDepartureStatus status</dt>
     <dd>MUST return current status of Lane departure warning function.</dd>
  </dl>
 </section>

<!------------------------ Interface Alarm ------------------------------>
<section>
  <h3><a>Alarm</a> Interface</h3>
  <p>The <a>Alarm</a> interface represents the current status of the vehicle alarm system.

  <dl title="enum AlarmStatus" class="idl">

    <dt>disarmed</dt>
    <dd>The alarm is not armed</dd>
    <dt>prearmed</dt>
    <dd>The function is temporary not active</dd>
    <dt>armed</dt>
    <dd>The function is active</dd>
    <dt>alarmed</dt>
    <dd>The alarm is screaming</dd>

  </dl>

  <dl title="[NoInterfaceObject] interface Alarm : VehicleCommonDataType" class="idl">
     <dt>attribute AlarmStatus status</dt>
     <dd>MUST return current status of vehicle alarm system.</dd>
  </dl>
 </section>

 <!------------------------ Interface ParkingBrake (Parking)------------------------------>
<section>
  <h3><a>ParkingBrake</a> Interface</h3>
  <p>The <a>ParkingBrake</a> interface represents the current status of the parking brake.

  <dl title="enum ParkingBrakeStatus" class="idl">
    <dt>inactive</dt>
    <dd>Parking brake is not engaged (driving position)</dd>
    <dt>active</dt>
    <dd>Parking brake is engaged (parking position)</dd>
    <dt>error</dt>
    <dd>There is a problem with the parking brake system</dd>
  </dl>

  <dl title="[NoInterfaceObject] interface ParkingBrake : VehicleCommonDataType" class="idl">
     <dt>readonly attribute ParkingBrakeStatus status</dt>
     <dd>MUST return current status of parking brake.</dd>
  </dl>
 </section>

</section>

<!-------------------------- End of Vision and Parking interfaces -------------------------------------->


<!----------------------------- Use Cases ---------------------------------->
<section class="use-cases">
  <h2>Use-Cases</h2>
    <section>
        <h3>Informative (Non-Normative)</h3>
            <section>
                <h4>Use Cases for Vehicle Configuration & Identification</h4>
                <ul>
                    <li>
                        Driver and technician are able to see vehicle configuration and identification information such VIN and vehicle size.
                    </li>
                </ul>
            </section>
            <section>
                <h4>Use Cases for RunningStatus</h4>
                <ul>
                    <li>
                        Driver able to see driving performance information such as acceleration, speed, gears used, etc...
                    </li>
                    <li>
                        Driver able to see fuel economy, consumption, level, range, etc...
                    </li>
                </ul>
            </section>
            <section>
                <h4>Use Cases for Maintenance</h4>
                <ul>
                    <li>
                        Driver is able to see current state of key maintenance indicators (fluid states, battery charge, tire pressure, etc...) giving an snapshot of vehicle health while in and out of vehicle.
                    </li>
                    <li>
                        Driver receives alert notifications in and out of car letting him know of maintenance issues that need to be addressed.
                    </li>
                    <li>
                        If desired driver may share maintenance information with repair facility.
                    </li>
                </ul>
            </section>
            <section>
                <h4>Use Cases for Personalization</h4>
                <ul>
                    <li>
                        Driver and technician are able to see vehicle personalization information such seat and mirror position.
                    </li>
                </ul>
            </section>
            <section>
                <h4>Use Cases for DrivingSafety</h4>
                <ul>
                    Driver able to see safety setting and warnings at a glance.
                </ul>
            </section>
            <section>
                <h4>Use Cases for Climate</h4>
                <ul>
                    <li>
                        IVI system shows the status of various climate control equipments as GUI and lets a user control it via touch screen.
                    </li>
                    <li>
                        A user uses his smart devices to remotely check whether side windows of his parked car are closed or not, and to send a request to the car for closing it if opened.
                    </li>
                    <li>
                        A user uses his smart devices to start his car remotely, and turns heaters on to warm up the car inside before getting in the car.
                    </li>
                    <li>
                        If users agree to provide vehicle information to the weather station, many cars can be used to get weather information such as amounts of rain and ambient temperatures.
                    </li>
                </ul>
            </section>
            <section>
                <h4>Use Cases for Vision interfaces</h4>
                <ul>
                    <li>
                        To warn when the vehicle goes on another lane (Lane departure warning function)
                    </li>
                    <li>
                        To warn in case of an danger (vehicle, pedestrian, animals, stop sign, red light, ...)
                    </li>
                    <li>
                        To record the scene before and after an accident (for insurance or testimony)
                    </li>
                    <li>
                        To improve vision in the dark
                    </li>
                </ul>
            </section>
            <section>
                <h4>Use Cases for Parking interfaces</h4>
                <ul>
                    <li>
                        To be informed in case of intrusion in or around the vehicle.
                    </li>
                    <li>
                        To be informed of the parking brake status.
                    </li>
                </ul>
            </section>
            <section>
                <h4>Use Cases for Electric Vehicle interfaces</h4>
                <ul>
                    <li>
                        To see current state of the battery level, remaining time before full charging, ...
                    </li>
                    <li>
                        To check if the charging is plugged or unplugged.
                    </li>
                </ul>
            </section>
    </section>
</section>
<!------------------------- End of Use Cases ------------------------------->

  </body>
</html>

<!------------------------ Interface  -----------------------
<section>
  <h3><a></a> Interface</h3> <p>The <a></a>
  represents</p>

  <dl title="[NoInterfaceObject] interface : VehicleCommonDataType"
  class="idl">
    <dt></dt>
    <dd></dd>
  </dl>
</section>->