6 \def-api-feature http://tizen.org/api/vehicle
7 \brief Allows access to the vehicle API
15 partial interface Navigator {
16 attribute Vehicle vehicle;
20 interface VehiclePropertyType: Event {
21 /** /brief time at which the vehicle generated the property
23 attribute DOMTimeStamp time;
25 attribute DOMString source;
29 interface VehiclePropertyError {
30 const unsigned short PERMISSION_DENIED = 1;
31 const unsigned short PROPERTY_UNAVAILABLE = 2;
32 const unsigned short TIMEOUT = 3;
33 const unsigned short UNKNOWN = 10;
36 * MUST return error code.
38 attribute unsigned short code;
41 * MUST return error message
43 attribute DOMString message;
46 callback VehiclePropertyCallback = void (VehiclePropertyType value);
48 callback VehiclePropertyErrorCallback = void (VehiclePropertyError error);
50 callback VehiclePropertyListCallback = void (sequence<VehiclePropertyType> values);
52 callback SupportedPropertiesCallback = void (sequence<DOMString> properties);
58 const unsigned short ZONE_None = 0;
59 const unsigned short ZONE_Front = 1;
60 const unsigned short ZONE_Middle = 1 << 1;
61 const unsigned short ZONE_Right = 1 << 2;
62 const unsigned short ZONE_Left = 1 << 3;
63 const unsigned short ZONE_Rear = 1 << 4;
64 const unsigned short ZONE_Center = 1 << 5;
67 * \brief returns supported object types
69 sequence<DOMString> supported();
72 * \brief fetch the current value for 'objectType'.
73 * \arg DOMString objectType is the requested property to be retrieved.
74 * \arg optional short zone specify the zone in which this object type is in
75 * \returns object representing the requested 'objectType'
77 any get(DOMString objectType, optional short zone);
79 /** \brief subscribe to the given property and get callbacks when it changes
80 * \arg DOMString property property to set
81 * \arg VehiclePropertyCallback successCallback callback will be called when the "objectType" changes
82 * \arg VehiclePropertyErrorCallback errorCallback callback if error has been called.
85 subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);
88 * \brief set the given objectType to value
89 * \arg DOMString objectType object type to set
90 * \arg VehiclePropertyType value value to set, should contain zone information ie "zone" : 0
91 * \arg VehiclePropertyErrorCallback errorCallback callback if error has been called.
93 set(DOMString objectType, VehiclePropertyType value, optional VehiclePropertyErrorCallback errorCallback);
96 * \brief get values for a given objectType within a certain past time period between 'startTime' and 'endTime'
97 * \arg DOMString objectType object type to request
98 * \arg zone in which the objectType is located or 0 if no zone.
99 * \arg Date startTime, starting period of time.
100 * \arg Date endTime, ending period of time.
101 * \arg VehiclePropertyListCallback successCallback. Callback with the result of the method call
102 * \arg VehiclePropertyErrorCallback errorCallback. Callback if an error has occurred.
104 getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
108 interface VehicleSpeed : VehiclePropertyType {
111 * \brief Must return Vehicle Speed in kilometers per hour.
113 attribute unsigned long vehicleSpeed;
117 interface EngineSpeed : VehiclePropertyType {
120 * \brief Must return Engine Speed in rotations per minute.
122 attribute unsigned long engineSpeed;
126 interface VehiclePowerMode : VehiclePropertyType {
127 const unsigned short VEHICLEPOWERMODE_OFF = 0,
128 const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1,
129 const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2,
130 const unsigned short VEHICLEPOWERMODE_RUN = 3;
133 * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
135 attribute octet vehiclePowerMode;
139 interface TripMeter : VehiclePropertyType {
142 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
144 attribute sequence<unsigned long> tripMeters;
148 interface Acceleration : VehiclePropertyType {
151 * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
153 attribute unsigned long x;
156 * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
158 attribute unsigned long y;
161 * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
163 attribute unsigned long z;
167 interface Transmission : VehiclePropertyType {
168 const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;
169 const unsigned short TRANSMISSIONPOSITION_FIRST = 1;
170 const unsigned short TRANSMISSIONPOSITION_SECOND = 2;
171 const unsigned short TRANSMISSIONPOSITION_THIRD = 3;
172 const unsigned short TRANSMISSIONPOSITION_FORTH = 4;
173 const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;
174 const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;
175 const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;
176 const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;
177 const unsigned short TRANSMISSIONPOSITION_NINTH = 9;
178 const unsigned short TRANSMISSIONPOSITION_TENTH = 10;
179 const unsigned short TRANSMISSIONPOSITION_CVT = 64;
180 const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;
181 const unsigned short TRANSMISSIONPOSITION_PARK = 255;
182 const unsigned short TRANSMISSIONMODE_NORMAL = 0;
183 const unsigned short TRANSMISSIONMODE_SPORT = 1;
184 const unsigned short TRANSMISSIONMODE_ECONOMY = 2;
185 const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;
186 const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;
189 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
191 attribute octet gearPosition;
194 * \brief Must return transmission Mode (see
196 attribute octet mode;
200 interface CruiseControlStatus : VehiclePropertyType {
203 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
205 attribute boolean activated;
208 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
210 attribute unsigned short speed;
214 interface WheelBrake : VehiclePropertyType {
217 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
219 attribute boolean engaged;
223 interface LightStatus : VehiclePropertyType {
226 * \brief Must return headlight status: on = true, off = false.
228 attribute boolean head;
231 * \brief Must return right turn signal status: on = true, off = false.
233 attribute boolean rightTurn;
236 * \brief Must return left turn signal status: on = true, off = false.
238 attribute boolean leftTurn;
241 * \brief Must return brake signal light status: on = true, off = false.
243 attribute boolean brake;
246 * \brief Must return fog light status: on = true, off = false.
248 attribute boolean fog;
251 * \brief Must return hazard light status: on = true, off = false.
253 attribute boolean hazard;
256 * \brief Must return parking light status: on = true, off = false.
258 attribute boolean parking;
261 * \brief Must return high beam status: on = true, off = false.
263 attribute boolean highBeam;
267 interface InteriorLightStatus : VehiclePropertyType {
270 * \brief Must return passenger interior light status: on = true, off = false
272 attribute boolean passenger;
275 * \brief Must return driver interior light status: on = true, off = false
277 attribute boolean driver;
280 * \brief Must return center interior light status: on = true, off = false
282 attribute boolean center;
286 interface Horn : VehiclePropertyType {
289 * \brief Must return horn status: on = true, off = false
291 attribute boolean on;
295 interface Fuel : VehiclePropertyType {
298 * \brief Must return fuel level as a percentage of fullness.
300 attribute unsigned short level;
303 * \brief Must return estimated fuel range in kilometers.
305 attribute unsigned short range;
307 /** InstantConsumption
308 * \brief Must return instant fuel consumption in milliliters of fuel per second.
310 attribute unsigned short instantConsumption;
313 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
315 attribute unsigned short instantEconomy;
318 * \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'
320 attribute unsigned short averageEconomy;
324 interface EngineOil : VehiclePropertyType {
327 * \brief Must return remaining engine oil as percentage of fullness.
329 attribute unsigned short remaining;
332 * \brief Must return Engine Oil Temperature in Celcius.
334 attribute long temperature;
337 * \brief Must return Engine Oil Pressure in kPa.
339 attribute unsigned short pressure;
343 interface Location : VehiclePropertyType {
346 * \brief Must return latitude in Deg.Min (-180, +180)
348 attribute double latitude;
351 * \brief Must return longitude in Deg.Min (-90, +90)
353 attribute double longitude;
356 * \brief Must return altitude in meters above sea-level (0).
358 attribute double altitude;
361 * \brief Must return direction in Degrees (0-360)
363 attribute unsigned short direction;
367 interface ExteriorBrightness : VehiclePropertyType {
369 /** ExteriorBrightness
370 * \brief Must return the brightness outside the vehicle in lux.
372 attribute unsigned long exteriorBrightness;
376 interface Temperature : VehiclePropertyType {
379 * \brief Must return the temperature of the interior of the vehicle in celcius.
381 attribute signed short interior;
384 * \brief Must return the temperature of the exterior of the vehicle in celcius.
386 attribute signed short exterior;
390 interface RainSensor : VehiclePropertyType {
393 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
395 attribute unsigned short rainSensor;
399 interface WindshieldWiper : VehiclePropertyType {
400 const unsigned short WIPERSPEED_OFF = 0;
401 const unsigned short WIPERSPEED_SLOWEST= 1;
402 const unsigned short WIPERSPEED_FASTEST = 5;
403 const unsigned short WIPERSPEED_AUTO = 10;
406 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
408 attribute unsigned short windshieldWiper;
411 dictionary DefrostDictionary {
412 unsigned short window;
417 interface HVAC : VehiclePropertyType {
418 const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
419 const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
420 const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
421 const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
424 * \brief Must return airflow direction. See
426 attribute unsigned short airflowDirection;
429 * \brief Must return speed of the fan (0-7)
431 attribute unsigned short fanSpeed;
433 /** TargetTemperature
434 * \brief Must return target desired temperature in celcius.
436 attribute unsigned short targetTemperature;
439 * \brief Must return air conditioning on (true) / off (false).
441 attribute boolean airConditioning;
444 * \brief Must return air recirculation on (true) / off (false).
446 readwrite attribute boolean airRecirculation;
449 * \brief Must return heater on (true) / off (false).
451 attribute boolean heater;
454 * \brief Must return the defrost status of all windows equiped with defrosters. This will return a dictionary of DefrostDictionary that represents
455 * \brief each window and its defrost status.
457 attribute DefrostDictionary defrost;
459 /** SteeringWheelHeater
460 * \brief Must return air recirculation on (true) / off (false).
462 attribute boolean steeringWheelHeater;
465 * \brief Must return seat heater status: on (true) / off (false).
467 attribute boolean seatHeater;
470 * \brief Must return seat heater status: on (true) / off (false).
472 attribute boolean seatCooler;
476 interface WindowStatus : VehiclePropertyType {
477 const unsigned short WINDOWLOCATION_DRIVER= 0;
478 const unsigned short WINDOWLOCATION_PASSENGER = 1;
479 const unsigned short WINDOWLOCATION_LEFTREAR = 2;
480 const unsigned short WINDOWLOCATION_RIGHTREAR = 3;
481 const unsigned short WINDOWLOCATION_REAR = 4;
484 * \brief Must return window status for each window location. object returned is a
485 * dictionary { unsigned short windowlocation, unsigned short percentage opened }
487 readwrite attribute object WindowStatus;
491 interface Sunroof : VehiclePropertyType {
494 * \brief Must return window status for sunroof openness percentage.
496 readwrite attribute unsigned short openness;
499 * \brief Must return tilt status for sunroof percentage.
501 readwrite attribute unsigned short tilt;
505 interface ConvertibleRoof : VehiclePropertyType {
508 * \brief Must return window status for sunroof openness percentage.
510 readwrite attribute unsigned short openness;
514 interface VehicleId : VehiclePropertyType {
517 * \brief MUST return World Manufacturer Identifier (WMI)
518 * WMI is defined by SAE ISO 3780:2009. 3 characters.
520 attribute DOMString WMI;
523 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
525 attribute DOMString VIN;
529 interface Size : VehiclePropertyType {
532 * \brief MUST return width of vehicle in mm
534 attribute unsigned long width;
537 * \brief MUST return height of vehicle in mm
539 attribute unsigned long height;
542 * \brief MUST return length of vehicle in mm
544 attribute unsigned long length;
548 interface FuelInfo : VehiclePropertyType {
549 const unsigned short FUELTYPE_GASOLINE = 0;
550 const unsigned short FUELTYPE_HIGH_OCTANE= 1;
551 const unsigned short FUELTYPE_DIESEL = 2;
552 const unsigned short FUELTYPE_ELECTRIC = 3;
553 const unsigned short FUELTYPE_HYDROGEN = 4;
554 const unsigned short REFUELPOSITION_LEFT = 0;
555 const unsigned short REFUELPOSITION_RIGHT= 1;
556 const unsigned short REFUELPOSITION_FRONT = 2;
557 const unsigned short REFUELPOSITION_REAR = 3;
560 * \brief MUST return type of fuel. integer 0-4 (see
562 attribute unsigned short type;
565 * \brief MUST return position of refuling (see
567 attribute unsigned short refuelPosition;
571 interface VehicleType : VehiclePropertyType {
572 const unsigned short VEHICLETYPE_SEDAN = 0;
573 const unsigned short VEHICLETYPE_COUPE= 1;
574 const unsigned short VEHICLETYPE_CABRIOLE = 2;
575 const unsigned short VEHICLETYPE_ROADSTER = 3;
576 const unsigned short VEHICLETYPE_SUV = 4;
577 const unsigned short VEHICLETYPE_TRUCK = 5;
580 * \brief MUST return type of Vehicle. Integer 0-5 (see
582 attribute unsigned short type;
586 interface Doors : VehiclePropertyType {
589 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
590 * represents the first row, '1' the second row etc.
591 * Example a common mini-van may have Doors[0] = 2 doors,
592 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
594 attribute sequence<unsigned short> doorsPerRow;
598 interface TransmissionGearType : VehiclePropertyType {
599 const unsigned short TRANSMISSIONGEARTYPE_AUTO=0;
600 const unsigned short TRANSMISSIONGEARTYPE_MANUAL=1;
601 const unsigned short TRANSMISSIONGEARTYPE_CV=2;
603 /** TransmissionGearType
604 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
606 attribute unsigned short transmissionGearType;
610 interface WheelInformation : VehiclePropertyType {
613 * \brief MUST return Radius of Front Wheel(s) in mm.
615 attribute unsigned short frontWheelRadius;
618 * \brief MUST return Radius of Rear Wheel(s) in mm.
620 attribute unsigned short rearWheelRadius;
623 * \brief MUST return Wheel Track in mm.
625 attribute unsigned long wheelTrack;
628 * \brief MUST return Antilock Brake System status: on = true, off = false.
630 attribute boolean ABS;
634 interface Odometer : VehiclePropertyType {
637 * \brief MUST return Distance traveled in km
639 attribute unsigned long odometer;
643 interface Fluid : VehiclePropertyType {
646 * \brief MUST return Transmission fluid level percentage. 0-100.
648 attribute unsigned short transmission;
651 * \brief MUST return Brake fluid level percentage. 0-100.
653 attribute unsigned short brake;
656 * \brief MUST return Washer fluid level percentage. 0-100.
658 attribute unsigned short washer;
662 interface Battery : VehiclePropertyType {
665 * \brief MUST return battery voltage.
667 attribute double voltage;
670 * \brief MUST return battery current in Amperes
672 attribute double current;
676 interface TirePressure : VehiclePropertyType {
679 * \brief MUST return left front tire pressure in kPa.
681 attribute double leftFront;
684 * \brief MUST return right front tire pressure in kPa.
686 attribute double rightFront;
689 * \brief MUST return left rear tire pressure in kPa.
691 attribute double leftRear;
694 * \brief MUST return right rear tire pressure in kPa.
696 attribute double rightRear;
700 interface TireTemperature : VehiclePropertyType {
703 * \brief MUST return left front tire temperature in Celcius.
705 attribute double leftFront;
708 * \brief MUST return right front tire temperature in Celcius.
710 attribute double rightFront;
713 * \brief MUST return left rear tire temperature in Celcius.
715 attribute double leftRear;
718 * \brief MUST return right rear tire temperature in Celcius.
720 attribute double rightRear;
724 interface SecurityAlert : VehiclePropertyType {
729 attribute boolean securityAlert;
733 interface ParkingBrake : VehiclePropertyType {
736 * must return status of parking brake: Engaged = true, Disengaged = false.
738 attribute boolean parkingBrake;
742 interface ParkingLight : VehiclePropertyType {
745 * must return status of parking light: Engaged = true, Disengaged = false.
747 attribute boolean parkingLight;
751 interface HazardLight : VehiclePropertyType {
754 * must return status of hazard light: Engaged = true, Disengaged = false.
756 attribute boolean hazardLight;
760 interface AntilockBrakingSystem : VehiclePropertyType {
762 /** AntilockBrakingSystem
763 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
765 attribute boolean antilockBrakingSystem;
769 interface TractionControlSystem : VehiclePropertyType {
771 /** TractionControlSystem
772 * \brief MUST return whether Traction Control System is Off (false) or On (true)
774 attribute boolean tractionControlSystem;
778 interface VehicleTopSpeedLimit : VehiclePropertyType {
780 /** VehicleTopSpeedLimit
781 * \brief MUST returns top rated speed in km/h. 0 = no limit
783 attribute unsigned short vehicleTopSpeedLimit;
787 interface AirbagStatus : VehiclePropertyType {
788 const unsigned short AIRBAGLOCATION_DRIVER = 0;
789 const unsigned short AIRBAGLOCATION_PASSENGER= 1;
790 const unsigned short AIRBAGLOCATION_LEFTSIDE = 2;
791 const unsigned short AIRBAGLOCATION_RIGHTSIDE = 3;
792 const unsigned short AIRBAGSTATUS_INACTIVE = 0;
793 const unsigned short AIRBAGSTATUS_ACTIVE = 1;
794 const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
797 * \brief MUST returns a dictionary of Airbag (byte) and Status (byte) (see
799 attribute object airbagStatus;
803 interface DoorStatus : VehiclePropertyType {
804 const unsigned short DOORLOCATION_DRIVER= 0;
805 const unsigned short DOORLOCATION_PASSENGER = 1;
806 const unsigned short DOORLOCATION_LEFTREAR = 2;
807 const unsigned short DOORLOCATION_RIGHTREAR = 3;
808 const unsigned short DOORLOCATION_TRUNK = 4;
809 const unsigned short DOORLOCATION_FUELCAP = 5;
810 const unsigned short DOORLOCATION_HOOD = 6;
811 const unsigned short DOORSTATUS_CLOSED = 0;
812 const unsigned short DOORSTATUS_OPEN = 1;
813 const unsigned short DOORSTATUS_AJAR = 2;
816 * \brief MUST returns dictionary of Door (byte) and Status (byte). See
818 attribute object doorStatus;
821 * \brief MUST returns dictionary of Door (byte) and Status (bool locked = true, unlocked = false). See
823 attribute object doorLockStatus;
826 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
827 * Setting this to 'true' will prevent the rear doors from being opened
830 attribute boolean childLockStatus;
834 interface SeatBeltStatus : VehiclePropertyType {
835 const unsigned short SEATBELTLOCATION_DRIVER= 0;
836 const unsigned short SEATBELTLOCATION_MIDDLEFRONT = 1;
837 const unsigned short SEATBELTLOCATION_PASSENGER = 2;
838 const unsigned short SEATBELTLOCATION_LEFTREAR = 3;
839 const unsigned short SEATBELTLOCATION_MIDDLEREAR = 4;
840 const unsigned short SEATBELTLOCATION_RIGHTREAR = 5;
843 * \brief MUST returns dictionary of Seat Belt (byte, see SEATBELTLOCATION) and Status (bool: Fasten = true, Unfastened = false)
845 attribute object seatBeltStatus;
849 interface OccupantStatus : VehiclePropertyType {
850 const unsigned short OCCUPANTLOCATION_DRIVER = 0;
851 const unsigned short OCCUPANTLOCATION_FRONTMIDDLE = 1;
852 const unsigned short OCCUPANTLOCATION_PASSENGER= 2;
853 const unsigned short OCCUPANTLOCATION_LEFTREAR = 3;
854 const unsigned short OCCUPANTLOCATION_MIDDLEREAR = 4;
855 const unsigned short OCCUPANTLOCATION_RIGHTREAR = 5;
856 const unsigned short OCCUPANTSTATUS_VACANT = 0;
857 const unsigned short OCCUPANTSTATUS_CHILD = 1;
858 const unsigned short OCCUPANTSTATUS_ADULT = 2;
861 * \brief MUST returns dictionary of Occupant (byte see OCCUPANTLOCATION) and Status (byte, see
863 attribute object occupantStatus;
867 interface ObstacleDistance : VehiclePropertyType {
868 const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;
869 const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;
870 const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;
871 const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;
872 const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;
873 const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;
876 * \brief MUST returns dictionary of Distance Sensor (byte, see DISTANCESENSORLOCATION) and distance (double) in m.
878 attribute object obstacleDistance;