diff options
Diffstat (limited to 'src/components/interfaces/HMI_API.xml')
-rw-r--r-- | src/components/interfaces/HMI_API.xml | 789 |
1 files changed, 755 insertions, 34 deletions
diff --git a/src/components/interfaces/HMI_API.xml b/src/components/interfaces/HMI_API.xml index 0d6d5fad3d..ab3933fc0f 100644 --- a/src/components/interfaces/HMI_API.xml +++ b/src/components/interfaces/HMI_API.xml @@ -1,7 +1,10 @@ <?xml version="1.0" standalone="yes"?> <!-- -* Copyright (c) 2016, Ford Motor Company + * Copyright (c) 2016, Ford Motor Company + * All rights reserved. + * + * Copyright (c) 2017 Xevo Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,7 +37,7 @@ <interfaces name="SmartDeviceLink HMI API"> -<interface name="Common" version="1.6.0" date="2017-04-27"> +<interface name="Common" version="1.7.0" date="2017-10-20"> <enum name="Result"> <element name="SUCCESS" value="0"/> @@ -63,6 +66,7 @@ <element name="USER_DISALLOWED" value="23"/> <element name="TRUNCATED_DATA" value="24"/> <element name="SAVED" value="25"/> + <element name="READ_ONLY" value="26"/> </enum> <enum name="TransportType"> @@ -92,6 +96,27 @@ <element name="PRESET_9"/> <element name="CUSTOM_BUTTON"/> <element name="SEARCH"/> + <!-- Climate Buttons --> + <element name="AC_MAX" /> + <element name="AC" /> + <element name="RECIRCULATE" /> + <element name="FAN_UP" /> + <element name="FAN_DOWN" /> + <element name="TEMP_UP" /> + <element name="TEMP_DOWN" /> + <element name="DEFROST_MAX" /> + <element name="DEFROST" /> + <element name="DEFROST_REAR" /> + <element name="UPPER_VENT" /> + <element name="LOWER_VENT" /> + + <!-- Radio Buttons --> + <element name="VOLUME_UP" /> + <element name="VOLUME_DOWN" /> + <element name="EJECT" /> + <element name="SOURCE" /> + <element name="SHUFFLE" /> + <element name="REPEAT" /> </enum> <enum name="ButtonEventMode"> @@ -200,6 +225,36 @@ <element name="SK-SK" internal_name="SK_SK"> <description>Slovak - Slovakia</description> </element> + <element name="EN-IN" internal_name="EN_IN"> + <description>English - India</description> + </element> + <element name="TH-TH" internal_name="TH_TH"> + <description>Thai - Thailand</description> + </element> + <element name="EN-SA" internal_name="EN_SA"> + <description>English - Middle East</description> + </element> + <element name="HE-IL" internal_name="HE_IL"> + <description>Hebrew - Israel</description> + </element> + <element name="RO-RO" internal_name="RO_RO"> + <description>Romanian - Romania</description> + </element> + <element name="UK-UA" internal_name="UK_UA"> + <description>Ukrainian - Ukraine</description> + </element> + <element name="ID-ID" internal_name="ID_ID"> + <description>Indonesian - Indonesia</description> + </element> + <element name="VI-VN" internal_name="VI_VN"> + <description>Vietnamese - Vietnam</description> + </element> + <element name="MS-MY" internal_name="MS_MY"> + <description>Malay - Malaysia</description> + </element> + <element name="HI-IN" internal_name="HI_IN"> + <description>Hindi - India</description> + </element> </enum> <enum name="SoftButtonType"> @@ -234,6 +289,8 @@ <element name="BACKGROUND_PROCESS" /> <element name="TESTING" /> <element name="SYSTEM" /> + <element name="PROJECTION" /> + <element name="REMOTE_CONTROL" /> </enum> <enum name="WayPointType"> @@ -502,6 +559,45 @@ <element name="turnText"/> </enum> +<enum name="MetadataType"> + <element name="mediaTitle"> + <description>The data in this field contains the title of the currently playing audio track.</description> + </element> + <element name="mediaArtist"> + <description>The data in this field contains the artist or creator of the currently playing audio track.</description> + </element> + <element name="mediaAlbum"> + <description>The data in this field contains the album title of the currently playing audio track.</description> + </element> + <element name="mediaYear"> + <description>The data in this field contains the creation year of the currently playing audio track.</description> + </element> + <element name="mediaGenre"> + <description>The data in this field contains the genre of the currently playing audio track.</description> + </element> + <element name="mediaStation"> + <description>The data in this field contains the name of the current source for the media.</description> + </element> + <element name="rating"> + <description>The data in this field is a rating.</description> + </element> + <element name="currentTemperature"> + <description>The data in this field is the current temperature.</description> + </element> + <element name="maximumTemperature"> + <description>The data in this field is the maximum temperature for the day.</description> + </element> + <element name="minimumTemperature"> + <description>The data in this field is the minimum temperature for the day.</description> + </element> + <element name="weatherTerm"> + <description>The data in this field describes the current weather (ex. cloudy, clear, etc.).</description> + </element> + <element name="humidity"> + <description>The data in this field describes the current humidity value.</description> + </element> +</enum> + <enum name="ImageFieldName"> <element name="softButtonImage"> <description>The image field for SoftButton</description> @@ -824,6 +920,7 @@ <element name="BEGIN"/> <element name="MOVE"/> <element name="END"/> + <element name="CANCEL"/> </enum> <enum name="WarningLightStatus"> @@ -1206,6 +1303,86 @@ <element name="QUEUE" /> </enum> +<enum name="VideoStreamingProtocol"> + <description>Enum for each type of video streaming protocol type.</description> + <element name="RAW"> + <description> + Raw stream bytes that contains no timestamp data and is the lowest supported video streaming + </description> + </element> + <element name="RTP"> + <description> + RTP facilitates the transfer of real-time data. Information provided by this protocol include + timestamps (for synchronization), sequence numbers (for packet loss and reordering detection) + and the payload format which indicates the encoded format of the data. + </description> + </element> + <element name="RTSP"> + <description> + The transmission of streaming data itself is not a task of RTSP. Most RTSP servers use the + Real-time Transport Protocol (RTP) in conjunction with Real-time Control Protocol (RTCP) + for media stream delivery. However, some vendors implement proprietary transport protocols. + </description> + </element> + <element name="RTMP"> + <description> + Real-Time Messaging Protocol (RTMP) was initially a proprietary protocol developed by + Macromedia for streaming audio, video and data over the Internet, between a Flash player + and a server. Macromedia is now owned by Adobe, which has released an incomplete version + of the specification of the protocol for public use. + </description> + </element> + <element name="WEBM"> + <description> + The WebM container is based on a profile of Matroska. WebM initially supported VP8 video and + Vorbis audio streams. In 2013 it was updated to accommodate VP9 video and Opus audio. + </description> + </element> +</enum> + +<enum name="VideoStreamingCodec"> + <description>Enum for each type of video streaming codec.</description> + <element name="H264"> + <description> + A block-oriented motion-compensation-based video compression standard. + As of 2014 it is one of the most commonly used formats for the recording, compression, and + distribution of video content. + </description> + </element> + <element name="H265"> + <description> + High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video + compression standard, one of several potential successors to the widely used AVC (H.264 or + MPEG-4 Part 10). In comparison to AVC, HEVC offers about double the data compression ratio + at the same level of video quality, or substantially improved video quality at the same + bit rate. It supports resolutions up to 8192x4320, including 8K UHD. + </description> + </element> + <element name="Theora"> + <description> + Theora is derived from the formerly proprietary VP3 codec, released into the public domain + by On2 Technologies. It is broadly comparable in design and bitrate efficiency to + MPEG-4 Part 2, early versions of Windows Media Video, and RealVideo while lacking some of + the features present in some of these other codecs. It is comparable in open standards + philosophy to the BBC's Dirac codec. + </description> + </element> + <element name="VP8"> + <description> + VP8 can be multiplexed into the Matroska-based container format WebM along with Vorbis and + Opus audio. The image format WebP is based on VP8's intra-frame coding. VP8's direct + successor, VP9, and the emerging royalty-free internet video format AV1 from the Alliance for + Open Media (AOMedia) are based on VP8. + </description> + </element> + <element name="VP9"> + <description> + Similar to VP8, but VP9 is customized for video resolutions beyond high-definition video (UHD) + and also enables lossless compression. + </description> + </element> +</enum> + <!-- Policies --> <enum name="UpdateResult"> <element name="UP_TO_DATE"/> @@ -1278,17 +1455,299 @@ </struct> <!-- End of Policies --> +<!-- Remote Control --> +<enum name="ModuleType"> + <element name="CLIMATE"/> + <element name="RADIO"/> + </enum> + + <enum name="RadioBand"> + <element name="AM"/> + <element name="FM"/> + <element name="XM"/> + </enum> + + <struct name="RdsData"> + <param name="PS" type="String" minlength="0" maxlength="8" mandatory="false"> + <description>Program Service Name</description> + </param> + <param name="RT" type="String" minlength="0" maxlength="64" mandatory="false"> + <description>Radio Text</description> + </param> + <param name="CT" type="String" minlength="24" maxlength="24" mandatory="false"> + <description>The clock text in UTC format as YYYY-MM-DDThh:mm:ss.sTZD</description> + </param> + <param name="PI" type="String" minlength="0" maxlength="6" mandatory="false"> + <description>Program Identification - the call sign for the radio station</description> + </param> + <param name="PTY" type="Integer" minvalue="0" maxvalue="31" mandatory="false"> + <description>The program type - The region should be used to differentiate between EU and North America program types</description> + </param> + <param name="TP" type="Boolean" mandatory="false"> + <description>Traffic Program Identification - Identifies a station that offers traffic</description> + </param> + <param name="TA" type="Boolean" mandatory="false"> + <description>Traffic Announcement Identification - Indicates an ongoing traffic announcement</description> + </param> + <param name="REG" type="String" mandatory="false"> + <description>Region</description> + </param> + </struct> + + <enum name="RadioState"> + <element name="ACQUIRING"/> + <element name="ACQUIRED"/> + <element name="MULTICAST"/> + <element name="NOT_FOUND"/> + </enum> + + <struct name="RadioControlData"> + <param name="frequencyInteger" type="Integer" minvalue="0" maxvalue="1710" mandatory="false"> + <description>The integer part of the frequency ie for 101.7 this value should be 101</description> + </param> + <param name="frequencyFraction" type="Integer" minvalue="0" maxvalue="9" mandatory="false"> + <description>The fractional part of the frequency for 101.7 is 7</description> + </param> + <param name="band" type="Common.RadioBand" mandatory="false"> + </param> + <param name="rdsData" type="Common.RdsData" mandatory="false"> + </param> + <param name="availableHDs" type="Integer" minvalue="1" maxvalue="3" mandatory="false"> + <description>number of HD sub-channels if available</description> + </param> + <param name="hdChannel" type="Integer" minvalue="1" maxvalue="3" mandatory="false"> + <description>Current HD sub-channel if available</description> + </param> + <param name="signalStrength" type="Integer" minvalue="0" maxvalue="100" mandatory="false"> + </param> + <param name="signalChangeThreshold" type="Integer" minvalue="0" maxvalue="100" mandatory="false"> + <description>If the signal strength falls below the set value for this parameter, the radio will tune to an alternative frequency</description> + </param> + <param name="radioEnable" type="Boolean" mandatory="false"> + <description> True if the radio is on, false is the radio is off</description> + </param> + <param name="state" type="Common.RadioState" mandatory="false"> + </param> + </struct> + + <struct name="RadioControlCapabilities"> + <description>Contains information about a radio control module's capabilities.</description> + <param name="moduleName" type="String" maxlength="100" mandatory="true" > + <description>The short name or a short description of the radio control module.</description> + </param> + <param name="radioEnableAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of enable/disable radio. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="radioBandAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the control of radio band. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="radioFrequencyAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the control of radio frequency. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="hdChannelAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the control of HD radio channel. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="rdsDataAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the getting Radio Data System (RDS) data. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="availableHDsAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the getting the number of available HD channels. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="stateAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the getting the Radio state. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="signalStrengthAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the getting the signal strength. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="signalChangeThresholdAvailable" type="Boolean" mandatory="false" > + <description> + Availability of the getting the signal Change Threshold. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + </struct> + + <enum name="DefrostZone"> + <element name="FRONT"/> + <element name="REAR"/> + <element name="ALL"/> + <element name="NONE"/> + </enum> + + <enum name="VentilationMode"> + <element name="UPPER"/> + <element name="LOWER"/> + <element name="BOTH"/> + <element name="NONE"/> + </enum> + + <enum name="TemperatureUnit"> + <element name="FAHRENHEIT"/> + <element name="CELSIUS"/> + </enum> + + <struct name="Temperature"> + <param name="unit" type="TemperatureUnit" mandatory="true" > + <description>Temperature Unit</description> + </param> + <param name="value" type="Float" mandatory="true" > + <description>Temperature Value in TemperatureUnit specified unit. Range depends on OEM and is not checked by SDL.</description> + </param> + </struct> + + <struct name="ClimateControlData"> + <param name="fanSpeed" type="Integer" minvalue="0" maxvalue="100" mandatory="false"> + </param> + <param name="currentTemperature" type="Common.Temperature" mandatory="false"> + </param> + <param name="desiredTemperature" type="Common.Temperature" mandatory="false"> + </param> + <param name="acEnable" type="Boolean" mandatory="false"> + </param> + <param name="circulateAirEnable" type="Boolean" mandatory="false"> + </param> + <param name="autoModeEnable" type="Boolean" mandatory="false"> + </param> + <param name="defrostZone" type="DefrostZone" mandatory="false"> + </param> + <param name="dualModeEnable" type="Boolean" mandatory="false"> + </param> + <param name="acMaxEnable" type="Boolean" mandatory="false"> + </param> + <param name="ventilationMode" type="Common.VentilationMode" mandatory="false"> + </param> + </struct> + + <struct name="ClimateControlCapabilities"> + <description>Contains information about a climate control module's capabilities.</description> + <param name="moduleName" type="String" maxlength="100" mandatory="true" > + <description>The short name or a short description of the climate control module.</description> + </param> + <param name="currentTemperatureAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the reading of current temperature. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="fanSpeedAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of fan speed. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="desiredTemperatureAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of desired temperature. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="acEnableAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of turn on/off AC. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="acMaxEnableAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of enable/disable air conditioning is ON on the maximum level. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="circulateAirEnableAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of enable/disable circulate Air mode. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="autoModeEnableAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of enable/disable auto mode. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="dualModeEnableAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of enable/disable dual mode. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="defrostZoneAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of defrost zones. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="defrostZone" type="Common.DefrostZone" minsize="1" maxsize="100" array="true" mandatory="false"> + <description> + A set of all defrost zones that are controllable. + </description> + </param> + <param name="ventilationModeAvailable" type="Boolean" mandatory="false"> + <description> + Availability of the control of air ventilation mode. + True: Available, False: Not Available, Not present: Not Available. + </description> + </param> + <param name="ventilationMode" type="Common.VentilationMode" minsize="1" maxsize="100" array="true" mandatory="false"> + <description> + A set of all ventilation modes that are controllable. + </description> + </param> + </struct> + + <struct name="ModuleData"> + <description>The moduleType indicates which type of data should be changed and identifies which data object exists in this struct. For example, if the moduleType is CLIMATE then a "climateControlData" should exist</description> + <param name="moduleType" type="Common.ModuleType" mandatory="true" > + </param> + <param name="radioControlData" type="Common.RadioControlData" mandatory="false"> + </param> + <param name="climateControlData" type="Common.ClimateControlData" mandatory="false"> + </param> + </struct> + +<enum name="RCAccessMode"> + <description>Enumeration that describes possible remote control access mode the application might be in on HU.</description> + <element name="AUTO_ALLOW"/> + <element name="AUTO_DENY"/> + <element name="ASK_DRIVER"/> +</enum> + +<!-- End Remote Control --> <struct name="TextField"> - <param name="name" type="Common.TextFieldName"> + <param name="name" type="Common.TextFieldName" mandatory="true"> <description>The name that identifies the field. See TextFieldName.</description> </param> - <param name="characterSet" type="Common.CharacterSet"> + <param name="characterSet" type="Common.CharacterSet" mandatory="true"> <description>The character set that is supported in this field. See CharacterSet.</description> </param> - <param name="width" type="Integer" minvalue="1" maxvalue="500"> + <param name="width" type="Integer" minvalue="1" maxvalue="500" mandatory="true"> <description>The number of characters in one row of this field.</description> </param> - <param name="rows" type="Integer" minvalue="1" maxvalue="8"> + <param name="rows" type="Integer" minvalue="1" maxvalue="8" mandatory="true"> <description>The number of rows of this field.</description> </param> </struct> @@ -1311,10 +1770,10 @@ <struct name="VehicleDataResult"> <description>Individual published data request result</description> - <param name="dataType" type="Common.VehicleDataType"> + <param name="dataType" type="Common.VehicleDataType" mandatory="true"> <description>Defined published data element type.</description> </param> - <param name="resultCode" type="Common.VehicleDataResultCode"> + <param name="resultCode" type="Common.VehicleDataResultCode" mandatory="true"> <description>Published data result code.</description> </param> </struct> @@ -1569,6 +2028,32 @@ </param> </struct> +<struct name="VideoStreamingFormat"> + <description>Video streaming formats and their specifications.</description> + <param name="protocol" type="Common.VideoStreamingProtocol" mandatory="true"> + <description>Protocol type, see VideoStreamingProtocol</description> + </param> + <param name="codec" type="Common.VideoStreamingCodec" mandatory="true"> + <description>Codec type, see VideoStreamingCodec</description> + </param> +</struct> + +<struct name="VideoConfig"> + <description>Configuration of a video stream.</description> + <param name="protocol" type="Common.VideoStreamingProtocol" mandatory="false"> + <description>The video protocol configuration</description> + </param> + <param name="codec" type="Common.VideoStreamingCodec" mandatory="false"> + <description>The video codec configuration</description> + </param> + <param name="width" type="Integer" mandatory="false"> + <description>Width of the video stream, in pixels.</description> + </param> + <param name="height" type="Integer" mandatory="false"> + <description>Height of the video stream, in pixels.</description> + </param> +</struct> + <struct name="DisplayCapabilities"> <description>Contains information about the display capabilities.</description> <param name="displayType" type="Common.DisplayType" mandatory="true"> @@ -1627,6 +2112,9 @@ <param name="phoneCall" type="Boolean" mandatory="false"> <description>Availability of build in phone. True: Available, False: Not Available</description> </param> + <param name="videoStreaming" type="Boolean" mandatory="false"> + <description>Availability of built-in video streaming. True: Available, False: Not Available</description> + </param> </struct> <struct name="AudioPassThruCapabilities"> @@ -1646,6 +2134,9 @@ <param name="fieldText" type="String" maxlength="500" mandatory="true"> <description>The text itself.</description> </param> + <param name="fieldTypes" type="Common.MetadataType" minsize="0" maxsize="5" array="true" mandatory="false"> + <description>The type of data contained in the field.</description> + </param> </struct> <struct name="KeyboardProperties"> @@ -1924,73 +2415,73 @@ </struct> <struct name="ECallInfo"> - <param name="eCallNotificationStatus" type="Common.VehicleDataNotificationStatus"> + <param name="eCallNotificationStatus" type="Common.VehicleDataNotificationStatus" mandatory="true"> <description>References signal "eCallNotification_4A". See VehicleDataNotificationStatus.</description> </param> - <param name="auxECallNotificationStatus" type="Common.VehicleDataNotificationStatus"> + <param name="auxECallNotificationStatus" type="Common.VehicleDataNotificationStatus" mandatory="true"> <description>References signal "eCallNotification". See VehicleDataNotificationStatus.</description> </param> - <param name="eCallConfirmationStatus" type="Common.ECallConfirmationStatus"> + <param name="eCallConfirmationStatus" type="Common.ECallConfirmationStatus" mandatory="true"> <description>References signal "eCallConfirmation". See ECallConfirmationStatus.</description> </param> </struct> <struct name="AirbagStatus"> - <param name="driverAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="driverAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsDrvBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="driverSideAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="driverSideAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsDrvSideBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="driverCurtainAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="driverCurtainAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsDrvCrtnBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="passengerAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="passengerAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsPasBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="passengerCurtainAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="passengerCurtainAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsPasCrtnBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="driverKneeAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="driverKneeAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsKneeDrvBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="passengerSideAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="passengerSideAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsPasSideBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="passengerKneeAirbagDeployed" type="Common.VehicleDataEventStatus"> + <param name="passengerKneeAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsKneePasBag_D_Ltchd". See VehicleDataEventStatus.</description> </param> </struct> <struct name="EmergencyEvent"> - <param name="emergencyEventType" type="Common.EmergencyEventType"> + <param name="emergencyEventType" type="Common.EmergencyEventType" mandatory="true"> <description>References signal "VedsEvntType_D_Ltchd". See EmergencyEventType.</description> </param> - <param name="fuelCutoffStatus" type="Common.FuelCutoffStatus"> + <param name="fuelCutoffStatus" type="Common.FuelCutoffStatus" mandatory="true"> <description>References signal "RCM_FuelCutoff". See FuelCutoffStatus.</description> </param> - <param name="rolloverEvent" type="Common.VehicleDataEventStatus"> + <param name="rolloverEvent" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsEvntRoll_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="maximumChangeVelocity" type="Common.VehicleDataEventStatus"> + <param name="maximumChangeVelocity" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsMaxDeltaV_D_Ltchd". See VehicleDataEventStatus.</description> </param> - <param name="multipleEvents" type="Common.VehicleDataEventStatus"> + <param name="multipleEvents" type="Common.VehicleDataEventStatus" mandatory="true"> <description>References signal "VedsMultiEvnt_D_Ltchd". See VehicleDataEventStatus.</description> </param> </struct> <struct name="ClusterModeStatus"> - <param name="powerModeActive" type="Boolean"> + <param name="powerModeActive" type="Boolean" mandatory="true"> <description>References signal "PowerMode_UB".</description> </param> - <param name="powerModeQualificationStatus" type="Common.PowerModeQualificationStatus"> + <param name="powerModeQualificationStatus" type="Common.PowerModeQualificationStatus" mandatory="true"> <description>References signal "PowerModeQF". See PowerModeQualificationStatus.</description> </param> - <param name="carModeStatus" type="Common.CarModeStatus"> + <param name="carModeStatus" type="Common.CarModeStatus" mandatory="true"> <description>References signal "CarMode". See CarMode.</description> </param> - <param name="powerModeStatus" type="Common.PowerModeStatus"> + <param name="powerModeStatus" type="Common.PowerModeStatus" mandatory="true"> <description>References signal "PowerMode". See PowerMode.</description> </param> </struct> @@ -2086,9 +2577,92 @@ </param> </struct> + <struct name="NavigationCapability"> + <description>Extended capabilities for an onboard navigation system</description> + <param name="sendLocationEnabled" type="Boolean" mandatory="false"> + <description>If the module has the ability to add locations to the onboard nav</description> + </param> + <param name="getWayPointsEnabled" type="Boolean" mandatory="false"> + <description>If the module has the ability to return way points from onboard nav</description> + </param> + </struct> + + <struct name="PhoneCapability"> + <description>Extended capabilities of the module's phone feature</description> + <param name="dialNumberEnabled" type="Boolean" mandatory="false"> + <description>If the module has the abiulity to perform dial number</description> + </param> + </struct> + + <struct name="VideoStreamingCapability"> + <description>Contains information about this system's video streaming capabilities.</description> + <param name="preferredResolution" type="Common.ImageResolution" mandatory="false"> + <description>The preferred resolution of a video stream for decoding and rendering on HMI.</description> + </param> + <param name="maxBitrate" type="Integer" minvalue="0" maxvalue="2147483647" mandatory="false"> + <description>The maximum bitrate of video stream that is supported, in kbps.</description> + </param> + <param name="supportedFormats" type="Common.VideoStreamingFormat" array="true" mandatory="false"> + <description> + Detailed information on each format supported by this system, in its preferred order + (i.e. the first element in the array is most preferable to the system). + Each object will contain a VideoStreamingFormat that describes what can be expected. + </description> + </param> + <param name="hapticSpatialDataSupported" type="Boolean" mandatory="false"> + <description>True if the system can utilize the haptic spatial data from the source being streamed. </description> + </param> + </struct> + + <struct name="SystemCapabilities"> + <param name="navigationCapability" type="NavigationCapability" mandatory="false"> + </param> + <param name="phoneCapability" type="PhoneCapability" mandatory="false"> + </param> + <param name="videoStreamingCapability" type="VideoStreamingCapability" mandatory="false"> + </param> + </struct> + + <struct name="RemoteControlCapabilities"> + <param name="climateControlCapabilities" type="ClimateControlCapabilities" mandatory="false" minsize="1" maxsize="100" array="true"> + <description>If included, the platform supports RC climate controls. For this baseline version, maxsize=1. i.e. only one climate control module is supported.</description > + </param> + <param name="radioControlCapabilities" type="RadioControlCapabilities" mandatory="false" minsize="1" maxsize="100" array="true"> + <description>If included, the platform supports RC radio controls. For this baseline version, maxsize=1. i.e. only one climate control module is supported.</description > + </param> + <param name="buttonCapabilities" type="ButtonCapabilities" mandatory="false" minsize="1" maxsize="100" array="true" > + <description>If included, the platform supports RC button controls with the included button names.</description > + </param> + </struct> + + <struct name="Rectangle"> + <param name="x" type="Float" mandatory="true"> + <description>The X-coordinate of the user control</description> + </param> + <param name="y" type="Float" mandatory="true"> + <description>The Y-coordinate of the user control</description> + </param> + <param name="width" type="Float" mandatory="true"> + <description>The width of the user control's bounding rectangle</description> + </param> + <param name="height" type="Float" mandatory="true"> + <description>The height of the user control's bounding rectangle</description> + </param> + </struct> + + <struct name="HapticRect"> + <description>Defines haptic rectangle data for each user control object for video streaming application</description> + <param name="id" type="Integer" minvalue="0" maxvalue="2000000000" mandatory="true"> + <description>A user control spatial identifier</description> + </param> + <param name="rect" type="Common.Rectangle" mandatory="true"> + <description>The position of the haptic rectangle to be highlighted. The center of this rectangle will be "touched" when a press occurs.</description> + </param> + </struct> + </interface> -<interface name="Buttons" version="1.2.0" date="2017-04-27"> +<interface name="Buttons" version="1.3.0" date="2017-07-18"> <function name="GetCapabilities" messagetype="request"> <description>Method is invoked at system start-up. SDL requests the information about all supported hardware buttons and their capabilities</description> </function> @@ -2100,6 +2674,23 @@ <description>Must be returned if the platform supports custom on-screen Presets</description> </param> </function> + + <function name="ButtonPress" messagetype="request"> + <description>Method is invoked when the application tries to press a button</description> + <param name="moduleType" type="Common.ModuleType" mandatory="true" > + <description>The module where the button should be pressed</description> + </param> + <param name="buttonName" type="Common.ButtonName" mandatory="true" /> + <param name="buttonPressMode" type="Common.ButtonPressMode" mandatory="true" > + <description>Indicates whether this is a LONG or SHORT button press event.</description> + </param> + <param name="appID" type="Integer" mandatory="true"> + <description>ID of the application that triggers the permission prompt.</description> + </param> + </function> + <function name="ButtonPress" messagetype="response"> + </function> + <function name="OnButtonEvent" messagetype="notification"> <description>HU system must notify about every UP/DOWN event for buttons</description> <param name="name" type="Common.ButtonName" mandatory="true"/> @@ -2155,7 +2746,7 @@ </function> </interface> -<interface name="BasicCommunication" version="1.2.0" date="2017-04-27"> +<interface name="BasicCommunication" version="1.2.1" date="2017-08-02"> <function name="OnReady" messagetype="notification"> <description>HMI must notify SDL about its readiness to start communication. In fact, this has to be the first message between SDL and HMI.</description> </function> @@ -2317,7 +2908,7 @@ </function> <function name="DialNumber" messagetype="request"> <description>Request from SDL to call a specific number.</description> - <param name="number" type="String" maxlength="40"> + <param name="number" type="String" maxlength="40" mandatory="true"> <description>The number to dial. Only the character + and numbers are allowed.</description> </param> <param name="appID" type="Integer" mandatory="true"> @@ -2761,7 +3352,7 @@ </function> </interface> -<interface name="UI" version="1.1.0" date="2017-04-27"> +<interface name="UI" version="1.2.0" date="2017-09-05"> <function name="Alert" messagetype="request"> <description>Request from SDL to show an alert message on the display.</description> <param name="alertStrings" type="Common.TextFieldStruct" mandatory="true" array="true" minsize="0" maxsize="3"> @@ -2953,7 +3544,7 @@ <description>Optional text to label an app menu button (for certain touchscreen platforms).</description> </param> <param name="menuIcon" type="Common.Image" mandatory="false"> - <description>>Optional icon to draw on an app menu button (for certain touchscreen platforms).</description> + <description>Optional icon to draw on an app menu button (for certain touchscreen platforms).</description> </param> <param name="keyboardProperties" type="Common.KeyboardProperties" mandatory="false"> <description>On-screen keybaord configuration (if available).</description> @@ -3000,6 +3591,9 @@ <param name="hmiCapabilities" type="Common.HMICapabilities" mandatory="false"> <description>Specifies the HMI’s capabilities. See HMICapabilities.</description> </param> + <param name="systemCapabilities" type="Common.SystemCapabilities" mandatory="false"> + <description>Specifies system capabilities. See SystemCapabilities</description> + </param> </function> <function name="ChangeRegistration" messagetype="request"> <description>Request from SmartDeviceLink to HMI to change language for app.</description> @@ -3252,9 +3846,25 @@ <description>ID of application related to this RPC.</description> </param> </function> + <function name="SendHapticData" messagetype="request"> + <description>Send the UI spatial data from MOBILE. This data will be utilized by the HMI to determine how and when haptic events should occur</description> + <param name="appID" type="Integer" mandatory="true"> + <description>Internal ID of the application that requested this RPC.</description> + </param> + <param name="hapticRectData" type="Common.HapticRect" minsize="0" maxsize="1000" mandatory="false" array="true"> + <description> + Array of rectangle data structures that represent the locations of all user controls present on the HMI. + This data should be updated if/when the application presents a new screen. + When a request is sent, if successful, it will replace all rectangle data previously sent through RPC. + Avoidance of doubt, when an empty hapticRectData, it will be clear all rectangle data previously sent through RPC. + </description> + </param> + </function> + <function name="SendHapticData" messagetype="response"> + </function> </interface> -<interface name="Navigation" version="1.4.0" date="2017-04-27"> +<interface name="Navigation" version="1.5.0" date="2017-08-15"> <function name="IsReady" messagetype="request"> <description>Method is invoked at system startup. Response must provide the information about presence of UI Navigation module and its readiness to cooperate with SDL.</description> @@ -3369,6 +3979,27 @@ <description>Current State of TBT client</description> </param> </function> + <function name="SetVideoConfig" messagetype="request"> + <description>Request from SDL to HMI to ask whether HMI accepts a video stream with given configuration.</description> + <param name="config" type="Common.VideoConfig" mandatory="true"> + <description>Configuration of a video stream.</description> + </param> + <param name="appID" type="Integer" mandatory="true"> + <description>ID of application related to this RPC.</description> + </param> + </function> + <function name="SetVideoConfig" messagetype="response"> + <description> + Response from HMI to SDL whether the configuration is accepted. + In a negative response, a list of rejected parameters are supplied. + </description> + <param name="rejectedParams" type="String" array="true" minsize="1" maxsize="1000" mandatory="false"> + <description> + List of params of VideoConfig struct which are not accepted by HMI, e.g. "protocol" and "codec". + This param exists only when the response is negative. + </description> + </param> + </function> <function name="StartStream" messagetype="request"> <description>Request from SmartDeviceLinkCore to HMI to start playing video streaming.</description> <param name="url" type="String" minlength="21" maxlength="500" mandatory="true"> @@ -4255,4 +4886,94 @@ <param name="deviceId" type="Common.DeviceInfo" mandatory="false"/> </function> </interface> + +<interface name="RC" version="1.1.0" date="2017-07-18"> + <function name="IsReady" messagetype="request"> + <description>Method is invoked at system startup. Response should provide information about presence of any of remote controllable module and its readiness to cooperate with SDL.</description> + </function> + <function name="IsReady" messagetype="response"> + <param name="available" type="Boolean" mandatory="true"> + <description>Must be true if vehicle RC modules are present and ready to communicate with SDL.</description> + </param> + </function> + + <function name="GetCapabilities" messagetype="request"> + <description>Method is invoked at system startup by SDL to request information about Remote Control capabilities of HMI.</description> + </function> + <function name="GetCapabilities" messagetype="response"> + <param name="remoteControlCapability" type="Common.RemoteControlCapabilities" mandatory="false"> + <description>See RemoteControlCapabilities, all available RC modules and buttons shall be returned.</description> + </param> + </function> + + <function name="SetInteriorVehicleData" functionID="SetInteriorVehicleDataID" messagetype="request"> + <param name="moduleData" type="Common.ModuleData" mandatory="true" > + <description>The module type and data to set</description> + </param> + <param name="appID" type="Integer" mandatory="true"> + <description>Internal SDL-assigned ID of the related application</description> + </param> + </function> + + <function name="SetInteriorVehicleData" messagetype="response"> + <description>Used to set the values of one zone and one data type within that zone</description> + <param name="moduleData" type="Common.ModuleData" mandatory="true" > + </param> + </function> + +<function name="GetInteriorVehicleData" messagetype="request"> + <param name="moduleType" type="Common.ModuleType" mandatory="true" > + <description>The module data to retrieve from the vehicle for that type</description> + </param> + <param name="subscribe" type="Boolean" mandatory="false" defvalue="false"> + <description>If subscribe is true, the head unit will send onInteriorVehicleData notifications for the module type</description> + </param> + <param name="appID" type="Integer" mandatory="true"> + <description>Internal SDL-assigned ID of the related application</description> + </param> +</function> + +<function name="GetInteriorVehicleData" messagetype="response"> + <param name="moduleData" type="Common.ModuleData" mandatory="true" > + </param> + <param name="isSubscribed" type="Boolean" mandatory="false" > + <description>Is a conditional-mandatory parameter: must be returned in case "subscribe" parameter was present in the related request. + if "true" - the "moduleType" from request is successfully subscribed and the head unit will send onInteriorVehicleData notifications for the moduleDescription. + if "false" - the "moduleType" from request is either unsubscribed or failed to subscribe.</description> + </param> +</function> + +<function name="GetInteriorVehicleDataConsent" messagetype="request"> + <description>Sender: SDL->HMI. </description> + <description>HMI is expected to display a permission prompt to the driver showing the RC module and app details (for example, app's name). + The driver is expected to have an ability to grant or deny the permission.</description> + <param name="moduleType" type="Common.ModuleType" mandatory="true"> + <description>The module type that the app requests to control.</description> + </param> + <param name="appID" type="Integer" mandatory="true"> + <description>ID of the application that triggers the permission prompt.</description> + </param> + </function> + <function name="GetInteriorVehicleDataConsent" messagetype="response"> + <param name="allowed" type="Boolean" mandatory="true"> + <description>"true" - if the driver grants the permission for controlling to the named app; + "false" - in case the driver denies the permission for controlling to the named app.</description> + </param> +</function> + +<function name="OnInteriorVehicleData" messagetype="notification"> + <param name="moduleData" type="Common.ModuleData" mandatory="true" > + </param> +</function> + +<function name="OnRemoteControlSettings" messagetype="notification"> + <description>Sender: vehicle -> RSDL. Notification about remote-control settings changed. Sent after User`s choice through HMI.</description> + <param name="allowed" type="Boolean" mandatory="false" > + <description>If "true" - RC is allowed; if "false" - RC is disallowed.</description> + </param> + <param name="accessMode" type="Common.RCAccessMode" mandatory="false" > + <description>The remote control access mode specified by the driver via HMI.</description> + </param> +</function> +</interface> </interfaces> |