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);
64 * \brief fetch the current value for 'property'.
65 * \arg DOMString property is the requested property to be retrieved.
66 * \returns object representing the requested 'property'
68 any get(DOMString property);
70 /** \brief subscribe to the given property and get callbacks when it changes
71 * \arg DOMString property property to set
72 * \arg VehiclePropertyCallback successCallback callback if operation is successfull
73 * \arg VehiclePropertyErrorCallback errorCallback callback if error has been called.
76 subscribe(DOMString property, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
79 * \brief set the given property to value
80 * \arg DOMString property property to set
81 * \arg VehiclePropertyType value value to set
82 * \arg VehiclePropertyCallback successCallback callback if operation is successfull
83 * \arg VehiclePropertyErrorCallback errorCallback callback if error has been called.
85 set(DOMString property, VehiclePropertyType value, optional VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
88 * \brief get values for a given property within a certain past time period between 'startTime' and 'endTime'
89 * \arg DOMString property property to request
90 * \arg Date startTime, starting period of time.
91 * \arg Date endTime, ending period of time.
92 * \arg VehiclePropertyListCallback successCallback. Callback with the result of the method call
93 * \arg VehiclePropertyErrorCallback errorCallback. Callback if an error has occurred.
95 getHistory(DOMString property, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
99 interface VehicleSpeed : VehiclePropertyType {
102 * \brief Must return Vehicle Speed in kilometers per hour.
104 readonly attribute unsigned long VehicleSpeed;
108 interface EngineSpeed : VehiclePropertyType {
111 * \brief Must return Engine Speed in rotations per minute.
113 readonly attribute unsigned long EngineSpeed;
117 interface VehiclePowerMode : VehiclePropertyType {
118 const unsigned short VEHICLEPOWERMODE_OFF = 0,
119 const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1,
120 const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2,
121 const unsigned short VEHICLEPOWERMODE_RUN = 3;
124 * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
126 readonly attribute octet VehiclePowerMode;
130 interface TripMeter : VehiclePropertyType {
133 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
135 attribute sequence<unsigned long> TripMeters;
139 interface Acceleration : VehiclePropertyType {
142 * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
144 readonly attribute unsigned long X;
147 * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
149 readonly attribute unsigned long Y;
152 * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
154 readonly attribute unsigned long Z;
158 interface Transmission : VehiclePropertyType {
159 const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;
160 const unsigned short TRANSMISSIONPOSITION_FIRST = 1;
161 const unsigned short TRANSMISSIONPOSITION_SECOND = 2;
162 const unsigned short TRANSMISSIONPOSITION_THIRD = 3;
163 const unsigned short TRANSMISSIONPOSITION_FORTH = 4;
164 const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;
165 const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;
166 const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;
167 const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;
168 const unsigned short TRANSMISSIONPOSITION_NINTH = 9;
169 const unsigned short TRANSMISSIONPOSITION_TENTH = 10;
170 const unsigned short TRANSMISSIONPOSITION_CVT = 64;
171 const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;
172 const unsigned short TRANSMISSIONPOSITION_PARK = 255;
173 const unsigned short TRANSMISSIONMODE_NORMAL = 0;
174 const unsigned short TRANSMISSIONMODE_SPORT = 1;
175 const unsigned short TRANSMISSIONMODE_ECONOMY = 2;
176 const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;
177 const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;
180 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
182 readonly attribute octet GearPosition;
185 * \brief Must return transmission Mode (see
187 readonly attribute octet Mode;
191 interface CruiseControlStatus : VehiclePropertyType {
194 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
196 readonly attribute boolean Activated;
199 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
201 readonly attribute unsigned short Speed;
205 interface WheelBrake : VehiclePropertyType {
208 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
210 readonly attribute boolean Engaged;
214 interface LightStatus : VehiclePropertyType {
217 * \brief Must return headlight status: on = true, off = false.
219 readonly attribute boolean Head;
222 * \brief Must return right turn signal status: on = true, off = false.
224 readonly attribute boolean RightTurn;
227 * \brief Must return left turn signal status: on = true, off = false.
229 readonly attribute boolean LeftTurn;
232 * \brief Must return brake signal light status: on = true, off = false.
234 readonly attribute boolean Brake;
237 * \brief Must return fog light status: on = true, off = false.
239 readonly attribute boolean Fog;
242 * \brief Must return hazard light status: on = true, off = false.
244 readonly attribute boolean Hazard;
247 * \brief Must return parking light status: on = true, off = false.
249 readonly attribute boolean Parking;
252 * \brief Must return high beam status: on = true, off = false.
254 readonly attribute boolean HighBeam;
258 interface InteriorLightStatus : VehiclePropertyType {
261 * \brief Must return passenger interior light status: on = true, off = false
263 readonly attribute boolean Passenger;
266 * \brief Must return driver interior light status: on = true, off = false
268 readonly attribute boolean Driver;
271 * \brief Must return center interior light status: on = true, off = false
273 readonly attribute boolean Center;
277 interface Horn : VehiclePropertyType {
280 * \brief Must return horn status: on = true, off = false
282 readonly attribute boolean On;
286 interface Fuel : VehiclePropertyType {
289 * \brief Must return fuel level as a percentage of fullness.
291 readonly attribute unsigned short Level;
294 * \brief Must return estimated fuel range in kilometers.
296 readonly attribute unsigned short Range;
298 /** InstantConsumption
299 * \brief Must return instant fuel consumption in milliliters of fuel per second.
301 readonly attribute unsigned short InstantConsumption;
304 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
306 readonly attribute unsigned short InstantEconomy;
309 * \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'
311 attribute unsigned short AverageEconomy;
315 interface EngineOil : VehiclePropertyType {
318 * \brief Must return remaining engine oil as percentage of fullness.
320 readonly attribute unsigned short Remaining;
323 * \brief Must return Engine Oil Temperature in Celcius.
325 readonly attribute long Temperature;
328 * \brief Must return Engine Oil Pressure in kPa.
330 readonly attribute unsigned short Pressure;
334 interface Location : VehiclePropertyType {
337 * \brief Must return latitude in Deg.Min (-180, +180)
339 readonly attribute double Latitude;
342 * \brief Must return longitude in Deg.Min (-90, +90)
344 readonly attribute double Longitude;
347 * \brief Must return altitude in meters above sea-level (0).
349 readonly attribute double Altitude;
352 * \brief Must return direction in Degrees (0-360)
354 readonly attribute unsigned short Direction;
358 interface ExteriorBrightness : VehiclePropertyType {
360 /** ExteriorBrightness
361 * \brief Must return the brightness outside the vehicle in lux.
363 readonly attribute unsigned long ExteriorBrightness;
367 interface Temperature : VehiclePropertyType {
370 * \brief Must return the temperature of the interior of the vehicle in celcius.
372 readonly attribute signed short Interior;
375 * \brief Must return the temperature of the exterior of the vehicle in celcius.
377 readonly attribute signed short Exterior;
381 interface RainSensor : VehiclePropertyType {
384 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
386 readonly attribute unsigned short RainSensor;
390 interface WindshieldWiper : VehiclePropertyType {
391 const unsigned short WIPERSPEED_OFF = 0;
392 const unsigned short WIPERSPEED_SLOWEST= 1;
393 const unsigned short WIPERSPEED_FASTEST = 5;
394 const unsigned short WIPERSPEED_AUTO = 10;
397 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
399 readonly attribute unsigned short WindshieldWiper;
402 dictionary DefrostDictionary {
403 unsigned short window;
408 interface HVAC : VehiclePropertyType {
409 const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
410 const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
411 const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
412 const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
415 * \brief Must return airflow direction. See
417 attribute unsigned short AirflowDirection;
420 * \brief Must return speed of the fan (0-7)
422 attribute unsigned short FanSpeed;
424 /** TargetTemperature
425 * \brief Must return target desired temperature in celcius.
427 attribute unsigned short TargetTemperature;
430 * \brief Must return air conditioning on (true) / off (false).
432 attribute boolean AirConditioning;
435 * \brief Must return air recirculation on (true) / off (false).
437 readwrite attribute boolean AirRecirculation;
440 * \brief Must return heater on (true) / off (false).
442 attribute boolean Heater;
445 * \brief Must return the defrost status of all windows equiped with defrosters. This will return a dictionary of DefrostDictionary that represents
446 * \brief each window and its defrost status.
448 attribute DefrostDictionary Defrost;
450 /** SteeringWheelHeater
451 * \brief Must return air recirculation on (true) / off (false).
453 attribute boolean SteeringWheelHeater;
456 * \brief Must return seat heater status: on (true) / off (false).
458 attribute boolean SeatHeater;
461 * \brief Must return seat heater status: on (true) / off (false).
463 attribute boolean SeatCooler;
467 interface WindowStatus : VehiclePropertyType {
468 const unsigned short WINDOWLOCATION_DRIVER= 0;
469 const unsigned short WINDOWLOCATION_PASSENGER = 1;
470 const unsigned short WINDOWLOCATION_LEFTREAR = 2;
471 const unsigned short WINDOWLOCATION_RIGHTREAR = 3;
472 const unsigned short WINDOWLOCATION_REAR = 4;
475 * \brief Must return window status for each window location. object returned is a
476 * dictionary { unsigned short windowlocation, unsigned short percentage opened }
478 readwrite attribute object WindowStatus;
482 interface Sunroof : VehiclePropertyType {
485 * \brief Must return window status for sunroof openness percentage.
487 readwrite attribute unsigned short Openness;
490 * \brief Must return tilt status for sunroof percentage.
492 readwrite attribute unsigned short Tilt;
496 interface ConvertibleRoof : VehiclePropertyType {
499 * \brief Must return window status for sunroof openness percentage.
501 readwrite attribute unsigned short Openness;
505 interface VehicleId : VehiclePropertyType {
508 * \brief MUST return World Manufacturer Identifier (WMI)
509 * WMI is defined by SAE ISO 3780:2009. 3 characters.
511 readonly attribute DOMString WMI;
514 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
516 readonly attribute DOMString VIN;
520 interface Size : VehiclePropertyType {
523 * \brief MUST return width of vehicle in mm
525 readonly attribute unsigned long Width;
528 * \brief MUST return height of vehicle in mm
530 readonly attribute unsigned long Height;
533 * \brief MUST return length of vehicle in mm
535 readonly attribute unsigned long Length;
539 interface FuelInfo : VehiclePropertyType {
540 const unsigned short FUELTYPE_GASOLINE = 0;
541 const unsigned short FUELTYPE_HIGH_OCTANE= 1;
542 const unsigned short FUELTYPE_DIESEL = 2;
543 const unsigned short FUELTYPE_ELECTRIC = 3;
544 const unsigned short FUELTYPE_HYDROGEN = 4;
545 const unsigned short REFUELPOSITION_LEFT = 0;
546 const unsigned short REFUELPOSITION_RIGHT= 1;
547 const unsigned short REFUELPOSITION_FRONT = 2;
548 const unsigned short REFUELPOSITION_REAR = 3;
551 * \brief MUST return type of fuel. integer 0-4 (see
553 readonly attribute unsigned short Type;
556 * \brief MUST return position of refuling (see
558 readonly attribute unsigned short RefuelPosition;
562 interface VehicleType : VehiclePropertyType {
563 const unsigned short VEHICLETYPE_SEDAN = 0;
564 const unsigned short VEHICLETYPE_COUPE= 1;
565 const unsigned short VEHICLETYPE_CABRIOLE = 2;
566 const unsigned short VEHICLETYPE_ROADSTER = 3;
567 const unsigned short VEHICLETYPE_SUV = 4;
568 const unsigned short VEHICLETYPE_TRUCK = 5;
571 * \brief MUST return type of Vehicle. Integer 0-5 (see
573 readonly attribute unsigned short Type;
577 interface Doors : VehiclePropertyType {
580 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
581 * represents the first row, '1' the second row etc.
582 * Example a common mini-van may have Doors[0] = 2 doors,
583 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
585 readonly attribute sequence<unsigned short> DoorsPerRow;
589 interface TransmissionGearType : VehiclePropertyType {
590 const unsigned short TRANSMISSIONGEARTYPE_AUTO=0;
591 const unsigned short TRANSMISSIONGEARTYPE_MANUAL=1;
592 const unsigned short TRANSMISSIONGEARTYPE_CV=2;
594 /** TransmissionGearType
595 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
597 readonly attribute unsigned short TransmissionGearType;
601 interface WheelInformation : VehiclePropertyType {
604 * \brief MUST return Radius of Front Wheel(s) in mm.
606 readonly attribute unsigned short FrontWheelRadius;
609 * \brief MUST return Radius of Rear Wheel(s) in mm.
611 readonly attribute unsigned short RearWheelRadius;
614 * \brief MUST return Wheel Track in mm.
616 readonly attribute unsigned long WheelTrack;
619 * \brief MUST return Antilock Brake System status: on = true, off = false.
621 readonly attribute boolean ABS;
625 interface Odometer : VehiclePropertyType {
628 * \brief MUST return Distance traveled in km
630 readonly attribute unsigned long Odometer;
634 interface Fluid : VehiclePropertyType {
637 * \brief MUST return Transmission fluid level percentage. 0-100.
639 readonly attribute unsigned short Transmission;
642 * \brief MUST return Brake fluid level percentage. 0-100.
644 readonly attribute unsigned short Brake;
647 * \brief MUST return Washer fluid level percentage. 0-100.
649 readonly attribute unsigned short Washer;
653 interface Battery : VehiclePropertyType {
656 * \brief MUST return battery voltage.
658 readonly attribute double Voltage;
661 * \brief MUST return battery current in Amperes
663 readonly attribute double Current;
667 interface TirePressure : VehiclePropertyType {
670 * \brief MUST return left front tire pressure in kPa.
672 readonly attribute double LeftFront;
675 * \brief MUST return right front tire pressure in kPa.
677 readonly attribute double RightFront;
680 * \brief MUST return left rear tire pressure in kPa.
682 readonly attribute double LeftRear;
685 * \brief MUST return right rear tire pressure in kPa.
687 readonly attribute double RightRear;
691 interface TireTemperature : VehiclePropertyType {
694 * \brief MUST return left front tire temperature in Celcius.
696 readonly attribute double LeftFront;
699 * \brief MUST return right front tire temperature in Celcius.
701 readonly attribute double RightFront;
704 * \brief MUST return left rear tire temperature in Celcius.
706 readonly attribute double LeftRear;
709 * \brief MUST return right rear tire temperature in Celcius.
711 readonly attribute double RightRear;
715 interface SecurityAlert : VehiclePropertyType {
720 readonly attribute boolean SecurityAlert;
724 interface ParkingBrake : VehiclePropertyType {
727 * must return status of parking brake: Engaged = true, Disengaged = false.
729 readonly attribute boolean ParkingBrake;
733 interface ParkingLight : VehiclePropertyType {
736 * must return status of parking light: Engaged = true, Disengaged = false.
738 readonly attribute boolean ParkingLight;
742 interface HazardLight : VehiclePropertyType {
745 * must return status of hazard light: Engaged = true, Disengaged = false.
747 readonly attribute boolean HazardLight;
751 interface AntilockBrakingSystem : VehiclePropertyType {
753 /** AntilockBrakingSystem
754 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
756 readonly attribute boolean AntilockBrakingSystem;
760 interface TractionControlSystem : VehiclePropertyType {
762 /** TractionControlSystem
763 * \brief MUST return whether Traction Control System is Off (false) or On (true)
765 readonly attribute boolean TractionControlSystem;
769 interface VehicleTopSpeedLimit : VehiclePropertyType {
771 /** VehicleTopSpeedLimit
772 * \brief MUST returns top rated speed in km/h. 0 = no limit
774 readonly attribute unsigned short VehicleTopSpeedLimit;
778 interface AirbagStatus : VehiclePropertyType {
779 const unsigned short AIRBAGLOCATION_DRIVER = 0;
780 const unsigned short AIRBAGLOCATION_PASSENGER= 1;
781 const unsigned short AIRBAGLOCATION_LEFTSIDE = 2;
782 const unsigned short AIRBAGLOCATION_RIGHTSIDE = 3;
783 const unsigned short AIRBAGSTATUS_INACTIVE = 0;
784 const unsigned short AIRBAGSTATUS_ACTIVE = 1;
785 const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
788 * \brief MUST returns a dictionary of Airbag (byte) and Status (byte) (see
790 readonly attribute object AirbagStatus;
794 interface DoorStatus : VehiclePropertyType {
795 const unsigned short DOORLOCATION_DRIVER= 0;
796 const unsigned short DOORLOCATION_PASSENGER = 1;
797 const unsigned short DOORLOCATION_LEFTREAR = 2;
798 const unsigned short DOORLOCATION_RIGHTREAR = 3;
799 const unsigned short DOORLOCATION_TRUNK = 4;
800 const unsigned short DOORLOCATION_FUELCAP = 5;
801 const unsigned short DOORLOCATION_HOOD = 6;
802 const unsigned short DOORSTATUS_CLOSED = 0;
803 const unsigned short DOORSTATUS_OPEN = 1;
804 const unsigned short DOORSTATUS_AJAR = 2;
807 * \brief MUST returns dictionary of Door (byte) and Status (byte). See
809 readonly attribute object DoorStatus;
812 * \brief MUST returns dictionary of Door (byte) and Status (bool locked = true, unlocked = false). See
814 readonly attribute object DoorLockStatus;
817 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
818 * Setting this to 'true' will prevent the rear doors from being opened
821 readonly attribute boolean ChildLockStatus;
825 interface SeatBeltStatus : VehiclePropertyType {
826 const unsigned short SEATBELTLOCATION_DRIVER= 0;
827 const unsigned short SEATBELTLOCATION_MIDDLEFRONT = 1;
828 const unsigned short SEATBELTLOCATION_PASSENGER = 2;
829 const unsigned short SEATBELTLOCATION_LEFTREAR = 3;
830 const unsigned short SEATBELTLOCATION_MIDDLEREAR = 4;
831 const unsigned short SEATBELTLOCATION_RIGHTREAR = 5;
834 * \brief MUST returns dictionary of Seat Belt (byte, see SEATBELTLOCATION) and Status (bool: Fasten = true, Unfastened = false)
836 readonly attribute object SeatBeltStatus;
840 interface OccupantStatus : VehiclePropertyType {
841 const unsigned short OCCUPANTLOCATION_DRIVER = 0;
842 const unsigned short OCCUPANTLOCATION_FRONTMIDDLE = 1;
843 const unsigned short OCCUPANTLOCATION_PASSENGER= 2;
844 const unsigned short OCCUPANTLOCATION_LEFTREAR = 3;
845 const unsigned short OCCUPANTLOCATION_MIDDLEREAR = 4;
846 const unsigned short OCCUPANTLOCATION_RIGHTREAR = 5;
847 const unsigned short OCCUPANTSTATUS_VACANT = 0;
848 const unsigned short OCCUPANTSTATUS_CHILD = 1;
849 const unsigned short OCCUPANTSTATUS_ADULT = 2;
852 * \brief MUST returns dictionary of Occupant (byte see OCCUPANTLOCATION) and Status (byte, see
854 readonly attribute object OccupantStatus;
858 interface ObstacleDistance : VehiclePropertyType {
859 const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;
860 const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;
861 const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;
862 const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;
863 const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;
864 const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;
867 * \brief MUST returns dictionary of Distance Sensor (byte, see DISTANCESENSORLOCATION) and distance (double) in m.
869 readonly attribute object ObstacleDistance;