6 \def-api-feature http://tizen.org/api/vehicle
7 \brief Allows access to the vehicle API
15 partial interface Navigator {
16 readonly attribute Vehicle vehicle;
20 interface VehiclePropertyType: Event {
21 /** /brief time at which the vehicle generated the property
23 readonly attribute DOMTimeStamp time;
27 interface VehiclePropertyError {
28 const unsigned short PERMISSION_DENIED = 1;
29 const unsigned short PROPERTY_UNAVAILABLE = 2;
30 const unsigned short TIMEOUT = 3;
31 const unsigned short UNKNOWN = 10;
34 * MUST return error code.
36 readonly attribute unsigned short code;
39 * MUST return error message
41 readonly attribute DOMString message;
44 callback VehiclePropertyCallback = void (VehiclePropertyType value);
46 callback VehiclePropertyErrorCallback = void (VehiclePropertyError error);
48 callback VehiclePropertyListCallback = void (sequence<VehiclePropertyType> values);
50 callback SupportedPropertiesCallback = void (sequence<DOMString> properties);
57 * \brief returns supported properties
58 * \arg VehiclePropertyCallback successCallback function to be called when method has completed successfully
59 * \arg VehiclePropertyErrorCallback errorCallback this function is called when an error has occured.
61 getSupported(SupportedPropertiesCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
63 * \brief fetch the current value for 'property'.
64 * \arg DOMString property is the requested property to be retrieved.
65 * \arg VehiclePropertyCallback successCallback function to be called when method has completed successfully
66 * \arg VehiclePropertyErrorCallback errorCallback this function is called when an error has occured.
68 get(DOMString property, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
71 * \brief set the given property to value
72 * \arg DOMString property property to set
73 * \arg VehiclePropertyType value value to set
74 * \arg VehiclePropertyCallback successCallback callback if operation is successfull
75 * \arg VehiclePropertyErrorCallback errorCallback callback if error has been called.
77 set(DOMString property, VehiclePropertyType value, optional VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
80 * \brief get values for a given property within a certain past time period between 'startTime' and 'endTime'
81 * \arg DOMString property property to request
82 * \arg Date startTime, starting period of time.
83 * \arg Date endTime, ending period of time.
84 * \arg VehiclePropertyListCallback successCallback. Callback with the result of the method call
85 * \arg VehiclePropertyErrorCallback errorCallback. Callback if an error has occurred.
87 getHistory(DOMString property, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
91 interface VehicleSpeed : VehiclePropertyType {
94 * \brief Must return Vehicle Speed in kilometers per hour.
96 readonly attribute unsigned long VehicleSpeed;
100 interface EngineSpeed : VehiclePropertyType {
103 * \brief Must return Engine Speed in rotations per minute.
105 readonly attribute unsigned long EngineSpeed;
109 interface VehiclePowerMode : VehiclePropertyType {
110 const unsigned short VEHICLEPOWERMODE_OFF = 0,
111 const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1,
112 const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2,
113 const unsigned short VEHICLEPOWERMODE_RUN = 3;
116 * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
118 readonly attribute octet VehiclePowerMode;
122 interface TripMeter : VehiclePropertyType {
125 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
127 attribute sequence<unsigned long> TripMeters;
131 interface Acceleration : VehiclePropertyType {
134 * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
136 readonly attribute unsigned long X;
139 * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
141 readonly attribute unsigned long Y;
144 * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
146 readonly attribute unsigned long Z;
150 interface Transmission : VehiclePropertyType {
151 const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;
152 const unsigned short TRANSMISSIONPOSITION_FIRST = 1;
153 const unsigned short TRANSMISSIONPOSITION_SECOND = 2;
154 const unsigned short TRANSMISSIONPOSITION_THIRD = 3;
155 const unsigned short TRANSMISSIONPOSITION_FORTH = 4;
156 const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;
157 const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;
158 const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;
159 const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;
160 const unsigned short TRANSMISSIONPOSITION_NINTH = 9;
161 const unsigned short TRANSMISSIONPOSITION_TENTH = 10;
162 const unsigned short TRANSMISSIONPOSITION_CVT = 64;
163 const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;
164 const unsigned short TRANSMISSIONPOSITION_PARK = 255;
165 const unsigned short TRANSMISSIONMODE_NORMAL = 0;
166 const unsigned short TRANSMISSIONMODE_SPORT = 1;
167 const unsigned short TRANSMISSIONMODE_ECONOMY = 2;
168 const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;
169 const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;
172 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
174 readonly attribute octet GearPosition;
177 * \brief Must return transmission Mode (see
179 readonly attribute octet Mode;
183 interface CruiseControlStatus : VehiclePropertyType {
186 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
188 readonly attribute boolean Activated;
191 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
193 readonly attribute unsigned short Speed;
197 interface WheelBrake : VehiclePropertyType {
200 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
202 readonly attribute boolean Engaged;
206 interface LightStatus : VehiclePropertyType {
209 * \brief Must return headlight status: on = true, off = false.
211 readonly attribute boolean Head;
214 * \brief Must return right turn signal status: on = true, off = false.
216 readonly attribute boolean RightTurn;
219 * \brief Must return left turn signal status: on = true, off = false.
221 readonly attribute boolean LeftTurn;
224 * \brief Must return brake signal light status: on = true, off = false.
226 readonly attribute boolean Brake;
229 * \brief Must return fog light status: on = true, off = false.
231 readonly attribute boolean Fog;
234 * \brief Must return hazard light status: on = true, off = false.
236 readonly attribute boolean Hazard;
239 * \brief Must return parking light status: on = true, off = false.
241 readonly attribute boolean Parking;
244 * \brief Must return high beam status: on = true, off = false.
246 readonly attribute boolean HighBeam;
250 interface InteriorLightStatus : VehiclePropertyType {
253 * \brief Must return passenger interior light status: on = true, off = false
255 readonly attribute boolean Passenger;
258 * \brief Must return driver interior light status: on = true, off = false
260 readonly attribute boolean Driver;
263 * \brief Must return center interior light status: on = true, off = false
265 readonly attribute boolean Center;
269 interface Horn : VehiclePropertyType {
272 * \brief Must return horn status: on = true, off = false
274 readonly attribute boolean On;
278 interface Fuel : VehiclePropertyType {
281 * \brief Must return fuel level as a percentage of fullness.
283 readonly attribute unsigned short Level;
286 * \brief Must return estimated fuel range in kilometers.
288 readonly attribute unsigned short Range;
290 /** InstantConsumption
291 * \brief Must return instant fuel consumption in milliliters of fuel per second.
293 readonly attribute unsigned short InstantConsumption;
296 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
298 readonly attribute unsigned short InstantEconomy;
301 * \brief Must return average fuel 'economy' in kilometers per liter of fuel since last reset. Setting this to any value should reset the counter to '0'
303 attribute unsigned short AverageEconomy;
307 interface EngineOil : VehiclePropertyType {
310 * \brief Must return remaining engine oil as percentage of fullness.
312 readonly attribute unsigned short Remaining;
315 * \brief Must return Engine Oil Temperature in Celcius.
317 readonly attribute long Temperature;
320 * \brief Must return Engine Oil Pressure in kPa.
322 readonly attribute unsigned short Pressure;
326 interface Location : VehiclePropertyType {
329 * \brief Must return latitude in Deg.Min (-180, +180)
331 readonly attribute double Latitude;
334 * \brief Must return longitude in Deg.Min (-90, +90)
336 readonly attribute double Longitude;
339 * \brief Must return altitude in meters above sea-level (0).
341 readonly attribute double Altitude;
344 * \brief Must return direction in Degrees (0-360)
346 readonly attribute unsigned short Direction;
350 interface ExteriorBrightness : VehiclePropertyType {
352 /** ExteriorBrightness
353 * \brief Must return the brightness outside the vehicle in lux.
355 readonly attribute unsigned long ExteriorBrightness;
359 interface Temperature : VehiclePropertyType {
362 * \brief Must return the temperature of the interior of the vehicle in celcius.
364 readonly attribute signed short Interior;
367 * \brief Must return the temperature of the exterior of the vehicle in celcius.
369 readonly attribute signed short Exterior;
373 interface RainSensor : VehiclePropertyType {
376 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
378 readonly attribute unsigned short RainSensor;
382 interface WindshieldWiper : VehiclePropertyType {
383 const unsigned short WIPERSPEED_OFF = 0;
384 const unsigned short WIPERSPEED_SLOWEST= 1;
385 const unsigned short WIPERSPEED_FASTEST = 5;
386 const unsigned short WIPERSPEED_AUTO = 10;
389 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
391 readonly attribute unsigned short WindshieldWiper;
394 dictionary DefrostDictionary {
395 unsigned short window;
400 interface HVAC : VehiclePropertyType {
401 const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
402 const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
403 const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
404 const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
407 * \brief Must return airflow direction. See
409 attribute unsigned short AirflowDirection;
412 * \brief Must return speed of the fan (0-7)
414 attribute unsigned short FanSpeed;
416 /** TargetTemperature
417 * \brief Must return target desired temperature in celcius.
419 attribute unsigned short TargetTemperature;
422 * \brief Must return air conditioning on (true) / off (false).
424 attribute boolean AirConditioning;
427 * \brief Must return air recirculation on (true) / off (false).
429 readwrite attribute boolean AirRecirculation;
432 * \brief Must return heater on (true) / off (false).
434 attribute boolean Heater;
437 * \brief Must return the defrost status of all windows equiped with defrosters. This will return a dictionary of DefrostDictionary that represents
438 * \brief each window and its defrost status.
440 attribute DefrostDictionary Defrost;
442 /** SteeringWheelHeater
443 * \brief Must return air recirculation on (true) / off (false).
445 attribute boolean SteeringWheelHeater;
448 * \brief Must return seat heater status: on (true) / off (false).
450 attribute boolean SeatHeater;
453 * \brief Must return seat heater status: on (true) / off (false).
455 attribute boolean SeatCooler;
459 interface WindowStatus : VehiclePropertyType {
460 const unsigned short WINDOWLOCATION_DRIVER= 0;
461 const unsigned short WINDOWLOCATION_PASSENGER = 1;
462 const unsigned short WINDOWLOCATION_LEFTREAR = 2;
463 const unsigned short WINDOWLOCATION_RIGHTREAR = 3;
464 const unsigned short WINDOWLOCATION_REAR = 4;
467 * \brief Must return window status for each window location. object returned is a
468 * dictionary { unsigned short windowlocation, unsigned short percentage opened }
470 readwrite attribute object WindowStatus;
474 interface Sunroof : VehiclePropertyType {
477 * \brief Must return window status for sunroof openness percentage.
479 readwrite attribute unsigned short Openness;
482 * \brief Must return tilt status for sunroof percentage.
484 readwrite attribute unsigned short Tilt;
488 interface ConvertibleRoof : VehiclePropertyType {
491 * \brief Must return window status for sunroof openness percentage.
493 readwrite attribute unsigned short Openness;
497 interface VehicleId : VehiclePropertyType {
500 * \brief MUST return World Manufacturer Identifier (WMI)
501 * WMI is defined by SAE ISO 3780:2009. 3 characters.
503 readonly attribute DOMString WMI;
506 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
508 readonly attribute DOMString VIN;
512 interface Size : VehiclePropertyType {
515 * \brief MUST return width of vehicle in mm
517 readonly attribute unsigned long Width;
520 * \brief MUST return height of vehicle in mm
522 readonly attribute unsigned long Height;
525 * \brief MUST return length of vehicle in mm
527 readonly attribute unsigned long Length;
531 interface FuelInfo : VehiclePropertyType {
532 const unsigned short FUELTYPE_GASOLINE = 0;
533 const unsigned short FUELTYPE_HIGH_OCTANE= 1;
534 const unsigned short FUELTYPE_DIESEL = 2;
535 const unsigned short FUELTYPE_ELECTRIC = 3;
536 const unsigned short FUELTYPE_HYDROGEN = 4;
537 const unsigned short REFUELPOSITION_LEFT = 0;
538 const unsigned short REFUELPOSITION_RIGHT= 1;
539 const unsigned short REFUELPOSITION_FRONT = 2;
540 const unsigned short REFUELPOSITION_REAR = 3;
543 * \brief MUST return type of fuel. integer 0-4 (see
545 readonly attribute unsigned short Type;
548 * \brief MUST return position of refuling (see
550 readonly attribute unsigned short RefuelPosition;
554 interface VehicleType : VehiclePropertyType {
555 const unsigned short VEHICLETYPE_SEDAN = 0;
556 const unsigned short VEHICLETYPE_COUPE= 1;
557 const unsigned short VEHICLETYPE_CABRIOLE = 2;
558 const unsigned short VEHICLETYPE_ROADSTER = 3;
559 const unsigned short VEHICLETYPE_SUV = 4;
560 const unsigned short VEHICLETYPE_TRUCK = 5;
563 * \brief MUST return type of Vehicle. Integer 0-5 (see
565 readonly attribute unsigned short Type;
569 interface Doors : VehiclePropertyType {
572 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
573 * represents the first row, '1' the second row etc.
574 * Example a common mini-van may have Doors[0] = 2 doors,
575 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
577 readonly attribute sequence<unsigned short> DoorsPerRow;
581 interface TransmissionGearType : VehiclePropertyType {
582 const unsigned short TRANSMISSIONGEARTYPE_AUTO=0;
583 const unsigned short TRANSMISSIONGEARTYPE_MANUAL=1;
584 const unsigned short TRANSMISSIONGEARTYPE_CV=2;
586 /** TransmissionGearType
587 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
589 readonly attribute unsigned short TransmissionGearType;
593 interface WheelInformation : VehiclePropertyType {
596 * \brief MUST return Radius of Front Wheel(s) in mm.
598 readonly attribute unsigned short FrontWheelRadius;
601 * \brief MUST return Radius of Rear Wheel(s) in mm.
603 readonly attribute unsigned short RearWheelRadius;
606 * \brief MUST return Wheel Track in mm.
608 readonly attribute unsigned long WheelTrack;
611 * \brief MUST return Antilock Brake System status: on = true, off = false.
613 readonly attribute boolean ABS;
617 interface Odometer : VehiclePropertyType {
620 * \brief MUST return Distance traveled in km
622 readonly attribute unsigned long Odometer;
626 interface Fluid : VehiclePropertyType {
629 * \brief MUST return Transmission fluid level percentage. 0-100.
631 readonly attribute unsigned short Transmission;
634 * \brief MUST return Brake fluid level percentage. 0-100.
636 readonly attribute unsigned short Brake;
639 * \brief MUST return Washer fluid level percentage. 0-100.
641 readonly attribute unsigned short Washer;
645 interface Battery : VehiclePropertyType {
648 * \brief MUST return battery voltage.
650 readonly attribute double Voltage;
653 * \brief MUST return battery current in Amperes
655 readonly attribute double Current;
659 interface TirePressure : VehiclePropertyType {
662 * \brief MUST return left front tire pressure in kPa.
664 readonly attribute double LeftFront;
667 * \brief MUST return right front tire pressure in kPa.
669 readonly attribute double RightFront;
672 * \brief MUST return left rear tire pressure in kPa.
674 readonly attribute double LeftRear;
677 * \brief MUST return right rear tire pressure in kPa.
679 readonly attribute double RightRear;
683 interface TireTemperature : VehiclePropertyType {
686 * \brief MUST return left front tire temperature in Celcius.
688 readonly attribute double LeftFront;
691 * \brief MUST return right front tire temperature in Celcius.
693 readonly attribute double RightFront;
696 * \brief MUST return left rear tire temperature in Celcius.
698 readonly attribute double LeftRear;
701 * \brief MUST return right rear tire temperature in Celcius.
703 readonly attribute double RightRear;
707 interface SecurityAlert : VehiclePropertyType {
712 readonly attribute boolean SecurityAlert;
716 interface ParkingBrake : VehiclePropertyType {
719 * must return status of parking brake: Engaged = true, Disengaged = false.
721 readonly attribute boolean ParkingBrake;
725 interface ParkingLight : VehiclePropertyType {
728 * must return status of parking light: Engaged = true, Disengaged = false.
730 readonly attribute boolean ParkingLight;
734 interface HazardLight : VehiclePropertyType {
737 * must return status of hazard light: Engaged = true, Disengaged = false.
739 readonly attribute boolean HazardLight;
743 interface AntilockBrakingSystem : VehiclePropertyType {
745 /** AntilockBrakingSystem
746 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
748 readonly attribute boolean AntilockBrakingSystem;
752 interface TractionControlSystem : VehiclePropertyType {
754 /** TractionControlSystem
755 * \brief MUST return whether Traction Control System is Off (false) or On (true)
757 readonly attribute boolean TractionControlSystem;
761 interface VehicleTopSpeedLimit : VehiclePropertyType {
763 /** VehicleTopSpeedLimit
764 * \brief MUST returns top rated speed in km/h. 0 = no limit
766 readonly attribute unsigned short VehicleTopSpeedLimit;
770 interface AirbagStatus : VehiclePropertyType {
771 const unsigned short AIRBAGLOCATION_DRIVER = 0;
772 const unsigned short AIRBAGLOCATION_PASSENGER= 1;
773 const unsigned short AIRBAGLOCATION_LEFTSIDE = 2;
774 const unsigned short AIRBAGLOCATION_RIGHTSIDE = 3;
775 const unsigned short AIRBAGSTATUS_INACTIVE = 0;
776 const unsigned short AIRBAGSTATUS_ACTIVE = 1;
777 const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
780 * \brief MUST returns a dictionary of Airbag (byte) and Status (byte) (see
782 readonly attribute object AirbagStatus;
786 interface DoorStatus : VehiclePropertyType {
787 const unsigned short DOORLOCATION_DRIVER= 0;
788 const unsigned short DOORLOCATION_PASSENGER = 1;
789 const unsigned short DOORLOCATION_LEFTREAR = 2;
790 const unsigned short DOORLOCATION_RIGHTREAR = 3;
791 const unsigned short DOORLOCATION_TRUNK = 4;
792 const unsigned short DOORLOCATION_FUELCAP = 5;
793 const unsigned short DOORLOCATION_HOOD = 6;
794 const unsigned short DOORSTATUS_CLOSED = 0;
795 const unsigned short DOORSTATUS_OPEN = 1;
796 const unsigned short DOORSTATUS_AJAR = 2;
799 * \brief MUST returns dictionary of Door (byte) and Status (byte). See
801 readonly attribute object DoorStatus;
804 * \brief MUST returns dictionary of Door (byte) and Status (bool locked = true, unlocked = false). See
806 readonly attribute object DoorLockStatus;
809 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
810 * Setting this to 'true' will prevent the rear doors from being opened
813 readonly attribute boolean ChildLockStatus;
817 interface SeatBeltStatus : VehiclePropertyType {
818 const unsigned short SEATBELTLOCATION_DRIVER= 0;
819 const unsigned short SEATBELTLOCATION_MIDDLEFRONT = 1;
820 const unsigned short SEATBELTLOCATION_PASSENGER = 2;
821 const unsigned short SEATBELTLOCATION_LEFTREAR = 3;
822 const unsigned short SEATBELTLOCATION_MIDDLEREAR = 4;
823 const unsigned short SEATBELTLOCATION_RIGHTREAR = 5;
826 * \brief MUST returns dictionary of Seat Belt (byte, see SEATBELTLOCATION) and Status (bool: Fasten = true, Unfastened = false)
828 readonly attribute object SeatBeltStatus;
832 interface OccupantStatus : VehiclePropertyType {
833 const unsigned short OCCUPANTLOCATION_DRIVER = 0;
834 const unsigned short OCCUPANTLOCATION_FRONTMIDDLE = 1;
835 const unsigned short OCCUPANTLOCATION_PASSENGER= 2;
836 const unsigned short OCCUPANTLOCATION_LEFTREAR = 3;
837 const unsigned short OCCUPANTLOCATION_MIDDLEREAR = 4;
838 const unsigned short OCCUPANTLOCATION_RIGHTREAR = 5;
839 const unsigned short OCCUPANTSTATUS_VACANT = 0;
840 const unsigned short OCCUPANTSTATUS_CHILD = 1;
841 const unsigned short OCCUPANTSTATUS_ADULT = 2;
844 * \brief MUST returns dictionary of Occupant (byte see OCCUPANTLOCATION) and Status (byte, see
846 readonly attribute object OccupantStatus;
850 interface ObstacleDistance : VehiclePropertyType {
851 const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;
852 const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;
853 const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;
854 const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;
855 const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;
856 const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;
859 * \brief MUST returns dictionary of Distance Sensor (byte, see DISTANCESENSORLOCATION) and distance (double) in m.
861 readonly attribute object ObstacleDistance;