/*! amb.idl * /brief This document describes the DBus interfaces and data types for the * Automotive Message Broker API. The data types are intended to as-close-as- * possible be compatible with the W3C vehicle DoorsPerRow readonly } interface org.automotive.WheelInformation extends VehiclePropertyType { /*! FrontWheelRadius * \brief MUST return Radius of Front Wheel(s) in mm. */ attribute UInt16 FrontWheelRadius readonly /*! RearWheelRadius * \brief MUST return Radius of Rear Wheel(s) in mm. */ attribute UInt16 RearWheelRadius readonly /*! WheelTrack * \brief MUST return Wheel Track in mm. */ attribute UInt16 WheelTrack readonly /*! ABS * \brief MUST return Antilock Brake System status: on = true, off = false. */ attribute Boolean ABS readonly } interface org.automotive.Odometer extends VehiclePropertyType { /*! Odometer * \brief MUST return Distance traveled in km */ /// Deprecated. Use DistanceTotal. Remove in 0.14 attribute UInt32 Odometer readonly /*! DistnaceTotal * \brief MUST return Distance traveled in m */ attribute UInt32 DistanceTotal readonly /*! DistanceSinceStart * \brief MUST return Distance traveled since start in m */ attribute UInt32 DistanceSinceStart readonly } interface org.automotive.Fluid extends VehiclePropertyType { /*! Transmission * \brief MUST return Transmission fluid level percentage. 0-100. */ attribute UInt16 Transmission readonly /*! Brake * \brief MUST return Brake fluid level percentage. 0-100. */ attribute UInt16 Brake readonly /*! Washer * \brief MUST return Washer fluid level percentage. 0-100. */ attribute UInt16 Washer readonly } /// Deprecated. Use BatteryStatus. Remove in 0.14 interface org.automotive.Battery extends VehiclePropertyType { /*! Voltage * \brief MUST return battery voltage. */ attribute Double Voltage readonly /*! Current * \brief MUST return battery current in Amperes */ attribute Double Current readonly } interface org.automotive.BatteryStatus extends VehiclePropertyType { /*! Voltage * \brief MUST return battery voltage. */ attribute UInt8 Voltage readonly /*! Current * \brief MUST return battery current in Amperes */ attribute UInt8 Current readonly /*! ChargeLevel * \brief MUST return battery charge level (Unit: percentage, 0%: empty, 100%: full). */ attribute UInt8 ChargeLevel readonly } interface org.automotive.Tire extends VehiclePropertyType { /*! Pressure * \brief MUST return tire pressure in kPa. */ attribute UInt16 Pressure readonly /*! Temperature * \brief MUST return left front tire temperature in Celcius. */ attribute Int16 Temperature readonly /*! Temperature * \brief MUST return true if any tire pressure is low: pressure low (true), pressure not low (false). */ attribute Boolean PressureLow readonly } interface org.automotive.SecurityAlert extends VehiclePropertyType { /*! SecurityAlert * \brief MUST return */ attribute Boolean SecurityAlert readonly } /// Deprecated. Use LightStatus. remove in 0.14 interface org.automotive.ParkingBrake extends VehiclePropertyType { /*! ParkingBrake * must return status of parking brake: Engaged = true, Disengaged = false. */ attribute Boolean ParkingBrake readonly } /// Deprecated. Use LightStatus. remove in 0.14 interface org.automotive.ParkingLight extends VehiclePropertyType { /*! ParkingLight * must return status of parking light: Engaged = true, Disengaged = false. */ attribute Boolean ParkingLight readonly } /// Deprecated. Use LightStatus. remove in 0.14 interface org.automotive.HazardLight extends VehiclePropertyType { /*! HazardLight * must return status of hazard light: Engaged = true, Disengaged = false. */ attribute Boolean HazardLight readonly } interface org.automotive.AntilockBrakingSystem extends VehiclePropertyType { /*! AntilockBrakingSystem * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true) */ attribute Boolean AntilockBrakingSystem readonly } interface org.automotive.TractionControlSystem extends VehiclePropertyType { /*! TractionControlSystem * \brief MUST return whether Traction Control System is Off (false) or On (true) */ attribute Boolean TractionControlSystem readonly } interface org.automotive.VehicleTopSpeedLimit extends VehiclePropertyType { /*! VehicleTopSpeedLimit * \brief MUST returns top rated speed in km/h. 0 = no limit */ attribute UInt16 VehicleTopSpeedLimit readonly } interface org.automotive.AirbagStatus extends VehiclePropertyType { const UInt16 AIRBAGSTATUS_INACTIVE = 0; const UInt16 AIRBAGSTATUS_ACTIVE = 1; const UInt16 AIRBAGSTATUS_DEPLOYED = 2; /*! AirbagStatus * \brief MUST returns Airbag status (byte) (see AIRBAGSTATUS_*) */ attribute UInt16 AirbagStatus readonly } enumeration AirbagStatus { inactive = 0, active = 1, deployed = 2 } /*! * Deprecated. Use "Door". Remove in 0.14 */ interface org.automotive.DoorStatus extends VehiclePropertyType { /*! DoorStatus * \brief MUST returns Door status (byte). * CLOSED = 0 * OPEN = 1 * AJAR = 2 */ attribute UInt16 DoorStatus readonly /*! DoorLockStatus * \brief MUST returns Door status (bool locked = true, unlocked = false). */ attribute Boolean DoorLockStatus; /*! ChildLockStatus * \brief MUST returns Child lock status of rear doors. active = true, inactive = false. * Setting this to 'true' will prevent the rear doors from being opened * from the inside. */ attribute Boolean ChildLockStatus; } enumeration DoorStatus { open = "open", ajar = "ajar", closed = "closed" } interface org.automotive.Door extends VehiclePropertyType { /*! Status * \brief MUST returns Door status (byte). See DOORSTATUS_* */ attribute DoorStatus Status readonly /*! Lock * \brief MUST returns Door status (bool locked = true, unlocked = false). */ attribute Boolean Lock; /*! ChildLock * \brief MUST returns Child lock status of rear doors. active = true, inactive = false. * Setting this to 'true' will prevent the rear doors from being opened * from the inside. */ attribute Boolean ChildLock; } interface org.automotive.SeatBelt extends VehiclePropertyType { /*! Status * \brief MUST return Seat Belt Status (bool: Fasten = true, Unfastened = false) */ attribute Boolean Status readonly } interface org.automotive.OccupantStatus extends VehiclePropertyType { /*! OccupantStatus * \brief MUST returns status of Occupant (byte, see */ attribute UInt16 OccupantStatus readonly } interface org.automotive.ObstacleDistance extends VehiclePropertyType { /*! ObstacleDistance * \brief MUST returns Distance Sensor distance (Double) in m. */ attribute Double ObstacleDistance readonly } interface org.automotive.NightMode extends VehiclePropertyType { /*! * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time * Deprecated. Will be removed in 0.14. Use "Mode" */ attribute Boolean NightMode readonly /*! * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time */ attribute Boolean Mode readonly } interface org.automotive.DrivingMode extends VehiclePropertyType { /*! * \brief MUST return whether or not the system is in DrivingMode or not. 1 = Driving, 0 = Not Driving */ attribute UInt16 DrivingMode readonly /*! * \brief must return true if vehicle is in driving mode */ attribute Boolean Mode readonly } interface org.automotive.KeyId extends VehiclePropertyType { /*! * \brief MUST return */ attribute String KeyId readonly } interface org.automotive.Language extends VehiclePropertyType { /*! * \brief MUST return */ attribute String Language readonly } interface org.automotive.MeasurementSystem extends VehiclePropertyType { /*! * \brief MUST return 0 = Metric, 1 = ImperialUS, 2 = ImperialUK */ attribute UInt16 MeasurementSystem readonly } interface org.automotive.MirrorSetting extends VehiclePropertyType { /*! * \brief MUST return */ attribute UInt16 Pan readonly attribute UInt16 Tilt readonly } interface org.automotive.SeatPosition extends VehiclePropertyType { /*! * \brief MUST return */ attribute UInt16 Recline readonly /*! * \brief MUST return */ attribute UInt16 Slide readonly /*! * \brief MUST return */ attribute UInt16 CushionHeight readonly /*! * \brief MUST return */ attribute UInt16 Headrest readonly /*! * \brief MUST return */ attribute UInt16 BackCushion readonly /*! * \brief MUST return */ attribute UInt16 SideCushion readonly } interface org.automotive.SteeringWheelPosition extends VehiclePropertyType { /*! * \brief MUST return */ attribute UInt16 Tilt readonly /*! * \brief MUST return */ attribute UInt16 Slide readonly } interface org.automotive.DashboardIllumination extends VehiclePropertyType { /*! * \brief MUST return */ attribute UInt16 DashboardIllumination readonly } interface org.automotive.GeneratedVehicleSoundMode extends VehiclePropertyType { /*! * \brief MUST return Sound Mode: 0 = Normal, 1 = Quiet, 2 = Sportive */ attribute UInt16 GeneratedVehicleSoundMode readonly } /*! SteeringWheelAngle *\brief * Deprecated. Use SteeringWheel */ interface org.automotive.SteeringWheelAngle extends VehiclePropertyType { /*! * \brief MUST return angle of the steering wheel. 0-359 degrees. */ attribute UInt16 SteeringWheelAngle readonly } interface org.automotive.SteeringWheel extends VehiclePropertyType { /*! * \brief MUST return angle of steering wheel off centerline (Unit: degrees -:degrees to the left, +:degrees to the right) */ attribute Int16 Angle readonly } interface org.automotive.ButtoneEvent extends VehiclePropertyType { /*! * \brief MUST return button event: * NoButton =0 * PlayButton = 1, * SkipButton = 1 << 1, * PrevButton = 1 << 2, * PauseButton = 1 << 3, * Preset1Button = 1 << 4, * Preset2Button = 1 << 5, * Preset3Button = 1 << 6, * Preset4Button = 1 << 7, * StopButton = 1 << 8, * NavigateUpButton = 1 << 9, * NavigateDownButton = 1 << 10, * NavigateLeftButton = 1 << 11, * NavigateRightButton = 1 << 12 */ attribute UInt32 ButtonEvent readonly } interface org.automotive.DriverId extends VehiclePropertyType { /*! * \brief MUST return driver ID. Driver Id is an abstract and can be determined * from multiple sources including bluetooth, key, key fob, etc. */ attribute String DriverId readonly } interface org.automotive.ThrottlePosition extends VehiclePropertyType { /*! * \brief MUST return throttle position as a percentage (Unit: percentage, 0%: closed, 100%: fully open) */ attribute Uint8 Value readonly } interface org.automotive.EngineCoolant extends VehiclePropertyType { /*! * \brief MUST return engine coolant level (Unit: percentage 0%: empty, 100%: full) */ attribute Uint16 Level readonly /*! * \brief MUST return engine coolant temperature (Unit: celcius) */ attribute Int16 Temperature readonly } interface org.automotive.PowertrainTorque extends VehiclePropertyType { /*! * \brief must return powertrain torque (Unit: newton meters) */ attribute UInt16 Value readonly } interface org.automotive.AcceleratorPedalPosition extends VehiclePropertyType { /*! * \brief must return accelerator pedal position as a percentage (Unit: percentage, 0%: released pedal, 100%: fully depressed) */ attribute UInt8 Value readonly } interface org.automotive.WheelTick extends VehiclePropertyType { /*! * \brief must return number of ticks per second (Unit: ticks per second) */ attribute UInt8 Value readonly } interface IgnitionTime : VehicleCommonDataType { /*! * \brief must return time at ignition on */ attribute UInt64 ignitionOnTime readonly /*! * \brief must return time at ignition off */ attribute UInt64 ignitionOffTime readonly }; interface org.automotive.YawRate extends VehiclePropertyType { /*! * \brief must return yaw rate of vehicle. (Unit: degrees per second) */ attribute Int16 Value readonly } interface org.automotive.BrakeOperation extends VehiclePropertyType { /*! * \brief must return whether brake pedal is depressed or not. true: brake pedal is depressed, false: brake pedal is not depressed */ attribute Boolean BrakePedalDepressed readonly } enum Button { home = "home", back = "back", search = "search", call = "call", end_call = "end_call", media_play = "media_play", media_next = "media_next", media_previous = "media_previous", media_pause = "media_pause", voice_recognize = "voice_recognize", enter = "enter", left = "left", right = "right", up = "up", down = "down" } enum ButtonEventType { press = "press", long_press = "long_press", release = "release" }; interface VehicleButton { /*! * \brief must return the button corresponding to the event. */ attribute Button button readonly; /*! * \brief must return the type of event */ attribute ButtonEventType state readonly; } interface org.automotive.ButtonEvent extends VehiclePropertyType { /*! * \brief must return the button events that occured. This supports multiple simultanious button events. */ attribute array Button of VehicleButton readonly; } interface org.automotive.TransmissionOil extends VehiclePropertyType { /*! * \brief must return current temperature of the transmission oil(Unit: celsius). */ attribute Int8 Temperature readonly; /*! * \brief must return transmission oil wear (Unit: percentage, 0: no wear, 100: completely worn). */ attribute UInt8 Wear readonly } interface org.automotive.TransmissionClutch extends VehiclePropertyType { /*! * \brief must return transmission clutch wear (Unit: percentage, 0: no wear, 100: completely worn). */ attribute UInt8 Wear readonly } }