This window type describes the main screen on a display. A widget is a small window that the app can create to provide information and softbuttons for a quick app control. The default window is a main window pre-created on behalf of the app. The primary widget of the app. Lists of the transport types used for device connection to HU. Defines the hard (physical) and soft (touchscreen) buttons available from SYNC If supported, this toggles between a top-down view and an angled/3D view. If your app supports different, but substantially similar options, then you may implement those. If you don't implement these or similar options, do not subscribe to this button. If supported, this toggles between locking the orientation to north or to the vehicle's heading. If your app supports different, but substantially similar options, then you may implement those. If you don't implement these or similar options, do not subscribe to this button. A button has been released up A button has been pressed down A button was released, after it was pressed for a long time. Actual timing is defined by head unit and may vary A button was released, after it was pressed for a short time. Actual timing is defined by head unit and may vary English - US Spanish - Mexico French - Canada German - Germany Spanish - Spain English - GB Russian - Russia Turkish - Turkey Polish - Poland French - France Italian - Italy Swedish - Sweden Portuguese - Portugal Dutch (Standard) - Netherlands English - Australia Mandarin - China Mandarin - Taiwan Japanese - Japan Arabic - Saudi Arabia Korean - South Korea Portuguese - Brazil Czech - Czech Republic Danish - Denmark Norwegian - Norway Dutch (Flemish) - Belgium Greek - Greece Hungarian - Hungary Finnish - Finland Slovak - Slovakia English - India Thai - Thailand English - Middle East Hebrew - Israel Romanian - Romania Ukrainian - Ukraine Indonesian - Indonesia Vietnamese - Vietnam Malay - Malaysia Hindi - India Contains information about the SoftButton capabilities. Enumeration that describes system actions that can be triggered. Default action occurs. Standard behavior (e.g. SoftButton clears overlay). The calling app's dialog or related event should clear and the app should be brought into HMI_FULL. Current system context is maintained. An overlay is persisted even though a SoftButton has been pressed and the notification sent. Enumeration listing possible app types. No active websocket session or ongoing connection attempts Websocket is active Websocket connection failed and retry attempts are ongoing Describes what kind of waypoint is requested/provided. Latitude of the location. Longitude of the location. For touchscreen interactions, the mode of how the choices are presented. This mode causes the interaction to display the previous set of choices as icons. This mode causes the interaction to display the previous set of choices as icons along with a search field in the HMI. This mode causes the interaction to display the previous set of choices as a list. This mode causes the interaction to display the previous set of choices as a list along with a search field in the HMI. This mode causes the interaction to immediately display a keyboard entry through the HMI. Describes how the media clock timer should behave on the platform Starts the media clock timer counting upwards, as in time elapsed. Starts the media clock timer counting downwards, as in time remaining. Pauses the media clock timer Resume the media clock timer Clears the media clock timer (previously done through Show->mediaClock) Default playback indicator. Indicates that a button press of the Play/Pause button would start the playback. Indicates that a button press of the Play/Pause button would pause the current playback. Indicates that a button press of the Play/Pause button would stop the current playback. Enumeration that describes possible contexts the application might be in on HU. Communicated to whichever app is in HMI FULL, except Alert. The app's persistent display (whether media/non-media/navigation) is fully visible onscreen. There is currently no user interaction (user-initiated or app-initiated) with the head-unit The system is currently in a VR session (with whatever dedicated VR screen being overlaid onscreen). The system is currently displaying a system or in-App menu onscreen. The app's display HMI is currently obscuring with either a system or other app's overlay (except of Alert element). Broadcast only to whichever app has an alert currently being displayed. Contains information about the HMI zone capabilities. For future use. Contains information about the TTS capabilities. Contains information about the VR capabilities. Contains a list of prerecorded speech items present on the platform. Enumeration that describes possible states of turn-by-turn client or SmartDeviceLink app. Describes the reasons for exiting all of applications. The possible types of HU display. A 2-line x 20 character "dot matrix" display 1 line older radio head unit. Old radio head unit. Next Generation Navigation display. GEN-2, 8 inch display. GEN-2, 6 inch display. 3 inch GEN1.1 display 4 inch GEN1.1 display 5 inch GEN1.1 display Contains information about the type of image. By getting this value, SDL puts the named app to NONE HMILevel By getting this value, SDL puts the named app to NONE HMILevel By getting this value, SDL unregisters the named application By getting this value, SDL unregisters the named application By getting this value, SDL puts the named app to NONE HMILevel. Used by the HMI to close a cloud app connection. By getting this value, SDL should unregister the application to allow the HMI to close the application. The first line of first set of main fields of the persistent display; applies to "Show" The second line of first set of main fields of the persistent display; applies to "Show" The first line of second set of main fields of persistent display; applies to "Show" The second line of second set of main fields of the persistent display; applies to "Show" The status bar on NGN; applies to "Show" Text value for MediaClock field; applies to "Show" The track field of NGN and GEN1.1 MFD displays. This field is only available for media applications; applies to "Show" The title of the new template that will be displayed; applies to "Show" The first line of the alert text field; applies to "Alert" The second line of the alert text field; applies to "Alert" The third line of the alert text field; applies to "Alert" Long form body of text that can include newlines and tabs; applies to "ScrollableMessage" First line suggestion for a user response (in the case of VR enabled interaction First line of navigation text Second line of navigation text Estimated Time of Arrival time for navigation Total distance to destination for navigation First line of text for audio pass thru Second line of text for audio pass thru Header text for slider Footer text for slider Primary text for Choice Secondary text for Choice Tertiary text for Choice Optional text to label an app menu button (for certain touchscreen platforms). Optional name / title of intended location for SendLocation. Optional description of intended location / establishment (if applicable) for SendLocation. Optional location address (if applicable) for SendLocation. Optional phone number of intended location / establishment (if applicable) for SendLocation. Optional time to destination field for ShowConstantTBT Turn text for turnList parameter of UpdateTurnList The first line of the subtle alert text field; applies to `SubtleAlert` `alertText1` The second line of the subtle alert text field; applies to `SubtleAlert` `alertText2` A text field in the soft button of a subtle alert; applies to `SubtleAlert` `softButtons` Secondary text for AddCommand Tertiary text for AddCommand Secondary text for AddSubMenu Tertiary text for AddSubMenu The data in this field contains the title of the currently playing audio track. The data in this field contains the artist or creator of the currently playing audio track. The data in this field contains the album title of the currently playing audio track. The data in this field contains the creation year of the currently playing audio track. The data in this field contains the genre of the currently playing audio track. The data in this field contains the name of the current source for the media. The data in this field is a rating. The data in this field is the current temperature. The data in this field is the maximum temperature for the day. The data in this field is the minimum temperature for the day. The data in this field describes the current weather (ex. cloudy, clear, etc.). The data in this field describes the current humidity value. The image field for SoftButton The first image field for Choice The secondary image field for Choice The image field for vrHelpItem The image field for Turn The image field for the menu icon in SetGlobalProperties The image field for AddCommand The image field for the app icon (set by setAppIcon) The primary image field for Show The secondary image field for Show The primary image field for ShowConstantTBT The secondary image field for ShowConstantTBT The optional image of a destination / location The image field for Alert The image field for AddSubMenu.menuIcon The image of the subtle alert; applies to `SubtleAlert` `alertIcon` The secondary image field for AddCommand The secondary image field for AddSubMenu The list of possible alignments, left, right, or centered Enumeration that describes possible states of driver distraction. Enumeration that describes possible states of emergency event. minutesFieldWidth = 2;minutesFieldMax = 19;secondsFieldWidth = 2;secondsFieldMax = 99;maxHours = 19;maxMinutes = 59;maxSeconds = 59; Is used for Type II, NGN and CID head units. minutesFieldWidth = 3;minutesFieldMax = 199;secondsFieldWidth = 2;secondsFieldMax = 99;maxHours = 59;maxMinutes = 59;maxSeconds = 59; Is used for Type V head units. minutesFieldWidth = 2;minutesFieldMax = 59;secondsFieldWidth = 2;secondsFieldMax = 59;maxHours = 9;maxMinutes = 59;maxSeconds = 59; Is used for GEN1.1 (i.e. MFD3/4/5) head units. 5 characters possible Format: 1|sp c :|sp c c 1|sp : digit "1" or space c : character out of following character set: sp|0-9|[letters :|sp : colon or space Is used for Type II head unit 5 chars possible Format: 1|sp c :|sp c c 1|sp : digit "1" or space c : character out of following character set: sp|0-9|[letters :|sp : colon or space Is used for CID and NGN head unit 6 chars possible Format: 1|sp c c :|sp c c 1|sp : digit "1" or space c : character out of following character set: sp|0-9|[letters :|sp : colon or space Is used for Type V head unit 6 chars possible Format: c :|sp c c : c c :|sp : colon or space c : character out of following character set: sp|0-9|[letters]. Is used for GEN1.1 (i.e. MFD3/4/5) head units Type that expound that current AddCommand should be pocessed as choise for initiated PerformInteraction request for current active on HMI. Type that expound that current AddCommand should be pocessed as common command for current application on HMI. Enumerations of all available app capability types Park brake actuators have been fully applied. Park brake actuators are transitioning to either Apply/Closed or Release/Open state. Park brake actuators are released. When driver pulls the Electronic Park Brake switch while driving "at speed". When system has a fault or is under maintenance. For vehicles using compressed natural gas. For vehicles using liquefied petroleum gas. For FCEV (fuel cell electric vehicle). For BEV (Battery Electric Vehicle), PHEV (Plug-in Hybrid Electric Vehicle), solar vehicles and other vehicles which run on a battery. The volume status of a vehicle component. The data is unknown. The volume is normal. The volume is low. The module/sensor is currently faulted. The component`s volume is in critical level. The data is not supported. The estimate range in KM the vehicle can travel based on fuel level and consumption. The relative remaining capacity of this fuel type (percentage). The fuel level state The absolute capacity of this fuel type. The unit of the capacity of this fuel type such as liters for gasoline or kWh for batteries. If set the status of the tire is not known. TPMS does not function. The sensor of the tire does not function. TPMS is reporting a low tire pressure for the tire. TPMS is active and the tire pressure is monitored. TPMS is reporting that the tire must be trained. TPMS reports the training for the tire is completed. TPMS reports the tire is not trained. The selected gear. Parking Reverse gear No gear Regular Drive mode Drive Sport mode 1st gear hold Type of transmission used in the vehicle. Manual transmission. Automatic transmission. Semi automatic transmission. Dual clutch transmission. Continuously variable transmission(CVT). Infinitely variable transmission. Electric variable transmission. Direct drive between engine and wheels. Reflects the status of a vehicle data event; e.g. a seat belt event status. The system does not have the adequate information to send valid YES or NO states. The requested event is in NO state. The requested event is in YES state. The requested data is not supported The module/sensor is currently faulted. Reflects the status of a binary vehicle data item. Reflects the ignition switch stability. Either the data is not accessible or the sensor is broken. Reflects the status of ignition. The information is not acceptable. The ignition is off. The accessories are active (power windows, audio, display, etc.). Ignition is active. Starter is switched. The data is provided, but there is some sort of fault or problem. Reflects the reported component status of the connected device, if reported. Reflects the current primary audio source (if selected). The list of potential compass directions The supported dimensions of the GPS No GPS at all Longitude and latitude Longitude and latitude and altitude Reflects the status of a cluster instrument warning light. Enumeration that describes possible result codes of a vehicle data entry request. Defines the data types that can be published and subscribed to. Notifies GPSData may be subscribed Reflects the status of the wipers. The wipers are off. The wipers are automatically off Means that though set to off, somehow the wipers have been engaged (physically moved enough to engage a wiping motion). The wipers are manually off after having been working. The wipers are manually on. The wipers are manually set to low speed. The wipers are manually set to high speed. The wipers are manually set for doing a flick. The wipers are set to use the water from vehicle washer bottle for cleaning the windscreen. The wipers are automatically set to low speed. The wipers are automatically set to high speed. This is for when a user has just initiated a WASH and several seconds later a secondary wipe is automatically initiated to clear remaining fluid. This is set as the user moves between possible automatic wiper speeds. The wiper is stalled to its place. The sensor / module cannot provide any information for wiper. Describes different sampling options for PerformAudioPassThru. Sampling rate of 8000 Hz. Sampling rate of 16000 Hz. Sampling rate of 22050 Hz. Sampling rate of 44100 Hz. Describes different quality options for PerformAudioPassThru. Audio sample is 8 bits wide, unsigned. Audio sample is 16 bits wide, signed, and in little endian. Describes different audio type options for PerformAudioPassThru. Linear PCM. Enumeration listing possible keyboard layouts. Enumeration listing possible keyboard events. Enumeration listing possible input character masking. Enumeration listing possible keyboard events. Each keypress is individually sent as the user presses the keyboard keys. The keypresses are queued and a string is eventually sent once the user chooses to submit their entry. The keypresses are queue and a string is sent each time the user presses a keyboard key; the string contains the entire current entry. Reflects the status of the ambient light sensor. Enumeration listing possible file types. Enumeration listing possible asynchronous requests. Reflects the status of the eCall Notification. Reflects the status of a vehicle data notification. Reflects the emergency event status of the vehicle. Reflects the status of the RCM fuel cutoff. Reflects the status of the current power mode qualification. Reflects the status of the current car mode. Reflects the status of the current power mode. The list of potential character sets Note that this element is deprecated in the MOBILE API Note that this element is deprecated in the MOBILE API Note that this element is deprecated in the MOBILE API Note that this element is deprecated in the MOBILE API ASCII as defined in https://en.wikipedia.org/wiki/ASCII as defined in codes 0-127. Non-printable characters such as tabs and back spaces are ignored Latin-1, as defined in https://en.wikipedia.org/wiki/ISO/IEC_8859-1 The UTF-8 character set that uses variable bytes per code point. See https://en.wikipedia.org/wiki/UTF-8 for more details. This is the preferred character set Defines the type of the request which causes text-to-speech prompt Defines the type of the request which causes text-to-speech prompt Reflects the current active event Navigated to audio(radio, etc) Navigated to navigation screen Phone call is active Active emergency event, active parking event GAL/DIO is active The mode in which the SendLocation request is sent Enum for each type of video streaming protocol type. Raw stream bytes that contains no timestamp data and is the lowest supported video streaming 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. 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. 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. 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. Enum for each type of video streaming codec. 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. 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. 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. 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. Similar to VP8, but VP9 is customized for video resolutions beyond high-definition video (UHD) and also enables lossless compression. Code of message of user-friendly text about functional group to be allowed/disallowed Id of corresponding functional group, needed by SDL. Specifies whether functionality was allowed/disallowed. If ommited - no information about User Consent is yet found for app. Get URL based on service type. ID of application that requested this RPC. The entityType which status is informed by "status" param. The corresponding ID of entityType which status is informed by "status" param Status of the ExternalConsentStatus entity: "ON" or "OFF". Describes a location (origin coordinates and span) of a vehicle component. The approximate percentage that the window is open - 0 being fully closed, 100 being fully open The percentage deviation of the approximatePosition. e.g. If the approximatePosition is 50 and the deviation is 10, then the window's location is somewhere between 40 and 60. Describes the status of a window of a door/liftgate etc. Information about a RC module uuid of a module. "moduleId + moduleType" uniquely identify a module. Location of a module. Service area of a module. allow multiple users/apps to access the module or not Describes the location of a seat. Contains information about the locations of each seat Contains a list of SeatLocation in the vehicle Describes the status of a parameter of seat. Seat status array containing location and whether the seats are occupied. Seat status array containing location and whether the seats are belted. List possible zones of a multi-contour massage seat. The back of a multi-contour massage seat. or SEAT_BACK The bottom a multi-contour massage seat. or SEAT_BOTTOM List possible modes of a massage zone. Specify the mode of a massage zone. List possible cushions of a multi-contour massage seat. The intensity or firmness of a cushion. Save current seat positions and settings to seat memory. Restore / apply the seat memory settings to the current seat. No action to be performed. List possible seats that is a remote controllable seat. Seat control data corresponds to "SEAT" ModuleType. The short friendly name of the seat control module. It should not be used to identify a module by mobile application. Information about a RC module, including its id. Program Service Name Radio Text The clock text in UTC format as YYYY-MM-DDThh:mm:ss.sTZD Program Identification - the call sign for the radio station The program type - The region should be used to differentiate between EU and North America program types Traffic Program Identification - Identifies a station that offers traffic Traffic Announcement Identification - Indicates an ongoing traffic announcement Region Binary Representation of ITU Country Code. USA Code is 001. Binary representation of unique facility ID assigned by the FCC; FCC controlled for U.S. territory Struct with the GPS data. The current UTC year. The current UTC month. The current UTC day. The current UTC hour. The current UTC minute. The current UTC second. See CompassDirection. PDOP. HDOP. VDOP. True, if actual. False, if infered. Number of satellites in view See Dimension Altitude in meters The heading. North is 0. Resolution is 0.01 The speed in KPH True, if GPS lat/long, time, and altitude have been purposefully shifted (requires a proprietary algorithm to unshift). False, if the GPS data is raw and un-shifted. If not provided, then value is assumed False. Identifies the 4-alpha-character station call sign plus an optional (-FM) extension Used for network Application. Consists of Country Code and FCC Facility ID. Identifies the station call sign or other identifying information in the long format. Provides the 3-dimensional geographic station location. May be used to convey textual information of general interest to the consumer such as weather forecasts or public service announcements. Includes a high priority delivery feature to convey emergencies that may be in the listening area. The integer part of the frequency ie for 101.7 this value should be 101 The fractional part of the frequency for 101.7 is 7 True if the hd radio is on, false is the radio is off Number of HD sub-channels if available. Note that this parameter is deprecated in MOBILE API. The list of available hd sub-channel indexes. Empty list means no Hd channel is available. Read-only. Current HD sub-channel if available If the signal strength falls below the set value for this parameter, the radio will tune to an alternative frequency True if the radio is on, false is the radio is off Read-only Station Information Service (SIS) data provides basic information about the station such as call sign, as well as information not displayable to the consumer such as the station identification number Contains information about a radio control module's capabilities. The short name or a short description of the radio control module. Information about a RC module, including its id. Availability of the control of enable/disable radio. True: Available, False: Not Available, Not present: Not Available. Availability of the control of radio band. True: Available, False: Not Available, Not present: Not Available. Availability of the control of radio frequency. True: Available, False: Not Available, Not present: Not Available. Availability of the control of HD radio channel. True: Available, False: Not Available, Not present: Not Available. Availability of the getting Radio Data System (RDS) data. True: Available, False: Not Available, Not present: Not Available. Availability of the getting the number of available HD channels. True: Available, False: Not Available, Not present: Not Available. Note that this parameter is deprecated in MOBILE API Availability of the list of available HD sub-channel indexes. True: Available, False: Not Available, Not present: Not Available. Availability of the getting the Radio state. True: Available, False: Not Available, Not present: Not Available. Availability of the getting the signal strength. True: Available, False: Not Available, Not present: Not Available. Availability of the getting the signal Change Threshold. True: Available, False: Not Available, Not present: Not Available. Availability of the getting HD radio Station Information Service (SIS) data. True: Available, False: Not Available, Not present: Not Available. Availability of the control of enable/disable HD radio. True: Available, False: Not Available, Not present: Not Available. Availability of Sirius XM radio. True: Available, False: Not Available, Not present: Not Available. Temperature Unit Temperature Value in TemperatureUnit specified unit. Range depends on OEM and is not checked by SDL. value false means disabled/turn off, value true means enabled/turn on. value false means disabled, value true means enabled. value false means disabled, value true means enabled. value false means disabled, value true means enabled. Contains information about a climate control module's capabilities. The short name or a short description of the climate control module. Information about a RC module, including its id. Availability of the reading of current temperature. True: Available, False: Not Available, Not present: Not Available. Availability of the control of fan speed. True: Available, False: Not Available, Not present: Not Available. Availability of the control of desired temperature. True: Available, False: Not Available, Not present: Not Available. Availability of the control of turn on/off AC. True: Available, False: Not Available, Not present: Not Available. Availability of the control of enable/disable air conditioning is ON on the maximum level. True: Available, False: Not Available, Not present: Not Available. Availability of the control of enable/disable circulate Air mode. True: Available, False: Not Available, Not present: Not Available. Availability of the control of enable/disable auto mode. True: Available, False: Not Available, Not present: Not Available. Availability of the control of enable/disable dual mode. True: Available, False: Not Available, Not present: Not Available. Availability of the control of defrost zones. True: Available, False: Not Available, Not present: Not Available. A set of all defrost zones that are controllable. Availability of the control of air ventilation mode. True: Available, False: Not Available, Not present: Not Available. A set of all ventilation modes that are controllable. Availability of the control (enable/disable) of heated Steering Wheel. True: Available, False: Not Available, Not present: Not Available. Availability of the control (enable/disable) of heated Windshield. True: Available, False: Not Available, Not present: Not Available. Availability of the control (enable/disable) of heated Rear Window. True: Available, False: Not Available, Not present: Not Available. Availability of the control (enable/disable) of heated Mirrors. True: Available, False: Not Available, Not present: Not Available. Availability of the control of enable/disable climate control. True: Available, False: Not Available, Not present: Not Available. Defines the each Equalizer channel settings. read-only channel / frequency name (e.i. "Treble, Midrange, Bass" or "125 Hz") In a getter response or a notification, it is the current primary audio source of the system. In a setter request, it is the target audio source that the system shall switch to. If the value is MOBILE_APP, the system shall switch to the mobile media app that issues the setter RPC. This parameter shall not be present in any getter responses or notifications. This parameter is optional in a setter request. The default value is false. If it is false, the system not only changes the audio source but also brings the default application or system UI associated with the audio source to foreground. If it is true, the system changes the audio source, but still keeps the current application in foreground. Reflects the volume of audio, from 0%-100%. Defines the list of supported channels (band) and their current/desired settings on HMI The short friendly name of the audio control module. It should not be used to identify a module by mobile application. Information about a RC module, including its id. Availability of the control of audio source. Availability of the keepContext paramter. Availability of the control of audio volume. Availability of the control of Equalizer Settings. Must be included if equalizerAvailable=true, and assume all IDs starting from 1 to this value are valid Include all high beam lights: front_left and front_right. Include all low beam lights: front_left and front_right. Include all fog lights: front_left, front_right, rear_left and rear_right. Include all daytime running lights: front, left and right. Include all parking lights: front_left and front_right. Include all brake lights: rear_left and rear_right. Include all left turn signal lights: front_left, rear_left, left_side and mirror_mounted. Include all right turn signal lights: front_right, rear_right, right_side and mirror_mounted. Include all hazard lights: front_left, front_right, rear_left and rear_right. Cargo lamps illuminate the cargo area. Truck bed lamps light up the bed of the truck. Trailer lights are lamps mounted on a trailer hitch. It is the spotlights mounted on the left side of a vehicle. It is the spotlights mounted on the right side of a vehicle. Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door. Puddle lamps illuminate the ground beside the door as the customer is opening or approaching the door. Include exterior lights located in front of the vehicle. For example, fog lights and low beams. Include exterior lights located at the back of the vehicle. For example, license plate lights, reverse lights, cargo lights, bed lights an trailer assist lights. Include exterior lights located at the left side of the vehicle. For example, left puddle lights and spot lights. Include exterior lights located at the right side of the vehicle. For example, right puddle lights and spot lights. Include all exterior lights around the vehicle. Indicates if the status (ON/OFF) can be set remotely. App shall not use read-only values (RAMP_UP/RAMP_DOWN/UNKNOWN/INVALID) in a setInteriorVehicleData request. Indicates if the light's density can be set remotely (similar to a dimmer). Indicates if the light's color can be set remotely by using the RGB color space. The short friendly name of the light control module. It should not be used to identify a module by mobile application. Information about a RC module, including its id. An array of available light names that are controllable. The name of a light or a group of lights. An array of LightNames and their current or desired status. No change to the status of the LightNames that are not listed in the array. Corresponds to "HMI_SETTINGS" ModuleType The short friendly name of the hmi setting module. It should not be used to identify a module by mobile application. Information about a RC module, including its id. Availability of the control of distance unit. Availability of the control of temperature unit. Availability of the control of HMI display mode. 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 Id of a module, published by System Capability. Enumeration that describes possible remote control access mode the application might be in on HU. The name that identifies the field. See TextFieldName. The set of characters that are supported by this text field. All text is sent in UTF-8 format, but not all systems may support all of the characters expressed by UTF-8. All systems will support at least ASCII, but they may support more, either the LATIN-1 character set, or the full UTF-8 character set. The number of characters in one row of this field. The number of rows of this field. Contains the information about capabilities of a button. The name of the Button from the ButtonName enum Information about a RC module, including its id. The button supports a short press. Whenever the button is pressed short, onButtonPressed(SHORT) should be invoked. The button supports a LONG press. Whenever the button is pressed long, onButtonPressed(LONG) should be invoked. The button supports "button down" and "button up". Whenever the button is pressed, onButtonEvent(DOWN) should be invoked. Whenever the button is released, onButtonEvent(UP) should be invoked. Individual published data request result Defined published data element type. Published data result code. The x coordinate of the touch. The y coordinate of the touch. A touch's unique identifier. The application can track the current touch events by id. If a touch event has type begin, the id should be added to the set of touches. If a touch event has type end, the id should be removed from the set of touches. The time that the touch was recorded. This number can the time since the beginning of the session or something else as long as the units are in milliseconds. The timestamp is used to determined the rate of change of position of a touch. The application also uses the time to verify whether two touches, with different ids, are part of a single action by the user. If there is only a single timestamp in this array, it is the same for every coordinate in the coordinates array. Contains information about on-screen preset capabilities (whether the HW preset buttons could be duplicated with onscreen buttons). Must be true if onscreen custom presets are available. The path to the dynamic image stored on HU or the static binary image itself. Describes, whether it is a static or dynamic image. Optional value to specify whether it's a template image. A template image can be (re)colored by the HMI as needed by using an image pattern The name of the device connected. The ID of the device connectedi: either hash of device's USB serial number(in case of USB connection) or has of device's MAC address(in case of BlueTooth or WIFI connection The transport type the named-app's-device is connected over HU(BlueTooth, USB or WiFi). It must be provided in OnAppRegistered and in UpdateDeviceList Sent by SDL in UpdateDeviceList. ’true’ – if device is allowed for PolicyTable Exchange; ‘false’ – if device is NOT allowed for PolicyTable Exchange Describes, whether text, icon or both text and image should be displayed on the soft button. See softButtonType Optional text to be displayed (if defined as TEXT or BOTH) Optional image struct for SoftButton (if defined as IMAGE or BOTH) If true, must be highlighted If false, must be not Value which must be returned via OnButtonPress / OnButtonEvent Parameter indicates whether clicking a SoftButton must call a specific system action. See SystemAction A TTS chunk, that consists of text/phonemes to speak or the name of a file to play, and a TTS type (like text or SAPI) The text or phonemes to be spoken, or the name of an audio file to play. Describes whether the TTS chunk is plain text, a specific phoneme set, or an audio file. See SpeechCapabilities. A color scheme for all display layout templates. The primary "accent" color The secondary "accent" color The color of the background Predefined or dynamically created window template. Currently only predefined window template layouts are defined. Data type containing information about application needed by HMI. The mobile application name, e.g. "Ford Drive Green". Provides an abbreviated version of the app name (if needed), that may be displayed on the NGN media screen. If not provided, the appName should be used instead (and may be truncated if too long) Path to application icon stored on HU. The ID, serial number, transport type the named-app's-device is connected over to HU. The ID, serial number, transport type that are acquired through Secondary Transport. Policy ID(=the appID the application registers with) of registered application. TTS string for VR recognition of the mobile application name, e.g. "Ford Drive Green". Meant to overcome any failing on speech engine in properly pronouncing / understanding app name. May not be empty. May not start with a new line character. Not unique value Defines an additional voice recognition command. Must not interfere with any name of previously registered applications from the same device. Unique (during ignition cycle) id of the application. To be used in all RPCs sent by both HU system and SDL The language the application intends to use on HU Indicates whether it is a media or a non-media application. List of all applicable app types stating which classifications to be given to the app. e.g. for platforms like GEN2, this determines which "corner(s)" the app can populate. Indicates whether application should be dimmed on the screen. Applicable only for apps received through QueryApps and still not registered. The list of SystemRequest's RequestTypes allowed by policies for the named application (the app's SystemRequest sent with RequestType out of this list will get 'disallowed' response from SDL). If SDL sends an empty array - any RequestType is allowed for this app. If SDL omits this parameter - none RequestType is allowed for this app (either this is a pre-registered app or such is dictated by policies). The list of SystemRequest's requestSubTypes allowed by policies for the named application. If the app sends a requestSubType which is not specified in this list, then that request should be rejected. An empty array signifies that any value of requestSubType is allowed for this app. If this parameter is omitted, then a request with any value of requestSubType is now allowed for this app unique ID of the sub menu, the command must be added to. If not provided or 0, the command must be added to the top level of the in application menu. Position within the items that are at the top level of the in application menu. 0 should insert at the front. 1 should insert at the second position. if position is greater than or equal to the number of items on the top level, the the sub menu/command should be appended to the end. If this param is omitted the entry should be added at the end. The name of the sub menu/command. Optional secondary text to display Optional tertiary text to display How the main menu or submenu is laid out on screen A choice is an option given to the user which can be selected either by menu, or through voice recognition system. The unique within the concerned application identifier for this choice The name of the choice The image for representing the choice Optional secondary text to display; e.g. address of POI in a search result entry Optional tertiary text to display; e.g. distance to POI for a search result entry Optional secondary image struct for choice Text to display for VR Help item Image struct for VR Help item Position to display item in VR Help list The hour of the media clock. Some units only support a max of 19 hours. If out of range, it should be rejected. The image resolution width. The image resolution height. The resolution of the prescribed screen area. Types of screen touch events available in screen area. The name that identifies the field. See ImageFieldName. The image types that are supported in this field. See FileType. The image resolution of this field. Video streaming formats and their specifications. Protocol type, see VideoStreamingProtocol Codec type, see VideoStreamingCodec Configuration of a video stream. The video protocol configuration The video codec configuration Width of the video stream, in pixels. Height of the video stream, in pixels. Contains information about the display capabilities. The type of the display. See DisplayType The name of the display the app is connected to. A set of all fields for text displaying supported by HU. See TextFieldName. If there are no textfields supported, the empty array must be returned A set of all fields that support images. See ImageField A set of all supported formats of the media clock. See MediaClockFormat The display's persistent screen supports referencing a static or dynamic image. A set of all predefined persistent display templates available on headunit. To be referenced in SetDisplayLayout. A set of all parameters related to a prescribed screen area (e.g. for video / touch input). The number of on-screen custom presets available (if any); otherwise omitted. Contains information about a SoftButton's capabilities. The button supports a short press. Whenever the button is pressed short, onButtonPressed( SHORT) must be invoked. The button supports a LONG press. Whenever the button is pressed long, onButtonPressed( LONG) must be invoked. The button supports "button down" and "button up". Whenever the button is pressed, onButtonEvent( DOWN) must be invoked. Whenever the button is released, onButtonEvent( UP) must be invoked. Must be true if the button supports referencing a static or dynamic image. The button supports the use of text. If not included, the default value should be considered true that the button will support text. Availability of build in Nav. True: Available, False: Not Available Availability of build in phone. True: Available, False: Not Available Availability of built-in video streaming. True: Available, False: Not Available Describes different audio type configurations for PerformAudioPassThru. e.g. 8kHz,8-bit,PCM The audio is recorded in monaural. The name of the field for displaying the text. The text itself. The type of data contained in the field. Configuration of on-screen keyboard (if available). The keyboard language. Desired keyboard layout. Desired keypress mode. If omitted, this value will be set to RESEND_CURRENT_ENTRY. Array of keyboard characters to enable. All omitted characters will be greyed out (disabled) on the keyboard. If omitted, the entire keyboard will be enabled. Allows an app to pre-populate the text field with a list of suggested or completed entries as the user types. If empty, the auto-complete list will be removed from the screen. Allows an app to mask entered characters on HMI Array of special characters to show in customizable keys. If omitted, keyboard will show default special characters Describes the `Turn` using `TextFieldName` `turnText` Make of the vehicle e.g. Ford Model of the vehicle e.g. Fiesta Model Year of the vehicle e.g. 2013 Trim of the vehicle e.g. SE Enumeration that describes the status of the turn light indicator. Turn signal is OFF Left turn signal is on Right turn signal is on Both signals (left and right) are on. The status of component volume. See ComponentVolumeStatus. The status of TPMS according to the particular tire. The pressure value of the particular tire in kilo pascal. Individual requested DID result and data Individual DID result code. Location of raw data (the address from ReadDID request) Raw DID-based data returned for requested element. Status of the low beam lamps. Status of the high beam lamps. Status of the ambient light sensor. The status and pressure of the tires. Status of the Tire Pressure Telltale. See WarningLightStatus. The status of the left front tire. The status of the right front tire. The status of the left rear tire. The status of the right rear tire. The status of the inner left rear. The status of the inner right rear. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. See VehicleDataEventStatus. true if vehicle stability control is ON, else false true if vehicle trailer sway control is ON, else false Describes the status of a parameter of door. Describes the status of a parameter of trunk/hood/etc. Describes the status of a parameter of roof, convertible roof, sunroof/moonroof etc. If roof is open (AJAR), state will determine percentage of roof open. Must be true if the park brake is active Information about the ignition switch. See IgnitionStableStatus. The status of the ignition. See IgnitionStatus. References signal "DrStatDrv_B_Actl". Deprecated starting with RPC Spec 7.1.0. References signal "DrStatPsngr_B_Actl". Deprecated starting with RPC Spec 7.1.0. References signal "DrStatRl_B_Actl". Deprecated starting with RPC Spec 7.1.0. References signal "DrStatRr_B_Actl". Deprecated starting with RPC Spec 7.1.0. Provides status for doors if Ajar/Closed/Locked Provides status for trunk/hood/etc. if Ajar/Closed/Locked Provides status for roof/convertible roof/sunroof/moonroof etc., if Closed/Ajar/Removed etc. Must be true if the voice recording is on. Must be true if Bluetooth icon is displayed. Must be true if there is an active call.. Must be true if ther is a phone roaming. Must be true if the text message is available. Device battery level status. See DeviceLevelStatus. Must be true if stereo audio output is muted. Must be true if mono audio output is muted. Device signal level status. See DeviceLevelStatus. See PrimaryAudioSource. Must be true if emergency call event is active. References signal "eCallNotification_4A". See VehicleDataNotificationStatus. References signal "eCallNotification". See VehicleDataNotificationStatus. References signal "eCallConfirmation". See ECallConfirmationStatus. References signal "VedsDrvBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsDrvSideBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsDrvCrtnBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsPasBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsPasCrtnBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsKneeDrvBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsPasSideBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsKneePasBag_D_Ltchd". See VehicleDataEventStatus. References signal "VedsEvntType_D_Ltchd". See EmergencyEventType. References signal "RCM_FuelCutoff". See FuelCutoffStatus. References signal "VedsEvntRoll_D_Ltchd". See VehicleDataEventStatus. References signal "VedsMaxDeltaV_D_Ltchd". Change in velocity in KPH. Additional reserved values: 0x00 No event 0xFE Not supported 0xFF Fault References signal "VedsMultiEvnt_D_Ltchd". See VehicleDataEventStatus. References signal "PowerMode_UB". References signal "PowerModeQF". See PowerModeQualificationStatus. References signal "CarMode". See CarMode. References signal "PowerMode". See PowerMode. Indicates whether e911 override is on. See VehicleDataStatus. Milliseconds Seconds part of time Minutes part of time Hours part of time. Note that this structure accepts time only in 24 Hr format Day of the month Month of the year The year in YYYY format Time zone offset in Hours wrt UTC. Time zone offset in Min wrt UTC. Name of the country (localized) Name of country (ISO 3166-2) (PLZ, ZIP, PIN, CAP etc.) Portion of country (e.g. state) Portion of e.g. state (e.g. county) Hypernym for e.g. city/village Hypernym for e.g. district Hypernym for street, road etc. Portion of thoroughfare e.g. house number Latitude/Longitude of the location. Name of location. Location address for display purposes only Description intended location / establishment (if applicable) Phone number of location / establishment. Image / icon of intended location. Address to be used by navigation engines for search Extended capabilities for an onboard navigation system If the module has the ability to add locations to the onboard nav If the module has the ability to return way points from onboard nav Extended capabilities of the module's phone feature If the module has the abiulity to perform dial number Contains information about this system's video streaming capabilities. The preferred resolution of a video stream for decoding and rendering on HMI. The maximum bitrate of video stream that is supported, in kbps. 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. True if the system can utilize the haptic spatial data from the source being streamed. The diagonal screen size in inches. PPI is the diagonal resolution in pixels divided by the diagonal screen size in inches. The scaling factor the app should use to change the size of the projecting view. The preferred frame rate per second of the head unit. The mobile application / app library may take other factors into account that constrain the frame rate lower than this value, but it should not perform streaming at a higher frame rate than this value. Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other param included. Describes supported capabilities for video streaming An array of ImageFieldName values for which the system supports sending OnFileUpdate notifications. If you send an Image struct for that image field with a name without having uploaded the image data using PutFile that matches that name, the system will request that you upload the data with PutFile at a later point when the HMI needs it. The HMI will then display the image in the appropriate field. If not sent, assume false. If true, the head unit supports dynamic sub-menus by sending OnUpdateSubMenu notifications. If true, you should not send AddCommands that attach to a parentID for an AddSubMenu until OnUpdateSubMenu is received with the menuID. At that point, you should send all AddCommands with a parentID that match the menuID. If not set, assume false. Describes the capabilities of a single keyboard layout. Number of keys available for special characters, App can customize as per their needs. Availability of capability to mask input characters using keyboard. True: Available, False: Not Available Capabilities of supported keyboard layouts by HMI. The specified ID of the window. Can be set to a predefined window, or omitted for the main window on the main display. A set of all fields that support text data. See TextField A set of all fields that support images. See ImageField Provides information about image types supported by the system. A set of all window templates available on the head unit. The number of on-window custom presets available (if any); otherwise omitted. The number of buttons and the capabilities of each on-window button. The number of soft buttons available on-window and the capabilities for each button. An array of available menu layouts. If this parameter is not provided, only the `LIST` layout is assumed to be available Contains the head unit's capabilities for dynamic updating features declaring if the module will send dynamic update RPCs. See KeyboardCapabilities Contains information about the display capabilities. Informs the application how many windows the app is allowed to create per type. Contains a list of capabilities of all windows related to the app. Once the app has registered the capabilities of all windows are provided. GetSystemCapability still allows requesting window capabilities of all windows. After registration, only windows with capabilities changed will be included. Following cases will cause only affected windows to be included: 1. App creates a new window. After the window is created, a system capability notification will be sent related only to the created window. 2. App sets a new layout to the window. The new layout changes window capabilities. The notification will reflect those changes to the single window. The number of items allowed in a Choice Set or Command menu while the driver is distracted The depth of submenus allowed when the driver is distracted. e.g. 3 == top level menu -> submenu -> submenu; 1 == top level menu only Describes capabilities when the driver is distracted If included, the platform supports RC climate controls. For this baseline version, maxsize=1. i.e. only one climate control module is supported. If included, the platform supports RC radio controls. For this baseline version, maxsize=1. i.e. only one climate control module is supported. If included, the platform supports RC button controls with the included button names. If included, the platform supports seat controls. If included, the platform supports audio controls. If included, the platform supports hmi setting controls. If included, the platform supports light controls. The X-coordinate of the user control The Y-coordinate of the user control The width of the user control's bounding rectangle The height of the user control's bounding rectangle Defines haptic rectangle data for each user control object for video streaming application A user control spatial identifier The position of the haptic rectangle to be highlighted. The center of this rectangle will be "touched" when a press occurs. Specifies the version number of the SmartDeviceLink protocol that is supported by the mobile application or app service The major version indicates versions that is not-compatible to previous versions. The minor version indicates a change to a previous version that should still allow to be run on an older version (with limited functionality) The patch version indicates a fix to existing functionality in a previous version that should still be able to be run on an older version Refers to the Video service. Refers to the Audio service. Refers to the RPC service. When a request for a Service is received. When a request for a Service is Accepted. When a request for a Service is Rejected. When a Service is rejected because the system was unable to get a required Policy Table Update. When a Service is rejected because the security certificate is invalid/expired. When a Service is rejected because the system was unable to get a valid SystemTime from HMI, which is required for certificate authentication. When a Service is rejected because the system configuration ini file requires the service must be protected, but the app asks for an unprotected service. When a mobile app requests a protected service, but the system starts an unprotected service instead. This data is related to what a media service should provide The type of the currently playing or paused track. Music: The name of the current track Podcast: The name of the current episode Audiobook: The name of the current chapter Music: The name of the current album artist Podcast: The provider of the podcast (hosts, network, company) Audiobook: The book author's name Music: The name of the current album Podcast: The name of the current podcast show Audiobook: The name of the current book Music: The name of the playlist or radio station, if the user is playing from a playlist, otherwise, Null Podcast: The name of the playlist, if the user is playing from a playlist, otherwise, Null Audiobook: Likely not applicable, possibly a collection or "playlist" of books Whether or not the content currently playing (e.g. the track, episode, or book) contains explicit content Music: The current progress of the track in seconds Podcast: The current progress of the episode in seconds Audiobook: The current progress of the current segment (e.g. the chapter) in seconds Music: The total duration of the track in seconds Podcast: The total duration of the episode in seconds Audiobook: The total duration of the current segment (e.g. the chapter) in seconds Music: The current progress of the playback queue in seconds Podcast: The current progress of the playback queue in seconds Audiobook: The current progress of the playback queue (e.g. the book) in seconds Music: The total duration of the playback queue in seconds Podcast: The total duration of the playback queue in seconds Audiobook: The total duration of the playback queue (e.g. the book) in seconds Music: The current number (1 based) of the track in the playback queue Podcast: The current number (1 based) of the episode in the playback queue Audiobook: The current number (1 based) of the episode in the playback queue (e.g. the chapter number in the book) Music: The total number of tracks in the playback queue Podcast: The total number of episodes in the playback queue Audiobook: The total number of sections in the playback queue (e.g. the number of chapters in the book) Music: The album art of the current track Podcast: The podcast or chapter artwork of the current podcast episode Audiobook: The book or chapter artwork of the current audiobook 0 to 1, percentage humidity 0 to 1, percentage cloud cover 0 to 1, percentage of the moon seen, e.g. 0 = no moon, 0.25 = quarter moon In degrees, true north at 0 degrees km/hr km/hr In degrees, true north at 0 degrees In km cm cm of water per hour 0 to 1, percentage chance e.g. "rain", "snow", "sleet", "hail" In km This data is related to what a weather service would provide This array should be ordered with the first object being the current day Informs the subscriber if this service can actually accept way points. Using this action plus a supplied direction can give the type of turn. A junction that represents a standard intersection with a single road crossing another. A junction where the road splits off into two paths; a fork in the road. A junction that has multiple intersections and paths. A junction where traffic moves in a single direction around a central, non-traversable point to reach one of the connecting roads. Similar to a roundabout, however the center of the roundabout is fully traversable. Also known as a mini-roundabout. A junction where lefts diverge to the right, then curve to the left, converting a left turn to a crossing maneuver. Multiple way intersection that allows traffic to flow based on priority; most commonly right of way and first in, first out. A junction designated for traffic turn arounds. The angle at which this instruction takes place. For example, 0 would mean straight, less than 45 is bearing right, greater than 135 is sharp right, between 45 and 135 is a regular right, and 180 is a U-Turn, etc. Used to infer which side of the road this instruction takes place. For a U-Turn (action=TURN, bearing=180) this will determine which direction the turn should take place. This is a string representation of this instruction, used to display instructions to the users. This is not intended to be read aloud to the users, see the param prompt in NavigationServiceData for that. An image representation of this instruction. This data is related to what a navigation service would provide. This is the timestamp of when the data was generated. This is to ensure any time or distance given in the data can accurately be adjusted if necessary. This array should be ordered with all remaining instructions. The start of this array should always contain the next instruction. The distance to this instruction from current location. This should only be updated ever .1 unit of distance. For more accuracy the consumer can use the GPS location of itself and the next instruction. Distance till next maneuver (starting from) from previous maneuver. This is a prompt message that should be conveyed to the user through either display or voice (TTS). This param will change often as it should represent the following: approaching instruction, post instruction, alerts that affect the current navigation session, etc. This manifest contains all the information necessary for the service to be published, activated, and consumers able to interact with it Unique name of this service The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. The icon to be associated with this service. Most likely the same as the appIcon. If true, app service consumers beyond the IVI system will be able to access this service. If false, only the IVI system will be able consume the service. If not provided, it is assumed to be false. This is the max RPC Spec version the app service understands. This is important during the RPC passthrough functionality. If not included, it is assumed the max version of the module is acceptable. This field contains the Function IDs for the RPCs that this service intends to handle correctly. This means the service will provide meaningful responses. This is the record of an app service publisher that the module has. It should contain the most up to date information including the service's active state A unique ID tied to this specific service record. The ID is supplied by the module that services publish themselves. Manifest for the service that this record is for. If true, the service is published and available. If false, the service has likely just been unpublished, and should be considered unavailable. If true, the service is the active primary service of the supplied service type. It will receive all potential RPCs that are passed through to that service type. If false, it is not the primary service of the supplied type. See servicePublished for its availability. Contains all the current data of the app service. The serviceType will link to which of the service data objects are included in this object (e.g. if the service type is MEDIA, the mediaServiceData param should be included). The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. The service has just been published with the module and once activated to the primary service of its type, it will be ready for possible consumption. The service has just been unpublished with the module and is no longer accessible The service is activated as the primary service of this type. All requests dealing with this service type will be handled by this service. The service has been deactivated as the primary service of its type The service has updated its manifest. This could imply updated capabilities. Note: Currently unimplemented Only included in OnSystemCapabilityUpdated. Update reason for service record. Service record for a specific app service provider Capabilities of app services including what service types are supported and the current state of services. An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item Enumerations of all available system capability types The systemCapabilityType identifies which data object exists in this struct. For example, if the SystemCapability Type is NAVIGATION then a "navigationCapability" should exist Used as a descriptor of what data to expect in this struct. The corresponding param to this enum should be included and the only other param included. Describes extended capabilities for onboard navigation system Describes extended capabilities of the module's phone feature Describes extended capabilities of the module's phone feature Describes extended capabilities of the module's phone feature An array of currently available services. If this is an update to the capability the affected services will include an update reason in that item Contains information about the locations of each seat Describes capabilities when the driver is distracted Enumeration for the user's preference of which app type to use when both are available An array of app names an app is allowed to register with. If included in a SetAppProperties request, this value will overwrite the existing "nicknames" field in the app policies section of the policy table. If true, the app will be marked as "available" or "installed" and will be included in HMI RPC UpdateAppList. Used to authenticate connection on app activation Specifies the connection type Core should use. The Core role (server or client) is dependent of "endpoint" being specified. See "endpoint" for details. Specifies the user preference to use one specific app type or all available types If specified, which Core uses a client implementation of the connection type and attempts to connect to the endpoint when this app is selected (activated). If omitted, Core won't attempt to connect as the app selection (activation) is managed outside of Core. Instead it uses a server implementation of the connection type and expects the app to connect. The external temperature in degrees celsius Internal ambient cabin temperature in degrees celsius Current atmospheric pressure in mBar Gear position selected by the user i.e. Park, Drive, Reverse Actual Gear in use by the transmission Tells the transmission type The seek next / skip previous subscription buttons' content If the type is TIME, this number of seconds may be present alongside the skip indicator. It will indicate the number of seconds that the currently playing media will skip forward or backward. Method is invoked at system start-up. SDL requests the information about all supported hardware buttons and their capabilities Response must provide the names of available buttons and their capabilities.See ButtonCapabilities Must be returned if the platform supports custom on-screen Presets Method is invoked when the application tries to press a button The module where the button should be pressed Id of a module, published by System Capability. Indicates whether this is a LONG or SHORT button press event. ID of the application that triggers the permission prompt. HU system must notify about every UP/DOWN event for buttons Indicates whether this is an UP or DOWN event. Must be provided if ButtonName is CUSTOM_BUTTON, this references the integer ID passed by a custom button. (e.g. softButtonName) If appID is not sent together with CUSTOM_BUTTON, this notification will be ignored by SDL. If appID is present for OK button -> SDL transfers notification to the named app only if it is in FULL or LIMITED (ignores if app is in NONE or BACKGROUND). If appID is omitted for OK button -> SDL transfers notification to app in FULL Indicates whether this is a LONG or SHORT button press event. Must be returned if ButtonName is CUSTOM_BUTTON, this references the string passed by a custom button. (e.g. softButtonName) If appID is not sent together with CUSTOM_BUTTON, this notification will be ignored by SDL. If appID is present for OK button -> SDL transfers notification to the named app only if it is in FULL or LIMITED (ignores if app is in NONE or BACKGROUND). If appID is omitted for OK button -> SDL transfers notification to app in FULL Subscribes to buttons. The ID of the application requesting this button subscription. Name of the button to subscribe. Unsubscribes from buttons. The ID of the application requesting this button unsubscription. Name of the button to unsubscribe from. Must be sent by SDL to HMI when there is an update on status of certain services. Services supported with current version: Video Specifies the service which has been updated. Specifies service update event. The reason for a service event. Certain events may not have a reason, such as when a service is ACCEPTED (which is the normal expected behavior). ID of the application which triggered the update. Request from SDL to HMI to obtain current UTC time. Current UTC system time HMI must notify SDL about readiness to provide system time. HMI must notify SDL about its readiness to start communication. In fact, this has to be the first message between SDL and HMI. Initiated by HMI user for getting the list of connected devices. Notification from HMI to SDL sent when HMI requires update of device list (i.e. when user clicks 'Change Device' button) This method must be invoked by SDL to update audio state. The ID of app to be resumed audio source. Issued by SDL to notify HMI about new applications registered. Request from SmartDeviceLink to HMI to change device list. The array of names/IDs of connected devices Notifies HMI in case some application file has been removed The name of the removed file The file type. See FileType. ID of the application. Notification must be initiated by HMI on user selecting device in the list of devices. The name and ID of the device chosen This method must be invoked by HMI to get list of registered apps. DEPRECATED - This RPC is not implemented The name and ID of the device the list of registered applications is required for. Request from SDL to HMI to bring specified application to front on UI e.g make it HMI status 'FULL'. ID of deactivated application. Send to HMI so that it can coordinate order of requests/notifications correspondingly. If level for application is to be changed to something else then FULL then this parameter should be used. Request from the application to exit the foreground. ID of selected application. Must be sent by HU system when the user clicks on app in the list of registered apps or on soft button with 'STEAL_FOCUS' action. ID of selected application. This is the unique ID assigned to the window that this RPC is intended. If this param is not included, it will be assumed that this request is specifically for the main window on the main display. See PredefinedWindows enum. Must be sent by HU system when the user switches to any functionality which is not other mobile application. ID of deactivated application. This is the unique ID assigned to the window that this RPC is intended. If this param is not included, it will be assumed that this request is specifically for the main window on the main display. See PredefinedWindows enum. Issued by SDL to notify HMI about new application registered. The information about application registered. See HMIApplication. TTS string for VR recognition of the mobile application name, e.g. "Ford Drive Green". Meant to overcome any failing on speech engine in properly pronouncing / understanding app name. May not be empty. May not start with a new line character. Not unique value Defines an additional voice recognition command. Must not interfere with any name of previously registered applications from the same device. The flag if VR grammars resume is required Send to HMI so that it can coordinate order of requests/notifications correspondingly. Issued by SDL to notify HMI about application unregistered. Application then to be removed from application list; all data connected with application has to be cleared up. SDL sends 'true' in case the connection is unexpectedly lost. SDL sends 'false' in case the mobile app is unregistered gracefully (via appropriate RPC) ID of the application unregistered Must be sent by HMI when the User chooses to exit the application.. Specifies reason of moving the app to NONE ID of the application to be exited. Sent by HMI to SDL to close all registered applications. Specifies reason for exiting all apllications. Sender: HMI->SDL. Must be sent to return SDL to normal operation after 'Suspend' or 'LowVoltage' events Request from SDL to HMI to find out if the last one supports mixing audio (i.e. recording TTS command and playing audio). If no response received SDL supposes that mixing audio is not supported Must be true if supported Request from SDL to call a specific number. Phone number is a string, which can be up to 40 chars. All characters shall be stripped from string except digits 0-9 and * # , ; + ID of application that concerns this RPC. HMI must send this notification to SDL for method instance for which timeout needs to be reset Id between HMI and SDL which SDL used to send the request for method in question, for which timeout needs to be reset. Name of the function for which timeout needs to be reset Timeout period in milliseconds, for the method for which timeout needs to be reset. If omitted, timeout would be reset by defaultTimeout specified in smartDeviceLink.ini An asynchronous request from the system for specific data from the device or the cloud or response to a request from the device or cloud Binary data can be included in hybrid part of message for some requests (such as Authentication request responses) The type of system request. This parameter is filled for supporting OEM proprietary data exchanges. Optional array of URL(s) for HTTP requests. Optional file type (meant for HTTP file requests). Optional offset in bytes for resuming partial data chunks Optional length in bytes for resuming partial data chunks File reference name. ID of application that requested this RPC. An asynchronous request from the device; binary data can be included in hybrid part of message for some requests (such as Authentication requests) The type of system request. This parameter is filled for supporting OEM proprietary data exchanges. The path to file. Internal ID of the application that requested this RPC. From: SDL To: SYNCP Manager Asks SYNCP Manager to send given Policy Table snapshot to the backend Location of policy table snapshot Send attempt timeout in seconds Array of delays to wait after failed atempts SDL must notify HMI about finish working application Notification that is sent to HMI when a mobile application uploads a file Optional offset in bytes for resuming partial data chunks Optional length in bytes for resuming partial data chunks Full Size of file. sends in first OnPutFile notification if file is splited into many PutFiles File reference name. Selected file type. Indicates if the file is meant to persist between sessions / ignition cycles. If set to TRUE, then the system will aim to persist this file through session / cycles. While files with this designation will have priority over others, they are subject to deletion by the system at any time. In the event of automatic deletion by the system, the app will receive a rejection and have to resend the file. If omitted, the value will be set to false. Indicates if the file is meant to be passed thru core to elsewhere on the system. If true the system will pass the data thru as it arrives to a predetermined area outside of core. ID of application that uploaded this file. This request is sent to retrieve a file path from the HMI. File name that should be retrieved. Selected file type. ID of the service that should have uploaded the requested file. HMI handles the request internally and returns the file path with the response. Path to file in hmi Selected file type. Request from SDL to HMI to obtain information about head unit system. Software version of the module ISO 639-1 combined with ISO 3166 alpha-2 country code (i.e. en-us) Country code from the Ford system WERS (i.e.WAEGB). The hardware version of the system Issued by system to SDL to notify that some system param has changed. Currently applied for Sync Language. Notification from system to SDL to let it know that ignition cycle is over. Sender: SDL->HMI. Purpose: to decrypt the certificate received via the Updated Policy Table. The path to the file with the encrypted certificate from the PolicyTable. SUCCESS - in case the certificate is decrypted and placed to the same file from request. Sender: HMI->SDL. When event is become active Specifies the types of active events. Must be 'true' - when the event is started on HMI. Must be 'false' when the event is ended on HMI A notification between HMI and SDL that a specific system capability has been changed. It can be sent in both directions SDL to HMI and HMI to SDL. Direction is dependent on the point where capabilities have been changed The system capability that has been updated ID of application that is related to this RPC. HMI >SDL. RPC used to enable/disable an application and set authentication data The new application properties The response to SetAppProperties HMI >SDL. RPC used to get the current properties of an application If specified the response will contain the properties of the specified app ID. Otherwise if omitted all app properties will be returned at once. The response to GetAppProperties The requested application properties SDL >HMI. RPC used to inform HMI about app properties change (such as auth token). The new application properties A notification to inform HMI that a specific app capability has changed. The app capability that has been updated Method is invoked at system startup. Response provides information about presence of VR module and its readiness to cooperate with SDL. Must be true if VR is present and ready to communicate with SDL. Must be initiated by VR module to let SDL know that VR session has started. Must be initiated by VR module to let SDL know that VR session has stopped. Request from SDL to add a command(string with associated id) to VR. ID of a command (further to be used in OnCommand notification). List of strings to be used as VR commands. Type of added command. See VRCommandType. ID of the specific grammar, whether top-level or choice set. ID of application that requested this RPC. Request from SDL to delete a command from VR. Id of a command (list of strings), previously sent by AddCommand. Type of added command. See VRCommandType. ID of the specific grammar. ID of application that requested this RPC. Sets some properties for the application initiated request. The help prompt. An array of text chunks of type TTSChunk. See TTSChunk. The array must have at least one item. This is the intial prompt spoken to the user at the start of an interaction. An array of text chunks of type TTSChunk. See TTSChunk. The array must have at least one item. Help text for a wait timeout. An array of text chunks of type TTSChunk. See TTSChunk. The array must have at least one item. Timeout initiate timeoutPrompt IDs of the specific compiled grammars for this voice interaction. ID of application related to this RPC. An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC. ID of the choice that was selected in response to PerformInteraction. Notifies SDL about command trigerred via VR ID of of the command (list of strings) ID of application related to this RPC. Request from SmartDeviceLink to HMI to change language of VR. Request new VR synonyms registration Defines an additional voice recognition command. Must not interfere with any name of previously registered applications from the same device. The language application wants to switch to. ID of application that concerns this RPC. Notification from HMI to SmartDeviceLink about change of language. Language VR has switched to. Method is invoked at system start-up. Response must provide the information about VR supported languages. List of languages supported in VR. Request from SmartDeviceLink to HMI to get currently active VR language Method is invoked at system startup by SDL to request information about VR capabilities of HMI. Types of input recognized by VR module. RPCs for communication between TTS and SDL. Method is invoked at system start-up. SDL requests the information about all supported hardware and their capabilities See SpeechCapabilities See PrerecordedSpeech Must be initiated by TTS module to let SDL know that TTS session has started. Must be initiated by TTS module to let SDL know that TTS session has stopped. Method is invoked at system start-up. Response must provide the information about presence of TTS module and its readiness to cooperate with SDL. Must be true if TTS is present and ready to communicate with SDL. RPC from SDL to TTS for speaking the text. List of strings to be spoken. ID of application that requested this RPC. Defines the type of the request which causes text-to-speech Defines that the tone should be played Provides information about success of operation. Initiated by SDL to stop speaking the text. Request from SmartDeviceLink to HMI to change language of TTS. Request new ttsName registration TTS string for VR recognition of the mobile application name, e.g. "Ford Drive Green". Meant to overcome any failing on speech engine in properly pronouncing / understanding app name. May not be empty. May not start with a new line character. Not unique value (SDL makes all the checks) The language application wants to switch to. ID of application related to this RPC. Notification from HMI to SmartDeviceLink about change of language. Language TTS has switched to. Method is invoked at system start-up by SDL. Response must provide the information about TTS supported languages. List of languages supported in TTS. Request from SmartDeviceLink to HMI to get currently active TTS language Sets some properties for the application initiated request. The help prompt. An array of text chunks of type TTSChunk. See TTSChunk. Help text for a wait timeout. An array of text chunks of type TTSChunk. See TTSChunk. The array must have at least one item. ID of application related to this RPC. Request from SDL to show an alert message on the display. Array of lines of alert text fields. See TextFieldStruct. Uses alertText1, alertText2, alertText3. Timeout in milliseconds. App defined SoftButtons If supported on the given platform, the alert GUI will include some sort of animation indicating that loading of a feature is progressing. e.g. a spinning wheel or hourglass, etc. Defines if only UI or BOTH portions of the Alert request are being sent to HMI Side ID of application requested this RPC. An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC. Image to be displayed for the corresponding alert. See Image. If omitted, no (or the default if applicable) icon should be displayed. Amount of time (in milliseconds) that SDL must wait before resending an alert. Must be provided if another system event or overlay currently has a higher priority than this alert. Request from SDL to show a subtle alert message on the display. Array of lines of alert text fields. See TextFieldStruct. Uses subtleAlertText1, subtleAlertText2. Image to be displayed for the corresponding alert. See Image. If omitted, no (or the default if applicable) icon should be displayed. Timeout in milliseconds. App defined SoftButtons Defines if only UI or BOTH portions of the Alert request are being sent to HMI Side ID of application requested this RPC. An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC. Amount of time (in milliseconds) that SDL must wait before resending an alert. Must be provided if another system event or overlay currently has a higher priority than this alert. Sent when the alert itself is touched (outside of a soft button). Touching (or otherwise selecting) the alert should open the app before sending this notification. ID of application that is related to this RPC. Array of lines of show text fields. See TextFieldStruct. If some field is not set, the corresponding text should stay unchanged. If field's text is empty "", the field must be cleared. mainField1: The text that should be displayed in a single or upper display line. mainField2: The text that should be displayed on the second display line. mainField3: The text that should be displayed on the second "page" first display line. mainField4: The text that should be displayed on the second "page" second display line. templateTitle: The title of the new template that will be displayed. statusBar: statusBar. mediaClock: Text value for MediaClock field. mediaTrack: The text that should be displayed in the track field. This field is only valid for media applications on NGN type ACMs. Specifies how mainField1 and mainField2 texts should be aligned on the display. If omitted, texts must be centered Path to optional dynamic image or the static binary image itself. See Image. If omitted, the displayed graphic should not change. Image struct determining whether static or dynamic secondary image to display in app. If omitted on supported displays, the displayed secondary graphic shall not change. App defined SoftButtons. If omitted, the currently displayed SoftButton values should not change. App labeled on-screen presets (i.e. GEN3 media presets or dynamic search suggestions). If omitted on supported displays, the presets will be shown as not defined. Id of application related to this RPC. This is the unique ID assigned to the window that this RPC is intended. If this param is not included, it will be assumed that this request is specifically for the main window on the main display. See PredefinedWindows enum. Used to set an alternate template layout to a window. Create a new window on the display with the specified window type. A unique ID to identify the window. The value of '0' will always be the default main window on the main display and should not be used in this context as it will already be created for the app. See PredefinedWindows enum. Creating a window with an ID that is already in use will be rejected with `INVALID_ID`. The window name to be used by the HMI. The name of the pre-created default window will match the app name. Multiple apps can share the same window name except for the default main window. Creating a window with a name which is already in use by the app will result in `DUPLICATE_NAME`. The type of the window to be created. Main window or widget. Allows an app to create a widget related to a specific service type. As an example if a `MEDIA` app becomes active, this app becomes audible and is allowed to play audio. Actions such as skip or play/pause will be directed to this active media app. In case of widgets, the system can provide a single "media" widget which will act as a placeholder for the active media app. It is only allowed to have one window per service type. This means that a media app can only have a single MEDIA widget. Still the app can create widgets omitting this parameter. Those widgets would be available as app specific widgets that are permanently included in the HMI. This parameter is related to widgets only. The default main window, which is pre-created during app registration, will be created based on the HMI types specified in the app registration request. Optional parameter. Specify whether the content sent to an existing window should be duplicated to the created window. If there isn't a window with the ID, the request will be rejected with `INVALID_DATA`. ID of application that concerns this RPC. Deletes previously created window of the SDL application. A unique ID to identify the window. The value of '0' will always be the default main window on the main display and cannot be deleted. See PredefinedWindows enum. ID of application that concerns this RPC. Request from SDL to add a command to the application menu. ID of the command to be added. Optional sub value containing parameters of the command (position, name, etc.). See MenuParams. If omitted the command should be added to the end of the list of commands. Image to be displayed for representing the command. See Image. If omitted, no (or the default if applicable) icon should be displayed. Optional secondary image struct for menu cell ID of application that concerns this RPC. Request from SDL to delete a command from the in-application menu with the specified command id. cmdId previously sent via AddCommand request - id of the command to be deleted. ID of application that concerns this RPC. Request from SDL to add a sub menu to the in-application menu. ID of the sub menu to be added. Unique for the application. Position, parentID, and name of menu to be added. The image field for AddSubMenu Optional secondary image struct for menu cell ID of application that requested this RPC. Sets the layout of the submenu screen. Request from SDL to delete a submenu from the in-application menu. The "menuID" of the sub-menu to be deleted. (See addSubMenu.menuID) ID of application that concerns this RPC. Request from SDL to show an app's menu or a corresponding sub-menu. If ommited the HMI opens the app's menu. If set to a sub-menu ID the HMI opens the corresponding sub-menu previously added using `AddSubMenu`. ID of application that concerns this RPC. Request from SDL for triggering an interaction (e.g. "Permit GPS?" - Yes, no, Always Allow). Uses initialInteractionText. See TextFieldStruct. The list of choices to be used for the interaction with the user VR Help Title text. If omitted on supported displays, the default HU system help title should be used. VR Help Items. If omitted on supported displays, the default HU system generated help items should be used. Timeout in milliseconds. See LayoutMode. ID of application that concerns this RPC. An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC. ID of the choice that was selected in response to PerformInteraction. Manually entered text selection, e.g. through keyboard Can be returned in lieu of choiceID, depending on trigger source The ID of the specific interaction you want to dismiss. If not set, the most recent of the RPC type set in functionID will be dismissed. The ID of the type of interaction the developer wants to dismiss. Only values 10, (PerformInteractionID), 12 (AlertID), 25 (ScrollableMessageID), 26 (SliderID), and 64 (SubtleAlertID) are permitted. ID of application requested this RPC. Sets the initial media clock value and automatic update method. SDL transfers startTime together with modes: "COUNTUP", "COUNTDOWN", "PAUSE" to HMI. SDL ignores startTime for modes: "RESUME", and "CLEAR" See TimeFormat. SDL transfers endTime together with modes: "COUNTUP", "COUNTDOWN", "PAUSE" to HMI. To be used to calculate any visual progress bar (if not provided, this feature is ignored). SDL ignores endTime for modes: "RESUME", and "CLEAR" The update method of the media clock. In case of pause, resume, or clear, the start time value is ignored and shall be left out. For resume, the time continues with the same value as it was when paused. Indicates that a button press of the Play/Pause button would play, pause or Stop the current playback. Used to control the forward seek button to either skip forward a set amount of time or to the next track. Used to control the backward seek button to either skip back a set amount of time or to the previous track. The value of this parameter is the amount that the media clock timer will advance per 1.0 seconds of real time. Values less than 1.0 will therefore advance the timer slower than real-time, while values greater than 1.0 will advance the timer faster than real-time. e.g. If this parameter is set to `0.5`, the timer will advance one second per two seconds real-time, or at 50% speed. If this parameter is set to `2.0`, the timer will advance two seconds per one second real-time, or at 200% speed. ID of application that requested this RPC. Request from SDL to set some properties for VR help. VR Help Title text. If omitted on supported displays, the default HU system help title should be used. VR Help Items. If omitted on supported displays, the default HU system generated help items should be used. Optional text to label an app menu button (for certain touchscreen platforms). Optional icon to draw on an app menu button (for certain touchscreen platforms). On-screen keybaord configuration (if available). ID of application that concerns this RPC. Sets the layout of the main menu screen. If this is sent while a menu is already on-screen, the head unit will change the display to the new layout type. Notification must be initiated by HMI on user choosing menu item. Command ID, which is related to a specific menu entry (previously sent with AddCommand). ID of application that is related to this RPC. Notification must be initiated by HMI when the user changes the context of application: goes to menu (in-application menu or system menu); switches to VR; pop-up appears on screen etc. The context the application is brought into. ID of application that is related to this RPC. This is the unique ID assigned to the window that this RPC is intended. If this param is not included, it will be assumed that this request is specifically for the main window on the main display. See PredefinedWindows enum. Method is invoked at system startup by SDL to request information about UI capabilities of HMI. Information about the capabilities of the display: its type, text field supported, etc. See DisplayCapabilities. Describes an audio configuration that the system supports for PerformAudioPassThru. Note: please fill out both audioPassThruCapabilities and audioPassThruCapabilitiesList parameters, as: - Newer SDL Core uses audioPassThruCapabilitiesList instead of audioPassThruCapabilities, and - audioPassThruCapabilities is a mandatory field and cannot be omitted. Describes the audio configurations that the system supports for PerformAudioPassThru. Must be returned if the platform supports on-screen SoftButtons. Specifies the HMI’s capabilities. See HMICapabilities. Specifies system capabilities. See SystemCapabilities Request from SmartDeviceLink to HMI to change language for app. Request new app name registration Needs to be unique over all applications from the same device. May not be empty. May not start with a new line character. May not interfere with any name or synonym of any registered applications from the same device. Additional applications with the same name from the same device will be rejected. Request new app short name registration The language application wants to switch to. Sent when app's requested-during-registration AppHMIType is changed to different one due to Policies update. Contains the updated list of all allowed app's AppHMITypes. ID of application that concerns this RPC. Notification from HMI to SmartDeviceLink about change of language. Language UI has switched to. Method should be invoked at system startup. Response provides information about UI supported languages. List of languages supported in UI. Request from SmartDeviceLink to HMI to get currently active UI language Notification must be sent from HMI to SDL when driver distraction state is changed. Driver distraction rules are defined by the platform. See DriverDistractionState. Used to set existing local file on SYNC as the app's icon. Either the path to the dynamic image stored on HY or the static binary image itself. See Image ID of application related to this RPC. On-screen keyboard event. Can be full string or individual keypresses depending on keyboard mode. On-screen keyboard input data. On-screen keyboard input data. For dynamic keypress events, this will be the current compounded string of entry text. For entry submission events, this will be the full text entry (this will always return regardless of the mode). For entry cancelled and entry aborted events, this data param will be omitted. Notifies about touch events on the screen's prescribed area The type of touch event. List of all individual touches involved in this event. Creates a full screen or pop-up overlay (depending on platform) with a single user controlled slider. Number of selectable items on a horizontal axis Initial position of slider control (cannot exceed numTicks) Text header to be displayed. Text footer to be displayed (meant to display min/max threshold descriptors). For a static text footer, only one footer string shall be provided in the array. For a dynamic text footer, the number of footer text string in the array must match the numTicks value. For a dynamic text footer, text array string should correlate with potential slider position index. If omitted on supported displays, no footer text shall be displayed. Timeout. The slider should be displayed until the defined amount of time has elapsed. ID of application that concerns this RPC. An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC. Current slider position. Must be returned when the user has clicked the ‘Save’ or ‘Canceled’ button or by the timeout Creates a full screen overlay containing a large block of formatted text that can be scrolled with up to 8 SoftButtons defined Body of text that can include newlines and tabs. Uses scrollableMessageBody. Timeout in milliseconds. The message should be displayed until the time defined is up. App defined SoftButtons. If omitted on supported displays, only the system defined "Close" SoftButton should be displayed. ID of application related to this RPC. An ID for this specific alert to allow cancellation through the `CancelInteraction` RPC. ID of application related to this RPC. Uses audioPassThruDisplayText1: First line of text displayed during audio capture. audioPassThruDisplayText2: Second line of text displayed during audio capture. The maximum duration of audio recording in milliseconds. If not provided, the recording should be performed until EndAudioPassThru arrives. Defines if the current audio source should be muted during the APT session. If not, the audio source will play without interruption. If omitted, the value is set to true. Request is sent by SDL to stop the audio capturing. Method is invoked at system startup. Response provides information about presence of UI module and its readiness to cooperate with SDL. Must be true if UI is present and ready to communicate with SDL. Initiated by SDL to close currently active pop-up on HMI. Method to be closed Provides the result of operation. Issued by SDL to notify HMI about capturing mic data should be started ID of application related to this RPC. Send the UI spatial data from MOBILE. This data will be utilized by the HMI to determine how and when haptic events should occur Internal ID of the application that requested this RPC. 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. For the HMI to tell Core that a file needs to be retrieved from the app. ID of application related to this RPC. File reference name. For the HMI to tell Core that a submenu needs updating ID of application related to this RPC. This menuID must match a menuID in the current menu structure If not set, assume false. If true, the app should send AddCommands with parentIDs matching the menuID. These AddCommands will then be attached to the submenu and displayed if the submenu is selected. Method is invoked at system startup. Response must provide the information about presence of UI Navigation module and its readiness to cooperate with SDL. Must be true if Navigation is present and ready to communicate with SDL. That allows the app to send a destination to the embedded nav system. ID of application related to this RPC. Name / title of intended location Description intended location / establishment (if applicable) Location address (if applicable) Phone number of intended location / establishment (if applicable) Image / icon of intended location (if applicable and supported) timestamp in ISO 8601 format Address to be used for setting destination Defines the mode of prompt for user Request from SmartDeviceLinkCore to HMI to show info about navigation. See TextFieldStruct. Uses: navigationText1 navigationText2 ETA totalDistance timeToDestination. Distance (in meters) until next maneuver. May be used to calculate progress bar. Distance (in meters) from previous maneuver to next maneuver. May be used to calculate progress bar. If and when a maneuver has completed while an AlertManeuver is active, SDL will send this value set to TRUE in order to clear the AlertManeuver overlay. If omitted the value should be assumed as FALSE. Three dynamic SoftButtons available If omitted on supported displays, the currently displayed SoftButton values will not change. ID of application related to this RPC. Request from SmartDeviceLinkCore to HMI to announce navigation maneuver If omitted, only the system defined "Close" SoftButton should be displayed. ID of the application requested this RPC. Request from SmartDeviceLinkCore to HMI to update turn list. If omitted, app-defined SoftButton should be left blank. ID of application related to this RPC. HMI must provide SDL with notifications specific to the current Turn-By-Turn client status on the module Current State of TBT client Request from SDL to HMI to ask whether HMI accepts a video stream with given configuration. Configuration of a video stream. ID of application related to this RPC. Response from HMI to SDL whether the configuration is accepted. In a negative response, a list of rejected parameters are supplied. 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. Request from SmartDeviceLinkCore to HMI to start playing video streaming. URL that HMI start playing. ID of application related to this RPC. Request from SmartDeviceLinkCore to HMI to stop playing video streaming. ID of application related to this RPC. Request from SmartDeviceLinkCore to HMI to start playing audio streaming. URL that HMI start playing. ID of application related to this RPC. Request from SmartDeviceLinkCore to HMI to stop playing audio streaming. ID of application related to this RPC. Sender: SDL->HMI. Purpose: notify about raw audio data presence over the URL provided via StartAudioStream SDL's request. If "true" - audio data started. If "false" - audio data stopped. Sender: SDL->HMI. Purpose: notify about raw video data presence over the URL provided via StartStream SDL's request. If "true" - video data started. If "false" - video data stopped. Request for getting waypoint/destination data. To request for either the destination only or for all waypoints including destination ID of the application. ID of the application. See LocationDetails Notification which provides the entire LocationDetails when there is a change to any waypoints or destination. See LocationDetails To subscribe in getting changes for Waypoints/destinations Request to unsubscribe from WayPoints and Destination Method is invoked at system startup. Response should provide information about presence of any of vehicle information modules (ECU, GPS, etc) and their readiness to cooperate with SDL. Must be true if vehicle data modules are present and ready to communicate with SDL. Request from SmartDeviceLinkCore to HMI to get info about the vehicle (type, model, etc.). Request from SDL for vehicle data reading. Name of ECU. Get raw data from vehicle data DID location(s). ID of application related to this RPC. Array of requested DID results (with data if available). Vehicle module diagnostic trouble code request. Name of ECU. DTC Mask Byte to be sent in diagnostic request to module . ID of application that requested this RPC. 2 byte ECU Header for DTC response (as defined in VHR_Layout_Specification_DTCs.pdf) Array of all reported DTCs on module. Each DTC is represented with 4 bytes: 3 bytes for data 1 byte for status Non periodic vehicle diagnostic request Name of target ECU. Length of message (in bytes). Array of bytes comprising CAN message. ID of application that requested this RPC. Array of bytes comprising CAN message result. Subscribes for specific published data items. The data will be only sent if it has changed. The application will be notified by the onVehicleData notification whenever new data is available. To unsubscribe the notifications, use unsubscribe with the same subscriptionType. See GPSData The vehicle speed in kilometers per hour The number of revolutions per minute of the engine The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The instantaneous fuel consumption in microlitres The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the vehicle. See struct FuelRange for details. The external temperature in degrees celsius See ClimateData See TurnSignal See GearStatus See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` See TireStatus Odometer in km The status of the seat belts The body information including power modes The device status including signal and battery strength The status of the brake pedal The status of the wipers Status of the head lamps Torque value for engine (in Nm) on non-diesel variants Accelerator pedal position (percentage depressed) Current angle of the steering wheel (in deg) The estimated percentage of remaining oil life of the engine. The status of the park brake as provided by Electric Park Brake (EPB) system. Parameter used by cloud apps to identify a head unit See StabilityControlsStatus See WindowStatus To indicate whether driver hands are off the steering wheel See SeatOccupancy Emergency Call notification and confirmation data The status of the air bags Information related to an emergency event (and if it occurred) The status modes of the cluster Information related to the MyKey feature See GPSData The vehicle speed in kilometers per hour The number of revolutions per minute of the engine The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The instantaneous fuel consumption in microlitres The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the vehicle. See struct FuelRange for details. The external temperature in degrees celsius. See ClimateData See TurnSignal See GearStatus See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` See TireStatus Odometer in km The status of the seat belts The body information including power modes The device status including signal and battery strength The status of the brake pedal The status of the wipers Status of the head lamps Torque value for engine (in Nm) on non-diesel variants Accelerator pedal position (percentage depressed) Current angle of the steering wheel (in deg) The estimated percentage of remaining oil life of the engine. The status of the park brake as provided by Electric Park Brake (EPB) system. Parameter used by cloud apps to identify a head unit See StabilityControlsStatus See WindowStatus To indicate whether driver hands are off the steering wheel See SeatOccupancy Emergency Call notification and confirmation data The status of the air bags Information related to an emergency event (and if it occurred) The status modes of the cluster Information related to the MyKey feature This function is used to unsubscribe the notifications from the subscribeVehicleData function. See GPSData The vehicle speed in kilometers per hour The number of revolutions per minute of the engine The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The instantaneous fuel consumption in microlitres The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the vehicle. See struct FuelRange for details. The external temperature in degrees celsius. See ClimateData See TurnSignal See GearStatus See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` See TireStatus Odometer in km The status of the seat belts The body information including power modes The device status including signal and battery strength The status of the brake pedal The status of the wipers Status of the head lamps Torque value for engine (in Nm) on non-diesel variants Accelerator pedal position (percentage depressed) Current angle of the steering wheel (in deg) The estimated percentage of remaining oil life of the engine. The status of the park brake as provided by Electric Park Brake (EPB) system. Parameter used by cloud apps to identify a head unit See StabilityControlsStatus See WindowStatus To indicate whether driver hands are off the steering wheel See SeatOccupancy Emergency Call notification and confirmation data The status of the air bags Information related to an emergency event (and if it occurred) The status modes of the cluster Information related to the MyKey feature See GPSData The vehicle speed in kilometers per hour The number of revolutions per minute of the engine The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The instantaneous fuel consumption in microlitres The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the vehicle. See struct FuelRange for details. The external temperature in degrees celsius See ClimateData See TurnSignal See GearStatus See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` See TireStatus Odometer in km The status of the seat belts The body information including power modes The device status including signal and battery strength The status of the brake pedal The status of the wipers Status of the head lamps Torque value for engine (in Nm) on non-diesel variants Accelerator pedal position (percentage depressed) Current angle of the steering wheel (in deg) The estimated percentage of remaining oil life of the engine. The status of the park brake as provided by Electric Park Brake (EPB) system. Parameter used by cloud apps to identify a head unit See StabilityControlsStatus See WindowStatus To indicate whether driver hands are off the steering wheel See SeatOccupancy Emergency Call notification and confirmation data The status of the air bags Information related to an emergency event (and if it occurred) The status modes of the cluster Information related to the MyKey feature Non periodic vehicle data read request. See GPSData The vehicle speed in kilometers per hour The number of revolutions per minute of the engine The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The instantaneous fuel consumption in microlitres The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the vehicle. See struct FuelRange for details. The external temperature in degrees celsius See ClimateData See TurnSignal Vehicle identification number See GearStatus See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` See TireStatus Odometer in km The status of the seat belts The body information including ignition status and internal temp The device status including signal and battery strength The status of the brake pedal The status of the wipers Status of the head lamps Torque value for engine (in Nm) on non-diesel variants Accelerator pedal position (percentage depressed) Current angle of the steering wheel (in deg) The estimated percentage of remaining oil life of the engine. The status of the park brake as provided by Electric Park Brake (EPB) system. Parameter used by cloud apps to identify a head unit See StabilityControlsStatus See WindowStatus To indicate whether driver hands are off the steering wheel See SeatOccupancy Emergency Call notification and confirmation data The status of the air bags Information related to an emergency event (and if it occurred) The status modes of the cluster Information related to the MyKey feature See GPSData The vehicle speed in kilometers per hour The number of revolutions per minute of the engine The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The instantaneous fuel consumption in microlitres The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the vehicle. See struct FuelRange for details. The external temperature in degrees celsius See ClimateData See TurnSignal Vehicle identification number See GearStatus See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` See TireStatus Odometer in km The status of the seat belts The body information including power modes The device status including signal and battery strength The status of the brake pedal The status of the wipers Status of the head lamps Torque value for engine (in Nm) on non-diesel variants Accelerator pedal position (percentage depressed) Current angle of the steering wheel (in deg) The estimated percentage of remaining oil life of the engine. The status of the park brake as provided by Electric Park Brake (EPB) system. Parameter used by cloud apps to identify a head unit See StabilityControlsStatus See WindowStatus To indicate whether driver hands are off the steering wheel See SeatOccupancy Emergency Call notification and confirmation data The status of the air bags Information related to an emergency event (and if it occurred) The status modes of the cluster Information related to the MyKey feature Callback for the periodic and non periodic vehicle data read function. See GPSData The vehicle speed in kilometers per hour The number of revolutions per minute of the engine The fuel level in the tank (percentage). This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The fuel level state. This parameter is deprecated starting RPC Spec 7.0, please see fuelRange The instantaneous fuel consumption in microlitres The fuel type, estimated range in KM, fuel level/capacity and fuel level state for the vehicle. See struct FuelRange for details. The external temperature in degrees celsius See ClimateData See TurnSignal Vehicle identification number. See GearStatus See PRNDL. This parameter is deprecated and it is now covered in `gearStatus` See TireStatus Odometer in km The status of the seat belts The status of the park brake as provided by Electric Park Brake (EPB) system. The body information including power modes The device status including signal and battery strength The status of the brake pedal The status of the wipers Status of the head lamps Torque value for engine (in Nm) on non-diesel variants Accelerator pedal position (percentage depressed) Current angle of the steering wheel (in deg) Parameter used by cloud apps to identify a head unit The estimated percentage of remaining oil life of the engine. See StabilityControlsStatus See WindowStatus To indicate whether driver hands are off the steering wheel See SeatOccupancy Emergency Call notification and confirmation data The status of the air bags Information related to an emergency event (and if it occurred) The status modes of the cluster Information related to the MyKey feature If isSDLAllowed is false, consent for sending PT through specified device is required. If app permissions were reduced (isAppPermissionsRevoked == true), then this array specifies list of removed permissions. Send to HMI so that it can coordinate order of requests/notifications correspondingly. Request from HMI to SDL to get user friendly messages for UI/TTS info boxes/texts (i.e. for help/dialogs etc) from Policy Table. Id of message to be received according to Policy Table i.e. StatusNeeded, Notifications, DrivingCharacteristics etc. Optional parameter if HMI wants message in some other language then its current one already known to SDL. If no message was found in PT for specified message code and for HMI current or specified language, this parameter will be omitted. Initiated by HMI. Notifies about user/HMI allowing SDL functionality or disallowing access to all mobile apps. Needed if HMI has additional ways of asking user about this (i.e. Settings etc) If no device is specified permission counts for SDL functionality in general. Must be true if allowed From: SYNCP Manager To: SDL Notification sent to SDL when SYNCP Manager receives and decrypts updated policy table Location of decrypted policy table Json file on target From: SYNCP Manager To: SDL Notifies SDL to supply a new "PolicyUpdate" request with more recent snapshot data Request from HMI to SDL to get list of permissions for app. If no app specified - list of permissions for all apps. If no permissions were specified for application the array will come empty. External User Consent Settings (defined by entityType and entityID) status: enabled/disabled. If empty array is returned, SDL does not have any stored status. Initiated by HMI for specifying the allowance for the application to perform some functionality. Duplicates functionality of the request, needed if HMI has specific ways to allow/disallow functionality (i.e.Setting Menu) Information about the application. See HMIApplication. If omitted - allow/disallow all applications Notification from SDL to HMI. Occurs when app permissions were reduced. If no permission specified means that app was dissallowed and has to be unregitstered. If app permissions were reduced (isAppPermissionsRevoked == true), then this array specifies list of removed permissions. If present then specified application was prohibited to used with Sync. If present specifies that permissions were added to application that require User Consent, then HMI can send GetListOfPermissions request to obtain list of permissions. When present and set to true (should be if present) then this means that application was not authorized (nickname check failed.) Send to HMI so that it can coordinate order of requests/notifications correspondingly. The list of SystemRequest's RequestTypes allowed by policies for the named application (the app's SystemRequest sent with RequestType out of this list will get 'disallowed' response from SDL). If SDL sends an empty array - any RequestType is allowed for this app. If SDL omits this parameter - nothing is changed for RequestType in the policies The list of SystemRequest's requestSubTypes allowed by policies for the named application. If the app sends a requestSubType which is not specified in this list, then that request should be rejected. An empty array signifies that any value of requestSubType is allowed for this app. If this parameter is omitted, then a request with any value of requestSubType is now allowed for this app Send from SDL to HMI to notify that data consent is needed for device either because PT update or Retry strategy. Request from HMI to SDL to start update of Policy Table. Specify result: no update needed, update was successful/unsuccessful etc Request from HMI to SDL to find out current status of PT exchange process. Notification from SDL to HMI when current status of PT exchange changed (i.e. it Succeded or Failed etc) Sent by system to record statiscs and error counts. Increases statistics specified by statisticType by one. Request from HMI to SDL core to get policy configuration data (i.e. OEM Network Mapping table file version etc.) from Policy Table. Name of the Struct where configuration data is located in Policy Table, i.e. module_config etc. Name of the property located within the policyType Struct, i.e. vehicle_year etc. Value of requested property from policyType in PT. If no value is found in PT for specified policyType and property, this parameter will be omitted. 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. Must be true if vehicle RC modules are present and ready to communicate with SDL. Method is invoked at system startup by SDL to request information about Remote Control capabilities of HMI. See RemoteControlCapabilities, all available RC modules and buttons shall be returned. See SeatLocationCapability, all available seat locations shall be returned. Sets some properties for the application initiated request. Location of the user's seat. Default is driver's seat location if it is not set yet. ID of application related to this RPC. The module type and data to set Internal SDL-assigned ID of the related application Used to set the values of one zone and one data type within that zone The module data to retrieve from the vehicle for that type Id of a module, published by System Capability. If subscribe is true, the head unit will send OnInteriorVehicleData notifications for the requested module (moduleId and moduleType) 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. 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. The module type that the app requests to control. Ids of a module, published by System Capability. ID of the application that triggers the permission prompt. This array has the same size as "moduleIds" in the request; each element corresponding to one moduleId "true" - if the driver grants the permission for controlling the named app; "false" - in case the driver denies the permission for controlling the named app. Sender: vehicle -> RSDL. Notification about remote-control settings changed. Sent after User`s choice through HMI. If "true" - RC is allowed; if "false" - RC is disallowed. The remote control access mode specified by the driver via HMI. Issued by SDL to notify HMI about remote control status change on SDL ID of selected application. Contains a list (zero or more) of module types that are allocated to the application. Contains a list (zero or more) of module types that are free to access for the application. Interface used for interacting with app services as a producer or consumer Registers a service offered by this app on the module. Subsequent calls with the same service type will update the manifest for that service. The manifest of the service that wishes to be published. Response to the request to register a service offered by this app on the module If the request was successful, this object will be the current status of the service record for the published service. This will include the Core supplied service ID. Unpublish an existing service published by the HMI. The ID of the service to be unpublished. The response to UnpublishAppService This notification includes the data that is updated from the specific service. HMI->SDL if the HMI is a producer, SDL->HMI if the HMI is a consumer This request asks the module for current data related to the specific service. It also includes an option to subscribe to that service for future updates The type of service that is to be offered by this app. See AppServiceType for known enum equivalent types. Parameter is a string to allow for new service types to be used by apps on older versions of SDL Core. If true, the consumer is requesting to subscribe to all future updates from the service publisher. If false, the consumer doesn't wish to subscribe and should be unsubscribed if it was previously subscribed. This response includes the data that was requested from the specific service Fully qualified URI based on a predetermined scheme provided by the app service. SDL makes no guarantee that this URI is correct. The service ID that the app consumer wishes to send this URI. This string is the appID of the app requesting the app service provider take the specific action. This will automatically be set by SDL Core in requests originating from the HMI This flag signals the requesting consumer would like this service to become the active primary service of the destination's type. The service can provide specific result strings to the consumer through this param. If included, only service records of supplied type will be returned in response. If not included, all service records for all types will be returned. See Common.AppServiceType. All app service records of requested type. The ID of the service that should have an activation event take place on True if the service is to be activated. False if the app is to be deactivated True if the service is to be the default service of this type. False if the app is not to be the default The ID of the service that was requested to have an activation event take place True if the service was activated. False if the app was deactivated or unable to be activated True if the service was set to the default service of this type. False if the app was not to be the default SDL->HMI. HMI is expected to prompt the user for permission for the app service to take over as the active service. The ID of the service to be activated "true" - If the driver grants permission for the app service to take over as the active service. "false" - If the driver denies permission for the app service to take over as the active service.