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 object types
59 sequence<DOMString> supported();
62 * \brief fetch the current value for 'objectType'.
63 * \arg DOMString objectType is the requested property to be retrieved.
64 * \returns object representing the requested 'objectType'
66 any get(DOMString objectType);
68 /** \brief subscribe to the given property and get callbacks when it changes
69 * \arg DOMString property property to set
70 * \arg VehiclePropertyCallback successCallback callback if operation is successfull
71 * \arg VehiclePropertyErrorCallback errorCallback callback if error has been called.
74 subscribe(DOMString property, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
77 * \brief set the given property to value
78 * \arg DOMString property property to set
79 * \arg VehiclePropertyType value value to set
80 * \arg VehiclePropertyCallback successCallback callback if operation is successfull
81 * \arg VehiclePropertyErrorCallback errorCallback callback if error has been called.
83 set(DOMString property, VehiclePropertyType value, optional VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
86 * \brief get values for a given property within a certain past time period between 'startTime' and 'endTime'
87 * \arg DOMString property property to request
88 * \arg Date startTime, starting period of time.
89 * \arg Date endTime, ending period of time.
90 * \arg VehiclePropertyListCallback successCallback. Callback with the result of the method call
91 * \arg VehiclePropertyErrorCallback errorCallback. Callback if an error has occurred.
93 getHistory(DOMString property, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
97 interface VehicleSpeed : VehiclePropertyType {
100 * \brief Must return Vehicle Speed in kilometers per hour.
102 readonly attribute unsigned long VehicleSpeed;
106 interface EngineSpeed : VehiclePropertyType {
109 * \brief Must return Engine Speed in rotations per minute.
111 readonly attribute unsigned long EngineSpeed;
115 interface VehiclePowerMode : VehiclePropertyType {
116 const unsigned short VEHICLEPOWERMODE_OFF = 0,
117 const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1,
118 const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2,
119 const unsigned short VEHICLEPOWERMODE_RUN = 3;
122 * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
124 readonly attribute octet VehiclePowerMode;
128 interface TripMeter : VehiclePropertyType {
131 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
133 attribute sequence<unsigned long> TripMeters;
137 interface Acceleration : VehiclePropertyType {
140 * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
142 readonly attribute unsigned long X;
145 * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
147 readonly attribute unsigned long Y;
150 * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
152 readonly attribute unsigned long Z;
156 interface Transmission : VehiclePropertyType {
157 const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;
158 const unsigned short TRANSMISSIONPOSITION_FIRST = 1;
159 const unsigned short TRANSMISSIONPOSITION_SECOND = 2;
160 const unsigned short TRANSMISSIONPOSITION_THIRD = 3;
161 const unsigned short TRANSMISSIONPOSITION_FORTH = 4;
162 const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;
163 const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;
164 const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;
165 const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;
166 const unsigned short TRANSMISSIONPOSITION_NINTH = 9;
167 const unsigned short TRANSMISSIONPOSITION_TENTH = 10;
168 const unsigned short TRANSMISSIONPOSITION_CVT = 64;
169 const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;
170 const unsigned short TRANSMISSIONPOSITION_PARK = 255;
171 const unsigned short TRANSMISSIONMODE_NORMAL = 0;
172 const unsigned short TRANSMISSIONMODE_SPORT = 1;
173 const unsigned short TRANSMISSIONMODE_ECONOMY = 2;
174 const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;
175 const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;
178 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
180 readonly attribute octet GearPosition;
183 * \brief Must return transmission Mode (see
185 readonly attribute octet Mode;
189 interface CruiseControlStatus : VehiclePropertyType {
192 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
194 readonly attribute boolean Activated;
197 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
199 readonly attribute unsigned short Speed;
203 interface WheelBrake : VehiclePropertyType {
206 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
208 readonly attribute boolean Engaged;
212 interface LightStatus : VehiclePropertyType {
215 * \brief Must return headlight status: on = true, off = false.
217 readonly attribute boolean Head;
220 * \brief Must return right turn signal status: on = true, off = false.
222 readonly attribute boolean RightTurn;
225 * \brief Must return left turn signal status: on = true, off = false.
227 readonly attribute boolean LeftTurn;
230 * \brief Must return brake signal light status: on = true, off = false.
232 readonly attribute boolean Brake;
235 * \brief Must return fog light status: on = true, off = false.
237 readonly attribute boolean Fog;
240 * \brief Must return hazard light status: on = true, off = false.
242 readonly attribute boolean Hazard;
245 * \brief Must return parking light status: on = true, off = false.
247 readonly attribute boolean Parking;
250 * \brief Must return high beam status: on = true, off = false.
252 readonly attribute boolean HighBeam;
256 interface InteriorLightStatus : VehiclePropertyType {
259 * \brief Must return passenger interior light status: on = true, off = false
261 readonly attribute boolean Passenger;
264 * \brief Must return driver interior light status: on = true, off = false
266 readonly attribute boolean Driver;
269 * \brief Must return center interior light status: on = true, off = false
271 readonly attribute boolean Center;
275 interface Horn : VehiclePropertyType {
278 * \brief Must return horn status: on = true, off = false
280 readonly attribute boolean On;
284 interface Fuel : VehiclePropertyType {
287 * \brief Must return fuel level as a percentage of fullness.
289 readonly attribute unsigned short Level;
292 * \brief Must return estimated fuel range in kilometers.
294 readonly attribute unsigned short Range;
296 /** InstantConsumption
297 * \brief Must return instant fuel consumption in milliliters of fuel per second.
299 readonly attribute unsigned short InstantConsumption;
302 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
304 readonly attribute unsigned short InstantEconomy;
307 * \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'
309 attribute unsigned short AverageEconomy;
313 interface EngineOil : VehiclePropertyType {
316 * \brief Must return remaining engine oil as percentage of fullness.
318 readonly attribute unsigned short Remaining;
321 * \brief Must return Engine Oil Temperature in Celcius.
323 readonly attribute long Temperature;
326 * \brief Must return Engine Oil Pressure in kPa.
328 readonly attribute unsigned short Pressure;
332 interface Location : VehiclePropertyType {
335 * \brief Must return latitude in Deg.Min (-180, +180)
337 readonly attribute double Latitude;
340 * \brief Must return longitude in Deg.Min (-90, +90)
342 readonly attribute double Longitude;
345 * \brief Must return altitude in meters above sea-level (0).
347 readonly attribute double Altitude;
350 * \brief Must return direction in Degrees (0-360)
352 readonly attribute unsigned short Direction;
356 interface ExteriorBrightness : VehiclePropertyType {
358 /** ExteriorBrightness
359 * \brief Must return the brightness outside the vehicle in lux.
361 readonly attribute unsigned long ExteriorBrightness;
365 interface Temperature : VehiclePropertyType {
368 * \brief Must return the temperature of the interior of the vehicle in celcius.
370 readonly attribute signed short Interior;
373 * \brief Must return the temperature of the exterior of the vehicle in celcius.
375 readonly attribute signed short Exterior;
379 interface RainSensor : VehiclePropertyType {
382 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
384 readonly attribute unsigned short RainSensor;
388 interface WindshieldWiper : VehiclePropertyType {
389 const unsigned short WIPERSPEED_OFF = 0;
390 const unsigned short WIPERSPEED_SLOWEST= 1;
391 const unsigned short WIPERSPEED_FASTEST = 5;
392 const unsigned short WIPERSPEED_AUTO = 10;
395 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
397 readonly attribute unsigned short WindshieldWiper;
400 dictionary DefrostDictionary {
401 unsigned short window;
406 interface HVAC : VehiclePropertyType {
407 const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
408 const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
409 const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
410 const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
413 * \brief Must return airflow direction. See
415 attribute unsigned short AirflowDirection;
418 * \brief Must return speed of the fan (0-7)
420 attribute unsigned short FanSpeed;
422 /** TargetTemperature
423 * \brief Must return target desired temperature in celcius.
425 attribute unsigned short TargetTemperature;
428 * \brief Must return air conditioning on (true) / off (false).
430 attribute boolean AirConditioning;
433 * \brief Must return air recirculation on (true) / off (false).
435 readwrite attribute boolean AirRecirculation;
438 * \brief Must return heater on (true) / off (false).
440 attribute boolean Heater;
443 * \brief Must return the defrost status of all windows equiped with defrosters. This will return a dictionary of DefrostDictionary that represents
444 * \brief each window and its defrost status.
446 attribute DefrostDictionary Defrost;
448 /** SteeringWheelHeater
449 * \brief Must return air recirculation on (true) / off (false).
451 attribute boolean SteeringWheelHeater;
454 * \brief Must return seat heater status: on (true) / off (false).
456 attribute boolean SeatHeater;
459 * \brief Must return seat heater status: on (true) / off (false).
461 attribute boolean SeatCooler;
465 interface WindowStatus : VehiclePropertyType {
466 const unsigned short WINDOWLOCATION_DRIVER= 0;
467 const unsigned short WINDOWLOCATION_PASSENGER = 1;
468 const unsigned short WINDOWLOCATION_LEFTREAR = 2;
469 const unsigned short WINDOWLOCATION_RIGHTREAR = 3;
470 const unsigned short WINDOWLOCATION_REAR = 4;
473 * \brief Must return window status for each window location. object returned is a
474 * dictionary { unsigned short windowlocation, unsigned short percentage opened }
476 readwrite attribute object WindowStatus;
480 interface Sunroof : VehiclePropertyType {
483 * \brief Must return window status for sunroof openness percentage.
485 readwrite attribute unsigned short Openness;
488 * \brief Must return tilt status for sunroof percentage.
490 readwrite attribute unsigned short Tilt;
494 interface ConvertibleRoof : VehiclePropertyType {
497 * \brief Must return window status for sunroof openness percentage.
499 readwrite attribute unsigned short Openness;
503 interface VehicleId : VehiclePropertyType {
506 * \brief MUST return World Manufacturer Identifier (WMI)
507 * WMI is defined by SAE ISO 3780:2009. 3 characters.
509 readonly attribute DOMString WMI;
512 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
514 readonly attribute DOMString VIN;
518 interface Size : VehiclePropertyType {
521 * \brief MUST return width of vehicle in mm
523 readonly attribute unsigned long Width;
526 * \brief MUST return height of vehicle in mm
528 readonly attribute unsigned long Height;
531 * \brief MUST return length of vehicle in mm
533 readonly attribute unsigned long Length;
537 interface FuelInfo : VehiclePropertyType {
538 const unsigned short FUELTYPE_GASOLINE = 0;
539 const unsigned short FUELTYPE_HIGH_OCTANE= 1;
540 const unsigned short FUELTYPE_DIESEL = 2;
541 const unsigned short FUELTYPE_ELECTRIC = 3;
542 const unsigned short FUELTYPE_HYDROGEN = 4;
543 const unsigned short REFUELPOSITION_LEFT = 0;
544 const unsigned short REFUELPOSITION_RIGHT= 1;
545 const unsigned short REFUELPOSITION_FRONT = 2;
546 const unsigned short REFUELPOSITION_REAR = 3;
549 * \brief MUST return type of fuel. integer 0-4 (see
551 readonly attribute unsigned short Type;
554 * \brief MUST return position of refuling (see
556 readonly attribute unsigned short RefuelPosition;
560 interface VehicleType : VehiclePropertyType {
561 const unsigned short VEHICLETYPE_SEDAN = 0;
562 const unsigned short VEHICLETYPE_COUPE= 1;
563 const unsigned short VEHICLETYPE_CABRIOLE = 2;
564 const unsigned short VEHICLETYPE_ROADSTER = 3;
565 const unsigned short VEHICLETYPE_SUV = 4;
566 const unsigned short VEHICLETYPE_TRUCK = 5;
569 * \brief MUST return type of Vehicle. Integer 0-5 (see
571 readonly attribute unsigned short Type;
575 interface Doors : VehiclePropertyType {
578 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
579 * represents the first row, '1' the second row etc.
580 * Example a common mini-van may have Doors[0] = 2 doors,
581 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
583 readonly attribute sequence<unsigned short> DoorsPerRow;
587 interface TransmissionGearType : VehiclePropertyType {
588 const unsigned short TRANSMISSIONGEARTYPE_AUTO=0;
589 const unsigned short TRANSMISSIONGEARTYPE_MANUAL=1;
590 const unsigned short TRANSMISSIONGEARTYPE_CV=2;
592 /** TransmissionGearType
593 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
595 readonly attribute unsigned short TransmissionGearType;
599 interface WheelInformation : VehiclePropertyType {
602 * \brief MUST return Radius of Front Wheel(s) in mm.
604 readonly attribute unsigned short FrontWheelRadius;
607 * \brief MUST return Radius of Rear Wheel(s) in mm.
609 readonly attribute unsigned short RearWheelRadius;
612 * \brief MUST return Wheel Track in mm.
614 readonly attribute unsigned long WheelTrack;
617 * \brief MUST return Antilock Brake System status: on = true, off = false.
619 readonly attribute boolean ABS;
623 interface Odometer : VehiclePropertyType {
626 * \brief MUST return Distance traveled in km
628 readonly attribute unsigned long Odometer;
632 interface Fluid : VehiclePropertyType {
635 * \brief MUST return Transmission fluid level percentage. 0-100.
637 readonly attribute unsigned short Transmission;
640 * \brief MUST return Brake fluid level percentage. 0-100.
642 readonly attribute unsigned short Brake;
645 * \brief MUST return Washer fluid level percentage. 0-100.
647 readonly attribute unsigned short Washer;
651 interface Battery : VehiclePropertyType {
654 * \brief MUST return battery voltage.
656 readonly attribute double Voltage;
659 * \brief MUST return battery current in Amperes
661 readonly attribute double Current;
665 interface TirePressure : VehiclePropertyType {
668 * \brief MUST return left front tire pressure in kPa.
670 readonly attribute double LeftFront;
673 * \brief MUST return right front tire pressure in kPa.
675 readonly attribute double RightFront;
678 * \brief MUST return left rear tire pressure in kPa.
680 readonly attribute double LeftRear;
683 * \brief MUST return right rear tire pressure in kPa.
685 readonly attribute double RightRear;
689 interface TireTemperature : VehiclePropertyType {
692 * \brief MUST return left front tire temperature in Celcius.
694 readonly attribute double LeftFront;
697 * \brief MUST return right front tire temperature in Celcius.
699 readonly attribute double RightFront;
702 * \brief MUST return left rear tire temperature in Celcius.
704 readonly attribute double LeftRear;
707 * \brief MUST return right rear tire temperature in Celcius.
709 readonly attribute double RightRear;
713 interface SecurityAlert : VehiclePropertyType {
718 readonly attribute boolean SecurityAlert;
722 interface ParkingBrake : VehiclePropertyType {
725 * must return status of parking brake: Engaged = true, Disengaged = false.
727 readonly attribute boolean ParkingBrake;
731 interface ParkingLight : VehiclePropertyType {
734 * must return status of parking light: Engaged = true, Disengaged = false.
736 readonly attribute boolean ParkingLight;
740 interface HazardLight : VehiclePropertyType {
743 * must return status of hazard light: Engaged = true, Disengaged = false.
745 readonly attribute boolean HazardLight;
749 interface AntilockBrakingSystem : VehiclePropertyType {
751 /** AntilockBrakingSystem
752 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
754 readonly attribute boolean AntilockBrakingSystem;
758 interface TractionControlSystem : VehiclePropertyType {
760 /** TractionControlSystem
761 * \brief MUST return whether Traction Control System is Off (false) or On (true)
763 readonly attribute boolean TractionControlSystem;
767 interface VehicleTopSpeedLimit : VehiclePropertyType {
769 /** VehicleTopSpeedLimit
770 * \brief MUST returns top rated speed in km/h. 0 = no limit
772 readonly attribute unsigned short VehicleTopSpeedLimit;
776 interface AirbagStatus : VehiclePropertyType {
777 const unsigned short AIRBAGLOCATION_DRIVER = 0;
778 const unsigned short AIRBAGLOCATION_PASSENGER= 1;
779 const unsigned short AIRBAGLOCATION_LEFTSIDE = 2;
780 const unsigned short AIRBAGLOCATION_RIGHTSIDE = 3;
781 const unsigned short AIRBAGSTATUS_INACTIVE = 0;
782 const unsigned short AIRBAGSTATUS_ACTIVE = 1;
783 const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
786 * \brief MUST returns a dictionary of Airbag (byte) and Status (byte) (see
788 readonly attribute object AirbagStatus;
792 interface DoorStatus : VehiclePropertyType {
793 const unsigned short DOORLOCATION_DRIVER= 0;
794 const unsigned short DOORLOCATION_PASSENGER = 1;
795 const unsigned short DOORLOCATION_LEFTREAR = 2;
796 const unsigned short DOORLOCATION_RIGHTREAR = 3;
797 const unsigned short DOORLOCATION_TRUNK = 4;
798 const unsigned short DOORLOCATION_FUELCAP = 5;
799 const unsigned short DOORLOCATION_HOOD = 6;
800 const unsigned short DOORSTATUS_CLOSED = 0;
801 const unsigned short DOORSTATUS_OPEN = 1;
802 const unsigned short DOORSTATUS_AJAR = 2;
805 * \brief MUST returns dictionary of Door (byte) and Status (byte). See
807 readonly attribute object DoorStatus;
810 * \brief MUST returns dictionary of Door (byte) and Status (bool locked = true, unlocked = false). See
812 readonly attribute object DoorLockStatus;
815 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
816 * Setting this to 'true' will prevent the rear doors from being opened
819 readonly attribute boolean ChildLockStatus;
823 interface SeatBeltStatus : VehiclePropertyType {
824 const unsigned short SEATBELTLOCATION_DRIVER= 0;
825 const unsigned short SEATBELTLOCATION_MIDDLEFRONT = 1;
826 const unsigned short SEATBELTLOCATION_PASSENGER = 2;
827 const unsigned short SEATBELTLOCATION_LEFTREAR = 3;
828 const unsigned short SEATBELTLOCATION_MIDDLEREAR = 4;
829 const unsigned short SEATBELTLOCATION_RIGHTREAR = 5;
832 * \brief MUST returns dictionary of Seat Belt (byte, see SEATBELTLOCATION) and Status (bool: Fasten = true, Unfastened = false)
834 readonly attribute object SeatBeltStatus;
838 interface OccupantStatus : VehiclePropertyType {
839 const unsigned short OCCUPANTLOCATION_DRIVER = 0;
840 const unsigned short OCCUPANTLOCATION_FRONTMIDDLE = 1;
841 const unsigned short OCCUPANTLOCATION_PASSENGER= 2;
842 const unsigned short OCCUPANTLOCATION_LEFTREAR = 3;
843 const unsigned short OCCUPANTLOCATION_MIDDLEREAR = 4;
844 const unsigned short OCCUPANTLOCATION_RIGHTREAR = 5;
845 const unsigned short OCCUPANTSTATUS_VACANT = 0;
846 const unsigned short OCCUPANTSTATUS_CHILD = 1;
847 const unsigned short OCCUPANTSTATUS_ADULT = 2;
850 * \brief MUST returns dictionary of Occupant (byte see OCCUPANTLOCATION) and Status (byte, see
852 readonly attribute object OccupantStatus;
856 interface ObstacleDistance : VehiclePropertyType {
857 const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;
858 const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;
859 const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;
860 const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;
861 const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;
862 const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;
865 * \brief MUST returns dictionary of Distance Sensor (byte, see DISTANCESENSORLOCATION) and distance (double) in m.
867 readonly attribute object ObstacleDistance;