2 * /brief This document describes the DBus interfaces and data types for the
3 * Automotive Message Broker API. The data types are intended to as-close-as-
4 * possible be compatible with the W3C vehicle <a href="https://rawgit.com/w3c/automotive-bg/master/data_spec.html>data spec</a>.
36 * \brief VehiclePropertyType is the base class for all Data types.
38 interface VehiclePropertyType {
41 * \brief time stamp marking the last time a property in the interface updated
43 attribute Double Time readonly
46 * \brief Zone in which the interface is situated.
48 attribute Zone Zone readonly
51 * \brief returns dictionary of objectName and values for data between
52 * 'beginTime' and 'endTime'
53 * \arg beginTime time stamp in Seconds since Unix Epoc
54 * \arg endTime time stamp in Seconds since Unix Epoc
56 method GetHistory(Double beginTime, Double endTime) {
57 out{ Dictionary result}
71 /*! org.automotive.Manager
72 * \brief Manager is a helper interface for discovering and finding available objects
73 * Manager is a helper interface that helps inform of supported data types and find
74 * specified data type objects' path on DBus
77 interface org.automotive.Manager {
80 * \brief returns supported properties
88 * \brief find the DBus object path matching the given "objectName" (ie "VehicleSpeed" is the object name for
89 * the DBus object at path: "/path/to/VehicleSpeed") or org.automotive.Manager.ObjectNotFound if the object
90 * name is not supported.
92 * If the object path does not exist, it will be created. The object path will be removed
93 * when the last proccess that calls Find* disconnects from DBus.
95 * \arg String objectName to find
96 * \returns list of object paths that provide the given object Name.
109 * \brief find the DBus object path which matches "objectName" and "zone". This has the same behavior as FindObject
110 * except that it takes an addition zone argument and only returns the path for that zone.
111 * \arg String property is the requested property to be retrieved.
112 * \arg Zone zone is the zone which the object
113 * \returns string representing the DBus Object path. Possible errors:
114 * "org.automotive.Manager.InvalidZone"
115 * "org.automotive.Manager.ObjectNotFound"
117 method FindObjectForZone {
129 * \brief get a list of zones for a given objectName.
130 * \arg String objectName object name.
131 * \returns list of zones for the given objectName (@see Zone)
133 method ZonesForObjectName {
144 /*! org.automotive.VehicleSpeed
145 \brief contains information about VehicleSpeed
148 interface org.automotive.VehicleSpeed extends VehiclePropertyType {
151 * \brief Must return Vehicle Speed in kilometers per hour.
153 attribute UInt16 Speed readonly
156 /*! org.automotive.EngineSpeed
157 \brief contains information about EngineSpeed
160 interface org.automotive.EngineSpeed extends VehiclePropertyType {
163 * \brief Must return Engine Speed in rotations per minute.
165 attribute UInt16 Speed readonly
168 enumeration PowerMode {
175 interface org.automotive.VehiclePowerMode extends VehiclePropertyType {
178 * \brief Must return vehicle power mode
180 attribute PowerMode VehiclePowerMode readonly
183 /*! org.automotive.TripMeter
184 \brief contains information about TripMeter
187 interface org.automotive.TripMeter extends VehiclePropertyType {
190 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
192 attribute UInt16[] TripMeters
195 /*! org.automotive.Acceleration
196 \brief contains information about Acceleration
199 interface org.automotive.Acceleration extends VehiclePropertyType {
202 * \brief return acceleration on the "X" axis (Unit: centimeters per second squared)
204 attribute Int16 X readonly
207 * \brief return acceleration on the "Y" axis (Unit: centimeters per second squared)
209 attribute Int16 Y readonly
212 * \brief return acceleration on the "Z" axis (Unit: centimeters per second squared)
214 attribute Int16 Z readonly
217 enumeration TransmissionMode {
223 overdrive = "overdrive"
226 /*! TransmissionPosition
227 * \brief Describes Transmission Pistion. Deprecated. Will disappear in 0.14
229 enumeration TransmissionPosition {
246 /*! TransmissionGearType
247 * \brief Describes the transmission gearbox type
249 enumeration TransmissionGearType
256 interface org.automotive.Transmission extends VehiclePropertyType {
258 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION) Deprecated. Replaced with Gear
260 attribute TransmissionPosition GearPosition readonly
262 /*! TransmissionGearType
263 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV).
264 * See TRANSMISSIONGEARTYPE
266 attribute TransmissionGearType Type;
269 * \brief Must return transmission gear position 1-10
271 attribute UInt8 Gear readonly
274 * \brief Must return transmission Mode
276 attribute TransmissionMode Mode readonly
280 interface org.automotive.CruiseControlStatus extends VehiclePropertyType {
283 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false). Depricated. Remove in 0.14. Use "Status"
285 attribute Boolean Activated readonly
288 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
290 attribute UInt16 Speed readonly
293 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false).
295 attribute Boolean Status readonly
299 * Deprecated. Use BrakeOperation. Remove in 0.14
301 interface org.automotive.WheelBrake extends VehiclePropertyType {
304 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
306 attribute Boolean Engaged readonly
309 interface org.automotive.BrakeOperation extends VehiclePropertyType {
311 /*! BrakePedalDepressed
312 * \brief must return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
314 attribute Boolean BrakePedalDepressed readonly
317 interface org.automotive.LightStatus extends VehiclePropertyType {
320 * \brief Must return headlight status: on = true, off = false.
322 attribute Boolean Head
325 * \brief Must return right turn signal status: on = true, off = false.
327 attribute Boolean RightTurn
330 * \brief Must return left turn signal status: on = true, off = false.
332 attribute Boolean LeftTurn
335 * \brief Must return brake signal light status: on = true, off = false.
337 attribute Boolean Brake
340 * \brief Must return fog light status: on = true, off = false.
342 attribute Boolean Fog
345 * \brief Must return hazard light status: on = true, off = false.
347 attribute Boolean Hazard
350 * \brief Must return parking light status: on = true, off = false.
352 attribute Boolean Parking
355 * \brief Must return high beam status: on = true, off = false.
357 attribute Boolean HighBeam
359 /*! AutomaticHeadlights
360 * \brief Must return automatic headlight status: on = true, off = false.
362 attribute Boolean AutomaticHeadlights
365 * \brief Must return dynamic high beam status: on = true, off = false.
367 attribute Boolean DynamicHighBeam
371 interface org.automotive.InteriorLightStatus extends VehiclePropertyType {
374 * \brief Must return passenger interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
376 attribute Boolean Passenger readonly
379 * \brief Must return driver interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
381 attribute Boolean Driver readonly
384 * \brief Must return center interior light status: on = true, off = false. Deprecated. Remove in 0.14. Use status and zone.
386 attribute Boolean Center readonly
389 * \brief Must return interior light status for the zone. on = true, off = false
391 attribute Boolean Status
395 interface org.automotive.Horn extends VehiclePropertyType {
398 * \brief Must return horn status: on = true, off = false
400 attribute Boolean On readonly
404 interface org.automotive.Fuel extends VehiclePropertyType {
407 * \brief Must return fuel level as a percentage of fullness.
409 attribute UInt16 Level readonly
412 * \brief Must return estimated fuel range in meters.
414 attribute UInt32 Range readonly
416 /*! InstantConsumption
417 * \brief Must return instant fuel consumption in per distance travelled (Unit: milliliters per 100 kilometers).
419 attribute UInt32 InstantConsumption readonly
422 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
424 attribute UInt16 InstantEconomy readonly
427 * \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'
429 attribute UInt16 AverageEconomy;
431 /*! AverageConsumption
432 * \brief 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'
434 attribute UInt32 AverageConsumption;
436 /*! FuelConsumedSinceRestart
437 * \brief must return fuel consumed since engine start; (Unit: milliliters per 100 kilometers) resets to 0 each restart
439 attribute UInt32 FuelConsumedSinceRestart readonly;
442 * \brief must return time elapsed since vehicle restart (Unit: seconds)
444 attribute UInt32 TimeSinceRestart readonly;
448 interface org.automotive.EngineOil extends VehiclePropertyType {
451 * \brief Must return remaining engine oil as percentage of fullness. Deprecated. Remove in 0.14. Use "Level"
453 attribute UInt16 Remaining readonly
456 * \brief Must return Engine Oil Temperature in Celcius.
458 attribute long Temperature readonly
461 * \brief Must return Engine Oil Pressure in kPa.
463 attribute UInt16 Pressure readonly
466 * \brief Must return engine oil level (Unit: percentage, 0%: empty, 100%: full
468 attribute UInt16 Level readonly
471 * \brief Must return engine oil change indicator status: change oil (true) or no change (false)
473 attribute boolean Change readonly
476 * \brief Must return engine oil change indicator status: change oil (true) or no change (false)
478 attribute boolean LifeRemaining readonly
483 interface org.automotive.Location extends VehiclePropertyType {
486 * \brief Must return latitude in Deg.Min (-180, +180)
488 attribute Double Latitude readonly
491 * \brief Must return longitude in Deg.Min (-90, +90)
493 attribute Double Longitude readonly
496 * \brief Must return altitude in meters above sea-level (0).
498 attribute Double Altitude readonly
501 * \brief Must return direction in Degrees (0-360)
503 attribute UInt16 Direction readonly
507 interface org.automotive.ExteriorBrightness extends VehiclePropertyType {
509 /*! ExteriorBrightness
510 * \brief Must return the brightness outside the vehicle in lux.
512 attribute UInt16 ExteriorBrightness readonly
516 interface org.automotive.Temperature extends VehiclePropertyType {
519 * \brief Must return the temperature of the interior of the vehicle in celcius.
521 /// Deprecated. Use InteriorTemperature. Remove in 0.14
522 attribute signed short Interior readonly
525 * \brief Must return the temperature of the exterior of the vehicle in celcius.
527 /// Deprecated. Use ExteriorTemperature. Remove in 0.14
528 attribute signed short Exterior readonly
531 * \brief Must return the temperature of the interior of the vehicle in celcius.
533 attribute signed short InteriorTemperature readonly
536 * \brief Must return the temperature of the exterior of the vehicle in celcius.
538 attribute signed short ExteriorTemperature readonly
542 interface org.automotive.RainSensor extends VehiclePropertyType {
545 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
547 attribute UInt16 RainSensor readonly
551 interface org.automotive.WindshieldWiper extends VehiclePropertyType {
552 const UInt16 WIPERSPEED_OFF = 0;
553 const UInt16 WIPERSPEED_SLOWEST= 1;
554 const UInt16 WIPERSPEED_FASTEST = 5;
555 const UInt16 WIPERSPEED_AUTO = 10;
558 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
560 attribute UInt16 WindshieldWiper readonly
563 /*! Deprecated. Use ClimateControl interface. Remove in 0.14
565 interface org.automotive.HVAC extends VehiclePropertyType {
566 const UInt16 AIRFLOWDIRECTION_FRONTPANEL = 0;
567 const UInt16 AIRFLOWDIRECTION_FLOORDUCT= 1;
568 const UInt16 AIRFLOWDIRECTION_FRONT = 0x02;
569 const UInt16 AIRFLOWDIRECTION_DEFROSTER = 0x04;
572 * \brief Must return airflow direction. See
574 attribute UInt16 AirflowDirection;
577 * \brief Must return speed of the fan (0-7)
579 attribute UInt16 FanSpeed;
581 /*! TargetTemperature
582 * \brief Must return target desired temperature in celcius.
584 attribute UInt16 TargetTemperature;
587 * \brief Must return air conditioning on (true) / off (false).
589 attribute Boolean AirConditioning;
592 * \brief Must return air recirculation on (true) / off (false).
594 attribute Boolean AirRecirculation;
597 * \brief Must return heater on (true) / off (false).
599 attribute Boolean Heater;
601 /*! SteeringWheelHeater
602 * \brief Must return air recirculation on (true) / off (false).
604 attribute Boolean SteeringWheelHeater;
607 * \brief Must return seat heater status: 0-100%.
609 attribute UInt16 SeatHeater;
612 * \brief Must return seat heater status: on (true) / off (false).
614 attribute Boolean SeatCooler;
617 enumeration AirflowDirectionType
619 frontpanel = "frontpanel",
620 floorduct = "floorduct",
622 defrostfloor = "defrostfloor"
625 interface org.automotive.ClimateControl extends VehiclePropertyType {
627 * \brief Must return current status of the direction of the air flow through the ventilation system
629 attribute AirflowDirectionType AirflowDirection;
632 * \brief Must return seat heater status: on (true) / off (false).
634 attribute UInt8 FanSpeedLevel;
636 /*! TargetTemperature
637 * \brief Must return current setting of the desired temperature (Unit: celsius)
639 attribute Int8 TargetTemperature;
642 * \brief Must return current status of the air conditioning system: on (true) or off (false)
644 attribute Boolean AirConditioning;
647 * \brief Must return current status of the heating system: on (true) or off (false)
649 attribute Boolean Heater;
652 * \brief Must return current status of the seat warmer ( 0: off, 1: least warm, 10: warmest )
654 attribute UInt8 SeatHeater;
657 * \brief Must return current status of the seat ventilation ( 0: off, 1: least warm, 10: warmest )
659 attribute UInt8 SeatCooler;
662 * \brief Must return current setting of air recirculation: on (true) or pulling in outside air (false).
664 attribute Boolean AirRecirculation;
666 /*! SteeringWheelHeater
667 * \brief Must return current status of steering wheel heater ( 0: off, 1: least warm, 10: warmest ).
669 attribute UInt8 SteeringWheelHeater;
672 interface org.automotive.WindowStatus extends VehiclePropertyType {
675 * \brief Must return window openness percentage (100% fully open, 0% fully closed)
676 * for the window location see "zone" attribute
678 attribute UInt16 Openness;
681 * \brief Must return the defroster status of the window. On = true, Off = false.
682 * Deprecated. Use Defrost interface. Remove in 0.14.
684 attribute Boolean Defrost;
687 interface org.automotive.Defrost extends VehiclePropertyType {
690 * \brief Must return current status of the defrost switch for mirrors. It can be
691 * used to send user's request for changing setting.
693 attribute Boolean DefrostWindow;
696 * \brief Must return current status of the defrost switch for window. It can be
697 * used to send user's request for changing setting.
699 attribute Boolean DefrostMirrors;
702 interface org.automotive.Sunroof extends VehiclePropertyType {
705 * \brief Must return window status for sunroof openness percentage.
707 attribute UInt16 Openness;
710 * \brief Must return tilt status for sunroof percentage.
712 attribute UInt16 Tilt;
716 interface org.automotive.ConvertibleRoof extends VehiclePropertyType {
719 * \brief Must return convertible roof openness percentage.
721 attribute UInt16 Openness;
725 interface org.automotive.VehicleId extends VehiclePropertyType {
728 * \brief MUST return World Manufacturer Identifier (WMI)
729 * WMI is defined by SAE ISO 3780:2009. 3 characters.
731 attribute String WMI readonly
734 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
736 attribute String VIN readonly
740 interface org.automotive.Size extends VehiclePropertyType {
743 * \brief MUST return width of vehicle in mm
745 attribute UInt16 Width readonly
748 * \brief MUST return height of vehicle in mm
750 attribute UInt16 Height readonly
753 * \brief MUST return length of vehicle in mm
755 attribute UInt16 Length readonly
759 interface org.automotive.FuelInfo extends VehiclePropertyType {
760 const UInt16 FUELTYPE_GASOLINE = 0;
761 const UInt16 FUELTYPE_HIGH_OCTANE= 1;
762 const UInt16 FUELTYPE_DIESEL = 2;
763 const UInt16 FUELTYPE_ELECTRIC = 3;
764 const UInt16 FUELTYPE_HYDROGEN = 4;
765 const UInt16 REFUELPOSITION_LEFT = 0;
766 const UInt16 REFUELPOSITION_RIGHT= 1;
767 const UInt16 REFUELPOSITION_FRONT = 2;
768 const UInt16 REFUELPOSITION_REAR = 3;
771 * \brief MUST return type of fuel. integer 0-4 (see
773 attribute UInt16 Type readonly
776 * \brief MUST return position of refuling (see
778 attribute UInt16 RefuelPosition readonly
782 interface org.automotive.VehicleType extends VehiclePropertyType {
783 const UInt16 VEHICLETYPE_SEDAN = 0;
784 const UInt16 VEHICLETYPE_COUPE= 1;
785 const UInt16 VEHICLETYPE_CABRIOLE = 2;
786 const UInt16 VEHICLETYPE_ROADSTER = 3;
787 const UInt16 VEHICLETYPE_SUV = 4;
788 const UInt16 VEHICLETYPE_TRUCK = 5;
791 * \brief MUST return type of Vehicle. Integer 0-5 (see
793 attribute UInt16 Type readonly
797 interface org.automotive.Doors extends VehiclePropertyType {
800 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
801 * represents the first row, '1' the second row etc.
802 * Example a common mini-van may have Doors[0] = 2 doors,
803 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
805 attribute Array<UInt16> DoorsPerRow readonly
809 interface org.automotive.WheelInformation extends VehiclePropertyType {
812 * \brief MUST return Radius of Front Wheel(s) in mm.
814 attribute UInt16 FrontWheelRadius readonly
817 * \brief MUST return Radius of Rear Wheel(s) in mm.
819 attribute UInt16 RearWheelRadius readonly
822 * \brief MUST return Wheel Track in mm.
824 attribute UInt16 WheelTrack readonly
827 * \brief MUST return Antilock Brake System status: on = true, off = false.
829 attribute Boolean ABS readonly
833 interface org.automotive.Odometer extends VehiclePropertyType {
836 * \brief MUST return Distance traveled in km
838 /// Deprecated. Use DistanceTotal. Remove in 0.14
839 attribute UInt32 Odometer readonly
842 * \brief MUST return Distance traveled in m
844 attribute UInt32 DistanceTotal readonly
846 /*! DistanceSinceStart
847 * \brief MUST return Distance traveled since start in m
849 attribute UInt32 DistanceSinceStart readonly
854 interface org.automotive.Fluid extends VehiclePropertyType {
857 * \brief MUST return Transmission fluid level percentage. 0-100.
859 attribute UInt16 Transmission readonly
862 * \brief MUST return Brake fluid level percentage. 0-100.
864 attribute UInt16 Brake readonly
867 * \brief MUST return Washer fluid level percentage. 0-100.
869 attribute UInt16 Washer readonly
872 /// Deprecated. Use BatteryStatus. Remove in 0.14
873 interface org.automotive.Battery extends VehiclePropertyType {
876 * \brief MUST return battery voltage.
878 attribute Double Voltage readonly
881 * \brief MUST return battery current in Amperes
883 attribute Double Current readonly
886 interface org.automotive.BatteryStatus extends VehiclePropertyType {
889 * \brief MUST return battery voltage.
891 attribute UInt8 Voltage readonly
894 * \brief MUST return battery current in Amperes
896 attribute UInt8 Current readonly
899 * \brief MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full).
901 attribute UInt8 ChargeLevel readonly
905 interface org.automotive.Tire extends VehiclePropertyType {
908 * \brief MUST return tire pressure in kPa.
910 attribute UInt16 Pressure readonly
913 * \brief MUST return left front tire temperature in Celcius.
915 attribute Int16 Temperature readonly
918 * \brief MUST return true if any tire pressure is low: pressure low (true), pressure not low (false).
920 attribute Boolean PressureLow readonly
924 interface org.automotive.SecurityAlert extends VehiclePropertyType {
929 attribute Boolean SecurityAlert readonly
932 /// Deprecated. Use LightStatus. remove in 0.14
933 interface org.automotive.ParkingBrake extends VehiclePropertyType {
936 * must return status of parking brake: Engaged = true, Disengaged = false.
938 attribute Boolean ParkingBrake readonly
941 /// Deprecated. Use LightStatus. remove in 0.14
942 interface org.automotive.ParkingLight extends VehiclePropertyType {
945 * must return status of parking light: Engaged = true, Disengaged = false.
947 attribute Boolean ParkingLight readonly
950 /// Deprecated. Use LightStatus. remove in 0.14
951 interface org.automotive.HazardLight extends VehiclePropertyType {
954 * must return status of hazard light: Engaged = true, Disengaged = false.
956 attribute Boolean HazardLight readonly
960 interface org.automotive.AntilockBrakingSystem extends VehiclePropertyType {
962 /*! AntilockBrakingSystem
963 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
965 attribute Boolean AntilockBrakingSystem readonly
969 interface org.automotive.TractionControlSystem extends VehiclePropertyType {
971 /*! TractionControlSystem
972 * \brief MUST return whether Traction Control System is Off (false) or On (true)
974 attribute Boolean TractionControlSystem readonly
978 interface org.automotive.VehicleTopSpeedLimit extends VehiclePropertyType {
980 /*! VehicleTopSpeedLimit
981 * \brief MUST returns top rated speed in km/h. 0 = no limit
983 attribute UInt16 VehicleTopSpeedLimit readonly
987 interface org.automotive.AirbagStatus extends VehiclePropertyType {
989 const UInt16 AIRBAGSTATUS_INACTIVE = 0;
990 const UInt16 AIRBAGSTATUS_ACTIVE = 1;
991 const UInt16 AIRBAGSTATUS_DEPLOYED = 2;
994 * \brief MUST returns Airbag status (byte) (see AIRBAGSTATUS_*)
996 attribute UInt16 AirbagStatus readonly
999 enumeration AirbagStatus {
1006 * Deprecated. Use "Door". Remove in 0.14
1008 interface org.automotive.DoorStatus extends VehiclePropertyType {
1013 * \brief MUST returns Door status (byte).
1018 attribute UInt16 DoorStatus readonly
1021 * \brief MUST returns Door status (bool locked = true, unlocked = false).
1023 attribute Boolean DoorLockStatus;
1026 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
1027 * Setting this to 'true' will prevent the rear doors from being opened
1030 attribute Boolean ChildLockStatus;
1033 enumeration DoorStatus {
1039 interface org.automotive.Door extends VehiclePropertyType {
1042 * \brief MUST returns Door status (byte). See DOORSTATUS_*
1044 attribute DoorStatus Status readonly
1047 * \brief MUST returns Door status (bool locked = true, unlocked = false).
1049 attribute Boolean Lock;
1052 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
1053 * Setting this to 'true' will prevent the rear doors from being opened
1056 attribute Boolean ChildLock;
1060 interface org.automotive.SeatBelt extends VehiclePropertyType {
1063 * \brief MUST return Seat Belt Status (bool: Fasten = true, Unfastened = false)
1065 attribute Boolean Status readonly
1069 interface org.automotive.OccupantStatus extends VehiclePropertyType {
1072 * \brief MUST returns status of Occupant (byte, see
1074 attribute UInt16 OccupantStatus readonly
1078 interface org.automotive.ObstacleDistance extends VehiclePropertyType {
1080 /*! ObstacleDistance
1081 * \brief MUST returns Distance Sensor distance (Double) in m.
1083 attribute Double ObstacleDistance readonly
1087 interface org.automotive.NightMode extends VehiclePropertyType {
1090 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1091 * Deprecated. Will be removed in 0.14. Use "Mode"
1093 attribute Boolean NightMode readonly
1096 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
1098 attribute Boolean Mode readonly
1102 interface org.automotive.DrivingMode extends VehiclePropertyType {
1105 * \brief MUST return whether or not the system is in DrivingMode or not. 1 = Driving, 0 = Not Driving
1107 attribute UInt16 DrivingMode readonly
1110 * \brief must return true if vehicle is in driving mode
1112 attribute Boolean Mode readonly
1116 interface org.automotive.KeyId extends VehiclePropertyType {
1119 * \brief MUST return
1121 attribute String KeyId readonly
1124 interface org.automotive.Language extends VehiclePropertyType {
1127 * \brief MUST return
1129 attribute String Language readonly
1133 interface org.automotive.MeasurementSystem extends VehiclePropertyType {
1136 * \brief MUST return 0 = Metric, 1 = ImperialUS, 2 = ImperialUK
1138 attribute UInt16 MeasurementSystem readonly
1142 interface org.automotive.MirrorSetting extends VehiclePropertyType {
1145 * \brief MUST return
1147 attribute UInt16 Pan readonly
1148 attribute UInt16 Tilt readonly
1152 interface org.automotive.SeatPosition extends VehiclePropertyType {
1155 * \brief MUST return
1157 attribute UInt16 Recline readonly
1160 * \brief MUST return
1162 attribute UInt16 Slide readonly
1165 * \brief MUST return
1167 attribute UInt16 CushionHeight readonly
1170 * \brief MUST return
1172 attribute UInt16 Headrest readonly
1175 * \brief MUST return
1177 attribute UInt16 BackCushion readonly
1180 * \brief MUST return
1182 attribute UInt16 SideCushion readonly
1186 interface org.automotive.SteeringWheelPosition extends VehiclePropertyType {
1189 * \brief MUST return
1191 attribute UInt16 Tilt readonly
1194 * \brief MUST return
1196 attribute UInt16 Slide readonly
1200 interface org.automotive.DashboardIllumination extends VehiclePropertyType {
1203 * \brief MUST return
1205 attribute UInt16 DashboardIllumination readonly
1209 interface org.automotive.GeneratedVehicleSoundMode extends VehiclePropertyType {
1212 * \brief MUST return Sound Mode: 0 = Normal, 1 = Quiet, 2 = Sportive
1214 attribute UInt16 GeneratedVehicleSoundMode readonly
1218 /*! SteeringWheelAngle
1220 * Deprecated. Use SteeringWheel
1222 interface org.automotive.SteeringWheelAngle extends VehiclePropertyType {
1225 * \brief MUST return angle of the steering wheel. 0-359 degrees.
1227 attribute UInt16 SteeringWheelAngle readonly
1230 interface org.automotive.SteeringWheel extends VehiclePropertyType {
1233 * \brief MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right)
1235 attribute Int16 Angle readonly
1239 interface org.automotive.ButtoneEvent extends VehiclePropertyType {
1242 * \brief MUST return button event:
1245 * SkipButton = 1 << 1,
1246 * PrevButton = 1 << 2,
1247 * PauseButton = 1 << 3,
1248 * Preset1Button = 1 << 4,
1249 * Preset2Button = 1 << 5,
1250 * Preset3Button = 1 << 6,
1251 * Preset4Button = 1 << 7,
1252 * StopButton = 1 << 8,
1253 * NavigateUpButton = 1 << 9,
1254 * NavigateDownButton = 1 << 10,
1255 * NavigateLeftButton = 1 << 11,
1256 * NavigateRightButton = 1 << 12
1258 attribute UInt32 ButtonEvent readonly
1262 interface org.automotive.DriverId extends VehiclePropertyType {
1265 * \brief MUST return driver ID. Driver Id is an abstract and can be determined
1266 * from multiple sources including bluetooth, key, key fob, etc.
1268 attribute String DriverId readonly
1271 interface org.automotive.ThrottlePosition extends VehiclePropertyType {
1274 * \brief MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open)
1276 attribute Uint8 Value readonly
1279 interface org.automotive.EngineCoolant extends VehiclePropertyType {
1282 * \brief MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full)
1284 attribute Uint16 Level readonly
1287 * \brief MUST return engine coolant temperature (Unit: celcius)
1289 attribute Int16 Temperature readonly
1292 interface org.automotive.PowertrainTorque extends VehiclePropertyType {
1295 * \brief must return powertrain torque (Unit: newton meters)
1297 attribute UInt16 Value readonly
1300 interface org.automotive.AcceleratorPedalPosition extends VehiclePropertyType {
1303 * \brief must return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed)
1305 attribute UInt8 Value readonly
1308 interface org.automotive.WheelTick extends VehiclePropertyType {
1311 * \brief must return number of ticks per second (Unit: ticks per second)
1313 attribute UInt8 Value readonly
1316 interface IgnitionTime : VehicleCommonDataType {
1318 * \brief must return time at ignition on
1320 attribute UInt64 ignitionOnTime readonly
1323 * \brief must return time at ignition off
1325 attribute UInt64 ignitionOffTime readonly
1328 interface org.automotive.YawRate extends VehiclePropertyType {
1331 * \brief must return yaw rate of vehicle. (Unit: degrees per second)
1333 attribute Int16 Value readonly
1336 interface org.automotive.BrakeOperation extends VehiclePropertyType {
1339 * \brief must return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed
1341 attribute Boolean BrakePedalDepressed readonly
1349 end_call = "end_call",
1350 media_play = "media_play",
1351 media_next = "media_next",
1352 media_previous = "media_previous",
1353 media_pause = "media_pause",
1354 voice_recognize = "voice_recognize",
1362 enum ButtonEventType {
1364 long_press = "long_press",
1368 interface VehicleButton {
1370 * \brief must return the button corresponding to the event.
1372 attribute Button button readonly;
1375 * \brief must return the type of event
1377 attribute ButtonEventType state readonly;
1380 interface org.automotive.ButtonEvent extends VehiclePropertyType {
1383 * \brief must return the button events that occured. This supports multiple simultanious button events.
1385 attribute array Button of VehicleButton readonly;
1388 interface org.automotive.TransmissionOil extends VehiclePropertyType {
1391 * \brief must return current temperature of the transmission oil(Unit: celsius).
1393 attribute Int8 Temperature readonly;
1396 * \brief must return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn).
1398 attribute UInt8 Wear readonly
1401 interface org.automotive.TransmissionClutch extends VehiclePropertyType {
1404 * \brief must return transmission clutch wear (Unit: percentage, 0: no wear, 100: completely worn).
1406 attribute UInt8 Wear readonly