├── .gitignore ├── LICENSE ├── README.md ├── config.json └── docs ├── AppService ├── AppServiceActivation │ ├── assets │ │ ├── AppServiceActivation_ActivateService_Success.png │ │ ├── AppServiceActivation_ActivateService_Success.puml │ │ ├── AppServiceActivation_DeactivateService_Success.png │ │ ├── AppServiceActivation_DeactivateService_Success.puml │ │ ├── AppServiceActivation_SetAsDefault_Success.png │ │ └── AppServiceActivation_SetAsDefault_Success.puml │ └── index.md ├── GetActiveServiceConsent │ ├── assets │ │ ├── GetActiveServiceConsent_Allow.png │ │ ├── GetActiveServiceConsent_Allow.puml │ │ ├── GetActiveServiceConsent_Reject.png │ │ └── GetActiveServiceConsent_Reject.puml │ └── index.md ├── GetAppServiceData │ ├── assets │ │ ├── GetAppServiceData_HMI_ASC.png │ │ ├── GetAppServiceData_HMI_ASC.puml │ │ ├── GetAppServiceData_HMI_ASP.png │ │ └── GetAppServiceData_HMI_ASP.puml │ └── index.md ├── GetAppServiceRecords │ ├── assets │ │ ├── GetAppServiceRecords.png │ │ └── GetAppServiceRecords.puml │ └── index.md ├── OnAppServiceData │ ├── assets │ │ ├── OnAppServiceData_HMI_ASC.png │ │ ├── OnAppServiceData_HMI_ASC.puml │ │ ├── OnAppServiceData_HMI_ASP.png │ │ └── OnAppServiceData_HMI_ASP.puml │ └── index.md ├── PerformAppServiceInteraction │ ├── assets │ │ ├── PerformAppServiceInteractionFromHMI.png │ │ ├── PerformAppServiceInteractionFromHMI.puml │ │ ├── PerformAppServiceInteractionFromMobile.png │ │ └── PerformAppServiceInteractionFromMobile.puml │ └── index.md ├── PublishAppService │ ├── assets │ │ ├── PublishAppService.png │ │ └── PublishAppService.puml │ └── index.md └── UnpublishAppService │ └── index.md ├── BasicCommunication ├── ActivateApp │ ├── assets │ │ ├── ActivateAppFailedResume.png │ │ ├── ActivateAppSuccessfulData.png │ │ ├── ActivateAppSuccessfulResume.png │ │ └── ActivateAppUnexpectedDisconnect.png │ └── index.md ├── CloseApplication │ ├── assets │ │ ├── CloseApplicationFailedData.png │ │ ├── CloseApplicationFromMobile.png │ │ ├── CloseApplicationFromMobile.puml │ │ ├── CloseApplicationLocalWebApp.png │ │ └── CloseApplicationLocalWebApp.txt │ └── index.md ├── DecryptCertificate │ ├── assets │ │ ├── DecryptCertificate.png │ │ └── DecryptCertificate.puml │ └── index.md ├── DialNumber │ ├── assets │ │ ├── DialNumberFailed.png │ │ └── DialNumberSuccess.jpg │ └── index.md ├── GetAppProperties │ ├── assets │ │ ├── GetAppProperties.png │ │ └── GetAppProperties.txt │ └── index.md ├── GetFilePath │ ├── assets │ │ ├── GetFile.png │ │ └── GetFile.puml │ └── index.md ├── GetSystemInfo │ ├── assets │ │ ├── ccpu_versionChanged.png │ │ ├── ccpu_versionChanged.txt │ │ ├── ccpu_versionSame.png │ │ └── ccpu_versionSame.txt │ └── index.md ├── GetSystemTime │ ├── assets │ │ ├── GetSystemTime_TLS_Handshake.gliffy │ │ └── GetSystemTime_TLS_Handshake.png │ └── index.md ├── MixingAudioSupported │ ├── assets │ │ └── MixingAudioSupported.png │ └── index.md ├── OnAppActivated │ ├── assets │ │ └── OnAppActivated.png │ └── index.md ├── OnAppCapabilityUpdated │ ├── assets │ │ ├── OnAppCapabilityUpdated.png │ │ └── OnAppCapabilityUpdated.txt │ └── index.md ├── OnAppDeactivated │ ├── assets │ │ └── OnAppDeactivated.png │ └── index.md ├── OnAppPropertiesChange │ ├── assets │ │ ├── OnAppPropertiesChange.png │ │ └── OnAppPropertiesChange.txt │ └── index.md ├── OnAppRegistered │ ├── assets │ │ ├── OnAppRegisteredBT.png │ │ ├── OnAppRegisteredMultipleDevices.png │ │ ├── OnAppRegisteredNoResume.png │ │ ├── OnAppRegisteredResume.png │ │ ├── OnAppRegisteredUSB.png │ │ └── on_app_registered_multiple_devices.gliffy │ └── index.md ├── OnAppUnregistered │ ├── assets │ │ └── OnAppUnregistered.png │ └── index.md ├── OnAwakeSDL │ ├── assets │ │ └── OnAwakeSDL.png │ └── index.md ├── OnDeviceChosen │ ├── assets │ │ └── OnDeviceChosen.png │ └── index.md ├── OnEventChanged │ ├── assets │ │ ├── App_activation_during_active_audio_source.png │ │ ├── App_activation_during_active_navi_source.png │ │ ├── Correlation_audioStreamingState_of_media_app_and_embedded_navigation.png │ │ ├── DEACTIVATE_HMI.png │ │ ├── EMBEDDED_NAVI_or_AUDIO_SOURCE.png │ │ ├── EMERGENCY_EVENT.png │ │ ├── Multiple_apps_activation_during_active_embedded_navigation_or_audio_source.png │ │ ├── PHONE_CALL1.png │ │ └── PHONE_CALL2.png │ └── index.md ├── OnExitAllApplications │ ├── assets │ │ └── OnExitAllApps.png │ └── index.md ├── OnExitApplication │ ├── assets │ │ ├── OnExitApplicationUnauth.png │ │ └── OnExitApplicationUser.png │ └── index.md ├── OnFileRemoved │ ├── assets │ │ └── OnFileRemoved.png │ └── index.md ├── OnFindApplications │ ├── assets │ │ ├── OnFindApplications.png │ │ └── OnFindApplicationsDeviceChosen.png │ └── index.md ├── OnIgnitionCycleOver │ ├── assets │ │ └── OnIgnitionCycleOver_in_Proprietary_PTU_flow.png │ └── index.md ├── OnPutFile │ ├── assets │ │ ├── OnPutFileAfterRPC.png │ │ ├── OnPutFileBeforeRPC.png │ │ └── OnPutFileSystemRequest.png │ └── index.md ├── OnReady │ ├── assets │ │ └── OnReady.png │ └── index.md ├── OnResetTimeout │ ├── assets │ │ ├── OnResetTimeoutKeepContextAlert.png │ │ ├── OnResetTimeoutKeepContextAlert.txt │ │ ├── OnResetTimeoutPerformInteraction.png │ │ ├── OnResetTimeoutPerformInteraction.txt │ │ ├── OnResetTimeoutScrollableMessage.png │ │ └── OnResetTimeoutScrollableMessage.txt │ └── index.md ├── OnResumeAudioSource │ ├── assets │ │ ├── OnResumeAudioSourceFull.png │ │ ├── OnResumeAudioSourceLimited.png │ │ ├── OnResumeAudioSourceMultiple.png │ │ └── OnResumeAudioSourcePhone.png │ └── index.md ├── OnSDLClose │ ├── assets │ │ ├── OnSDLCloseIgnition.png │ │ └── OnSDLCloseReset.png │ └── index.md ├── OnSDLPersistenceComplete │ ├── assets │ │ └── OnSDLPersistenceComplete.png │ └── index.md ├── OnServiceUpdate │ ├── assets │ │ ├── OnServiceUpdate.gliffy │ │ └── OnServiceUpdate.png │ └── index.md ├── OnStartDeviceDiscovery │ ├── assets │ │ └── OnStartDeviceDiscovery.png │ └── index.md ├── OnSystemCapabilityUpdated │ ├── assets │ │ ├── OnSystemCapabilityUpdated_PUBLISHED.png │ │ ├── OnSystemCapabilityUpdated_PUBLISHED.puml │ │ ├── OnSystemCapabilityUpdated_REMOVED.png │ │ ├── OnSystemCapabilityUpdated_REMOVED.puml │ │ ├── OnSystemCapabilityUpdated_VIDEO_STREAMING.png │ │ └── OnSystemCapabilityUpdated_VIDEO_STREAMING.txt │ └── index.md ├── OnSystemInfoChanged │ └── index.md ├── OnSystemRequest │ ├── assets │ │ ├── OnSystemRequest.gliffy │ │ ├── OnSystemRequest.png │ │ ├── OnSystemRequest_in_External_Proprietary_PTU_flow.png │ │ ├── OnSystemRequest_in_External_Proprietary_PTU_flow.txt │ │ ├── OnSystemRequest_in_Proprietary_PTU_flow.png │ │ ├── OnSystemRequest_in_Proprietary_PTU_flow.txt │ │ ├── PTU_modem_failure.png │ │ └── PTU_modem_failure.txt │ └── index.md ├── OnSystemTimeReady │ ├── assets │ │ ├── OnSystemTimeReady_Ign_On.gliffy │ │ └── OnSystemTimeReady_Ign_On.png │ └── index.md ├── OnUpdateDeviceList │ ├── assets │ │ └── OnUpdateDeviceList.png │ └── index.md ├── PolicyUpdate │ ├── assets │ │ ├── External_Proprietary_PTU_flow.png │ │ ├── External_Proprietary_PTU_flow.txt │ │ ├── PTU_modem_success.png │ │ ├── PTU_modem_success.txt │ │ ├── PolicyUpdate_in_HTTP_PTU_flow.png │ │ ├── PolicyUpdate_in_HTTP_PTU_flow.txt │ │ ├── Proprietary_PTU_flow.png │ │ └── Proprietary_PTU_flow.txt │ └── index.md ├── SetAppProperties │ ├── assets │ │ ├── SetAppProperties.png │ │ └── SetAppProperties.txt │ └── index.md ├── SystemRequest │ ├── assets │ │ └── SystemRequestWorkflow.png │ └── index.md ├── UpdateAppList │ ├── assets │ │ ├── UpdateAppListAppRegister.png │ │ └── UpdateAppListUser.png │ └── index.md ├── UpdateDeviceList │ ├── assets │ │ ├── UpdateDeviceListAOA.png │ │ ├── UpdateDeviceListBTUSB.png │ │ └── UpdateDeviceListiOS.png │ └── index.md └── index.md ├── Buttons ├── ButtonPress │ ├── assets │ │ └── ButtonPress.png │ └── index.md ├── GetCapabilities │ ├── assets │ │ ├── GetCapabilities.png │ │ └── GetCapabilities.txt │ └── index.md ├── OnButtonEvent │ ├── assets │ │ ├── OnButtonEventHardKeyPressRelease.png │ │ └── OnButtonEventPressRelease.png │ └── index.md ├── OnButtonPress │ ├── assets │ │ ├── OnButtonPressHardKeyShortOnly.png │ │ ├── OnButtonPressLongHardKey.png │ │ └── OnButtonPressShort.png │ └── index.md ├── SubscribeButton │ ├── assets │ │ ├── SubscribeButton.png │ │ ├── SubscribeButton.txt │ │ ├── SubscribeCUSTOM_BUTTON.png │ │ └── SubscribeCUSTOM_BUTTON.txt │ └── index.md └── UnsubscribeButton │ ├── assets │ ├── UnsubscribeButton.png │ └── UnsubscribeButton.txt │ └── index.md ├── Common ├── Enums │ └── index.md └── Structs │ └── index.md ├── Navigation ├── AlertManeuver │ ├── assets │ │ ├── AlertManeuverAborted.jpg │ │ ├── AlertManeuverBackground.jpg │ │ ├── AlertManeuverDefaultSuccess.jpg │ │ └── AlertManeuverRejected.jpg │ └── index.md ├── GetWayPoints │ ├── assets │ │ └── GetWayPoints.png │ └── index.md ├── IsReady │ ├── assets │ │ └── IsReady.png │ └── index.md ├── OnAudioDataStreaming │ ├── assets │ │ ├── OnAudioDataStreamingAppHMI.jpg │ │ └── OnAudioDataStreamingSDLHMI.jpg │ └── index.md ├── OnTBTClientState │ ├── assets │ │ └── OnTBTClientState.jpg │ └── index.md ├── OnVideoDataStreaming │ ├── assets │ │ └── OnVideoDataStreaming.jpg │ └── index.md ├── OnWayPointChange │ ├── assets │ │ ├── OnWayPointChange.png │ │ └── OnWayPointChange.puml │ └── index.md ├── SendLocation │ ├── assets │ │ ├── SendLocationFailRejected.jpg │ │ ├── SendLocationFailWarning.jpg │ │ ├── SendLocationSuccess.jpg │ │ └── SendLocation_general.png │ └── index.md ├── SetVideoConfig │ ├── assets │ │ ├── SetVideoConfigBasicFlow.png │ │ ├── SetVideoConfigBasicFlow.puml │ │ ├── SetVideoConfigErrorFlow.png │ │ └── SetVideoConfigErrorFlow.puml │ └── index.md ├── ShowConstantTBT │ ├── assets │ │ └── ShowConstantTBT.jpg │ └── index.md ├── StartAudioStream │ ├── assets │ │ └── StartAudioStream.jpg │ └── index.md ├── StartStream │ ├── assets │ │ └── StartStream.jpg │ └── index.md ├── StopAudioStream │ ├── assets │ │ └── StopAudioStream.jpg │ └── index.md ├── StopStream │ ├── assets │ │ └── StopStream.jpg │ └── index.md ├── SubscribeWayPoints │ ├── assets │ │ ├── SubscribeWayPoints.png │ │ ├── SubscribeWayPoints.puml │ │ ├── SubscribeWayPoints_Resumption.png │ │ └── SubscribeWayPoints_Resumption.txt │ └── index.md ├── UnsubscribeWayPoints │ ├── assets │ │ ├── UnsubscribeWayPoints.png │ │ └── UnsubscribeWayPoints.puml │ └── index.md └── UpdateTurnList │ ├── assets │ └── UpdateTurnList.jpg │ └── index.md ├── Overview ├── index.md └── index_zh-hans.md ├── RC ├── GetCapabilities │ ├── assets │ │ ├── GetCapabilities.png │ │ └── GetCapabilities.txt │ └── index.md ├── GetInteriorVehicleData │ ├── assets │ │ └── GetInteriorVehicleData.png │ └── index.md ├── GetInteriorVehicleDataConsent │ ├── assets │ │ ├── GetInteriorVehicleDataConsent.gliffy │ │ └── GetInteriorVehicleDataConsent.png │ └── index.md ├── IsReady │ ├── assets │ │ └── IsReady_GetCapabilities.png │ └── index.md ├── OnInteriorVehicleData │ ├── assets │ │ └── OnInteriorVehicleData.png │ └── index.md ├── OnRCStatus │ ├── assets │ │ └── OnRCStatus.png │ └── index.md ├── OnRemoteControlSettings │ ├── assets │ │ ├── OnRemoteControlSettings.png │ │ └── OnRemoteControlSettings_disablingRC.png │ └── index.md ├── SetGlobalProperties │ ├── assets │ │ ├── RC_SetGlobalProperties.gliffy │ │ └── RC_SetGlobalProperties.png │ └── index.md └── SetInteriorVehicleData │ ├── assets │ ├── SetInteriorVehicleData.png │ └── setInteriorVehicleData_READ_ONLY.png │ └── index.md ├── SDL ├── ActivateApp │ ├── assets │ │ ├── ActivateAppAppLaunch.png │ │ ├── ActivateAppLocalWebApp.png │ │ ├── ActivateAppLocalWebApp.txt │ │ ├── ActivateAppReducedPermissions.png │ │ ├── ActivateAppRevokedPermissions.png │ │ ├── ActivateAppRevokedPermissions.txt │ │ ├── User_consents_the_device2.png │ │ └── User_does_not_consent_the_device1.png │ └── index.md ├── AddStatisticsInfo │ └── index.md ├── GetListOfPermissions │ ├── assets │ │ ├── GetListOfPermissions.jpg │ │ ├── GetListOfPermissionsInformingHMI.png │ │ ├── GetListOfPermissionsNoId.jpg │ │ └── PossibleLayoutExternalConsentStatus.png │ └── index.md ├── GetPolicyConfigurationData │ ├── assets │ │ ├── GetPolicyConfigurationData.png │ │ └── GetPolicyConfigurationData.txt │ └── index.md ├── GetStatusUpdate │ ├── assets │ │ └── GetStatusUpdate.jpg │ └── index.md ├── GetUserFriendlyMessage │ ├── assets │ │ └── GetUserFriendlyMessage.png │ └── index.md ├── OnAllowSDLFunctionality │ ├── assets │ │ ├── User_consents_the_device2.png │ │ └── User_does_not_consent_the_device1.png │ └── index.md ├── OnAppPermissionChanged │ ├── assets │ │ └── OnAppPermissionChanged.png │ └── index.md ├── OnAppPermissionConsent │ ├── assets │ │ ├── OnAppPermissionConsent.png │ │ ├── OnAppPermissionConsent2.png │ │ └── User`s Consent for permissions.png │ └── index.md ├── OnDeviceStateChanged │ └── index.md ├── OnPolicyUpdate │ ├── assets │ │ └── OnPolicyUpdate.jpg │ └── index.md ├── OnReceivedPolicyUpdate │ ├── assets │ │ ├── External_Proprietary_PTU_flow.png │ │ ├── External_Proprietary_PTU_flow.txt │ │ ├── Proprietary_PTU_flow_.png │ │ └── Proprietary_PTU_flow_.txt │ └── index.md ├── OnSDLConsentNeeded │ ├── assets │ │ ├── User_consents_the_device2.png │ │ └── User_does_not_consent_the_device1.png │ └── index.md ├── OnStatusUpdate │ ├── assets │ │ ├── OnStatusUpdate_in_Proprietary_PTU_flow.png │ │ └── OnStatusUpdate_in_Proprietary_PTU_flow.txt │ └── index.md ├── OnSystemError │ └── index.md └── UpdateSDL │ ├── assets │ ├── PTU_external_proprietary_SDL.png │ ├── PTU_external_proprietary_SDL.txt │ ├── PTU_external_proprietary_user.png │ └── PTU_external_proprietary_user.txt │ └── index.md ├── TTS ├── ChangeRegistration │ ├── assets │ │ └── ChangeRegistration.png │ └── index.md ├── GetCapabilities │ ├── assets │ │ ├── GetCapabilities.png │ │ └── GetCapabilities.txt │ └── index.md ├── GetLanguage │ ├── assets │ │ ├── GetLanguage.png │ │ └── GetLanguage.txt │ └── index.md ├── GetSupportedLanguages │ ├── assets │ │ ├── GetSupportedLanguages.png │ │ └── GetSupportedLanguages.txt │ └── index.md ├── IsReady │ ├── assets │ │ └── IsReady.png │ └── index.md ├── OnLanguageChange │ ├── assets │ │ ├── OnLanguageChange.png │ │ └── OnLanguageChange.txt │ └── index.md ├── SetGlobalProperties │ ├── assets │ │ ├── SetGlobalProperties.png │ │ └── SetGlobalProperties_VRHelp_and_HelpPrompt.png │ └── index.md ├── Speak │ ├── assets │ │ ├── OnResetTimeoutGenericError.png │ │ ├── OnResetTimeoutGenericError.txt │ │ ├── OnResetTimeoutSpeakSuccess.png │ │ ├── OnResetTimeoutSpeakSuccess.txt │ │ └── Speak.png │ └── index.md ├── Started │ ├── assets │ │ ├── StartedFromPerformInteraction.png │ │ └── StartedFromSpeak.png │ └── index.md ├── StopSpeaking │ ├── assets │ │ └── StopSpeaking.png │ └── index.md └── Stopped │ ├── assets │ └── Stopped.png │ └── index.md ├── UI ├── AddCommand │ ├── assets │ │ ├── AddCommandAppInactive.png │ │ ├── AddCommandChosen.png │ │ ├── AddCommandFailVRSuccess.png │ │ ├── AddCommandPositions.png │ │ ├── AddCommandRejectedLimit.png │ │ ├── AddCommandSubMenu.png │ │ ├── AddCommandUINoResponseVRSuccess.png │ │ ├── AddCommandVRFail.png │ │ ├── AddCommandVRNoResponse.png │ │ ├── AddCommandWebEngineApp.png │ │ ├── AddCommandWebEngineApp.txt │ │ ├── AddCommand_Resumption.png │ │ └── AddCommand_Resumption.txt │ └── index.md ├── AddSubMenu │ ├── assets │ │ ├── AddSubMenuActiveApp.png │ │ ├── AddSubMenuInactiveApp.png │ │ ├── AddSubMenuLimit.png │ │ ├── AddSubMenuPositions.png │ │ ├── AddSubMenuWebEngineApp.png │ │ └── AddSubMenuWebEngineApp.txt │ └── index.md ├── Alert │ ├── assets │ │ ├── AlertAborted.png │ │ ├── AlertDefaultAction.png │ │ ├── AlertLocalWebApp.png │ │ ├── AlertLocalWebApp.txt │ │ ├── AlertRejected.png │ │ ├── AlertStealFocus.png │ │ └── AlertTTS.png │ └── index.md ├── CancelInteraction │ ├── assets │ │ ├── CancelInteractionAnyAlert.png │ │ ├── CancelInteractionAnyAlert.puml │ │ ├── CancelInteractionSpecificAlert.png │ │ ├── CancelInteractionSpecificAlert.puml │ │ ├── CancelInteractionSpecificAlertWrong.png │ │ └── CancelInteractionSpecificAlertWrong.pum │ └── index.md ├── ChangeRegistration │ ├── assets │ │ └── ChangeRegistration.png │ └── index.md ├── ClosePopUp │ ├── assets │ │ └── ClosePopUp.png │ └── index.md ├── CreateWindow │ ├── assets │ │ ├── CreateWindow.gliffy │ │ ├── CreateWindow.png │ │ ├── CreateWindowLocalWebApp.png │ │ └── CreateWindowLocalWebApp.txt │ └── index.md ├── DeleteCommand │ ├── assets │ │ ├── DeleteCommandAppInactive.png │ │ └── DeleteCommandMenuOpen.png │ └── index.md ├── DeleteSubMenu │ ├── assets │ │ └── DeleteSubMenuWithCommands.png │ └── index.md ├── DeleteWindow │ ├── assets │ │ ├── DeleteWindow.gliffy │ │ └── DeleteWindow.png │ └── index.md ├── EndAudioPassThru │ ├── assets │ │ ├── EndAudioPassThru.png │ │ └── EndAudioPassThruTooLate.png │ └── index.md ├── GetCapabilities │ ├── assets │ │ ├── GetCapabilities.png │ │ └── GetCapabilities.txt │ └── index.md ├── GetLanguage │ ├── assets │ │ ├── GetLanguage.png │ │ └── GetLanguage.txt │ └── index.md ├── GetSupportedLanguages │ ├── assets │ │ ├── GetSupportedLanguages.png │ │ └── GetSupportedLanguages.txt │ └── index.md ├── IsReady │ ├── assets │ │ └── IsReady.png │ └── index.md ├── OnCommand │ ├── assets │ │ └── OnCommand.png │ └── index.md ├── OnDriverDistraction │ ├── assets │ │ ├── OnDriverDistraction.gliffy │ │ └── OnDriverDistraction.png │ └── index.md ├── OnKeyboardInput │ ├── assets │ │ ├── KeyboardEventInputKeyMask.png │ │ ├── KeyboardEventInputKeyMask.txt │ │ ├── OnKeyboardInputCancel.png │ │ ├── OnKeyboardInputQueue.png │ │ ├── OnKeyboardInputResend.png │ │ ├── OnKeyboardInputSingle.png │ │ └── OnKeyboardInputVoice.png │ └── index.md ├── OnLanguageChange │ ├── assets │ │ ├── OnLanguageChange.png │ │ └── OnLanguageChange.txt │ └── index.md ├── OnRecordStart │ ├── assets │ │ ├── OnRecordStartNoSpeak.png │ │ ├── OnRecordStartRejected.png │ │ └── OnRecordStartSpeak.png │ └── index.md ├── OnSubtleAlertPressed │ ├── assets │ │ ├── OnSubtleAlertPressed.png │ │ └── OnSubtleAlertPressed.puml │ └── index.md ├── OnSystemContext │ ├── assets │ │ └── OnSystemContext.png │ └── index.md ├── OnTouchEvent │ ├── assets │ │ ├── OnTouchEventTwoFingers.png │ │ └── OnTouchEventTwoFingersOneStop.png │ └── index.md ├── OnUpdateFile │ ├── assets │ │ ├── OnUpdateFile.png │ │ └── OnUpdateFile.txt │ └── index.md ├── OnUpdateSubMenu │ ├── assets │ │ ├── OnUpdateSubMenu.png │ │ └── OnUpdateSubMenu.txt │ └── index.md ├── PerformAudioPassThru │ ├── assets │ │ ├── PerformAudioPassThruEndAudio.png │ │ ├── PerformAudioPassThruMic.png │ │ ├── PerformAudioPassThruNotSupported.png │ │ └── PerformAudioPassThruSpeak.png │ └── index.md ├── PerformInteraction │ ├── assets │ │ ├── PerformInteractionBoth.png │ │ ├── PerformInteractionBoth.puml │ │ ├── PerformInteractionManualOnly.png │ │ ├── PerformInteractionVROnly.png │ │ ├── PerformInteractionWebEngineApp.png │ │ └── PerformInteractionWebEngineApp.txt │ └── index.md ├── ScrollableMessage │ ├── assets │ │ ├── ScrollableMessageScrollTimeout.png │ │ ├── ScrollableMessageScrollTimeout.txt │ │ ├── ScrollableMessageSoftButtonPress.png │ │ └── ScrollableMessageStealFocus.png │ └── index.md ├── SendHapticData │ ├── assets │ │ ├── SendHapticDataBasicFlow.png │ │ └── SendHapticDataBasicFlow.puml │ └── index.md ├── SetAppIcon │ ├── assets │ │ └── SetAppIcon.png │ └── index.md ├── SetDisplayLayout │ ├── assets │ │ ├── SetDisplayLayoutInvalidData.png │ │ └── SetDisplayLayoutSuccessGetCapabilities.png │ └── index.md ├── SetGlobalProperties │ ├── assets │ │ ├── SetGlobalPropertiesActiveVRActivate.png │ │ ├── SetGlobalPropertiesCustomKeys.png │ │ ├── SetGlobalPropertiesCustomKeys.txt │ │ ├── SetGlobalPropertiesResumptionKeyboardProperties.png │ │ ├── SetGlobalPropertiesResumptionKeyboardProperties.txt │ │ └── SetGlobalProperties_TTS_UI_VR.png │ └── index.md ├── SetMediaClockTimer │ ├── assets │ │ ├── SetMediaClockTimerDownDeactivate.png │ │ ├── SetMediaClockTimerPauseResumeActive.png │ │ └── SetMediaClockTimerUpDownFullBackground.png │ └── index.md ├── Show │ ├── assets │ │ ├── ShowAppInactive.png │ │ ├── ShowAppReactivated.png │ │ ├── ShowSoftButtons.png │ │ ├── ShowTextFields.png │ │ ├── ShowWEB_VIEW.png │ │ ├── ShowWEB_VIEW.txt │ │ └── ShowWidgets.png │ └── index.md ├── ShowAppMenu │ ├── assets │ │ ├── ShowAppMenu.png │ │ ├── ShowAppMenu.puml │ │ ├── ShowAppMenu_MenuID.png │ │ └── ShowAppMenu_MenuID.puml │ └── index.md ├── Slider │ ├── assets │ │ ├── SliderAbort.png │ │ ├── SliderOK.png │ │ └── SliderTimeout.png │ └── index.md └── SubtleAlert │ ├── assets │ ├── SubtleAlertAborted.png │ ├── SubtleAlertAborted.puml │ ├── SubtleAlertDefaultAction.png │ ├── SubtleAlertDefaultAction.puml │ ├── SubtleAlertRejected.png │ ├── SubtleAlertRejected.puml │ ├── SubtleAlertStealFocus.png │ ├── SubtleAlertStealFocus.puml │ ├── SubtleAlertTTSAborted.png │ └── SubtleAlertTTSAborted.puml │ └── index.md ├── UnixSignals └── LowVoltage │ ├── assets │ ├── low_voltage.gliffy │ └── low_voltage.png │ └── index.md ├── VR ├── AddCommand │ ├── assets │ │ ├── AddCommand.png │ │ ├── AddCommandNoResponse.png │ │ ├── AddCommandResumption.png │ │ ├── AddCommandResumption.txt │ │ ├── AddCommandSuccessUIFail.png │ │ ├── AddCommandSuccessUINoResponse.png │ │ └── AddCommandVRFail.png │ └── index.md ├── ChangeRegistration │ ├── assets │ │ └── ChangeRegistration.png │ └── index.md ├── DeleteCommand │ ├── assets │ │ └── DeleteCommand.png │ └── index.md ├── GetCapabilities │ ├── assets │ │ ├── GetCapabilities.png │ │ └── GetCapabilities.txt │ └── index.md ├── GetLanguage │ ├── assets │ │ ├── GetLanguage.png │ │ └── GetLanguage.txt │ └── index.md ├── GetSupportedLanguages │ ├── assets │ │ ├── GetSupportedLanguages.png │ │ └── GetSupportedLanguages.txt │ └── index.md ├── IsReady │ ├── assets │ │ └── IsReady.png │ └── index.md ├── OnCommand │ ├── assets │ │ └── OnCommand.png │ └── index.md ├── OnLanguageChange │ ├── assets │ │ ├── OnLanguageChange.png │ │ └── OnLanguageChange.txt │ └── index.md ├── PerformInteraction │ ├── assets │ │ ├── PerformInteractionBoth.png │ │ ├── PerformInteractionBoth.puml │ │ ├── PerformInteractionManualSuccess.png │ │ └── PerformInteractionSuccess.png │ └── index.md ├── Started │ ├── assets │ │ └── Started.png │ └── index.md └── Stopped │ ├── assets │ └── Stopped.png │ └── index.md └── VehicleInfo ├── DiagnosticMessage ├── assets │ └── DiagnosticMessage.png └── index.md ├── GetDTCs ├── assets │ └── GetDTCs.png └── index.md ├── GetVehicleData ├── assets │ ├── GVD_custom_data.png │ ├── GVD_custom_data.txt │ ├── GetVehicleData.gliffy │ ├── GetVehicleData.jpg │ ├── VDdefinedInXMLandSchema.png │ └── VDdefinedInXMLandSchema.txt └── index.md ├── GetVehicleType ├── assets │ ├── GetVehicleType.png │ └── GetVehicleType.txt └── index.md ├── IsReady ├── assets │ └── IsReady.png └── index.md ├── OnVehicleData ├── assets │ └── OnVehicleData.jpg └── index.md ├── ReadDID ├── assets │ ├── ReadDidExpanded.png │ └── ReadDidGeneral.png └── index.md ├── SubscribeVehicleData ├── assets │ ├── MultipleAppCommonSubscriptions.png │ ├── MultipleAppCommonSubscriptions.txt │ ├── MultipleAppErrorHandling.png │ ├── MultipleAppErrorHandling.txt │ └── SubscribeVehicleData.jpg └── index.md └── UnsubscribeVehicleData ├── assets ├── MultipleAppErrorHandling.png ├── MultipleAppErrorHandling.txt ├── UnsubscribeVehicleData.jpg └── UnsubscribeVehicleDataDisconnect.jpg └── index.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This is the open source SDL HMI Guidelines - head over to https://smartdevicelink.com to search and browse this documentation in style! 2 | 3 | The document format for these guides follows an extension of markdown which can be found here: https://github.com/smartdevicelink/sdl_markdown_spec 4 | -------------------------------------------------------------------------------- /docs/AppService/AppServiceActivation/assets/AppServiceActivation_ActivateService_Success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/AppServiceActivation/assets/AppServiceActivation_ActivateService_Success.png -------------------------------------------------------------------------------- /docs/AppService/AppServiceActivation/assets/AppServiceActivation_ActivateService_Success.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant Mobile 4 | participant Core 5 | participant HMI 6 | 7 | HMI -> Core : AppServiceActivation\n(serviceID: "providerID", \nactivate: true) 8 | 9 | Core -> Core : ActivateAppService("providerID") 10 | 11 | Core -> Mobile : OnSystemCapabilityUpdated\n(APP_SERVICES, ACTIVATED) 12 | 13 | Core -> HMI : OnSystemCapabilityUpdated\n(APP_SERVICES, ACTIVATED) 14 | 15 | Core -> HMI : AppServiceActivation\n("providerID", true) 16 | @enduml 17 | -------------------------------------------------------------------------------- /docs/AppService/AppServiceActivation/assets/AppServiceActivation_DeactivateService_Success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/AppServiceActivation/assets/AppServiceActivation_DeactivateService_Success.png -------------------------------------------------------------------------------- /docs/AppService/AppServiceActivation/assets/AppServiceActivation_DeactivateService_Success.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant Mobile 4 | participant Core 5 | participant HMI 6 | 7 | HMI -> Core : AppServiceActivation\n(serviceID: "providerID", \nactivate: false) 8 | 9 | Core -> Core : DeactivateAppService("providerID") 10 | 11 | Core -> Mobile : OnSystemCapabilityUpdated\n(APP_SERVICES, DEACTIVATED) 12 | 13 | Core -> HMI : OnSystemCapabilityUpdated\n(APP_SERVICES, DEACTIVATED) 14 | 15 | Core -> HMI : AppServiceActivation\n("providerID", false) 16 | @enduml 17 | -------------------------------------------------------------------------------- /docs/AppService/AppServiceActivation/assets/AppServiceActivation_SetAsDefault_Success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/AppServiceActivation/assets/AppServiceActivation_SetAsDefault_Success.png -------------------------------------------------------------------------------- /docs/AppService/AppServiceActivation/assets/AppServiceActivation_SetAsDefault_Success.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant Core 4 | participant HMI 5 | 6 | HMI -> Core : AppServiceActivation\n(serviceID: "providerID", \nactivate: true \nsetAsDefault: true) 7 | 8 | Core -> Core : SetDefaultService("providerID") 9 | 10 | Core -> HMI : AppServiceActivation\n("providerID", true, true) 11 | @enduml 12 | -------------------------------------------------------------------------------- /docs/AppService/GetActiveServiceConsent/assets/GetActiveServiceConsent_Allow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/GetActiveServiceConsent/assets/GetActiveServiceConsent_Allow.png -------------------------------------------------------------------------------- /docs/AppService/GetActiveServiceConsent/assets/GetActiveServiceConsent_Allow.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | skinparam ParticipantPadding 36 4 | skinparam defaultFontSize 10 5 | 6 | participant MobileConsumer 7 | participant ServiceProvider 8 | participant Core 9 | participant HMI 10 | 11 | MobileConsumer -> Core : PerformAppServiceInteraction\n(requestServiceActive:true) 12 | Core -> Core : Increase RPC Timeout 13 | opt Consumer is not in foreground 14 | Core -> HMI : AS.GetActiveServiceConsent\n("providerID") 15 | HMI -> HMI : Prompt user to \nactivate service 16 | HMI --> Core : AS.GetActiveServiceConsent\n(true) 17 | end 18 | Core -> Core : ActivateAppService("providerID") 19 | Core -> ServiceProvider : PerformAppServiceInteraction() 20 | ServiceProvider --> Core : PerformAppServiceInteraction\n(serviceSpecificResult:"result", SUCCESS) 21 | 22 | Core --> MobileConsumer : PerformAppServiceInteraction\n("result", SUCCESS) 23 | @enduml 24 | -------------------------------------------------------------------------------- /docs/AppService/GetActiveServiceConsent/assets/GetActiveServiceConsent_Reject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/GetActiveServiceConsent/assets/GetActiveServiceConsent_Reject.png -------------------------------------------------------------------------------- /docs/AppService/GetActiveServiceConsent/assets/GetActiveServiceConsent_Reject.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | skinparam ParticipantPadding 36 4 | skinparam defaultFontSize 10 5 | 6 | participant MobileConsumer 7 | participant Core 8 | participant HMI 9 | 10 | MobileConsumer -> Core : PerformAppServiceInteraction\n(requestServiceActive:true) 11 | Core -> Core : Increase RPC Timeout 12 | Core -> HMI : AS.GetActiveServiceConsent\n("providerID") 13 | HMI -> HMI : Prompt user to \nactivate service 14 | HMI --> Core : AS.GetActiveServiceConsent\n(false) 15 | 16 | Core --> MobileConsumer : PerformAppServiceInteraction\n(USER_DISALLOWED) 17 | @enduml -------------------------------------------------------------------------------- /docs/AppService/GetAppServiceData/assets/GetAppServiceData_HMI_ASC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/GetAppServiceData/assets/GetAppServiceData_HMI_ASC.png -------------------------------------------------------------------------------- /docs/AppService/GetAppServiceData/assets/GetAppServiceData_HMI_ASC.puml: -------------------------------------------------------------------------------- 1 | @startuml GetAppServiceData_HMI_ASC 2 | participant HMIConsumer 3 | participant Core 4 | participant MobileProvider 5 | 6 | note right of MobileProvider: Mobile app is the\nASP for the active\nMEDIA service 7 | 8 | HMIConsumer -> Core: AppService.GetAppServiceData(MEDIA) 9 | Core -> Core : Increase RPC Timeout 10 | Core -> MobileProvider: GetAppServiceData(MEDIA) 11 | MobileProvider --> Core: GetAppServiceData Response 12 | Core --> HMIConsumer: AppService.GetAppServiceData Response 13 | 14 | @enduml -------------------------------------------------------------------------------- /docs/AppService/GetAppServiceData/assets/GetAppServiceData_HMI_ASP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/GetAppServiceData/assets/GetAppServiceData_HMI_ASP.png -------------------------------------------------------------------------------- /docs/AppService/GetAppServiceData/assets/GetAppServiceData_HMI_ASP.puml: -------------------------------------------------------------------------------- 1 | @startuml GetAppServiceData_HMI_ASP 2 | participant HMIProvider 3 | participant Core 4 | participant MobileConsumer 5 | 6 | note left of HMIProvider: HMI is the ASP\nfor the active\nMEDIA service 7 | 8 | MobileConsumer -> Core: GetAppServiceData(MEDIA) 9 | Core -> Core : Increase RPC Timeout 10 | Core -> HMIProvider: AppService.GetAppServiceData(MEDIA) 11 | HMIProvider --> Core: AppService.GetAppServiceData Response 12 | Core --> MobileConsumer: GetAppServiceData Response 13 | 14 | @enduml -------------------------------------------------------------------------------- /docs/AppService/GetAppServiceRecords/assets/GetAppServiceRecords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/GetAppServiceRecords/assets/GetAppServiceRecords.png -------------------------------------------------------------------------------- /docs/AppService/GetAppServiceRecords/assets/GetAppServiceRecords.puml: -------------------------------------------------------------------------------- 1 | @startuml GetAppServiceRecords 2 | participant HMI 3 | participant Core 4 | 5 | note right of Core: Mobile ASP has published a MEDIA app service\n(serviceName: "Mobile Media Service", serviceId: "service1") 6 | note right of Core: HMI ASP has published a MEDIA app service\n(serviceName: "HMI Media Service", serviceId: "service2") 7 | 8 | HMI -> Core: AppService.GetAppServiceRecords(MEDIA) 9 | Core --> HMI: AppService.GetAppServiceRecords Response([\n{"service1", "Mobile Media Service"},\n{"service2", "HMI Media Service"}\n]) 10 | @enduml -------------------------------------------------------------------------------- /docs/AppService/OnAppServiceData/assets/OnAppServiceData_HMI_ASC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/OnAppServiceData/assets/OnAppServiceData_HMI_ASC.png -------------------------------------------------------------------------------- /docs/AppService/OnAppServiceData/assets/OnAppServiceData_HMI_ASC.puml: -------------------------------------------------------------------------------- 1 | @startuml OnAppServiceData_HMI_ASC 2 | participant HMIConsumer 3 | participant Core 4 | participant MobileProvider 5 | 6 | note right of MobileProvider: Mobile app has\npublished a\nMEDIA app service 7 | 8 | HMIConsumer -> Core: AppService.GetAppServiceData(MEDIA,subscribe=true) 9 | Core -> MobileProvider: GetAppServiceData(MEDIA,subscribe=true) 10 | MobileProvider --> Core: GetAppServiceData Response 11 | Core --> HMIConsumer: AppService.GetAppServiceData Response 12 | MobileProvider -> MobileProvider: Update service data 13 | MobileProvider ->> Core: OnAppServiceData Notification 14 | Core ->> HMIConsumer: AppService.OnAppServiceData Notification 15 | 16 | @enduml -------------------------------------------------------------------------------- /docs/AppService/OnAppServiceData/assets/OnAppServiceData_HMI_ASP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/OnAppServiceData/assets/OnAppServiceData_HMI_ASP.png -------------------------------------------------------------------------------- /docs/AppService/OnAppServiceData/assets/OnAppServiceData_HMI_ASP.puml: -------------------------------------------------------------------------------- 1 | @startuml OnAppServiceData_HMI_ASP 2 | participant HMIProvider 3 | participant Core 4 | participant MobileConsumer 5 | 6 | note left of HMIProvider: HMI has published a\nMEDIA app service 7 | 8 | MobileConsumer -> Core: GetAppServiceData(MEDIA,subscribe=true) 9 | Core -> HMIProvider: AppService.GetAppServiceData(MEDIA,subscribe=true) 10 | HMIProvider --> Core: AppService.GetAppServiceData Response 11 | Core --> MobileConsumer: GetAppServiceData Response 12 | HMIProvider -> HMIProvider: Update service data 13 | HMIProvider ->> Core: AppService.OnAppServiceData Notification 14 | Core ->> MobileConsumer: OnAppServiceData Notification 15 | 16 | @enduml -------------------------------------------------------------------------------- /docs/AppService/PerformAppServiceInteraction/assets/PerformAppServiceInteractionFromHMI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/PerformAppServiceInteraction/assets/PerformAppServiceInteractionFromHMI.png -------------------------------------------------------------------------------- /docs/AppService/PerformAppServiceInteraction/assets/PerformAppServiceInteractionFromHMI.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant HMI 4 | participant Core 5 | participant MobileProvider 6 | 7 | HMI -> Core : AS.PerformAppServiceInteraction\n(serviceID: "providerID", \nserviceUri: "method:sample") 8 | Core -> Core : Increase RPC \nTimeout 9 | Core -> MobileProvider : PerformAppServiceInteraction\n("providerID", "method:sample") 10 | 11 | MobileProvider --> Core : PerformAppServiceInteraction\n(serviceSpecificResult:"result", \nSUCCESS) 12 | 13 | Core --> HMI : AS.PerformAppServiceInteraction\n("result", SUCCESS) 14 | @enduml 15 | -------------------------------------------------------------------------------- /docs/AppService/PerformAppServiceInteraction/assets/PerformAppServiceInteractionFromMobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/PerformAppServiceInteraction/assets/PerformAppServiceInteractionFromMobile.png -------------------------------------------------------------------------------- /docs/AppService/PerformAppServiceInteraction/assets/PerformAppServiceInteractionFromMobile.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant MobileConsumer 4 | participant Core 5 | participant HMI 6 | 7 | MobileConsumer -> Core : PerformAppServiceInteraction\n(serviceID: "providerID", \nserviceUri: "method:sample") 8 | Core -> Core : Increase RPC \nTimeout 9 | Core -> HMI : AS.PerformAppServiceInteraction\n("providerID", "method:sample") 10 | 11 | HMI --> Core : AS.PerformAppServiceInteraction\n(serviceSpecificResult:"result", \nSUCCESS) 12 | 13 | Core --> MobileConsumer : PerformAppServiceInteraction\n("result", SUCCESS) 14 | @enduml 15 | -------------------------------------------------------------------------------- /docs/AppService/PublishAppService/assets/PublishAppService.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/AppService/PublishAppService/assets/PublishAppService.png -------------------------------------------------------------------------------- /docs/AppService/PublishAppService/assets/PublishAppService.puml: -------------------------------------------------------------------------------- 1 | @startuml PublishAppService 2 | participant HMIProvider 3 | participant Core 4 | 5 | HMIProvider -> Core: AppService.PublishAppService\n(MEDIA, "HMI Media Service") 6 | Core ->> HMIProvider : BasicCommunication.OnSystemCapabilityUpdated\n(APP_SERVICES, PUBLISHED) 7 | Core --> HMIProvider: AppService.PublishAppService Response\n(serviceId: "service1") 8 | 9 | @enduml -------------------------------------------------------------------------------- /docs/AppService/UnpublishAppService/index.md: -------------------------------------------------------------------------------- 1 | ## UnpublishAppService 2 | 3 | Type 4 | : Function 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Delete a service previously published by the HMI on the module 11 | 12 | ### Request 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |serviceID|String|true|| 19 | 20 | ### Response 21 | 22 | #### Parameters 23 | 24 | This RPC has no additional parameter requirements 25 | 26 | ### JSON Message Examples 27 | 28 | #### Example Request 29 | 30 | ```json 31 | { 32 | "id": 1000, 33 | "jsonrpc": "2.0", 34 | "method": "AppService.UnpublishAppService", 35 | "params": { 36 | "serviceID": "1f89547cc0b12d5a52e896c45e141497f7af50e1e2dc8705914e75ef6fbeac03" 37 | } 38 | } 39 | ``` 40 | 41 | #### Example Response 42 | 43 | ```json 44 | { 45 | "id" : 1000, 46 | "jsonrpc" : "2.0", 47 | "result" : { 48 | "code" : 0, 49 | "method" : "AppService.UnpublishAppService" 50 | } 51 | } 52 | ``` 53 | 54 | #### Example Error 55 | 56 | ```json 57 | { 58 | "id" : 176, 59 | "jsonrpc" : "2.0", 60 | "error" : 61 | { 62 | "code" : 22, 63 | "message" : "Request timeout", 64 | "data" : 65 | { 66 | "method" : "AppService.UnpublishAppService" 67 | } 68 | } 69 | } 70 | ``` -------------------------------------------------------------------------------- /docs/BasicCommunication/ActivateApp/assets/ActivateAppFailedResume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/ActivateApp/assets/ActivateAppFailedResume.png -------------------------------------------------------------------------------- /docs/BasicCommunication/ActivateApp/assets/ActivateAppSuccessfulData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/ActivateApp/assets/ActivateAppSuccessfulData.png -------------------------------------------------------------------------------- /docs/BasicCommunication/ActivateApp/assets/ActivateAppSuccessfulResume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/ActivateApp/assets/ActivateAppSuccessfulResume.png -------------------------------------------------------------------------------- /docs/BasicCommunication/ActivateApp/assets/ActivateAppUnexpectedDisconnect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/ActivateApp/assets/ActivateAppUnexpectedDisconnect.png -------------------------------------------------------------------------------- /docs/BasicCommunication/CloseApplication/assets/CloseApplicationFailedData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/CloseApplication/assets/CloseApplicationFailedData.png -------------------------------------------------------------------------------- /docs/BasicCommunication/CloseApplication/assets/CloseApplicationFromMobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/CloseApplication/assets/CloseApplicationFromMobile.png -------------------------------------------------------------------------------- /docs/BasicCommunication/CloseApplication/assets/CloseApplicationFromMobile.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant Mobile 4 | participant Core 5 | participant HMI 6 | 7 | note left of Mobile: Application is in\nhmi level FULL 8 | 9 | Mobile -> Core : CloseApplication() 10 | Core -> HMI : CloseApplication(appID) 11 | 12 | note right of HMI: Application is no longer\nin foreground 13 | 14 | HMI --> Core : CloseApplication(SUCCESS) 15 | Core ->> Mobile : OnHMIStatus(NONE) 16 | Core --> Mobile : CloseApplication(SUCCESS) 17 | @enduml 18 | -------------------------------------------------------------------------------- /docs/BasicCommunication/CloseApplication/assets/CloseApplicationLocalWebApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/CloseApplication/assets/CloseApplicationLocalWebApp.png -------------------------------------------------------------------------------- /docs/BasicCommunication/CloseApplication/assets/CloseApplicationLocalWebApp.txt: -------------------------------------------------------------------------------- 1 | participant Local Web App 2 | participant SDL 3 | participant HMI 4 | 5 | note over Local Web App, HMI:**Preconditions:**\n 1.Web app (WEB_VIEW) is registered and activated on the HMI\n 2. HMI displays the WEB_VIEW template 6 | 7 | note over Local Web App: User taps "Close app" button 8 | Local Web App->SDL: CloseApplication 9 | SDL->HMI: BC.CloseApplication(appID) 10 | HMI->SDL: BC.OnAppDeactivated(appID) 11 | HMI-->SDL:BC.CloseApplication(SUCCESS) 12 | SDL->Local Web App: OnHMIStatus(NONE, NOT_STREAMABLE, NOT_AUDIBLE) 13 | note over HMI: Local Web App is no longer in foreground 14 | SDL-->Local Web App: CloseApplication(SUCCESS) -------------------------------------------------------------------------------- /docs/BasicCommunication/DecryptCertificate/assets/DecryptCertificate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/DecryptCertificate/assets/DecryptCertificate.png -------------------------------------------------------------------------------- /docs/BasicCommunication/DecryptCertificate/assets/DecryptCertificate.puml: -------------------------------------------------------------------------------- 1 | @startuml DecryptCertificate 2 | participant HMI 3 | participant Core 4 | 5 | rnote over Core: PolicyTable update with new\n certificate in module_config 6 | 7 | Core -> HMI: BasicCommunication.DecryptCertificate\n(fileName: build/bin/storage/certificate.pem) 8 | HMI --> HMI: Decrypt certificate and\nstore contents in file 9 | HMI ->> Core: BasicCommunication.DecryptCertificate("SUCCESS") 10 | Core --> Core: Load decrypted certificate data from file 11 | Core --> Core: Set PT's module_config.certificate\n to the decrypted certificate data 12 | 13 | @enduml -------------------------------------------------------------------------------- /docs/BasicCommunication/DialNumber/assets/DialNumberFailed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/DialNumber/assets/DialNumberFailed.png -------------------------------------------------------------------------------- /docs/BasicCommunication/DialNumber/assets/DialNumberSuccess.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/DialNumber/assets/DialNumberSuccess.jpg -------------------------------------------------------------------------------- /docs/BasicCommunication/GetAppProperties/assets/GetAppProperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/GetAppProperties/assets/GetAppProperties.png -------------------------------------------------------------------------------- /docs/BasicCommunication/GetAppProperties/assets/GetAppProperties.txt: -------------------------------------------------------------------------------- 1 | title GetAppProperties 2 | 3 | participant Local Web App 4 | participant SDL 5 | participant HMI 6 | 7 | ==Pre-conditions: 1. Application's properties were set via BC.SetAppProperties from HMI== 8 | 9 | opt GetAppProperties - Happy path 10 | HMI -> SDL: BC.GetAppProperties(policyAppID:"123") 11 | SDL-->HMI: BC.GetAppProperties(policyAppID:"123", SUCCESS) 12 | end 13 | 14 | opt GetAppProperties - request without `policyAppID` 15 | HMI -> SDL:BC.GetAppProperties() 16 | SDL-->HMI: BC.GetAppProperties(all applications properties, SUCCESS) 17 | end 18 | 19 | opt GetAppProperties - request with wrong `policyAppID` 20 | HMI -> SDL: BC.GetAppProperties(policyAppID:"1 \2qwer'ty3") 21 | SDL-->HMI: BC.GetAppProperties(DATA_NOT_AVAILABLE) 22 | end 23 | 24 | opt GetAppProperties - request with unknown parameter 25 | HMI -> SDL: BC.GetAppProperties(unknown parameter:"value", policyAppID:"123") 26 | SDL ->SDL: Cut off the unknown parameter 27 | 28 | note over SDL:Process the request as assigned 29 | end 30 | 31 | opt GetAppProperties - request with invalid parameters 32 | HMI -> SDL: BC.GetAppProperties(policyAppID:true) 33 | SDL-->HMI: BC.GetAppProperties(INVALID_DATA) 34 | end -------------------------------------------------------------------------------- /docs/BasicCommunication/GetFilePath/assets/GetFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/GetFilePath/assets/GetFile.png -------------------------------------------------------------------------------- /docs/BasicCommunication/GetFilePath/assets/GetFile.puml: -------------------------------------------------------------------------------- 1 | @startuml GetFile 2 | participant MobileConsumer 3 | participant Core 4 | participant HMIProvider 5 | 6 | MobileConsumer -> Core: GetFile(fileName, serviceID) 7 | alt ASP is mobile app 8 | Core -> Core: Read file from ASPs app storage folder on fs 9 | else 10 | Core -> Core: Increase Request Timeout 11 | Core -> HMIProvider: GetFilePath(fileName, serviceID) 12 | HMIProvider --> Core: GetFilePathResponse(filePath) 13 | Core -> Core: Read file from fs 14 | end 15 | Core --> MobileConsumer: GetFileResponse(binaryData, crc) 16 | 17 | @enduml -------------------------------------------------------------------------------- /docs/BasicCommunication/GetSystemInfo/assets/ccpu_versionChanged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/GetSystemInfo/assets/ccpu_versionChanged.png -------------------------------------------------------------------------------- /docs/BasicCommunication/GetSystemInfo/assets/ccpu_versionSame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/GetSystemInfo/assets/ccpu_versionSame.png -------------------------------------------------------------------------------- /docs/BasicCommunication/GetSystemInfo/assets/ccpu_versionSame.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | 6 | note over App, HMI:**Pre-conditions:**\n 1. App supports Protocol version 5.4.0 or higher 7 | 8 | App->SDL: StartService 9 | note left of App:StartService request processing\n is on hold until\n`hmi_cooperating_ = true` 10 | HMI->SDL:BC.OnReady 11 | SDL->SDL:ONHMIStartedCooperation 12 | note over SDL:Do not set\n`hmi_cooperating_= true`\nyet 13 | SDL->HMI:BC.GetSystemInfo 14 | HMI-->SDL:BC.GetSystemInfo 15 | note over SDL:ccpu version is the same 16 | note over SDL:`HMICapabilitiesCacheFile`\ncontains all components\ncapabilities data 17 | SDL->SDL:Set `hmi_cooperating_ = true` 18 | SDL-->App: StartService_ACK 19 | App->SDL:RAI 20 | SDL-->App:RAI -------------------------------------------------------------------------------- /docs/BasicCommunication/GetSystemTime/assets/GetSystemTime_TLS_Handshake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/GetSystemTime/assets/GetSystemTime_TLS_Handshake.png -------------------------------------------------------------------------------- /docs/BasicCommunication/MixingAudioSupported/assets/MixingAudioSupported.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/MixingAudioSupported/assets/MixingAudioSupported.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppActivated/assets/OnAppActivated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppActivated/assets/OnAppActivated.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppCapabilityUpdated/assets/OnAppCapabilityUpdated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppCapabilityUpdated/assets/OnAppCapabilityUpdated.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppCapabilityUpdated/assets/OnAppCapabilityUpdated.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | 6 | seq Obtaining VideoStreamingCapabilities during HMI initialization 7 | 8 | SDL->HMI: UI.GetCapabilities 9 | HMI-->SDL: UI.GetCapabilities\n(systemCapabilities=videoStreamingCapability,\n[additionalVideoStreamingCapabilities]) 10 | end 11 | 12 | note over App, HMI: RAI 13 | 14 | seq App receives VideoStreamingCapabilities supported by the system 15 | 16 | App->SDL: GetSystemCapability\n(systemCapabilityType=VIDEO_STREAMING,\nsubscribe=true) 17 | SDL-->App: GetSystemCapability\n(systemCapability=videoStreamingCapability,\n[additionalVideoStreamingCapabilities]) 18 | 19 | end 20 | 21 | seq App provides supported VideoStreamingCapabilities 22 | 23 | App->>SDL: OnAppCapabilityUpdated\n(appCapability=videoStreamingCapability,\n[additionalVideoStreamingCapabilities]) 24 | SDL->>HMI: BC.OnAppCapabilityUpdated\n(appCapability=videoStreamingCapability,\n[additionalVideoStreamingCapabilities]) 25 | 26 | end 27 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppDeactivated/assets/OnAppDeactivated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppDeactivated/assets/OnAppDeactivated.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppPropertiesChange/assets/OnAppPropertiesChange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppPropertiesChange/assets/OnAppPropertiesChange.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppPropertiesChange/assets/OnAppPropertiesChange.txt: -------------------------------------------------------------------------------- 1 | title OnAppPropertiesChange 2 | participant App 3 | participant SDL 4 | participant HMI 5 | opt OnAppPropertiesChange - Changes to existing set properties 6 | HMI -> SDL: BC.SetAppProperties(policyAppID:"123") 7 | SDL-->HMI: BC.SetAppProperties(SUCCESS) 8 | SDL->HMI: BC.OnAppPropertiesChange() 9 | end 10 | opt OnAppPropertiesChange - Changes to properties due to PTU 11 | note over SDL: PTU is performed\nthe update contains app properties of the policyAppID 12 | SDL->HMI: BC.OnAppPropertiesChange() 13 | end -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppPropertiesChange/index.md: -------------------------------------------------------------------------------- 1 | ## OnAppPropertiesChange 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Inform HMI about app properties change 11 | 12 | !!! must 13 | 14 | SDL must notify the HMI when a WebEngine app's properties change, such as after a PTU with the appropriate parameters for the web app. 15 | 16 | !!! 17 | 18 | ### Notification 19 | 20 | #### Parameters 21 | 22 | |Name|Type|Mandatory|Additional| 23 | |:---|:---|:--------|:---------| 24 | |properties|[Common.AppProperties](../../common/structs/#appproperties)|true|| 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | OnAppPropertiesChange 30 | ![OnAppPropertiesChange](./assets/OnAppPropertiesChange.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Notification 36 | 37 | ```json 38 | { 39 | "id" : 47, 40 | "jsonrpc" : "2.0", 41 | "method" : "BasicCommunication.OnAppPropertiesChange", 42 | "params" : 43 | { 44 | "properties" : { 45 | "nicknames": ["Hello Sdl1"], 46 | "policyAppID": "12345678", 47 | "enabled": true, 48 | "authToken": "AuthToken8888", 49 | "transportType": "WS", 50 | "hybridAppPreference": "CLOUD" 51 | } 52 | } 53 | } 54 | ``` 55 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredBT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredBT.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredMultipleDevices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredMultipleDevices.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredNoResume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredNoResume.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredResume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredResume.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredUSB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppRegistered/assets/OnAppRegisteredUSB.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAppUnregistered/assets/OnAppUnregistered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAppUnregistered/assets/OnAppUnregistered.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAwakeSDL/assets/OnAwakeSDL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnAwakeSDL/assets/OnAwakeSDL.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnAwakeSDL/index.md: -------------------------------------------------------------------------------- 1 | ## OnAwakeSDL 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Notify SDL to return to normal operation after a suspend event. 11 | 12 | This notification is sent to SDL to notify that there won't be `IGNITION_OFF` sent after [OnExitAllApplications](../onexitallapplications)(`SUSPEND`), which was previously sent by the HMI. 13 | 14 | !!! MAY 15 | 16 | 1. Send `OnAwakeSDL` if the `ACC` does not change, but the driver door is opened and closed two times. 17 | 2. Send `OnAwakeSDL` if the `ACC` key position is set to `On`. 18 | 19 | !!! 20 | 21 | ### Notification 22 | 23 | #### Parameters 24 | 25 | This RPC has no additional parameter requirements 26 | 27 | ### Sequence Diagrams 28 | 29 | ||| 30 | Wake SDL from Suspension 31 | ![OnAwakeSDL](./assets/OnAwakeSDL.png) 32 | ||| 33 | 34 | ### JSON Message Examples 35 | 36 | #### Example Notification 37 | 38 | ```json 39 | { 40 | "jsonrpc" : "2.0", 41 | "method" : "BasicCommunication.OnAwakeSDL" 42 | } 43 | ``` 44 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnDeviceChosen/assets/OnDeviceChosen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnDeviceChosen/assets/OnDeviceChosen.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnDeviceChosen/index.md: -------------------------------------------------------------------------------- 1 | ## OnDeviceChosen 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Open the connection with the named device 11 | 12 | On Receipt of this notification SDL will open the connected with the named device and start sessions with the compatible SDL applications running on the device. 13 | 14 | !!! must 15 | 16 | 1. Provide the user with the possibility to choose among the list of known devices 17 | 2. Send this RPC when the user has selected the device 18 | 19 | !!! 20 | 21 | !!! note 22 | 23 | The list of known devices is provided to the HMI in the [UpdateDeviceList](../UpdateDeviceList) Request. 24 | 25 | !!! 26 | 27 | ### Notification 28 | 29 | #### Parameters 30 | 31 | |Name|Type|Mandatory|Additional| 32 | |:---|:---|:--------|:---------| 33 | |deviceInfo|[Common.DeviceInfo](../../common/structs/#deviceinfo)|true|| 34 | 35 | ### Sequence Diagrams 36 | 37 | ||| 38 | OnDeviceChosen 39 | ![OnDeviceChosen](./assets/OnDeviceChosen.png) 40 | ||| 41 | 42 | ### JSON Message Examples 43 | 44 | #### Example Notification 45 | 46 | ```json 47 | { 48 | "jsonrpc" : "2.0", 49 | "method" : "BasicCommunication.OnDeviceChosen", 50 | "params" : 51 | { 52 | "deviceInfo" : 53 | { 54 | "name" : "Jerry's Phone", 55 | "id" : "3" 56 | } 57 | } 58 | } 59 | ``` 60 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/App_activation_during_active_audio_source.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/App_activation_during_active_audio_source.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/App_activation_during_active_navi_source.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/App_activation_during_active_navi_source.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/Correlation_audioStreamingState_of_media_app_and_embedded_navigation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/Correlation_audioStreamingState_of_media_app_and_embedded_navigation.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/DEACTIVATE_HMI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/DEACTIVATE_HMI.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/EMBEDDED_NAVI_or_AUDIO_SOURCE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/EMBEDDED_NAVI_or_AUDIO_SOURCE.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/EMERGENCY_EVENT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/EMERGENCY_EVENT.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/Multiple_apps_activation_during_active_embedded_navigation_or_audio_source.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/Multiple_apps_activation_during_active_embedded_navigation_or_audio_source.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/PHONE_CALL1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/PHONE_CALL1.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnEventChanged/assets/PHONE_CALL2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnEventChanged/assets/PHONE_CALL2.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnExitAllApplications/assets/OnExitAllApps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnExitAllApplications/assets/OnExitAllApps.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnExitAllApplications/index.md: -------------------------------------------------------------------------------- 1 | ## OnExitAllApplications 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL to exit every registered application. 11 | 12 | SDL requires this notification in order to accurately close the sessions with registered applications before reloading or shutting down based on the user's actions. 13 | 14 | !!! MUST 15 | 16 | * Send `OnExitAllApplications` with the appropriate `reason` upon one of the user's actions: 17 | * Master Reset 18 | * Key set to Ignition Off (Refer to the diagram below). 19 | * Key set to Suspend (Refer to the diagram below). 20 | * Key set to ACC 21 | 22 | !!! 23 | 24 | ### Notification 25 | 26 | #### Parameters 27 | 28 | |Name|Type|Mandatory|Additional| 29 | |:---|:---|:--------|:---------| 30 | |reason|[Common.ApplicationsCloseReason](../../common/enums/#applicationsclosereason)|true|| 31 | 32 | ### Sequence Diagrams 33 | 34 | ||| 35 | Exit All Apps on Ignition Off 36 | ![OnExitAllApplications](./assets/OnExitAllApps.png) 37 | ||| 38 | 39 | ### JSON Message Examples 40 | 41 | #### Example Notification 42 | 43 | ```json 44 | { 45 | "jsonrpc" : "2.0", 46 | "method" : "BasicCommunication.OnExitAllApplications", 47 | "params" : 48 | { 49 | "reason" : "IGNITION_OFF" 50 | } 51 | } 52 | ``` 53 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnExitApplication/assets/OnExitApplicationUnauth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnExitApplication/assets/OnExitApplicationUnauth.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnExitApplication/assets/OnExitApplicationUser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnExitApplication/assets/OnExitApplicationUser.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnFileRemoved/assets/OnFileRemoved.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnFileRemoved/assets/OnFileRemoved.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnFindApplications/assets/OnFindApplications.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnFindApplications/assets/OnFindApplications.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnFindApplications/assets/OnFindApplicationsDeviceChosen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnFindApplications/assets/OnFindApplicationsDeviceChosen.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnIgnitionCycleOver/assets/OnIgnitionCycleOver_in_Proprietary_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnIgnitionCycleOver/assets/OnIgnitionCycleOver_in_Proprietary_PTU_flow.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnPutFile/assets/OnPutFileAfterRPC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnPutFile/assets/OnPutFileAfterRPC.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnPutFile/assets/OnPutFileBeforeRPC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnPutFile/assets/OnPutFileBeforeRPC.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnPutFile/assets/OnPutFileSystemRequest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnPutFile/assets/OnPutFileSystemRequest.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnReady/assets/OnReady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnReady/assets/OnReady.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnReady/index.md: -------------------------------------------------------------------------------- 1 | ## OnReady 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL about readiness to communicate 11 | 12 | `OnReady` is the first message which begins the SDL-HMI communication after the WebSocket transports are established. 13 | 14 | !!! must 15 | 16 | In order to communicate with SDL, the HMI must send this notification after the connection is established and the HMI is ready for communication. 17 | 18 | !!! 19 | 20 | ### Notification 21 | 22 | #### Parameters 23 | 24 | This RPC has no additional parameter requirements 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | OnReady WebSocket 30 | ![OnReady](./assets/OnReady.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Notification 36 | 37 | ```json 38 | { 39 | "jsonrpc" : "2.0", 40 | "method" : "BasicCommunication.OnReady" 41 | } 42 | ``` -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutKeepContextAlert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutKeepContextAlert.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutKeepContextAlert.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI: **//Pre-conditions://** 1. appID is active on HMI 6 | 7 | App->SDL: Alert(params) 8 | SDL->HMI: UI.Alert(params) 9 | 10 | note over HMI:Display the Alert dialog with\nalertText1 text and a\nsoftButtonID_1 soft button 11 | 12 | HMI->>SDL:UI.OnSystemContext(ALERT) 13 | 14 | note over HMI:User taps the\nsoftButtonID_1 button 15 | 16 | HMI->>SDL: Buttons.OnButtonEvent(BUTTONDOWN, customButtonID_1) 17 | HMI->SDL: BC.OnResetTimeout(resetPeriod) 18 | 19 | note over App,HMI:Timeout for UI.Alert(softButtons) never expires\nSDL does not apply UI.Alert timeout\nSDL does not reset timeout by BC.OnResetTimeout 20 | 21 | HMI-->SDL: UI.Alert(SUCCESS) 22 | SDL-->App: Alert(SUCCESS) -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutPerformInteraction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutPerformInteraction.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutScrollableMessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutScrollableMessage.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResetTimeout/assets/OnResetTimeoutScrollableMessage.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI: **//Pre-conditions://** 1. appID is active on HMI 6 | 7 | App->SDL:ScrollableMessage\n(messageText, timeout, appID) 8 | SDL->HMI:UI.ScrollableMessage\n(messageText, timeout, appID) 9 | 10 | note over HMI:Display the popup or full\nscreen overlay\nwith the message Text 11 | 12 | HMI->>SDL:UI.OnSystemContext(HMI_OBSCURED) 13 | SDL->>App:OnSystemContext(HMI_OBSCURED) 14 | 15 | note over HMI:User scrolls the message 16 | 17 | note over HMI:Renew the timeout of\nScrollableMessage 18 | 19 | HMI->>SDL: BC.OnResetTimeout(appID, "ScrollableMessage") 20 | 21 | note over HMI:Timeout 22 | note over HMI:Close the message\n popup/screen 23 | 24 | HMI-->SDL:UI.ScrollableMessage(SUCCESS) 25 | SDL-->App:ScrollableMessage(SUCCESS) 26 | HMI->>SDL:UI.OnSystemContext(MAIN) 27 | SDL->>App:OnSystemContext(MAIN) 28 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourceFull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourceFull.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourceLimited.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourceLimited.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourceMultiple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourceMultiple.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourcePhone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnResumeAudioSource/assets/OnResumeAudioSourcePhone.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSDLClose/assets/OnSDLCloseIgnition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSDLClose/assets/OnSDLCloseIgnition.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSDLClose/assets/OnSDLCloseReset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSDLClose/assets/OnSDLCloseReset.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSDLPersistenceComplete/assets/OnSDLPersistenceComplete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSDLPersistenceComplete/assets/OnSDLPersistenceComplete.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSDLPersistenceComplete/index.md: -------------------------------------------------------------------------------- 1 | ## OnSDLPersistenceComplete 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Inform HMI that any data persistence operations have been completed. 11 | 12 | SDL sends `OnSDLPersistenceComplete` when all data persistence operations are complete. The data made persistent is used for future resumption scenarios. 13 | 14 | !!! MUST 15 | 16 | 1. Send [OnExitAllApplications](../onexitallapplications)(`SUSPEND`) to initiate the data persistence process for registered apps. 17 | 2. Wait for `OnSDLPersistenceComplete` before sending [OnExitAllApplications](../onexitallapplications)(`IGNITION_OFF`). 18 | 19 | !!! 20 | 21 | ### Notification 22 | 23 | #### Parameters 24 | 25 | This RPC has no additional parameter requirements 26 | 27 | ### Sequence Diagrams 28 | 29 | ||| 30 | SDL Persists App Data after Suspend before Ignition Off 31 | ![OnSDLPersistenceComplete](./assets/OnSDLPersistenceComplete.png) 32 | ||| 33 | 34 | ### JSON Message Examples 35 | 36 | #### Example Notification 37 | 38 | ```json 39 | { 40 | "jsonrpc" : "2.0", 41 | "method" : "BasicCommunication.OnSDLPersistenceComplete" 42 | } 43 | ``` 44 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnServiceUpdate/assets/OnServiceUpdate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnServiceUpdate/assets/OnServiceUpdate.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnStartDeviceDiscovery/assets/OnStartDeviceDiscovery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnStartDeviceDiscovery/assets/OnStartDeviceDiscovery.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnStartDeviceDiscovery/index.md: -------------------------------------------------------------------------------- 1 | ## OnStartDeviceDiscovery 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Initiate device search 11 | 12 | On receipt of this notification, SDL starts searching for devices on all available transports. Afterwards, SDL provides the search results via [UpdateDeviceList](../updatedevicelist). 13 | 14 | !!! note 15 | 16 | This RPC tells SDL to initiate a new device search. The [OnUpdateDeviceList](../onupdatedevicelist) RPC asks SDL for the results of the most recent device query. 17 | 18 | !!! 19 | 20 | ### Notification 21 | 22 | #### Parameters 23 | 24 | This RPC has no additional parameter requirements 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | Starting Device Discovery 30 | ![OnStartDeviceDiscovery](./assets/OnStartDeviceDiscovery.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Notification 36 | 37 | ```json 38 | { 39 | "jsonrpc" : "2.0", 40 | "method" : "BasicCommunication.OnStartDeviceDiscovery" 41 | } 42 | ``` 43 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_PUBLISHED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_PUBLISHED.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_PUBLISHED.puml: -------------------------------------------------------------------------------- 1 | @startuml OnSystemCapabilityUpdated_PUBLISHED 2 | participant Mobile 3 | participant Core 4 | participant HMI 5 | 6 | Mobile -> Core : PublishAppServiceRequest 7 | Core -> Core : SystemCapability:\nSubscribeTo\n(APP_SERVICES) 8 | Core ->> Mobile : OnSystemCapabilityUpdated\n(APP_SERVICES, PUBLISHED) 9 | Core ->> HMI : BasicCommunication\n.OnSystemCapabilityUpdated\n(APP_SERVICES, PUBLISHED) 10 | Core --> Mobile : PublishAppServiceResponse 11 | 12 | @enduml 13 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_REMOVED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_REMOVED.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_REMOVED.puml: -------------------------------------------------------------------------------- 1 | @startuml OnSystemCapabilityUpdated_REMOVED 2 | 3 | participant Mobile 4 | participant Core 5 | participant HMI 6 | 7 | note left of Mobile: Mobile app has \nmultiple published \napp services 8 | 9 | Mobile -> Core : Disconnect 10 | Core -> Core : UnregisterApplication 11 | 12 | loop For every service published by Application 13 | Core ->> Mobile : OnSystemCapabilityUpdated\n(APP_SERVICES, REMOVED) 14 | Core ->> HMI : BasicCommunication\n.OnSystemCapabilityUpdated\n(APP_SERVICES, REMOVED) 15 | end 16 | @enduml 17 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_VIDEO_STREAMING.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemCapabilityUpdated/assets/OnSystemCapabilityUpdated_VIDEO_STREAMING.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemInfoChanged/index.md: -------------------------------------------------------------------------------- 1 | ## OnSystemInfoChanged 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Issued by system to SDL to notify that some system param has changed. Currently applied for Sync Language. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |language|[Common.Language](../../common/enums/#language)|true|| 19 | 20 | ### JSON Message Examples 21 | 22 | #### Example Notification 23 | 24 | ```json 25 | { 26 | "jsonrpc": "2.0", 27 | "method": "BasicCommunication.OnSystemInfoChanged", 28 | "params": { 29 | "language": "EN-US" 30 | } 31 | } 32 | ``` 33 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemRequest/assets/OnSystemRequest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemRequest/assets/OnSystemRequest.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemRequest/assets/OnSystemRequest_in_External_Proprietary_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemRequest/assets/OnSystemRequest_in_External_Proprietary_PTU_flow.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemRequest/assets/OnSystemRequest_in_Proprietary_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemRequest/assets/OnSystemRequest_in_Proprietary_PTU_flow.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemRequest/assets/PTU_modem_failure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemRequest/assets/PTU_modem_failure.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemTimeReady/assets/OnSystemTimeReady_Ign_On.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnSystemTimeReady/assets/OnSystemTimeReady_Ign_On.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnSystemTimeReady/index.md: -------------------------------------------------------------------------------- 1 | ## OnSystemTimeReady 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Notifies SDL that the HMI is ready to provide accurate system time 11 | 12 | !!! must 13 | 14 | The HMI must send a BC.OnSystemTimeReady notification to SDL when a new ignition cycle occurs in order to notify SDL that the HMI is once again ready to provide accurate system time. 15 | 16 | !!! 17 | 18 | ### Notification 19 | 20 | #### Parameters 21 | 22 | This RPC has no additional parameter requirements 23 | 24 | ### Sequence Diagrams 25 | 26 | ||| 27 | OnSystemTimeReady 28 | ![OnSystemTimeReady](./assets/OnSystemTimeReady_Ign_On.png) 29 | ||| 30 | 31 | ### JSON Message Examples 32 | 33 | #### Example Notification 34 | 35 | ```json 36 | { 37 | "jsonrpc" : "2.0", 38 | "method" : "BasicCommunication.OnSystemTimeReady" 39 | } 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/BasicCommunication/OnUpdateDeviceList/assets/OnUpdateDeviceList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/OnUpdateDeviceList/assets/OnUpdateDeviceList.png -------------------------------------------------------------------------------- /docs/BasicCommunication/OnUpdateDeviceList/index.md: -------------------------------------------------------------------------------- 1 | ## OnUpdateDeviceList 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Ask for the updated list of connected devices. 11 | 12 | Sending an `OnUpdateDeviceList` notification to SDL asks SDL to send back a list of discovered devices via [UpdateDeviceList](../updatedevicelist). 13 | 14 | !!! MAY 15 | 16 | 1. Provide the user with the possibility to request for an updated list of discovered devices. 17 | 2. Send `OnUpdateDeviceList` when the user has chosen to update the device list. 18 | 19 | !!! NOTE 20 | 21 | `OnUpdateDeviceList` is similar and can be confused with `OnStartDeviceDiscovery`. The difference is that `OnUpdateDeviceList` asks SDL to return an updated list of discovered devices, and `OnStartDeviceDiscovery` asks SDL to initiate a search procedure to discover new devices. 22 | 23 | !!! 24 | 25 | ### Notification 26 | 27 | #### Parameters 28 | 29 | This RPC has no additional parameter requirements 30 | 31 | ### Sequence Diagrams 32 | 33 | ||| 34 | User Requests Device List Update 35 | ![OnUpdateDeviceList](./assets/OnUpdateDeviceList.png) 36 | ||| 37 | 38 | ### JSON Message Examples 39 | 40 | #### Example Notification 41 | 42 | ```json 43 | { 44 | "jsonrpc" : "2.0", 45 | "method" : "BasicCommunication.OnUpdateDeviceList" 46 | } 47 | ``` 48 | -------------------------------------------------------------------------------- /docs/BasicCommunication/PolicyUpdate/assets/External_Proprietary_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/PolicyUpdate/assets/External_Proprietary_PTU_flow.png -------------------------------------------------------------------------------- /docs/BasicCommunication/PolicyUpdate/assets/PTU_modem_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/PolicyUpdate/assets/PTU_modem_success.png -------------------------------------------------------------------------------- /docs/BasicCommunication/PolicyUpdate/assets/PolicyUpdate_in_HTTP_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/PolicyUpdate/assets/PolicyUpdate_in_HTTP_PTU_flow.png -------------------------------------------------------------------------------- /docs/BasicCommunication/PolicyUpdate/assets/PolicyUpdate_in_HTTP_PTU_flow.txt: -------------------------------------------------------------------------------- 1 | title Policy Table Update (HTTP) 2 | 3 | participant Policy Server 4 | participant Mobile 5 | participant SDL 6 | participant HMI 7 | 8 | note over SDL: PT update is required 9 | 10 | SDL->HMI: SDL.OnStatusUpdate(UPDATE_NEEDED) 11 | SDL->SDL: Creates PT snapshot 12 | SDL->HMI: SDL.OnStatusUpdate(UPDATING) 13 | SDL->Mobile: OnSystemRequest(url, PTS_in_binaryData) 14 | Mobile->Policy Server: PT snapshot (PTS) 15 | Policy Server->Mobile: PT update (PTU) 16 | Mobile->SDL: SystemRequest(PTU_in_binaryData, file_name) 17 | SDL-->Mobile: SUCCESS: SystemRequest 18 | SDL->SDL: Validate PTU 19 | SDL->SDL: Merge PTU into Local PT 20 | SDL->HMI: SDL.OnStatusUpdate(UP_TO_DATE) -------------------------------------------------------------------------------- /docs/BasicCommunication/PolicyUpdate/assets/Proprietary_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/PolicyUpdate/assets/Proprietary_PTU_flow.png -------------------------------------------------------------------------------- /docs/BasicCommunication/SetAppProperties/assets/SetAppProperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/SetAppProperties/assets/SetAppProperties.png -------------------------------------------------------------------------------- /docs/BasicCommunication/SystemRequest/assets/SystemRequestWorkflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/SystemRequest/assets/SystemRequestWorkflow.png -------------------------------------------------------------------------------- /docs/BasicCommunication/UpdateAppList/assets/UpdateAppListAppRegister.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/UpdateAppList/assets/UpdateAppListAppRegister.png -------------------------------------------------------------------------------- /docs/BasicCommunication/UpdateAppList/assets/UpdateAppListUser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/UpdateAppList/assets/UpdateAppListUser.png -------------------------------------------------------------------------------- /docs/BasicCommunication/UpdateDeviceList/assets/UpdateDeviceListAOA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/UpdateDeviceList/assets/UpdateDeviceListAOA.png -------------------------------------------------------------------------------- /docs/BasicCommunication/UpdateDeviceList/assets/UpdateDeviceListBTUSB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/UpdateDeviceList/assets/UpdateDeviceListBTUSB.png -------------------------------------------------------------------------------- /docs/BasicCommunication/UpdateDeviceList/assets/UpdateDeviceListiOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/BasicCommunication/UpdateDeviceList/assets/UpdateDeviceListiOS.png -------------------------------------------------------------------------------- /docs/BasicCommunication/index.md: -------------------------------------------------------------------------------- 1 | # Basic Communication 2 | 3 | This section describes the messaging and HMI requirements between SDL and the HMI's basic communication component. 4 | -------------------------------------------------------------------------------- /docs/Buttons/ButtonPress/assets/ButtonPress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/ButtonPress/assets/ButtonPress.png -------------------------------------------------------------------------------- /docs/Buttons/GetCapabilities/assets/GetCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/GetCapabilities/assets/GetCapabilities.png -------------------------------------------------------------------------------- /docs/Buttons/OnButtonEvent/assets/OnButtonEventHardKeyPressRelease.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/OnButtonEvent/assets/OnButtonEventHardKeyPressRelease.png -------------------------------------------------------------------------------- /docs/Buttons/OnButtonEvent/assets/OnButtonEventPressRelease.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/OnButtonEvent/assets/OnButtonEventPressRelease.png -------------------------------------------------------------------------------- /docs/Buttons/OnButtonEvent/index.md: -------------------------------------------------------------------------------- 1 | ## OnButtonEvent 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL about the occurrence of a button event. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |name|[Common.ButtonName](../../common/enums/#buttonname)|true|| 19 | |mode|[Common.ButtonEventMode](../../common/enums/#buttoneventmode)|true|| 20 | |customButtonID|Integer|false|minvalue: 0
maxvalue: 65536| 21 | |appID|Integer|false|| 22 | 23 | ### Sequence Diagrams 24 | 25 | ||| 26 | OnButtonEvent for CUSTOM_BUTTON pressed and released 27 | ![OnButtonEvent](./assets/OnButtonEventPressRelease.png) 28 | ||| 29 | 30 | ||| 31 | OnButtonEvent hardware button pressed and released 32 | ![OnButtonEvent](./assets/OnButtonEventHardKeyPressRelease.png) 33 | ||| 34 | 35 | ### JSON Message Examples 36 | 37 | #### Example Notification 38 | 39 | ```json 40 | { 41 | "jsonrpc" : "2.0", 42 | "method" : "Buttons.OnButtonEvent", 43 | "params" : 44 | { 45 | "name" : "OK", 46 | "mode" : "BUTTONDOWN" 47 | } 48 | } 49 | ``` 50 | -------------------------------------------------------------------------------- /docs/Buttons/OnButtonPress/assets/OnButtonPressHardKeyShortOnly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/OnButtonPress/assets/OnButtonPressHardKeyShortOnly.png -------------------------------------------------------------------------------- /docs/Buttons/OnButtonPress/assets/OnButtonPressLongHardKey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/OnButtonPress/assets/OnButtonPressLongHardKey.png -------------------------------------------------------------------------------- /docs/Buttons/OnButtonPress/assets/OnButtonPressShort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/OnButtonPress/assets/OnButtonPressShort.png -------------------------------------------------------------------------------- /docs/Buttons/SubscribeButton/assets/SubscribeButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/SubscribeButton/assets/SubscribeButton.png -------------------------------------------------------------------------------- /docs/Buttons/SubscribeButton/assets/SubscribeCUSTOM_BUTTON.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/SubscribeButton/assets/SubscribeCUSTOM_BUTTON.png -------------------------------------------------------------------------------- /docs/Buttons/SubscribeButton/assets/SubscribeCUSTOM_BUTTON.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | note over App,HMI: **//Preconditions://** 1. Application is successfully registered, the status is active or in background on HMI\n2. The request is valid and allowed by SDL Policy Manager 5 | opt is supported by HMI 6 | note over HMI:\nis supported\nin hmi_capabilities 7 | App->SDL:SubscribeButton (, ) 8 | SDL->SDL: Check stored\nhmi_capabilities 9 | SDL->HMI:Buttons.SubscribeButton (, ) 10 | SDL<<--HMI:Buttons.SubscribeButton (SUCCESS, success: true) 11 | App<<--SDL:SubscribeButton (SUCCESS, success: true) 12 | end 13 | opt is NOT supported by HMI 14 | note over HMI: \nis **not** supported\nin hmi_capabilities 15 | App->SDL:SubscribeButton (, ) 16 | SDL->SDL: Check stored\nhmi_capabilities 17 | App<<--SDL:SubscribeButton (UNSUPPORTED_RESOURCE, success:false) 18 | end -------------------------------------------------------------------------------- /docs/Buttons/UnsubscribeButton/assets/UnsubscribeButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Buttons/UnsubscribeButton/assets/UnsubscribeButton.png -------------------------------------------------------------------------------- /docs/Navigation/AlertManeuver/assets/AlertManeuverAborted.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/AlertManeuver/assets/AlertManeuverAborted.jpg -------------------------------------------------------------------------------- /docs/Navigation/AlertManeuver/assets/AlertManeuverBackground.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/AlertManeuver/assets/AlertManeuverBackground.jpg -------------------------------------------------------------------------------- /docs/Navigation/AlertManeuver/assets/AlertManeuverDefaultSuccess.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/AlertManeuver/assets/AlertManeuverDefaultSuccess.jpg -------------------------------------------------------------------------------- /docs/Navigation/AlertManeuver/assets/AlertManeuverRejected.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/AlertManeuver/assets/AlertManeuverRejected.jpg -------------------------------------------------------------------------------- /docs/Navigation/GetWayPoints/assets/GetWayPoints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/GetWayPoints/assets/GetWayPoints.png -------------------------------------------------------------------------------- /docs/Navigation/IsReady/assets/IsReady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/IsReady/assets/IsReady.png -------------------------------------------------------------------------------- /docs/Navigation/OnAudioDataStreaming/assets/OnAudioDataStreamingAppHMI.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/OnAudioDataStreaming/assets/OnAudioDataStreamingAppHMI.jpg -------------------------------------------------------------------------------- /docs/Navigation/OnAudioDataStreaming/assets/OnAudioDataStreamingSDLHMI.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/OnAudioDataStreaming/assets/OnAudioDataStreamingSDLHMI.jpg -------------------------------------------------------------------------------- /docs/Navigation/OnAudioDataStreaming/index.md: -------------------------------------------------------------------------------- 1 | ## OnAudioDataStreaming 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Notify the HMI about a raw audio data stream which should be audible to the user. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |available|Boolean|true|| 19 | 20 | ### Sequence Diagrams 21 | 22 | ||| 23 | OnAudioDataStreaming SDL to HMI 24 | ![OnAudioDataStreaming](./assets/OnAudioDataStreamingSDLHMI.jpg) 25 | ||| 26 | 27 | ||| 28 | OnAudioDataStreaming App to HMI 29 | ![OnAudioDataStreaming](./assets/OnAudioDataStreamingAppHMI.jpg) 30 | ||| 31 | 32 | ### JSON Message Examples 33 | 34 | #### Example Notification 35 | 36 | ```json 37 | { 38 | "jsonrpc" : "2.0", 39 | "method" : "Navigation.OnAudioDataStreaming", 40 | "params" : 41 | { 42 | "available" : true 43 | } 44 | } 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/Navigation/OnTBTClientState/assets/OnTBTClientState.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/OnTBTClientState/assets/OnTBTClientState.jpg -------------------------------------------------------------------------------- /docs/Navigation/OnTBTClientState/index.md: -------------------------------------------------------------------------------- 1 | ## OnTBTClientState 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Provide SDL with information about changes to the TBT client state. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |state|[Common.TBTState](../../common/enums/#tbtstate)|true|| 19 | 20 | ### Sequence Diagrams 21 | 22 | ||| 23 | OnTBTClientState 24 | ![OnTBTClientState](./assets/OnTBTClientState.jpg) 25 | ||| 26 | 27 | ### JSON Message Examples 28 | 29 | #### Example Notification 30 | 31 | ```json 32 | { 33 | "jsonrpc" : "2.0", 34 | "method" : "Navigation.OnTBTClientState", 35 | "params" : 36 | { 37 | "state" : "NEXT_TURN_REQUEST" 38 | } 39 | } 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/Navigation/OnVideoDataStreaming/assets/OnVideoDataStreaming.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/OnVideoDataStreaming/assets/OnVideoDataStreaming.jpg -------------------------------------------------------------------------------- /docs/Navigation/OnVideoDataStreaming/index.md: -------------------------------------------------------------------------------- 1 | ## OnVideoDataStreaming 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Notify the HMI about a raw video data stream which should be visible to the user while in that application's context. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |available|Boolean|true|| 19 | 20 | ### Sequence Diagrams 21 | 22 | ||| 23 | OnVideoDataStreaming 24 | ![OnVideoDataStreaming](./assets/OnVideoDataStreaming.jpg) 25 | ||| 26 | 27 | ### JSON Message Examples 28 | 29 | #### Example Notification 30 | 31 | ```json 32 | { 33 | "jsonrpc" : "2.0", 34 | "method" : "Navigation.OnVideoDataStreaming", 35 | "params" : 36 | { 37 | "available" : true 38 | } 39 | } 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/Navigation/OnWayPointChange/assets/OnWayPointChange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/OnWayPointChange/assets/OnWayPointChange.png -------------------------------------------------------------------------------- /docs/Navigation/OnWayPointChange/assets/OnWayPointChange.puml: -------------------------------------------------------------------------------- 1 | @startuml OnWayPointChange 2 | participant SDL 3 | participant HMI 4 | 5 | SDL -> HMI: Navigation.SubscribeWayPoints() 6 | HMI --> SDL: Navigation.SubscribeWayPoints(SUCCESS) 7 | note right of HMI: Waypoint data has changed 8 | HMI -> SDL: Navigation.OnWayPointChange(waypoints) 9 | @enduml -------------------------------------------------------------------------------- /docs/Navigation/OnWayPointChange/index.md: -------------------------------------------------------------------------------- 1 | ## OnWayPointChange 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Notify SDL of navigation waypoint/destination updates 11 | 12 | ### Notification 13 | 14 | !!! MUST 15 | Send this notification when the list of waypoints is changed and SDL is subscribed to waypoint updates 16 | !!! 17 | 18 | #### Parameters 19 | 20 | |Name|Type|Mandatory|Additional|Description| 21 | |:---|:---|:--------|:---------|:----------| 22 | |wayPoints|[Common.LocationDetails](../../common/structs/#locationdetails)|true|array: true
minsize: 1
maxsize: 10|| 23 | 24 | ### Sequence Diagrams 25 | 26 | ||| 27 | OnWayPointChange 28 | ![OnWayPointChange](./assets/OnWayPointChange.png) 29 | ||| 30 | 31 | ### JSON Message Examples 32 | 33 | #### Example Notification 34 | 35 | ```json 36 | { 37 | "id" : 47, 38 | "jsonrpc" : "2.0", 39 | "method" : "Navigation.OnWayPointChange", 40 | "params" : { 41 | "wayPoints" : 42 | [ 43 | { 44 | "phoneNumber" : "123-456-7890", 45 | "addressLines" : "addresstext" 46 | } 47 | ] 48 | } 49 | } 50 | ``` 51 | -------------------------------------------------------------------------------- /docs/Navigation/SendLocation/assets/SendLocationFailRejected.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SendLocation/assets/SendLocationFailRejected.jpg -------------------------------------------------------------------------------- /docs/Navigation/SendLocation/assets/SendLocationFailWarning.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SendLocation/assets/SendLocationFailWarning.jpg -------------------------------------------------------------------------------- /docs/Navigation/SendLocation/assets/SendLocationSuccess.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SendLocation/assets/SendLocationSuccess.jpg -------------------------------------------------------------------------------- /docs/Navigation/SendLocation/assets/SendLocation_general.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SendLocation/assets/SendLocation_general.png -------------------------------------------------------------------------------- /docs/Navigation/SetVideoConfig/assets/SetVideoConfigBasicFlow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SetVideoConfig/assets/SetVideoConfigBasicFlow.png -------------------------------------------------------------------------------- /docs/Navigation/SetVideoConfig/assets/SetVideoConfigBasicFlow.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /' 3 | Source file for sequence diagram 4 | More information at https://plantuml.com/ 5 | '/ 6 | 7 | Participant "App" as A 8 | Participant "SDL" as SDL 9 | Participant "HMI" as HMI 10 | 11 | A -->> SDL: StartService(serviceType:Video, streamingParams) 12 | SDL -> HMI: Navigation.SetVideoConfig(config: streamingParams) 13 | HMI -> SDL: Navigation.SetVideoConfig(SUCCESS) 14 | SDL -->> A: StartServiceACK(streamingParams) 15 | SDL -> HMI: Navigation.StartStream(url: http://127.0.0.1:5050) 16 | HMI -> SDL: Navigation.StartStream(SUCCESS) 17 | 18 | @enduml -------------------------------------------------------------------------------- /docs/Navigation/SetVideoConfig/assets/SetVideoConfigErrorFlow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SetVideoConfig/assets/SetVideoConfigErrorFlow.png -------------------------------------------------------------------------------- /docs/Navigation/SetVideoConfig/assets/SetVideoConfigErrorFlow.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /' 3 | Source file for sequence diagram 4 | More information at https://plantuml.com/ 5 | '/ 6 | 7 | Participant "App" as A 8 | Participant "SDL" as SDL 9 | Participant "HMI" as HMI 10 | 11 | A -->> SDL: StartService(serviceType:Video, streamingParams) 12 | SDL -> HMI: Navigation.SetVideoConfig(config: streamingParams) 13 | HMI -> SDL: Navigation.SetVideoConfig(REJECTED, rejectedParams:["codec"]) 14 | SDL -->> A: StartServiceNAK(rejectedParams:["codec"]) 15 | 16 | @enduml -------------------------------------------------------------------------------- /docs/Navigation/ShowConstantTBT/assets/ShowConstantTBT.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/ShowConstantTBT/assets/ShowConstantTBT.jpg -------------------------------------------------------------------------------- /docs/Navigation/StartAudioStream/assets/StartAudioStream.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/StartAudioStream/assets/StartAudioStream.jpg -------------------------------------------------------------------------------- /docs/Navigation/StartStream/assets/StartStream.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/StartStream/assets/StartStream.jpg -------------------------------------------------------------------------------- /docs/Navigation/StopAudioStream/assets/StopAudioStream.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/StopAudioStream/assets/StopAudioStream.jpg -------------------------------------------------------------------------------- /docs/Navigation/StopStream/assets/StopStream.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/StopStream/assets/StopStream.jpg -------------------------------------------------------------------------------- /docs/Navigation/SubscribeWayPoints/assets/SubscribeWayPoints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SubscribeWayPoints/assets/SubscribeWayPoints.png -------------------------------------------------------------------------------- /docs/Navigation/SubscribeWayPoints/assets/SubscribeWayPoints.puml: -------------------------------------------------------------------------------- 1 | @startuml SubscribeWayPoints 2 | participant SDL 3 | participant HMI 4 | 5 | SDL -> HMI: Navigation.SubscribeWayPoints() 6 | HMI --> SDL: Navigation.SubscribeWayPoints(SUCCESS) 7 | note right of HMI: Waypoint data has changed 8 | HMI -> SDL: Navigation.OnWayPointChange(waypoints) 9 | @enduml -------------------------------------------------------------------------------- /docs/Navigation/SubscribeWayPoints/assets/SubscribeWayPoints_Resumption.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/SubscribeWayPoints/assets/SubscribeWayPoints_Resumption.png -------------------------------------------------------------------------------- /docs/Navigation/SubscribeWayPoints/assets/SubscribeWayPoints_Resumption.txt: -------------------------------------------------------------------------------- 1 | 2 | participant App 3 | participant SDL 4 | participant HMI 5 | 6 | note over App, HMI:**Pre-conditions:**\n 1. App is registered and activated\n2.App is successfully subscribed to wayPoint-related data 7 | 8 | note over App, HMI: Application gets disconnected on Ignition Off 9 | SDL->SDL:Store the status of subscription to wayPoints-related data 10 | SDL->HMI: Navigation.UnsubscribeWayPoints() 11 | HMI-->SDL:Navigation.UnsubscribeWayPoints(SUCCESS) 12 | note over App, HMI:Ignition On 13 | 14 | App->SDL: RegisterAppInterface(hashID, params) 15 | 16 | note over SDL: Check \n is valid\n Start data resumption 17 | 18 | note over SDL: Resume status of subscription to wayPoint-related data 19 | 20 | SDL->HMI: Navigation.SubscribeWayPoints() 21 | HMI-->SDL:Navigation.SubscribeWayPoints(SUCCESS) 22 | 23 | SDL-->App: RegisterAppInterface(SUCCESS) 24 | -------------------------------------------------------------------------------- /docs/Navigation/UnsubscribeWayPoints/assets/UnsubscribeWayPoints.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/UnsubscribeWayPoints/assets/UnsubscribeWayPoints.png -------------------------------------------------------------------------------- /docs/Navigation/UnsubscribeWayPoints/assets/UnsubscribeWayPoints.puml: -------------------------------------------------------------------------------- 1 | @startuml UnsubscribeWayPoints 2 | participant SDL 3 | participant HMI 4 | 5 | SDL -> HMI: Navigation.SubscribeWayPoints() 6 | HMI --> SDL: Navigation.SubscribeWayPoints(SUCCESS) 7 | note right of HMI: Waypoint data has changed 8 | HMI -> SDL: Navigation.OnWayPointChange(waypoints) 9 | SDL -> HMI: Navigation.UnsubscribeWayPoints() 10 | HMI --> SDL: Navigation.UnsubscribeWayPoints(SUCCESS) 11 | note right of HMI: Waypoint data has changed,\nno notification is sent to SDL 12 | @enduml -------------------------------------------------------------------------------- /docs/Navigation/UpdateTurnList/assets/UpdateTurnList.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/Navigation/UpdateTurnList/assets/UpdateTurnList.jpg -------------------------------------------------------------------------------- /docs/RC/GetCapabilities/assets/GetCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/GetCapabilities/assets/GetCapabilities.png -------------------------------------------------------------------------------- /docs/RC/GetInteriorVehicleData/assets/GetInteriorVehicleData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/GetInteriorVehicleData/assets/GetInteriorVehicleData.png -------------------------------------------------------------------------------- /docs/RC/GetInteriorVehicleDataConsent/assets/GetInteriorVehicleDataConsent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/GetInteriorVehicleDataConsent/assets/GetInteriorVehicleDataConsent.png -------------------------------------------------------------------------------- /docs/RC/IsReady/assets/IsReady_GetCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/IsReady/assets/IsReady_GetCapabilities.png -------------------------------------------------------------------------------- /docs/RC/OnInteriorVehicleData/assets/OnInteriorVehicleData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/OnInteriorVehicleData/assets/OnInteriorVehicleData.png -------------------------------------------------------------------------------- /docs/RC/OnRCStatus/assets/OnRCStatus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/OnRCStatus/assets/OnRCStatus.png -------------------------------------------------------------------------------- /docs/RC/OnRemoteControlSettings/assets/OnRemoteControlSettings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/OnRemoteControlSettings/assets/OnRemoteControlSettings.png -------------------------------------------------------------------------------- /docs/RC/OnRemoteControlSettings/assets/OnRemoteControlSettings_disablingRC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/OnRemoteControlSettings/assets/OnRemoteControlSettings_disablingRC.png -------------------------------------------------------------------------------- /docs/RC/SetGlobalProperties/assets/RC_SetGlobalProperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/SetGlobalProperties/assets/RC_SetGlobalProperties.png -------------------------------------------------------------------------------- /docs/RC/SetInteriorVehicleData/assets/SetInteriorVehicleData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/SetInteriorVehicleData/assets/SetInteriorVehicleData.png -------------------------------------------------------------------------------- /docs/RC/SetInteriorVehicleData/assets/setInteriorVehicleData_READ_ONLY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/RC/SetInteriorVehicleData/assets/setInteriorVehicleData_READ_ONLY.png -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/ActivateAppAppLaunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/ActivateApp/assets/ActivateAppAppLaunch.png -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/ActivateAppLocalWebApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/ActivateApp/assets/ActivateAppLocalWebApp.png -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/ActivateAppLocalWebApp.txt: -------------------------------------------------------------------------------- 1 | participant Local Web App 2 | participant SDL 3 | participant HMI 4 | 5 | 6 | note over Local Web App, HMI: **Preconditions:**\n 1. Core is built with DWEBSOCKET_SERVER_TRANSPORT_SUPPORT set to `true`\n2. Web app (appHMIType=WEB_VIEW) is registered\n3. Web app is in NONE HMILevel 7 | 8 | note over HMI: User activates Web app 9 | 10 | HMI->SDL: SDL.ActivateApp() 11 | SDL-->HMI: SDL.ActivateApp(SUCCESS) 12 | SDL->Local Web App: OnHMIStatus (hmiLevel=FULL) 13 | 14 | note over HMI: Web app is visible\nin the main window on the HMI 15 | 16 | HMI->>SDL: BC.OnSystemCapabilityUpdate\n(displayCapabilities(...(templatesAvailable("MEDIA", "NON-MEDIA",\n "NAV_FULLSCREEN_MAP","WEB_VIEW")) 17 | 18 | note over HMI: The WEB_VIEW template must NOT\n declare support in its WindowCapabilities\nfor any `softButtonCapabilities`, the `TextFields` with name:\n `mainField1-4`, `mediaClock`, `mediaTrack`,\nnor the `ImageFields` with name:\n `softButtonImage`, `menuIcon`, `graphic`, or `secondaryGraphic` 19 | 20 | SDL->>Local Web App: OnSystemCapabilityUpdated\n(displayCapabilities(...(templatesAvailable("MEDIA", "NON-MEDIA",\n "NAV_FULLSCREEN_MAP","WEB_VIEW")) -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/ActivateAppReducedPermissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/ActivateApp/assets/ActivateAppReducedPermissions.png -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/ActivateAppRevokedPermissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/ActivateApp/assets/ActivateAppRevokedPermissions.png -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/ActivateAppRevokedPermissions.txt: -------------------------------------------------------------------------------- 1 | participant SDL 2 | 3 | participant HMI 4 | 5 | note over HMI: appID_1 app is registered and is\npresent in the 'List of registered\napps' on HMI 6 | 7 | note over HMI: The User chooses to activate appID_1\napp (manually or by voice) 8 | 9 | SDL<-HMI: SDL.ActiveApp{appID_1} 10 | 11 | 12 | note over SDL: PT stores the device\nas consented 13 | 14 | note over SDL: PT Update comes ->\nappID_1 gets NULL\npermissions 15 | 16 | SDL-->HMI: SDL.ActiveApp\n{code:4, isSDLAllowed:true, isAppRevoked:true} 17 | 18 | note over HMI: Do NOT activate the\nappID_1 app 19 | 20 | SDL<-HMI: SDL.GetUserFriendlyMessage\n{messageCodes: "AppUnauthorized", params} 21 | 22 | note over SDL: Takes the information\nfrom PT 23 | 24 | SDL-->HMI: SDL.GetUserFriendlyMessage {params} 25 | 26 | note over SDL:SDL will never allow the\n appID_1 (WEB_VIEW) app\n that has NULL permissions\nto register afterwards 27 | 28 | note over HMI:Display the popup\nwith "AppUnauthorized"\nmessage 29 | 30 | note over SDL: Apps with other AppHMIType can be registered,\nbut are not allowed to be activated -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/User_consents_the_device2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/ActivateApp/assets/User_consents_the_device2.png -------------------------------------------------------------------------------- /docs/SDL/ActivateApp/assets/User_does_not_consent_the_device1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/ActivateApp/assets/User_does_not_consent_the_device1.png -------------------------------------------------------------------------------- /docs/SDL/AddStatisticsInfo/index.md: -------------------------------------------------------------------------------- 1 | ## AddStatisticsInfo 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Sent by system to record statistics and error counts. Increases statistics specified by statisticType by one. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |statisticType|[Common.StatisticsType](../../common/enums/#statisticstype)|true|| 19 | 20 | ### JSON Message Examples 21 | 22 | #### Example Notification 23 | 24 | ```json 25 | { 26 | "jsonrpc": "2.0", 27 | "method": "SDL.AddStatisticsInfo", 28 | "params": { 29 | "statisticType": "iAPP_BUFFER_FULL" 30 | } 31 | } 32 | ``` 33 | -------------------------------------------------------------------------------- /docs/SDL/GetListOfPermissions/assets/GetListOfPermissions.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/GetListOfPermissions/assets/GetListOfPermissions.jpg -------------------------------------------------------------------------------- /docs/SDL/GetListOfPermissions/assets/GetListOfPermissionsInformingHMI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/GetListOfPermissions/assets/GetListOfPermissionsInformingHMI.png -------------------------------------------------------------------------------- /docs/SDL/GetListOfPermissions/assets/GetListOfPermissionsNoId.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/GetListOfPermissions/assets/GetListOfPermissionsNoId.jpg -------------------------------------------------------------------------------- /docs/SDL/GetListOfPermissions/assets/PossibleLayoutExternalConsentStatus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/GetListOfPermissions/assets/PossibleLayoutExternalConsentStatus.png -------------------------------------------------------------------------------- /docs/SDL/GetPolicyConfigurationData/assets/GetPolicyConfigurationData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/GetPolicyConfigurationData/assets/GetPolicyConfigurationData.png -------------------------------------------------------------------------------- /docs/SDL/GetStatusUpdate/assets/GetStatusUpdate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/GetStatusUpdate/assets/GetStatusUpdate.jpg -------------------------------------------------------------------------------- /docs/SDL/GetUserFriendlyMessage/assets/GetUserFriendlyMessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/GetUserFriendlyMessage/assets/GetUserFriendlyMessage.png -------------------------------------------------------------------------------- /docs/SDL/OnAllowSDLFunctionality/assets/User_consents_the_device2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnAllowSDLFunctionality/assets/User_consents_the_device2.png -------------------------------------------------------------------------------- /docs/SDL/OnAllowSDLFunctionality/assets/User_does_not_consent_the_device1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnAllowSDLFunctionality/assets/User_does_not_consent_the_device1.png -------------------------------------------------------------------------------- /docs/SDL/OnAppPermissionChanged/assets/OnAppPermissionChanged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnAppPermissionChanged/assets/OnAppPermissionChanged.png -------------------------------------------------------------------------------- /docs/SDL/OnAppPermissionConsent/assets/OnAppPermissionConsent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnAppPermissionConsent/assets/OnAppPermissionConsent.png -------------------------------------------------------------------------------- /docs/SDL/OnAppPermissionConsent/assets/OnAppPermissionConsent2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnAppPermissionConsent/assets/OnAppPermissionConsent2.png -------------------------------------------------------------------------------- /docs/SDL/OnAppPermissionConsent/assets/User`s Consent for permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnAppPermissionConsent/assets/User`s Consent for permissions.png -------------------------------------------------------------------------------- /docs/SDL/OnPolicyUpdate/assets/OnPolicyUpdate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnPolicyUpdate/assets/OnPolicyUpdate.jpg -------------------------------------------------------------------------------- /docs/SDL/OnReceivedPolicyUpdate/assets/External_Proprietary_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnReceivedPolicyUpdate/assets/External_Proprietary_PTU_flow.png -------------------------------------------------------------------------------- /docs/SDL/OnReceivedPolicyUpdate/assets/Proprietary_PTU_flow_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnReceivedPolicyUpdate/assets/Proprietary_PTU_flow_.png -------------------------------------------------------------------------------- /docs/SDL/OnSDLConsentNeeded/assets/User_consents_the_device2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnSDLConsentNeeded/assets/User_consents_the_device2.png -------------------------------------------------------------------------------- /docs/SDL/OnSDLConsentNeeded/assets/User_does_not_consent_the_device1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnSDLConsentNeeded/assets/User_does_not_consent_the_device1.png -------------------------------------------------------------------------------- /docs/SDL/OnStatusUpdate/assets/OnStatusUpdate_in_Proprietary_PTU_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/OnStatusUpdate/assets/OnStatusUpdate_in_Proprietary_PTU_flow.png -------------------------------------------------------------------------------- /docs/SDL/OnSystemError/index.md: -------------------------------------------------------------------------------- 1 | ## OnSystemError 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Send notification to SDL Core about system errors 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |error|[Common.SystemError](../../common/enums/#systemerror)|true|| 19 | 20 | ### JSON Message Examples 21 | 22 | #### Example Notification 23 | 24 | ```json 25 | { 26 | "jsonrpc": "2.0", 27 | "method": "SDL.OnSystemError", 28 | "params": { 29 | "error": "SYNC_REBOOTED" 30 | } 31 | } 32 | ``` 33 | -------------------------------------------------------------------------------- /docs/SDL/UpdateSDL/assets/PTU_external_proprietary_SDL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/UpdateSDL/assets/PTU_external_proprietary_SDL.png -------------------------------------------------------------------------------- /docs/SDL/UpdateSDL/assets/PTU_external_proprietary_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/SDL/UpdateSDL/assets/PTU_external_proprietary_user.png -------------------------------------------------------------------------------- /docs/SDL/UpdateSDL/assets/PTU_external_proprietary_user.txt: -------------------------------------------------------------------------------- 1 | -- Policy Update Sequence 2 | title EXTERNAL_PROPRIETARY Policy Table Update requsted by user 3 | 4 | participant User 5 | participant Policy Server 6 | participant Mobile 7 | participant SDL 8 | participant HMI 9 | ==SDL is built with with **"-DEXTENDED_POLICY: EXTERNAL_PROPRIETARY"** flag\ndevice is consented== 10 | 11 | User->HMI: Request PT update (e.g. from Settings Menu) 12 | HMI->SDL: SDL.UpdateSDL 13 | opt Policy Table state is up to date 14 | SDL->HMI: SUCCESS UpdateSDL(UP_TO_DATE) 15 | note over SDL: Always starts PTU\n requested by User 16 | SDL->HMI: SDL.OnStatusUpdate(UPDATE_NEEDED) 17 | end 18 | 19 | opt Policy Table Update is currently in progress 20 | SDL->HMI: SUCCESS UpdateSDL(UPDATING) 21 | note over SDL: Waits until current PTU cycle is over\nand starts PTU requested by user 22 | SDL->HMI: SDL.OnStatusUpdate(UPDATE_NEEDED) 23 | end 24 | 25 | opt Policy Table Update needs update 26 | SDL->HMI: SUCCESS UpdateSDL(UPDATE_NEEDED) 27 | note over SDL: Starts new PTU sequence 28 | SDL->HMI: SDL.OnStatusUpdate(UPDATE_NEEDED) 29 | end 30 | 31 | SDL->SDL: Creates PT snapshot 32 | SDL->HMI: BC.PolicyUpdate(path_to_PTS) 33 | HMI-->SDL: SUCCESS: BC.PolicyUpdate 34 | SDL->HMI: SDL.OnStatusUpdate(UPDATING) -------------------------------------------------------------------------------- /docs/TTS/ChangeRegistration/assets/ChangeRegistration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/ChangeRegistration/assets/ChangeRegistration.png -------------------------------------------------------------------------------- /docs/TTS/GetCapabilities/assets/GetCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/GetCapabilities/assets/GetCapabilities.png -------------------------------------------------------------------------------- /docs/TTS/GetLanguage/assets/GetLanguage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/GetLanguage/assets/GetLanguage.png -------------------------------------------------------------------------------- /docs/TTS/GetLanguage/assets/GetLanguage.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | App->SDL:RegisterAppInterface 5 | HMI->>SDL:BC.OnReady 6 | SDL->HMI:TTS.IsReady 7 | HMI-->SDL:TTS.IsReady (`SUCCESS`) 8 | note over SDL:`HMICapabilitiesCacheFile`\nis not available 9 | SDL->SDL:Create `HMICapabilitiesCacheFile` 10 | note over SDL:GetLanguage data\nis not available\nin `HMICapabilitiesCacheFile` 11 | 12 | opt GetLanguage - Happy Path 13 | SDL->HMI:TTS.GetLanguage 14 | HMI-->SDL:TTS.GetLanguage (`SUCCESS`, params) 15 | SDL->SDL:Cache received data\nin `HMICapabilitiesCacheFile` 16 | note right of SDL:Use received data\nfor App-SDL communication 17 | end 18 | 19 | opt GetLanguage - No response from HMI 20 | SDL->HMI:TTS.GetLanguage 21 | note over HMI:No response 22 | note right of SDL:Request data from HMI\nin subsequent ignition cycle 23 | SDL->SDL:Load default data\nfrom `hmi_capabilities.json` 24 | note right of SDL:Use default data\nfor App-SDL communication\nwithin this ignition cycle 25 | end 26 | 27 | SDL-->App:RegisterAppInterface (params) 28 | -------------------------------------------------------------------------------- /docs/TTS/GetLanguage/index.md: -------------------------------------------------------------------------------- 1 | ## GetLanguage 2 | 3 | Type 4 | : Function 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Get the current TTS language. 11 | 12 | ### Request 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Response 19 | 20 | #### Parameters 21 | 22 | |Name|Type|Mandatory|Additional| 23 | |:---|:---|:--------|:---------| 24 | |language|[Common.Language](../../common/enums/#language)|true|| 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | GetLanguage 30 | ![GetLanguage](./assets/GetLanguage.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Request 36 | 37 | ```json 38 | { 39 | "id" : 110, 40 | "jsonrpc" : "2.0", 41 | "method" : "TTS.GetLanguage" 42 | } 43 | ``` 44 | 45 | #### Example Response 46 | 47 | ```json 48 | { 49 | "id" : 110, 50 | "jsonrpc" : "2.0", 51 | "result" : 52 | { 53 | "language" : "DE-DE", 54 | "code" : 0, 55 | "method" : "TTS.GetLanguage" 56 | } 57 | } 58 | ``` 59 | 60 | #### Example Error 61 | 62 | ```json 63 | { 64 | "id" : 110, 65 | "jsonrpc" : "2.0", 66 | "error" : 67 | { 68 | "code" : 22, 69 | "message" : "During the API call the unknown error has occurred", 70 | "data" : 71 | { 72 | "method" : "TTS.GetLanguage" 73 | } 74 | } 75 | } 76 | ``` 77 | -------------------------------------------------------------------------------- /docs/TTS/GetSupportedLanguages/assets/GetSupportedLanguages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/GetSupportedLanguages/assets/GetSupportedLanguages.png -------------------------------------------------------------------------------- /docs/TTS/GetSupportedLanguages/assets/GetSupportedLanguages.txt: -------------------------------------------------------------------------------- 1 | participant SDL 2 | participant HMI 3 | HMI->>SDL:BC.OnReady 4 | SDL->HMI:TTS.IsReady 5 | HMI-->SDL:TTS.IsReady (`SUCCESS`) 6 | note over SDL:`HMICapabilitiesCacheFile`\nis not available 7 | SDL->SDL:Create `HMICapabilitiesCacheFile` 8 | note over SDL:GetSupportedLanguages data\nis not available\nin `HMICapabilitiesCacheFile` 9 | opt GetSupportedLanguages - Happy Path 10 | SDL->HMI:TTS.GetSupportedLanguages 11 | HMI-->SDL:TTS.GetSupportedLanguages (`SUCCESS`, params) 12 | SDL->SDL:Cache received data\nin `HMICapabilitiesCacheFile` 13 | note over SDL:Use received data\nfor App-SDL communication 14 | end 15 | opt GetSupportedLanguages - No response from HMI 16 | SDL->HMI:TTS.GetSupportedLanguages 17 | note over HMI:No response 18 | note over SDL:Request data from HMI\nin subsequent ignition cycle 19 | SDL->SDL:Load default data\nfrom `hmi_capabilities.json` 20 | note over SDL:Use default data\nfor App-SDL communication\nwithin this ignition cycle 21 | end 22 | -------------------------------------------------------------------------------- /docs/TTS/IsReady/assets/IsReady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/IsReady/assets/IsReady.png -------------------------------------------------------------------------------- /docs/TTS/OnLanguageChange/assets/OnLanguageChange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/OnLanguageChange/assets/OnLanguageChange.png -------------------------------------------------------------------------------- /docs/TTS/OnLanguageChange/assets/OnLanguageChange.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI: **//Pre-conditions://**\n1. `appID` is registered with **`EN-US`** language\n2. Current HMI TTS language is **`EN-US`** 6 | 7 | note over HMI:User switched\nlanguage to **`FR-CA`** 8 | 9 | HMI->>SDL:TTS.OnLanguageChange (**`FR-CA`**) 10 | SDL->>SDL:Overwrite current language\nin `HMICapabilitiesCacheFile` 11 | SDL->>App:OnLanguageChange (**`FR-CA`**) 12 | 13 | note over SDL: Unregister \nwith language different\nfrom current HMI TTS language 14 | SDL->>HMI:BC.OnAppUnregistered (`appID`,**`EN-US`**) 15 | 16 | note over HMI:Clear up data\nassociated with 17 | 18 | note over HMI:Display HMI default screen\n(e.g.HMI main menu) 19 | 20 | App->>SDL:RegisterAppInterface (`appID`, **`FR-CA`**) 21 | SDL->SDL:Check current language\nin `HMICapabilitiesCacheFile` 22 | SDL->>HMI:BC.OnAppRegistered (`appID`, **`FR-CA`**) 23 | SDL-->App:RegisterAppInterface (`SUCCESS`) 24 | note over HMI:Store the provided data\nassociating it with `appID` 25 | note over HMI:Add `appID` to the list\nof registered applications -------------------------------------------------------------------------------- /docs/TTS/OnLanguageChange/index.md: -------------------------------------------------------------------------------- 1 | ## OnLanguageChange 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that the language for the TTS component has changed. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |language|[Common.Language](../../common/enums/#language)|true|| 19 | 20 | ### Sequence Diagrams 21 | 22 | ||| 23 | OnLanguageChange 24 | ![OnLanguageChange](./assets/OnLanguageChange.png) 25 | ||| 26 | 27 | ### JSON Message Examples 28 | 29 | #### Example Notification 30 | 31 | ```json 32 | { 33 | "jsonrpc" : "2.0", 34 | "method" : "TTS.OnLanguageChange", 35 | "params" : 36 | { 37 | "language" : "IT-IT" 38 | } 39 | } 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/TTS/SetGlobalProperties/assets/SetGlobalProperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/SetGlobalProperties/assets/SetGlobalProperties.png -------------------------------------------------------------------------------- /docs/TTS/SetGlobalProperties/assets/SetGlobalProperties_VRHelp_and_HelpPrompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/SetGlobalProperties/assets/SetGlobalProperties_VRHelp_and_HelpPrompt.png -------------------------------------------------------------------------------- /docs/TTS/Speak/assets/OnResetTimeoutGenericError.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/Speak/assets/OnResetTimeoutGenericError.png -------------------------------------------------------------------------------- /docs/TTS/Speak/assets/OnResetTimeoutGenericError.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI: **//Pre-conditions://** 1. Application is successfully registered 6 | 7 | 8 | App->SDL: Speak(ttsChunks) 9 | SDL->HMI: TTS.Speak(TTSChunks, appID, "Speak") 10 | HMI-->SDL: TTS.Started 11 | 12 | note over HMI:HMI speak\nthe text 13 | note over HMI:The text is being\nspeaking 10 seconds 14 | 15 | HMI->SDL: BC.OnResetTimeout(requestID, "TTSSpeak") 16 | 17 | note over SDL:10 seconds default\ntimeout has been\nreset for Speak request 18 | 19 | note over HMI:Speaking continues\nfor more than 10 seconds.\nNo reset timeout is sent 20 | 21 | note over SDL: SDL doesn't get response\nor ResetTimeout from TTS\n within 10 seconds 22 | 23 | SDL-->App: GENERIC_ERROR:Speak 24 | -------------------------------------------------------------------------------- /docs/TTS/Speak/assets/OnResetTimeoutSpeakSuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/Speak/assets/OnResetTimeoutSpeakSuccess.png -------------------------------------------------------------------------------- /docs/TTS/Speak/assets/OnResetTimeoutSpeakSuccess.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI: **//Pre-conditions://** 1. Application is successfully registered 6 | 7 | 8 | App->SDL:Speak(ttsChunks) 9 | SDL->HMI:TTS.Speak(TTSChunks, appID, "Speak") 10 | HMI->>SDL:TTS.Started 11 | 12 | note over HMI:HMI speak\nthe text 13 | note over HMI:The text is being\nspeaking 10 seconds 14 | 15 | HMI->SDL:BC.OnResetTimeout(requestID, "TTSSpeak") 16 | 17 | note over SDL:10 seconds default\ntimeout has been\nreset for Speak request 18 | 19 | note over HMI:Speaking has ended\nin less than 10 seconds 20 | 21 | HMI-->SDL:TTS.Speak(SUCCESS) 22 | HMI->>SDL:TTS.Stopped 23 | SDL-->App:Speak(SUCCESS) -------------------------------------------------------------------------------- /docs/TTS/Speak/assets/Speak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/Speak/assets/Speak.png -------------------------------------------------------------------------------- /docs/TTS/Started/assets/StartedFromPerformInteraction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/Started/assets/StartedFromPerformInteraction.png -------------------------------------------------------------------------------- /docs/TTS/Started/assets/StartedFromSpeak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/Started/assets/StartedFromSpeak.png -------------------------------------------------------------------------------- /docs/TTS/Started/index.md: -------------------------------------------------------------------------------- 1 | ## Started 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that TTS has started. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Sequence Diagrams 19 | 20 | ||| 21 | Started upon TTS.Speak request from SDL 22 | ![Started](./assets/StartedFromSpeak.png) 23 | ||| 24 | 25 | ||| 26 | Started during PerformInteraction 27 | ![Started](./assets/StartedFromPerformInteraction.png) 28 | ||| 29 | 30 | ### JSON Message Examples 31 | 32 | #### Example Notification 33 | 34 | ```json 35 | { 36 | "jsonrpc" : "2.0", 37 | "method" : "TTS.Started" 38 | } 39 | ``` 40 | -------------------------------------------------------------------------------- /docs/TTS/StopSpeaking/assets/StopSpeaking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/StopSpeaking/assets/StopSpeaking.png -------------------------------------------------------------------------------- /docs/TTS/StopSpeaking/index.md: -------------------------------------------------------------------------------- 1 | ## StopSpeaking 2 | 3 | Type 4 | : Function 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Interrupt the current spoken session. 11 | 12 | ### Request 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Response 19 | 20 | #### Parameters 21 | 22 | This RPC has no additional parameter requirements 23 | 24 | ### Sequence Diagrams 25 | 26 | ||| 27 | StopSpeaking 28 | ![StopSpeaking](./assets/StopSpeaking.png) 29 | ||| 30 | 31 | ### JSON Message Examples 32 | 33 | #### Example Request 34 | 35 | ```json 36 | { 37 | "id" : 148, 38 | "jsonrpc" : "2.0", 39 | "method" : "TTS.StopSpeaking" 40 | } 41 | ``` 42 | 43 | #### Example Response 44 | 45 | ```json 46 | { 47 | "id" : 148, 48 | "jsonrpc" : "2.0", 49 | "result" : 50 | { 51 | "code" : 0, 52 | "method" : "TTS.StopSpeaking" 53 | } 54 | } 55 | ``` 56 | 57 | #### Example Error 58 | 59 | ```json 60 | { 61 | "id" : 148, 62 | "jsonrpc" : "2.0", 63 | "error" : 64 | { 65 | "code" : 11, 66 | "message" : "Invalid data: invalid JSON syntax", 67 | "data" : 68 | { 69 | "method" : "TTS.StopSpeaking" 70 | } 71 | } 72 | } 73 | ``` 74 | -------------------------------------------------------------------------------- /docs/TTS/Stopped/assets/Stopped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/TTS/Stopped/assets/Stopped.png -------------------------------------------------------------------------------- /docs/TTS/Stopped/index.md: -------------------------------------------------------------------------------- 1 | ## Stopped 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that TTS has stopped. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Sequence Diagrams 19 | 20 | ||| 21 | Stopped after StopSpeaking from SDL 22 | ![Stopped](./assets/Stopped.png) 23 | ||| 24 | 25 | ### JSON Message Examples 26 | 27 | #### Example Notification 28 | 29 | ```json 30 | { 31 | "jsonrpc" : "2.0", 32 | "method" : "TTS.Stopped" 33 | } 34 | ``` -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandAppInactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandAppInactive.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandChosen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandChosen.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandFailVRSuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandFailVRSuccess.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandPositions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandPositions.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandRejectedLimit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandRejectedLimit.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandSubMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandSubMenu.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandUINoResponseVRSuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandUINoResponseVRSuccess.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandVRFail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandVRFail.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandVRNoResponse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandVRNoResponse.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandWebEngineApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommandWebEngineApp.png -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommandWebEngineApp.txt: -------------------------------------------------------------------------------- 1 | participant LocalWebApp 2 | participant SDL 3 | participant HMI 4 | note over LocalWebApp, HMI:**Preconditions:**\n1. Aplication (with `appID`) is active on HMI, `AppHMIType` is `WEB_VIEW`\n2. Aplication active template is `WEB_VIEW`\n3. HMI shows app/template title on template layout 5 | note over HMI:Display app web page view\nin the main window 6 | note over LocalWebApp: MENU button\n is displayed 7 | LocalWebApp->SDL:AddCommand (appID, params) 8 | SDL->HMI:UI.AddCommand (appID, params) 9 | note over HMI:Store received data\nassociating it with `appID` 10 | HMI-->SDL:UI.AddCommand (SUCCESS) 11 | SDL-->LocalWebApp:AddCommand (SUCCESS) 12 | note over LocalWebApp:User taps MENU button 13 | LocalWebApp->SDL: ShowAppMenu() 14 | SDL --> HMI: UI.ShowAppMenu (appID) 15 | HMI->>SDL:UI.OnSystemContext (systemContext=MENU, appID, params) 16 | SDL->>LocalWebApp:OnHMIStatus (MENU) 17 | note over HMI:Show the list of MENU items\n AddCommand is accessible for User's choice 18 | HMI --> SDL: UI.ShowAppMenu (appID) 19 | SDL-->LocalWebApp:ShowAppMenu (SUCCESS) -------------------------------------------------------------------------------- /docs/UI/AddCommand/assets/AddCommand_Resumption.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddCommand/assets/AddCommand_Resumption.png -------------------------------------------------------------------------------- /docs/UI/AddSubMenu/assets/AddSubMenuActiveApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddSubMenu/assets/AddSubMenuActiveApp.png -------------------------------------------------------------------------------- /docs/UI/AddSubMenu/assets/AddSubMenuInactiveApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddSubMenu/assets/AddSubMenuInactiveApp.png -------------------------------------------------------------------------------- /docs/UI/AddSubMenu/assets/AddSubMenuLimit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddSubMenu/assets/AddSubMenuLimit.png -------------------------------------------------------------------------------- /docs/UI/AddSubMenu/assets/AddSubMenuPositions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddSubMenu/assets/AddSubMenuPositions.png -------------------------------------------------------------------------------- /docs/UI/AddSubMenu/assets/AddSubMenuWebEngineApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/AddSubMenu/assets/AddSubMenuWebEngineApp.png -------------------------------------------------------------------------------- /docs/UI/AddSubMenu/assets/AddSubMenuWebEngineApp.txt: -------------------------------------------------------------------------------- 1 | participant LocalWebApp 2 | participant SDL 3 | participant HMI 4 | note over LocalWebApp, HMI:**Preconditions:**\n1. Aplication (with `appID`) is active on HMI, `AppHMIType` is `WEB_VIEW`\n2. Aplication active template is `WEB_VIEW`\n3. HMI shows app/template title on template layout 5 | note over HMI: Display Aplication web page view\nin the main window 6 | note over LocalWebApp: MENU button\n is displayed 7 | LocalWebApp->SDL:AddSubMenu (appID, params) 8 | SDL->HMI:UI.AddSubMenu (appID, params) 9 | note over HMI:Store received data\nassociating it with `appID` 10 | HMI-->SDL:UI.AddSubMenu (SUCCESS) 11 | SDL-->LocalWebApp:AddSubMenu (SUCCESS) 12 | note over LocalWebApp:User taps MENU button 13 | LocalWebApp->SDL:ShowAppMenu (appID) 14 | SDL->HMI:UI.ShowAppMenu (appID) 15 | HMI->>SDL:UI.OnSystemContext (systemContext=MENU, appID, params) 16 | SDL->>LocalWebApp:OnHMIStatus (MENU) 17 | note over HMI:Show the list of MENU items\n AddSubMenu is accessible for User's choice 18 | HMI-->SDL:UI.ShowAppMenu (SUCCESS) 19 | SDL-->LocalWebApp:ShowAppMenu (SUCCESS) -------------------------------------------------------------------------------- /docs/UI/Alert/assets/AlertAborted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Alert/assets/AlertAborted.png -------------------------------------------------------------------------------- /docs/UI/Alert/assets/AlertDefaultAction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Alert/assets/AlertDefaultAction.png -------------------------------------------------------------------------------- /docs/UI/Alert/assets/AlertLocalWebApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Alert/assets/AlertLocalWebApp.png -------------------------------------------------------------------------------- /docs/UI/Alert/assets/AlertLocalWebApp.txt: -------------------------------------------------------------------------------- 1 | participant Local Web App 2 | participant SDL 3 | participant HMI 4 | 5 | note over Local Web App, HMI:**Preconditions:**\n 1.Web app (WEB_VIEW) is registered and activated on the HMI\n 2. HMI displays the WEB_VIEW template 6 | 7 | Local Web App->SDL: Alert (alertText) 8 | SDL->HMI: UI.Alert (alertStrings, appID) 9 | HMI->SDL: UI.OnSystemContext (systemContext=ALERT,appID) 10 | 11 | note over HMI: The Alert pop-up is displayed on HMI\n overlaying WEB_VIEW area 12 | 13 | note over HMI: User closes the Alert pop-up\n**Touch event first goes through the POP-UP area** 14 | 15 | HMI->SDL: Buttons.OnButtonEvent 16 | HMI-->SDL: UI.Alert (SUCCESS) 17 | SDL--> Local Web App:Alert (SUCCESS) 18 | HMI -> SDL: UI.OnSystemContext(systemContext=MAIN,appID) 19 | 20 | note over HMI: Further touch events processing\nis returned back to the WEB_VIEW area -------------------------------------------------------------------------------- /docs/UI/Alert/assets/AlertRejected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Alert/assets/AlertRejected.png -------------------------------------------------------------------------------- /docs/UI/Alert/assets/AlertStealFocus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Alert/assets/AlertStealFocus.png -------------------------------------------------------------------------------- /docs/UI/Alert/assets/AlertTTS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Alert/assets/AlertTTS.png -------------------------------------------------------------------------------- /docs/UI/CancelInteraction/assets/CancelInteractionAnyAlert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/CancelInteraction/assets/CancelInteractionAnyAlert.png -------------------------------------------------------------------------------- /docs/UI/CancelInteraction/assets/CancelInteractionAnyAlert.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant Mobile 4 | participant Core 5 | participant HMI 6 | 7 | Mobile -> Core : AlertRequest 8 | 9 | Core -> HMI : AlertRequest 10 | 11 | HMI -> HMI : Alert is showing\non the HMI 12 | 13 | Mobile -> Core : CancelInteractionRequest\n(AlertID) 14 | 15 | Core -> HMI : CancelInteractionRequest\n(AlertID) 16 | 17 | HMI -> HMI : HMI closes the ALERT 18 | 19 | HMI -> Core : AlertResponse\n(result: Aborted) 20 | 21 | Core -> Mobile : AlertResponse\n(result: Aborted) 22 | 23 | HMI -> Core : CancelInteractionResponse\n(result: Success) 24 | 25 | Core -> Mobile : CancelInteractionResponse\n(result: Success) 26 | 27 | @enduml 28 | -------------------------------------------------------------------------------- /docs/UI/CancelInteraction/assets/CancelInteractionSpecificAlert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/CancelInteraction/assets/CancelInteractionSpecificAlert.png -------------------------------------------------------------------------------- /docs/UI/CancelInteraction/assets/CancelInteractionSpecificAlert.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant Mobile 4 | participant Core 5 | participant HMI 6 | 7 | Mobile -> Core : AlertRequest(cancelID: 1) 8 | 9 | Core -> HMI : AlertRequest(cancelID: 1) 10 | 11 | HMI -> HMI : Alert is showing\non the HMI 12 | 13 | Mobile -> Core : CancelInteractionRequest\n(AlertID, cancelID: 1) 14 | 15 | Core -> HMI : CancelInteractionRequest\n(AlertID, cancelID: 1) 16 | 17 | HMI -> HMI : HMI closes the ALERT 18 | 19 | HMI -> Core : AlertResponse\n(result: Aborted) 20 | 21 | Core -> Mobile : AlertResponse\n(result: Aborted) 22 | 23 | HMI -> Core : CancelInteractionResponse\n(result: Success) 24 | 25 | Core -> Mobile : CancelInteractionResponse\n(result: Success) 26 | 27 | @enduml 28 | -------------------------------------------------------------------------------- /docs/UI/CancelInteraction/assets/CancelInteractionSpecificAlertWrong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/CancelInteraction/assets/CancelInteractionSpecificAlertWrong.png -------------------------------------------------------------------------------- /docs/UI/CancelInteraction/assets/CancelInteractionSpecificAlertWrong.pum: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | participant Mobile 4 | participant Core 5 | participant HMI 6 | 7 | Mobile -> Core : AlertRequest(cancelID: 1) 8 | 9 | Core -> HMI : AlertRequest(cancelID: 1) 10 | 11 | HMI -> HMI : Alert is showing\non the HMI 12 | 13 | Mobile -> Core : CancelInteractionRequest\n(AlertID, cancelID: 2) 14 | 15 | Core -> HMI : CancelInteractionRequest\n(AlertID, cancelID: 2) 16 | 17 | HMI -> HMI : Alert is still showing\nbecause the cancelIDs did not match 18 | 19 | HMI -> Core : CancelInteractionResponse\n(result: Ignored) 20 | 21 | Core -> Mobile : CancelInteractionResponse\n(result: Ignored) 22 | 23 | @enduml 24 | -------------------------------------------------------------------------------- /docs/UI/ChangeRegistration/assets/ChangeRegistration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/ChangeRegistration/assets/ChangeRegistration.png -------------------------------------------------------------------------------- /docs/UI/ClosePopUp/assets/ClosePopUp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/ClosePopUp/assets/ClosePopUp.png -------------------------------------------------------------------------------- /docs/UI/ClosePopUp/index.md: -------------------------------------------------------------------------------- 1 | ## ClosePopUp 2 | 3 | Type 4 | : Function 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Close the currently displayed popup UI element 11 | 12 | ### Request 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |methodName|String|false|| 19 | 20 | ### Response 21 | 22 | #### Parameters 23 | 24 | This RPC has no additional parameter requirements 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | ClosePopUp for UI.PerformInteraction 30 | ![ClosePopUp](./assets/ClosePopUp.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Request 36 | 37 | ```json 38 | { 39 | "id" : 79, 40 | "jsonrpc" : "2.0", 41 | "method" : "UI.ClosePopUp", 42 | "params" : { 43 | "methodName" : "UI.PerformInteraction" 44 | } 45 | } 46 | ``` 47 | 48 | #### Example Response 49 | 50 | ```json 51 | { 52 | "id" : 79, 53 | "jsonrpc" : "2.0", 54 | "result" : 55 | { 56 | "code" : 0, 57 | "method" : "UI.ClosePopUp" 58 | } 59 | } 60 | ``` 61 | 62 | #### Example Error 63 | 64 | ```json 65 | { 66 | "id" : 79, 67 | "jsonrpc" : "2.0", 68 | "error" : 69 | { 70 | "code" : 22, 71 | "message" : "During API call an unknown error has occurred", 72 | "data" : 73 | { 74 | "method" : "UI.ClosePopUp" 75 | } 76 | } 77 | } 78 | ``` 79 | -------------------------------------------------------------------------------- /docs/UI/CreateWindow/assets/CreateWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/CreateWindow/assets/CreateWindow.png -------------------------------------------------------------------------------- /docs/UI/CreateWindow/assets/CreateWindowLocalWebApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/CreateWindow/assets/CreateWindowLocalWebApp.png -------------------------------------------------------------------------------- /docs/UI/CreateWindow/assets/CreateWindowLocalWebApp.txt: -------------------------------------------------------------------------------- 1 | participant Local Web App 2 | participant SDL 3 | participant HMI 4 | 5 | note over Local Web App, HMI: **Preconditions:**\n 1.Web app (WEB_VIEW) is registered and activated on the HMI\n 2. HMI displays the WEB_VIEW template 6 | 7 | Local Web App->SDL: CreateWindow\n(windowID=widget's_id,windowName=Name,\n type=WIDGET, duplicateUpdatesFromWindowID=0) 8 | SDL->HMI: UI.CreateWindow\n(windowID=widget's_id, windowName=Name,\ntype=WIDGET, duplicateUpdatesFromWindowID=0) 9 | HMI-->SDL: UI.CreateWindow (SUCCESS) 10 | SDL-->Local Web App: CreateWindow(SUCCESS) 11 | SDL-->Local Web App: OnHMIStatus (NONE,windowID= widget's_id) 12 | HMI->SDL: BC.OnSystemCapabilityUpdated(params) 13 | SDL->Local Web App: OnSystemCapabilityUpdated (params) 14 | note over HMI: Widget is present in a list on the HMI -------------------------------------------------------------------------------- /docs/UI/DeleteCommand/assets/DeleteCommandAppInactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/DeleteCommand/assets/DeleteCommandAppInactive.png -------------------------------------------------------------------------------- /docs/UI/DeleteCommand/assets/DeleteCommandMenuOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/DeleteCommand/assets/DeleteCommandMenuOpen.png -------------------------------------------------------------------------------- /docs/UI/DeleteSubMenu/assets/DeleteSubMenuWithCommands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/DeleteSubMenu/assets/DeleteSubMenuWithCommands.png -------------------------------------------------------------------------------- /docs/UI/DeleteWindow/assets/DeleteWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/DeleteWindow/assets/DeleteWindow.png -------------------------------------------------------------------------------- /docs/UI/EndAudioPassThru/assets/EndAudioPassThru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/EndAudioPassThru/assets/EndAudioPassThru.png -------------------------------------------------------------------------------- /docs/UI/EndAudioPassThru/assets/EndAudioPassThruTooLate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/EndAudioPassThru/assets/EndAudioPassThruTooLate.png -------------------------------------------------------------------------------- /docs/UI/GetCapabilities/assets/GetCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/GetCapabilities/assets/GetCapabilities.png -------------------------------------------------------------------------------- /docs/UI/GetLanguage/assets/GetLanguage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/GetLanguage/assets/GetLanguage.png -------------------------------------------------------------------------------- /docs/UI/GetLanguage/assets/GetLanguage.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | App->SDL:RegisterAppInterface 5 | HMI->>SDL:BC.OnReady 6 | SDL->HMI:UI.IsReady 7 | HMI-->SDL:UI.IsReady (`SUCCESS`) 8 | note over SDL:`HMICapabilitiesCacheFile`\nis not available 9 | SDL->SDL:Create `HMICapabilitiesCacheFile` 10 | note over SDL:GetLanguage data\nis not available\nin `HMICapabilitiesCacheFile` 11 | 12 | opt GetLanguage - Happy Path 13 | SDL->HMI:UI.GetLanguage 14 | HMI-->SDL:UI.GetLanguage (`SUCCESS`, params) 15 | SDL->SDL:Cache received data\nin `HMICapabilitiesCacheFile` 16 | note right of SDL:Use received data\nfor App-SDL communication 17 | end 18 | 19 | opt GetLanguage - No response from HMI 20 | SDL->HMI:UI.GetLanguage 21 | note over HMI:No response 22 | note right of SDL:Request data from HMI\nin subsequent ignition cycle 23 | SDL->SDL:Load default data\nfrom `hmi_capabilities.json` 24 | note right of SDL:Use default data\nfor App-SDL communication\nwithin this ignition cycle 25 | end 26 | 27 | SDL-->App:RegisterAppInterface (params) -------------------------------------------------------------------------------- /docs/UI/GetLanguage/index.md: -------------------------------------------------------------------------------- 1 | ## GetLanguage 2 | 3 | Type 4 | : Function 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Inform SDL of the current HMI display language 11 | 12 | ### Request 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Response 19 | 20 | #### Parameters 21 | 22 | |Name|Type|Mandatory|Additional| 23 | |:---|:---|:--------|:---------| 24 | |language|[Common.Language](../../common/enums/#language)|true|| 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | GetLanguage 30 | ![GetLanguage](./assets/GetLanguage.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Request 36 | 37 | ```json 38 | { 39 | "id" : 167, 40 | "jsonrpc" : "2.0", 41 | "method" : "UI.GetLanguage" 42 | } 43 | ``` 44 | 45 | #### Example Response 46 | 47 | ```json 48 | { 49 | "id" : 167, 50 | "jsonrpc" : "2.0", 51 | "result" : 52 | { 53 | "language" : "ES-ES", 54 | "code" : 0, 55 | "method" : "UI.GetLanguage" 56 | } 57 | } 58 | ``` 59 | 60 | #### Example Error 61 | 62 | ```json 63 | { 64 | "id" : 167, 65 | "jsonrpc" : "2.0", 66 | "error" : 67 | { 68 | "code" : 11, 69 | "message" : "Invalid data", 70 | "data" : 71 | { 72 | "method" : "UI.GetLanguage" 73 | } 74 | } 75 | } 76 | ``` 77 | -------------------------------------------------------------------------------- /docs/UI/GetSupportedLanguages/assets/GetSupportedLanguages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/GetSupportedLanguages/assets/GetSupportedLanguages.png -------------------------------------------------------------------------------- /docs/UI/GetSupportedLanguages/assets/GetSupportedLanguages.txt: -------------------------------------------------------------------------------- 1 | participant SDL 2 | participant HMI 3 | HMI->>SDL:BC.OnReady 4 | SDL->HMI:UI.IsReady 5 | HMI-->SDL:UI.IsReady (`SUCCESS`) 6 | note over SDL:`HMICapabilitiesCacheFile`\nis not available 7 | SDL->SDL:Create `HMICapabilitiesCacheFile` 8 | note over SDL:GetSupportedLanguages data\nis not available\nin `HMICapabilitiesCacheFile` 9 | opt GetSupportedLanguages - Happy Path 10 | SDL->HMI:UI.GetSupportedLanguages 11 | HMI-->SDL:UI.GetSupportedLanguages (`SUCCESS`, params) 12 | SDL->SDL:Cache received data\nin `HMICapabilitiesCacheFile` 13 | note over SDL:Use received data\nfor App-SDL communication 14 | end 15 | opt GetSupportedLanguages - No response from HMI 16 | SDL->HMI:UI.GetSupportedLanguages 17 | note over HMI:No response 18 | note over SDL:Request data from HMI\nin subsequent ignition cycle 19 | SDL->SDL:Load default data\nfrom `hmi_capabilities.json` 20 | note over SDL:Use default data\nfor App-SDL communication\nwithin this ignition cycle 21 | end 22 | -------------------------------------------------------------------------------- /docs/UI/IsReady/assets/IsReady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/IsReady/assets/IsReady.png -------------------------------------------------------------------------------- /docs/UI/OnCommand/assets/OnCommand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnCommand/assets/OnCommand.png -------------------------------------------------------------------------------- /docs/UI/OnCommand/index.md: -------------------------------------------------------------------------------- 1 | ## OnCommand 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that a command has been chosen by the User from the UI. 11 | 12 | A notification to inform SDL about a command being selected which had previously been added via [UI.AddCommand](../addcommand) 13 | 14 | !!! must 15 | 16 | The HMI must send the UI.OnCommand notification to SDL when the user selects a command from the application's menu or sub menu. 17 | 18 | !!! 19 | 20 | ### Notification 21 | 22 | #### Parameters 23 | 24 | |Name|Type|Mandatory|Additional| 25 | |:---|:---|:--------|:---------| 26 | |cmdID|Integer|true|minvalue: 0
maxvalue: 2000000000| 27 | |appID|Integer|true|| 28 | 29 | ### Sequence Diagrams 30 | 31 | ||| 32 | OnCommand 33 | ![OnCommand](./assets/OnCommand.png) 34 | ||| 35 | 36 | ### JSON Message Examples 37 | 38 | #### Example Notification 39 | 40 | ```json 41 | { 42 | "jsonrpc" : "2.0", 43 | "method" : "UI.OnCommand", 44 | "params" : 45 | { 46 | "cmdID" : 2318, 47 | "appID" : 65409 48 | } 49 | } 50 | ``` 51 | -------------------------------------------------------------------------------- /docs/UI/OnDriverDistraction/assets/OnDriverDistraction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnDriverDistraction/assets/OnDriverDistraction.png -------------------------------------------------------------------------------- /docs/UI/OnDriverDistraction/index.md: -------------------------------------------------------------------------------- 1 | ## OnDriverDistraction 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL about changes to the Driver Distraction state. 11 | 12 | ### Notification 13 | 14 | !!! must 15 | 16 | 1. Inform SDL whenever the driver distraction mode is activated/deactivated on HMI. 17 | 18 | !!! 19 | 20 | Driver distraction rules may be specific to country/area, so it depends on HMI when to trigger activate/deactivate states. 21 | 22 | !!! NOTE 23 | _1. Whether the app receives the notification in current HMILevel is defined by app's assigned Policies._ 24 | _2. SDL ignores all invalid notifications which come from HMI (invalid JSON, invalid data types/bounds etc)._ 25 | 26 | !!! 27 | 28 | #### Parameters 29 | 30 | |Name|Type|Mandatory|Additional| 31 | |:---|:---|:--------|:---------| 32 | |state|[Common.DriverDistractionState](../../common/enums/#driverdistractionstate)|true|| 33 | 34 | ### Sequence Diagrams 35 | 36 | ||| 37 | OnDriverDistraction 38 | ![OnDriverDistraction](./assets/OnDriverDistraction.png) 39 | ||| 40 | 41 | ### JSON Message Examples 42 | 43 | #### Example Notification 44 | 45 | ```json 46 | { 47 | "jsonrpc" : "2.0", 48 | "method" : "UI.OnDriverDistraction", 49 | "params" : 50 | { 51 | "state" : "DD_ON" 52 | } 53 | } 54 | ``` 55 | -------------------------------------------------------------------------------- /docs/UI/OnKeyboardInput/assets/KeyboardEventInputKeyMask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnKeyboardInput/assets/KeyboardEventInputKeyMask.png -------------------------------------------------------------------------------- /docs/UI/OnKeyboardInput/assets/OnKeyboardInputCancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnKeyboardInput/assets/OnKeyboardInputCancel.png -------------------------------------------------------------------------------- /docs/UI/OnKeyboardInput/assets/OnKeyboardInputQueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnKeyboardInput/assets/OnKeyboardInputQueue.png -------------------------------------------------------------------------------- /docs/UI/OnKeyboardInput/assets/OnKeyboardInputResend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnKeyboardInput/assets/OnKeyboardInputResend.png -------------------------------------------------------------------------------- /docs/UI/OnKeyboardInput/assets/OnKeyboardInputSingle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnKeyboardInput/assets/OnKeyboardInputSingle.png -------------------------------------------------------------------------------- /docs/UI/OnKeyboardInput/assets/OnKeyboardInputVoice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnKeyboardInput/assets/OnKeyboardInputVoice.png -------------------------------------------------------------------------------- /docs/UI/OnLanguageChange/assets/OnLanguageChange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnLanguageChange/assets/OnLanguageChange.png -------------------------------------------------------------------------------- /docs/UI/OnLanguageChange/assets/OnLanguageChange.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI: **//Pre-conditions://**\n1. `appID` is registered with **`EN-US`** language\n2. Current HMI UI language is **`EN-US`** 6 | 7 | note over HMI:User switched\nlanguage to **`FR-CA`** 8 | 9 | HMI->>SDL:UI.OnLanguageChange (**`FR-CA`**) 10 | SDL->>SDL:Overwrite current HMI UI language\nin `HMICapabilitiesCacheFile` 11 | SDL->>App:OnLanguageChange (**`FR-CA`**) 12 | 13 | note over SDL: Unregister application\nwith language different\nfrom current HMI UI language 14 | SDL->>HMI:BC.OnAppUnregistered (`appID`, **`EN-US`**) 15 | 16 | note over HMI:Clear up data\nassociated with 17 | 18 | note over HMI:Show layout\naccording to HMI workflow 19 | 20 | App->>SDL:RegisterAppInterface (`appID`, **`FR-CA`**) 21 | SDL->SDL:Check current language\nin `HMICapabilitiesCacheFile` 22 | SDL->>HMI:BC.OnAppRegistered (`appID`, **`FR-CA`**) 23 | SDL-->App:RegisterAppInterface (`SUCCESS`) 24 | note over HMI:Store the provided data\nassociating it with 25 | note over HMI:Add to the list\nof registered applications -------------------------------------------------------------------------------- /docs/UI/OnLanguageChange/index.md: -------------------------------------------------------------------------------- 1 | ## OnLanguageChange 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that the UI display language has changed. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |language|[Common.Language](../../common/enums/#language)|true|| 19 | 20 | ### Sequence Diagrams 21 | 22 | ||| 23 | OnLanguageChange 24 | ![OnLanguageChange](./assets/OnLanguageChange.png) 25 | ||| 26 | 27 | ### JSON Message Examples 28 | 29 | #### Example Notification 30 | 31 | ```json 32 | { 33 | "jsonrpc" : "2.0", 34 | "method" : "UI.OnLanguageChange", 35 | "params" : 36 | { 37 | "language" : "FR-CA" 38 | } 39 | } 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/UI/OnRecordStart/assets/OnRecordStartNoSpeak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnRecordStart/assets/OnRecordStartNoSpeak.png -------------------------------------------------------------------------------- /docs/UI/OnRecordStart/assets/OnRecordStartRejected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnRecordStart/assets/OnRecordStartRejected.png -------------------------------------------------------------------------------- /docs/UI/OnRecordStart/assets/OnRecordStartSpeak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnRecordStart/assets/OnRecordStartSpeak.png -------------------------------------------------------------------------------- /docs/UI/OnRecordStart/index.md: -------------------------------------------------------------------------------- 1 | ## OnRecordStart 2 | 3 | Type 4 | : Function 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Notify HMI that capturing microphone data should begin 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |appID|Integer|true|| 19 | 20 | ### Sequence Diagrams 21 | 22 | ||| 23 | OnRecordStart with TTS.Speak 24 | ![OnRecordStart](./assets/OnRecordStartSpeak.png) 25 | ||| 26 | 27 | ||| 28 | OnRecordStart without TTS.Speak 29 | ![OnRecordStart](./assets/OnRecordStartNoSpeak.png) 30 | ||| 31 | 32 | ||| 33 | OnRecordStart not sent if UI.PerformAudioPassThru rejected 34 | ![OnRecordStart](./assets/OnRecordStartRejected.png) 35 | ||| 36 | 37 | ### JSON Message Examples 38 | 39 | #### Example Notification 40 | 41 | ```json 42 | { 43 | "jsonrpc" : "2.0", 44 | "method" : "UI.OnRecordStart", 45 | "params" : 46 | { 47 | "appID" : 65537 48 | } 49 | } 50 | ``` 51 | -------------------------------------------------------------------------------- /docs/UI/OnSubtleAlertPressed/assets/OnSubtleAlertPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnSubtleAlertPressed/assets/OnSubtleAlertPressed.png -------------------------------------------------------------------------------- /docs/UI/OnSubtleAlertPressed/assets/OnSubtleAlertPressed.puml: -------------------------------------------------------------------------------- 1 | @startuml OnSubtleAlertPressed 2 | 3 | participant Core 4 | participant HMI 5 | 6 | skinparam NoteTextAlignment center 7 | 8 | note over HMI 9 | app1 layout 10 | is active 11 | 12 | app2 is in 13 | BACKGROUND 14 | end note 15 | 16 | Core -> HMI: UI.SubtleAlert(params, appID2, UI) 17 | 18 | note over HMI 19 | Display notification 20 | dialog on screen 21 | over app1 with 22 | specified data 23 | end note 24 | 25 | HMI ->> Core: UI.OnSystemContext(ALERT, appID2) 26 | HMI ->> Core: UI.OnSystemContext(HMI_OBSCURED) 27 | 28 | note over HMI 29 | User presses 30 | SubtleAlert dialog 31 | end note 32 | 33 | HMI ->> Core: UI.OnSubtleAlertPressed(appID2) 34 | 35 | note over HMI 36 | SubtleAlert dialog 37 | is closed 38 | end note 39 | 40 | HMI -> Core: SDL.ActivateApp(appID2) 41 | 42 | note over HMI 43 | app1 is deactivated 44 | and put into 45 | BACKGROUND 46 | 47 | app2 is activated 48 | and put into 49 | HMI level FULL 50 | end note 51 | 52 | Core --> HMI: SDL.ActivateApp(SUCCESS) 53 | 54 | HMI --> Core: UI.SubtleAlert(SUCCESS) 55 | 56 | HMI ->> Core: UI.OnSystemContext(MAIN, appID1) 57 | HMI ->> Core: UI.OnSystemContext(MAIN, appID2) 58 | 59 | @enduml 60 | -------------------------------------------------------------------------------- /docs/UI/OnSubtleAlertPressed/index.md: -------------------------------------------------------------------------------- 1 | ## OnSubtleAlertPressed 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that a SubtleAlert dialog was pressed 11 | 12 | ### Notification 13 | 14 | !!! must 15 | 16 | 1. Activate the application associated with this SubtleAlert dialog 17 | 18 | !!! 19 | 20 | #### Parameters 21 | 22 | |Name|Type|Mandatory|Additional| 23 | |:---|:---|:--------|:---------| 24 | |appID|Integer|true|| 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | OnSubtleAlertPressed during SubtleAlert in BACKGROUND 30 | ![OnSubtleAlertPressed](./assets/OnSubtleAlertPressed.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Notification 36 | 37 | ```json 38 | { 39 | "jsonrpc" : "2.0", 40 | "method" : "UI.OnSubtleAlertPressed", 41 | "params" : { 42 | "appID" : 65368 43 | } 44 | } 45 | ``` 46 | -------------------------------------------------------------------------------- /docs/UI/OnSystemContext/assets/OnSystemContext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnSystemContext/assets/OnSystemContext.png -------------------------------------------------------------------------------- /docs/UI/OnSystemContext/index.md: -------------------------------------------------------------------------------- 1 | ## OnSystemContext 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL about the current context of app interaction. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |systemContext|[Common.SystemContext](../../common/enums/#systemcontext)|true|| 19 | |appID|Integer|false|| 20 | |windowID|Integer|false|| 21 | 22 | ### Sequence Diagrams 23 | 24 | ||| 25 | OnSystemContext for different HMI States 26 | ![OnSystemContext](./assets/OnSystemContext.png) 27 | ||| 28 | 29 | ### JSON Message Examples 30 | 31 | #### Example Notification 32 | 33 | ```json 34 | { 35 | "jsonrpc" : "2.0", 36 | "method" : "UI.OnSystemContext", 37 | "params" : 38 | { 39 | "systemContext" : "VRSESSION" 40 | } 41 | } 42 | ``` 43 | -------------------------------------------------------------------------------- /docs/UI/OnTouchEvent/assets/OnTouchEventTwoFingers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnTouchEvent/assets/OnTouchEventTwoFingers.png -------------------------------------------------------------------------------- /docs/UI/OnTouchEvent/assets/OnTouchEventTwoFingersOneStop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnTouchEvent/assets/OnTouchEventTwoFingersOneStop.png -------------------------------------------------------------------------------- /docs/UI/OnTouchEvent/index.md: -------------------------------------------------------------------------------- 1 | ## OnTouchEvent 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that a touch event has occurred in the HMI. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |type|[Common.TouchType](../../common/enums/#touchtype)|true|| 19 | |event|[Common.TouchEvent](../../common/structs/#touchevent)|true|array: true
minsize: 1
maxsize: 10| 20 | 21 | ### Sequence Diagrams 22 | 23 | ||| 24 | OnTouchEvent moving two fingers stop together 25 | ![OnTouchEvent](./assets/OnTouchEventTwoFingers.png) 26 | ||| 27 | 28 | ||| 29 | OnTouchEvent moving two fingers one stops first 30 | ![OnTouchEvent](./assets/OnTouchEventTwoFingersOneStop.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Notification 36 | 37 | ```json 38 | { 39 | "jsonrpc" : "2.0", 40 | "method" : "UI.OnTouchEvent", 41 | "params" : 42 | { 43 | "type" : "BEGIN", 44 | "event" :[ 45 | { 46 | "id":0, 47 | "ts":[49013], 48 | "c":[{"x":323,"y":259}] 49 | } 50 | ] 51 | } 52 | } 53 | ``` 54 | -------------------------------------------------------------------------------- /docs/UI/OnUpdateFile/assets/OnUpdateFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnUpdateFile/assets/OnUpdateFile.png -------------------------------------------------------------------------------- /docs/UI/OnUpdateFile/assets/OnUpdateFile.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant Core 3 | participant HMI 4 | HMI -> Core: UI.OnSystemCapabilityUpdated \n\t type: DISPLAYS,\n\t supportsDynamicImageFieldNames: ["subMenuIcon"] 5 | Core -> App: OnSystemCapabilityUpdated \n\t type: DISPLAYS,\n\t supportsDynamicImageFieldNames: ["subMenuIcon"] 6 | App -> Core: AddSubMenu (menuIcon: missing_file.png) 7 | Core -> HMI: UI.AddSubMenu (menuIcon: missing_file.png) 8 | HMI --> Core: UI.AddSubMenu (SUCCESS) 9 | Core --> App: AddSubMenu (SUCCESS) 10 | note right of HMI: User opens menu, HMI requests missing menu icon 11 | HMI-> Core: UI.OnSystemContext: MENU 12 | HMI -> Core: UI.OnUpdateFile (fileName: missing_file.png) 13 | Core -> App: OnHMIStatus (systemContext: MENU) 14 | Core -> App: OnUpdateFile (fileName: missing_file.png) 15 | App -> Core: Putfile (syncFileName: missing_file.png) 16 | Core --> App: Putfile (Success) 17 | Core -> HMI: BC.OnPutFile (FileName: missing_file.png) 18 | note right of HMI: HMI is able to display the missing submenu icon 19 | -------------------------------------------------------------------------------- /docs/UI/OnUpdateFile/index.md: -------------------------------------------------------------------------------- 1 | ## OnUpdateFile 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : For the HMI to tell Core that a file needs to be retrieved from the app. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |appID|Integer|true|| 19 | |fileName|String|true|maxlength: 255| 20 | 21 | ### Sequence Diagrams 22 | 23 | ||| 24 | Requesting missing menuIcon for submenu 25 | ![OnUpdateFile](./assets/OnUpdateFile.png) 26 | ||| 27 | 28 | ### JSON Message Examples 29 | 30 | #### Example Notification 31 | 32 | ```json 33 | { 34 | "jsonrpc" : "2.0", 35 | "method" : "UI.OnUpdateFile", 36 | "params" : 37 | { 38 | "appID": 12345678, 39 | "fileName": "image_file_name.png" 40 | } 41 | } 42 | ``` 43 | -------------------------------------------------------------------------------- /docs/UI/OnUpdateSubMenu/assets/OnUpdateSubMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/OnUpdateSubMenu/assets/OnUpdateSubMenu.png -------------------------------------------------------------------------------- /docs/UI/OnUpdateSubMenu/assets/OnUpdateSubMenu.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant Core 3 | participant HMI 4 | HMI -> Core: UI.OnSystemCapabilityUpdated \n\t type: DISPLAYS,\n\t supportsDynamicSubMenus: true 5 | Core -> App: OnSystemCapabilityUpdated \n\t type: DISPLAYS,\n\t supportsDynamicSubMenus: true 6 | App -> Core: AddSubMenu (menuID: 1) 7 | Core -> HMI: UI.AddSubMenu (menuID: 1) 8 | HMI --> Core: UI.AddSubMenu (SUCCESS) 9 | Core --> App: AddSubMenu (SUCCESS) 10 | note right of HMI: User opens menu, HMI requests submenu commands are updated 11 | HMI-> Core: UI.OnSystemContext: MENU 12 | HMI -> Core: UI.OnUpdateSubMenu (menuID: 1) 13 | Core -> App: OnHMIStatus (systemContext: MENU) 14 | Core -> App: OnUpdateSubMenu (menuID: 1) 15 | App -> Core: AddCommand (parentID: 1) 16 | Core -> HMI: UI.AddCommand (parentID: 1) 17 | note right of HMI: HMI has populated submenu with new add command 18 | HMI --> Core: UI.AddCommand (Success) 19 | Core --> App: AddCommand (Success) -------------------------------------------------------------------------------- /docs/UI/OnUpdateSubMenu/index.md: -------------------------------------------------------------------------------- 1 | ## OnUpdateSubMenu 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : For the HMI to tell Core that a submenu needs updating 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |appID|Integer|true|| 19 | |menuID|Integer|true|minvalue: 0
maxvalue: 2000000000| 20 | |updateSubCells|Boolean|false|| 21 | 22 | ### Sequence Diagrams 23 | 24 | ||| 25 | Requesting submenu contents to be updated 26 | ![OnUpdateSubMenu](./assets/OnUpdateSubMenu.png) 27 | ||| 28 | 29 | ### JSON Message Examples 30 | 31 | #### Example Notification 32 | 33 | ```json 34 | { 35 | "jsonrpc" : "2.0", 36 | "method" : "UI.OnUpdateSubMenu", 37 | "params" : 38 | { 39 | "appID": 12345678, 40 | "menuID": 1, 41 | "updateSubCells": true 42 | } 43 | } 44 | ``` 45 | -------------------------------------------------------------------------------- /docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruEndAudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruEndAudio.png -------------------------------------------------------------------------------- /docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruMic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruMic.png -------------------------------------------------------------------------------- /docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruNotSupported.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruNotSupported.png -------------------------------------------------------------------------------- /docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruSpeak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformAudioPassThru/assets/PerformAudioPassThruSpeak.png -------------------------------------------------------------------------------- /docs/UI/PerformInteraction/assets/PerformInteractionBoth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformInteraction/assets/PerformInteractionBoth.png -------------------------------------------------------------------------------- /docs/UI/PerformInteraction/assets/PerformInteractionManualOnly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformInteraction/assets/PerformInteractionManualOnly.png -------------------------------------------------------------------------------- /docs/UI/PerformInteraction/assets/PerformInteractionVROnly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformInteraction/assets/PerformInteractionVROnly.png -------------------------------------------------------------------------------- /docs/UI/PerformInteraction/assets/PerformInteractionWebEngineApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/PerformInteraction/assets/PerformInteractionWebEngineApp.png -------------------------------------------------------------------------------- /docs/UI/ScrollableMessage/assets/ScrollableMessageScrollTimeout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/ScrollableMessage/assets/ScrollableMessageScrollTimeout.png -------------------------------------------------------------------------------- /docs/UI/ScrollableMessage/assets/ScrollableMessageScrollTimeout.txt: -------------------------------------------------------------------------------- 1 | 2 | participant App 3 | participant SDL 4 | participant HMI 5 | 6 | note over App,HMI: **//Pre-conditions://** 1. appID is successfully registered\n2.appID is active on HMI 7 | 8 | App->SDL:ScrollableMessage\n(messageText, timeout, appID) 9 | SDL->HMI:UI.ScrollableMessage\n(messageText, timeout, appID) 10 | 11 | note over HMI:Display the popup or full\nscreen overlay\nwith the message Text 12 | 13 | HMI->>SDL:UI.OnSystemContext(HMI_OBSCURED) 14 | SDL->>App:OnHMIStatus(HMI_OBSCURED) 15 | 16 | note over HMI:User scrolls the message 17 | 18 | note over HMI:Renew the timeout of\nScrollableMessage 19 | 20 | HMI->>SDL: BC.OnResetTimeout(appID, "ScrollableMessage") 21 | 22 | note over HMI:Timeout 23 | note over HMI:Close the message\n popup/screen 24 | 25 | HMI-->SDL:UI.ScrollableMessage(SUCCESS) 26 | SDL-->App:ScrollableMessage(SUCCESS) 27 | HMI->>SDL:UI.OnSystemContext(MAIN) 28 | SDL->>App:OnSystemContext(MAIN) 29 | -------------------------------------------------------------------------------- /docs/UI/ScrollableMessage/assets/ScrollableMessageSoftButtonPress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/ScrollableMessage/assets/ScrollableMessageSoftButtonPress.png -------------------------------------------------------------------------------- /docs/UI/ScrollableMessage/assets/ScrollableMessageStealFocus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/ScrollableMessage/assets/ScrollableMessageStealFocus.png -------------------------------------------------------------------------------- /docs/UI/SendHapticData/assets/SendHapticDataBasicFlow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SendHapticData/assets/SendHapticDataBasicFlow.png -------------------------------------------------------------------------------- /docs/UI/SendHapticData/assets/SendHapticDataBasicFlow.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | /' 3 | Source file for sequence diagram 4 | More information at https://plantuml.com/ 5 | '/ 6 | 7 | Participant "App" as A 8 | Participant "SDL" as SDL 9 | Participant "HMI" as HMI 10 | Participant "User" as U 11 | 12 | A -> SDL: SendHapticData(hapticRectData) 13 | SDL -> HMI: UI.SendHapticData(hapticRectData) 14 | HMI -> HMI: Stores HapticRect data 15 | HMI -> SDL: UI.SendHapticData(SUCCESS) 16 | U -> HMI: Brings first rect into focus using touch pad 17 | U -> HMI: Presses on touch pad to select the area 18 | HMI -> SDL: UI.OnTouchEvent(type:BEGIN, touchCoord:{rect center}) 19 | SDL -> A: OnTouchEvent(type:BEGIN, touchCoord:{rect center}) 20 | HMI -> SDL: UI.OnTouchEvent(type:END, touchCoord:{rect center}) 21 | SDL -> A: OnTouchEvent(type:END, touchCoord:{rect center}) 22 | 23 | @enduml -------------------------------------------------------------------------------- /docs/UI/SetAppIcon/assets/SetAppIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetAppIcon/assets/SetAppIcon.png -------------------------------------------------------------------------------- /docs/UI/SetDisplayLayout/assets/SetDisplayLayoutInvalidData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetDisplayLayout/assets/SetDisplayLayoutInvalidData.png -------------------------------------------------------------------------------- /docs/UI/SetDisplayLayout/assets/SetDisplayLayoutSuccessGetCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetDisplayLayout/assets/SetDisplayLayoutSuccessGetCapabilities.png -------------------------------------------------------------------------------- /docs/UI/SetGlobalProperties/assets/SetGlobalPropertiesActiveVRActivate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetGlobalProperties/assets/SetGlobalPropertiesActiveVRActivate.png -------------------------------------------------------------------------------- /docs/UI/SetGlobalProperties/assets/SetGlobalPropertiesCustomKeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetGlobalProperties/assets/SetGlobalPropertiesCustomKeys.png -------------------------------------------------------------------------------- /docs/UI/SetGlobalProperties/assets/SetGlobalPropertiesResumptionKeyboardProperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetGlobalProperties/assets/SetGlobalPropertiesResumptionKeyboardProperties.png -------------------------------------------------------------------------------- /docs/UI/SetGlobalProperties/assets/SetGlobalPropertiesResumptionKeyboardProperties.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI:**//Pre-conditions://**\n**1.** appID application is successfuly registered, activated\n**2.** App set non-default values for 'KeyboardProperties' via SetGlobalProperties request\n keyboardLayout=AZERTY; maskInputCharacters=USER_CHOICE_INPUT_KEY_MASK; customKeys = "#", "$" 6 | 7 | note over App,HMI: Unexpected disconnect and reconnect are performed 8 | 9 | App->SDL: RegisterAppInterface(hashID, params) 10 | 11 | 12 | note over SDL: is valid\nStart data resumption for the App 13 | 14 | SDL->>HMI: BC.OnAppRegistered(appName; appID) 15 | SDL->HMI:UI.SetGlobalProperties\n (**keyboardLayout=AZERTY;\nmaskInputCharacters=USER_CHOICE_INPUT_KEY_MASK;\ncustomKeys = #, $**) 16 | 17 | HMI-->SDL: UI.SetGlobalProperties (code:0) 18 | 19 | 20 | SDL-->App: RegisterAppInterface (SUCCESS) 21 | 22 | SDL->>App: OnHMIStatus() 23 | 24 | SDL->HMI: BC.ActivateApp() 25 | HMI-->SDL: BC.ActivateApp (code:0) 26 | 27 | HMI->>SDL: UI.OnKeyboardInput(INPUT_KEY_MASK_ENABLED) 28 | SDL->>App:OnKeyboardInput(INPUT_KEY_MASK_ENABLED) -------------------------------------------------------------------------------- /docs/UI/SetGlobalProperties/assets/SetGlobalProperties_TTS_UI_VR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetGlobalProperties/assets/SetGlobalProperties_TTS_UI_VR.png -------------------------------------------------------------------------------- /docs/UI/SetMediaClockTimer/assets/SetMediaClockTimerDownDeactivate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetMediaClockTimer/assets/SetMediaClockTimerDownDeactivate.png -------------------------------------------------------------------------------- /docs/UI/SetMediaClockTimer/assets/SetMediaClockTimerPauseResumeActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetMediaClockTimer/assets/SetMediaClockTimerPauseResumeActive.png -------------------------------------------------------------------------------- /docs/UI/SetMediaClockTimer/assets/SetMediaClockTimerUpDownFullBackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SetMediaClockTimer/assets/SetMediaClockTimerUpDownFullBackground.png -------------------------------------------------------------------------------- /docs/UI/Show/assets/ShowAppInactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Show/assets/ShowAppInactive.png -------------------------------------------------------------------------------- /docs/UI/Show/assets/ShowAppReactivated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Show/assets/ShowAppReactivated.png -------------------------------------------------------------------------------- /docs/UI/Show/assets/ShowSoftButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Show/assets/ShowSoftButtons.png -------------------------------------------------------------------------------- /docs/UI/Show/assets/ShowTextFields.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Show/assets/ShowTextFields.png -------------------------------------------------------------------------------- /docs/UI/Show/assets/ShowWEB_VIEW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Show/assets/ShowWEB_VIEW.png -------------------------------------------------------------------------------- /docs/UI/Show/assets/ShowWidgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Show/assets/ShowWidgets.png -------------------------------------------------------------------------------- /docs/UI/ShowAppMenu/assets/ShowAppMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/ShowAppMenu/assets/ShowAppMenu.png -------------------------------------------------------------------------------- /docs/UI/ShowAppMenu/assets/ShowAppMenu.puml: -------------------------------------------------------------------------------- 1 | @startuml ShowAppMenu 2 | participant Core 3 | participant HMI 4 | 5 | ' note right of HMI: Mobile app is the\nASP for the active\nMEDIA service 6 | 7 | Core -> HMI: UI.ShowAppMenu\n(appID: 8427) 8 | HMI -> HMI: Since menuID is NOT provided,\n only opens the app's menu 9 | HMI ->> Core: UI.OnSystemContext("MENU") 10 | HMI --> Core: UI.ShowAppMenu Response 11 | 12 | @enduml -------------------------------------------------------------------------------- /docs/UI/ShowAppMenu/assets/ShowAppMenu_MenuID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/ShowAppMenu/assets/ShowAppMenu_MenuID.png -------------------------------------------------------------------------------- /docs/UI/ShowAppMenu/assets/ShowAppMenu_MenuID.puml: -------------------------------------------------------------------------------- 1 | @startuml ShowAppMenu_MenuID 2 | participant Core 3 | participant HMI 4 | 5 | note right of HMI: SubMenu with menuID: 313\n was added 6 | 7 | Core -> HMI: UI.ShowAppMenu\n(appID: 8427, menuID: 313) 8 | HMI -> HMI: Since menuID is provided,\n opens the specific submenu 9 | HMI ->> Core: UI.OnSystemContext("MENU") 10 | HMI --> Core: UI.ShowAppMenu Response 11 | 12 | @enduml -------------------------------------------------------------------------------- /docs/UI/Slider/assets/SliderAbort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Slider/assets/SliderAbort.png -------------------------------------------------------------------------------- /docs/UI/Slider/assets/SliderOK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Slider/assets/SliderOK.png -------------------------------------------------------------------------------- /docs/UI/Slider/assets/SliderTimeout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/Slider/assets/SliderTimeout.png -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertAborted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SubtleAlert/assets/SubtleAlertAborted.png -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertAborted.puml: -------------------------------------------------------------------------------- 1 | @startuml SubtleAlertAborted 2 | 3 | participant Core 4 | participant HMI.UI 5 | participant HMI.VR 6 | 7 | skinparam NoteTextAlignment center 8 | 9 | note over HMI.UI 10 | app1 layout 11 | is active 12 | end note 13 | 14 | Core -> HMI.UI: UI.SubtleAlert(params, alertType: UI) 15 | 16 | note over HMI.UI 17 | Display notification 18 | dialog on screen 19 | with specified data 20 | end note 21 | 22 | HMI.UI ->> Core: UI.OnSystemContext(ALERT, appID1) 23 | 24 | note over HMI.VR 25 | VR is activated 26 | by user 27 | end note 28 | 29 | HMI.VR -> Core: VR.Started() 30 | 31 | HMI.UI ->> Core: UI.OnSystemContext(VRSESSION) 32 | 33 | note over HMI.UI 34 | SubtleAlert is 35 | interrupted by VR 36 | end note 37 | 38 | HMI.UI --> Core: UI.SubtleAlert(ABORTED) 39 | 40 | @enduml 41 | -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertDefaultAction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SubtleAlert/assets/SubtleAlertDefaultAction.png -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertDefaultAction.puml: -------------------------------------------------------------------------------- 1 | @startuml SubtleAlertDefaultAction 2 | 3 | participant Core 4 | participant HMI.UI 5 | participant HMI.Buttons 6 | participant HMI.TTS 7 | 8 | skinparam NoteTextAlignment center 9 | 10 | note over HMI.UI 11 | app1 layout 12 | is active 13 | end note 14 | 15 | Core -> HMI.UI: UI.SubtleAlert(\n\ 16 | params, softButtons, BOTH\n\ 17 | ) 18 | Core -> HMI.TTS: TTS.Speak(\n\ 19 | ttsChunks, appID1, SUBTLE_ALERT\n\ 20 | ) 21 | 22 | note over HMI.UI 23 | Display notification 24 | dialog on screen 25 | with specified data 26 | end note 27 | 28 | HMI.UI ->> Core: UI.OnSystemContext(ALERT, appID1) 29 | 30 | note over HMI.TTS 31 | Speak the 32 | requested text 33 | end note 34 | 35 | HMI.TTS --> Core: TTS.Speak(SUCCESS) 36 | 37 | note over HMI.Buttons, HMI.UI 38 | User presses 39 | softbutton with 40 | DEFAULT_ACTION 41 | in SubtleAlert 42 | dialog 43 | end note 44 | 45 | HMI.Buttons ->> Core: Buttons.OnButtonEvent(BUTTONDOWN) 46 | HMI.Buttons ->> Core: Buttons.OnButtonEvent(BUTTONUP) 47 | HMI.Buttons ->> Core: Buttons.OnButtonPress(SHORT) 48 | 49 | HMI.UI --> Core: UI.SubtleAlert(SUCCESS) 50 | 51 | note over HMI.UI 52 | SubtleAlert dialog 53 | is closed 54 | 55 | app1 layout 56 | is displayed 57 | end note 58 | 59 | HMI.UI ->> Core: UI.OnSystemContext(MAIN, appID1) 60 | 61 | @enduml 62 | -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertRejected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SubtleAlert/assets/SubtleAlertRejected.png -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertRejected.puml: -------------------------------------------------------------------------------- 1 | @startuml SubtleAlertRejected 2 | 3 | participant Core 4 | participant HMI.UI 5 | 6 | skinparam NoteTextAlignment center 7 | 8 | Core -> HMI.UI: UI.SubtleAlert(params, UI) 9 | 10 | note over HMI.UI 11 | Higher priority event 12 | is active in the UI 13 | (ex. Emergency 14 | phone call) 15 | end note 16 | 17 | HMI.UI --> Core: UI.SubtleAlert(REJECTED) 18 | 19 | @enduml 20 | -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertStealFocus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SubtleAlert/assets/SubtleAlertStealFocus.png -------------------------------------------------------------------------------- /docs/UI/SubtleAlert/assets/SubtleAlertTTSAborted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UI/SubtleAlert/assets/SubtleAlertTTSAborted.png -------------------------------------------------------------------------------- /docs/UnixSignals/LowVoltage/assets/low_voltage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/UnixSignals/LowVoltage/assets/low_voltage.png -------------------------------------------------------------------------------- /docs/VR/AddCommand/assets/AddCommand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/AddCommand/assets/AddCommand.png -------------------------------------------------------------------------------- /docs/VR/AddCommand/assets/AddCommandNoResponse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/AddCommand/assets/AddCommandNoResponse.png -------------------------------------------------------------------------------- /docs/VR/AddCommand/assets/AddCommandResumption.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/AddCommand/assets/AddCommandResumption.png -------------------------------------------------------------------------------- /docs/VR/AddCommand/assets/AddCommandSuccessUIFail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/AddCommand/assets/AddCommandSuccessUIFail.png -------------------------------------------------------------------------------- /docs/VR/AddCommand/assets/AddCommandSuccessUINoResponse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/AddCommand/assets/AddCommandSuccessUINoResponse.png -------------------------------------------------------------------------------- /docs/VR/AddCommand/assets/AddCommandVRFail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/AddCommand/assets/AddCommandVRFail.png -------------------------------------------------------------------------------- /docs/VR/ChangeRegistration/assets/ChangeRegistration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/ChangeRegistration/assets/ChangeRegistration.png -------------------------------------------------------------------------------- /docs/VR/DeleteCommand/assets/DeleteCommand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/DeleteCommand/assets/DeleteCommand.png -------------------------------------------------------------------------------- /docs/VR/GetCapabilities/assets/GetCapabilities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/GetCapabilities/assets/GetCapabilities.png -------------------------------------------------------------------------------- /docs/VR/GetLanguage/assets/GetLanguage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/GetLanguage/assets/GetLanguage.png -------------------------------------------------------------------------------- /docs/VR/GetLanguage/assets/GetLanguage.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | App->SDL:RegisterAppInterface 5 | HMI->>SDL:BC.OnReady 6 | SDL->HMI:VR.IsReady 7 | HMI-->SDL:VR.IsReady (`SUCCESS`) 8 | note over SDL:`HMICapabilitiesCacheFile`\nis not available 9 | SDL->SDL:Create `HMICapabilitiesCacheFile` 10 | note over SDL:GetLanguage data\nis not available\nin `HMICapabilitiesCacheFile` 11 | 12 | opt GetLanguage - Happy Path 13 | SDL->HMI:VR.GetLanguage 14 | HMI-->SDL:VR.GetLanguage (`SUCCESS`, params) 15 | SDL->SDL:Cache received data\nin `HMICapabilitiesCacheFile` 16 | note right of SDL:Use received data\nfor App-SDL communication 17 | end 18 | 19 | opt GetLanguage - No response from HMI 20 | SDL->HMI:VR.GetLanguage 21 | note over HMI:No response 22 | note right of SDL:Request data from HMI\nin subsequent ignition cycle 23 | SDL->SDL:Load default data\nfrom `hmi_capabilities.json` 24 | note right of SDL:Use default data\nfor App-SDL communication\nwithin this ignition cycle 25 | end 26 | 27 | SDL-->App:RegisterAppInterface (params) -------------------------------------------------------------------------------- /docs/VR/GetLanguage/index.md: -------------------------------------------------------------------------------- 1 | ## GetLanguage 2 | 3 | Type 4 | : Function 5 | 6 | Sender 7 | : SDL 8 | 9 | Purpose 10 | : Get the current voice recognition language. 11 | 12 | ### Request 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Response 19 | 20 | #### Parameters 21 | 22 | |Name|Type|Mandatory|Additional| 23 | |:---|:---|:--------|:---------| 24 | |language|[Common.Language](../../common/enums/#language)|true|| 25 | 26 | ### Sequence Diagrams 27 | 28 | ||| 29 | GetLanguage 30 | ![GetLanguage](./assets/GetLanguage.png) 31 | ||| 32 | 33 | ### JSON Message Examples 34 | 35 | #### Example Request 36 | 37 | ```json 38 | { 39 | "id" : 110, 40 | "jsonrpc" : "2.0", 41 | "method" : "VR.GetLanguage" 42 | } 43 | ``` 44 | 45 | #### Example Response 46 | 47 | ```json 48 | { 49 | "id" : 110, 50 | "jsonrpc" : "2.0", 51 | "result" : 52 | { 53 | "language" : "DE-DE", 54 | "code" : 0, 55 | "method" : "VR.GetLanguage" 56 | } 57 | } 58 | ``` 59 | 60 | #### Example Error 61 | 62 | ```json 63 | { 64 | "id" : 110, 65 | "jsonrpc" : "2.0", 66 | "error" : 67 | { 68 | "code" : 22, 69 | "message" : "During the API call the unknown error has occurred", 70 | "data" : 71 | { 72 | "method" : "VR.GetLanguage" 73 | } 74 | } 75 | } 76 | ``` 77 | -------------------------------------------------------------------------------- /docs/VR/GetSupportedLanguages/assets/GetSupportedLanguages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/GetSupportedLanguages/assets/GetSupportedLanguages.png -------------------------------------------------------------------------------- /docs/VR/GetSupportedLanguages/assets/GetSupportedLanguages.txt: -------------------------------------------------------------------------------- 1 | participant SDL 2 | participant HMI 3 | HMI->>SDL:BC.OnReady 4 | SDL->HMI:VR.IsReady 5 | HMI-->SDL:VR.IsReady (`SUCCESS`) 6 | note over SDL:`HMICapabilitiesCacheFile`\nis not available 7 | SDL->SDL:Create `HMICapabilitiesCacheFile` 8 | note over SDL:GetSupportedLanguages data\nis not available\nin `HMICapabilitiesCacheFile` 9 | opt GetSupportedLanguages - Happy Path 10 | SDL->HMI:VR.GetSupportedLanguages 11 | HMI-->SDL:VR.GetSupportedLanguages (`SUCCESS`, params) 12 | SDL->SDL:Cache received data\nin `HMICapabilitiesCacheFile` 13 | note over SDL:Use received data\nfor App-SDL communication 14 | end 15 | opt GetSupportedLanguages - No response from HMI 16 | SDL->HMI:VR.GetSupportedLanguages 17 | note over HMI:No response 18 | note over SDL:Request data from HMI\nin subsequent ignition cycle 19 | SDL->SDL:Load default data\nfrom `hmi_capabilities.json` 20 | note over SDL:Use default data\nfor App-SDL communication\nwithin this ignition cycle 21 | end 22 | -------------------------------------------------------------------------------- /docs/VR/IsReady/assets/IsReady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/IsReady/assets/IsReady.png -------------------------------------------------------------------------------- /docs/VR/OnCommand/assets/OnCommand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/OnCommand/assets/OnCommand.png -------------------------------------------------------------------------------- /docs/VR/OnCommand/index.md: -------------------------------------------------------------------------------- 1 | ## OnCommand 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that an application's VR command was recognized. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |cmdID|Integer|true|minvalue: 0
maxvalue: 2000000000| 19 | |appID|Integer|true|| 20 | 21 | ### Sequence Diagrams 22 | 23 | ||| 24 | OnCommand 25 | ![OnCommand](./assets/OnCommand.png) 26 | ||| 27 | 28 | ### JSON Message Examples 29 | 30 | #### Example Notification 31 | 32 | ```json 33 | { 34 | "jsonrpc" : "2.0", 35 | "method" : "VR.OnCommand", 36 | "params" : 37 | { 38 | "cmdID" : 4365, 39 | "appID" : 12564 40 | } 41 | } 42 | ``` 43 | -------------------------------------------------------------------------------- /docs/VR/OnLanguageChange/assets/OnLanguageChange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/OnLanguageChange/assets/OnLanguageChange.png -------------------------------------------------------------------------------- /docs/VR/OnLanguageChange/assets/OnLanguageChange.txt: -------------------------------------------------------------------------------- 1 | participant App 2 | participant SDL 3 | participant HMI 4 | 5 | note over App,HMI: **//Pre-conditions://**\n1. `appID` is registered with **`EN-US`** language\n2. Current HMI VR language is **`EN-US`** 6 | 7 | note over HMI:User switched\nlanguage to **`FR-CA`** 8 | 9 | HMI->>SDL:VR.OnLanguageChange (**`FR-CA`**) 10 | SDL->>SDL:Overwrite current language\nin `HMICapabilitiesCacheFile` 11 | SDL->>App:OnLanguageChange (**`FR-CA`**) 12 | 13 | note over SDL: Unregister `appID`\nwith language different\nfrom current VR language 14 | SDL->>HMI:BC.OnAppUnregistered (`appID`, **`EN-US`**) 15 | 16 | note over HMI:Clear up data\nassociated with `appID` 17 | 18 | note over HMI:Show layout\naccording to HMI workflow 19 | 20 | App->>SDL:RegisterAppInterface (`appID`, **`FR-CA`**) 21 | SDL->SDL:Check current language\nin `HMICapabilitiesCacheFile` 22 | SDL->>HMI:BC.OnAppRegistered (`appID`, **`FR-CA`**) 23 | SDL-->App:RegisterAppInterface (`SUCCESS`) 24 | note over HMI:Store the provided data\nassociating it with `appID` 25 | note over HMI:Add `appID` to the list\nof registered applications -------------------------------------------------------------------------------- /docs/VR/OnLanguageChange/index.md: -------------------------------------------------------------------------------- 1 | ## OnLanguageChange 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL that the language of the VR engine has changed. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | |Name|Type|Mandatory|Additional| 17 | |:---|:---|:--------|:---------| 18 | |language|[Common.Language](../../common/enums/#language)|true|| 19 | 20 | ### Sequence Diagrams 21 | 22 | ||| 23 | OnLanguageChange 24 | ![OnLanguageChange](./assets/OnLanguageChange.png) 25 | ||| 26 | 27 | ### JSON Message Examples 28 | 29 | #### Example Notification 30 | 31 | ```json 32 | { 33 | "jsonrpc" : "2.0", 34 | "method" : "VR.OnLanguageChange", 35 | "params" : 36 | { 37 | "language" : "IT-IT" 38 | } 39 | } 40 | ``` 41 | -------------------------------------------------------------------------------- /docs/VR/PerformInteraction/assets/PerformInteractionBoth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/PerformInteraction/assets/PerformInteractionBoth.png -------------------------------------------------------------------------------- /docs/VR/PerformInteraction/assets/PerformInteractionManualSuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/PerformInteraction/assets/PerformInteractionManualSuccess.png -------------------------------------------------------------------------------- /docs/VR/PerformInteraction/assets/PerformInteractionSuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/PerformInteraction/assets/PerformInteractionSuccess.png -------------------------------------------------------------------------------- /docs/VR/Started/assets/Started.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/Started/assets/Started.png -------------------------------------------------------------------------------- /docs/VR/Started/index.md: -------------------------------------------------------------------------------- 1 | ## Started 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL about the start of a VR session 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Sequence Diagrams 19 | 20 | ||| 21 | Started on PTT Button Press 22 | ![Started](./assets/Started.png) 23 | ||| 24 | 25 | ### JSON Message Examples 26 | 27 | #### Example Notification 28 | 29 | ```json 30 | { 31 | "jsonrpc" : "2.0", 32 | "method" : "VR.Started" 33 | } 34 | ``` 35 | -------------------------------------------------------------------------------- /docs/VR/Stopped/assets/Stopped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VR/Stopped/assets/Stopped.png -------------------------------------------------------------------------------- /docs/VR/Stopped/index.md: -------------------------------------------------------------------------------- 1 | ## Stopped 2 | 3 | Type 4 | : Notification 5 | 6 | Sender 7 | : HMI 8 | 9 | Purpose 10 | : Inform SDL about the end of a VR session. 11 | 12 | ### Notification 13 | 14 | #### Parameters 15 | 16 | This RPC has no additional parameter requirements 17 | 18 | ### Sequence Diagrams 19 | 20 | ||| 21 | Stopped when VR session ends 22 | ![Stopped](./assets/Stopped.png) 23 | ||| 24 | 25 | ### JSON Message Examples 26 | 27 | #### Example Notification 28 | 29 | ```json 30 | { 31 | "jsonrpc" : "2.0", 32 | "method" : "VR.Stopped" 33 | } 34 | ``` 35 | -------------------------------------------------------------------------------- /docs/VehicleInfo/DiagnosticMessage/assets/DiagnosticMessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/DiagnosticMessage/assets/DiagnosticMessage.png -------------------------------------------------------------------------------- /docs/VehicleInfo/GetDTCs/assets/GetDTCs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/GetDTCs/assets/GetDTCs.png -------------------------------------------------------------------------------- /docs/VehicleInfo/GetVehicleData/assets/GVD_custom_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/GetVehicleData/assets/GVD_custom_data.png -------------------------------------------------------------------------------- /docs/VehicleInfo/GetVehicleData/assets/GetVehicleData.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/GetVehicleData/assets/GetVehicleData.jpg -------------------------------------------------------------------------------- /docs/VehicleInfo/GetVehicleData/assets/VDdefinedInXMLandSchema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/GetVehicleData/assets/VDdefinedInXMLandSchema.png -------------------------------------------------------------------------------- /docs/VehicleInfo/GetVehicleType/assets/GetVehicleType.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/GetVehicleType/assets/GetVehicleType.png -------------------------------------------------------------------------------- /docs/VehicleInfo/IsReady/assets/IsReady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/IsReady/assets/IsReady.png -------------------------------------------------------------------------------- /docs/VehicleInfo/OnVehicleData/assets/OnVehicleData.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/OnVehicleData/assets/OnVehicleData.jpg -------------------------------------------------------------------------------- /docs/VehicleInfo/ReadDID/assets/ReadDidExpanded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/ReadDID/assets/ReadDidExpanded.png -------------------------------------------------------------------------------- /docs/VehicleInfo/ReadDID/assets/ReadDidGeneral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/ReadDID/assets/ReadDidGeneral.png -------------------------------------------------------------------------------- /docs/VehicleInfo/SubscribeVehicleData/assets/MultipleAppCommonSubscriptions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/SubscribeVehicleData/assets/MultipleAppCommonSubscriptions.png -------------------------------------------------------------------------------- /docs/VehicleInfo/SubscribeVehicleData/assets/MultipleAppCommonSubscriptions.txt: -------------------------------------------------------------------------------- 1 | @startuml 2 | actor App1 3 | actor App2 4 | actor SDL 5 | actor HMI 6 | App1 -> SDL: Register with resumption (resumption data : 1, 2) 7 | SDL -> HMI: Subscribe 1 8 | SDL -> HMI: Subscribe 2 9 | HMI -> SDL: 2 FAILED 10 | App2 -> SDL: Register with resumption (resumption data : 2, 3) 11 | HMI -> SDL: 1 SUCCESS 12 | SDL -> HMI: Unsubscribe 1 13 | SDL -> App1: FAIL_RESUMPTION 14 | SDL -> HMI: Subscribe 3 15 | SDL -> HMI: Subscribe 2 16 | note left 17 | SDL make second attempt for 18 | subscribing on data 2 for another application 19 | end note 20 | HMI -> SDL: 2 SUCCESS 21 | HMI -> SDL: 3 SUCCESS 22 | SDL -> App2: SUCCESS 23 | @enduml (edited) -------------------------------------------------------------------------------- /docs/VehicleInfo/SubscribeVehicleData/assets/MultipleAppErrorHandling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/SubscribeVehicleData/assets/MultipleAppErrorHandling.png -------------------------------------------------------------------------------- /docs/VehicleInfo/SubscribeVehicleData/assets/MultipleAppErrorHandling.txt: -------------------------------------------------------------------------------- 1 | @startuml 2 | actor App1 3 | actor App2 4 | actor SDL 5 | actor HMI 6 | App1 -> SDL: Register with resumption (resumption data : 1, 2) 7 | App2 -> SDL: Register with resumption (resumption data : 2, 3) 8 | SDL -> HMI: Subscribe 1 9 | SDL -> HMI: Subscribe 2 (for App1) 10 | SDL -> HMI: Subscribe 3 11 | HMI --> SDL: Subscribe(ERROR 2) 12 | SDL --> App1: RAI (RESUME_FAILED) 13 | SDL -> HMI: Subscribe 2 (for App2) 14 | HMI --> SDL: Subscribe (SUCCESS2) 15 | SDL --> App2: RAI (SUCCESS) 16 | @enduml (edited) -------------------------------------------------------------------------------- /docs/VehicleInfo/SubscribeVehicleData/assets/SubscribeVehicleData.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/SubscribeVehicleData/assets/SubscribeVehicleData.jpg -------------------------------------------------------------------------------- /docs/VehicleInfo/UnsubscribeVehicleData/assets/MultipleAppErrorHandling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/UnsubscribeVehicleData/assets/MultipleAppErrorHandling.png -------------------------------------------------------------------------------- /docs/VehicleInfo/UnsubscribeVehicleData/assets/MultipleAppErrorHandling.txt: -------------------------------------------------------------------------------- 1 | @startuml 2 | actor App1 3 | actor App2 4 | actor SDL 5 | actor HMI 6 | App1 -> SDL: Register with resumption (resumption data : 1, 2) 7 | App2 -> SDL: Register with resumption (resumption data : 2, 3, 4) 8 | SDL -> HMI: Subscribe 1 9 | SDL -> HMI: Subscribe 2 10 | SDL -> HMI: Subscribe 3 11 | SDL -> HMI: Subscribe 4 12 | HMI -> SDL: 1 SUCCESS 13 | HMI -> SDL: 2 SUCCESS 14 | HMI -> SDL: 3 FAILED 15 | HMI -> SDL: 4 SUCCESS 16 | SDL -> App1: SUCCESS 17 | SDL -> HMI: Unsubscribe 4 18 | SDL -> App2: FAIL_RESUMPTION 19 | note right 20 | SDL should not unsubscribe data 2 on HMI 21 | end note 22 | @enduml (edited) -------------------------------------------------------------------------------- /docs/VehicleInfo/UnsubscribeVehicleData/assets/UnsubscribeVehicleData.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/UnsubscribeVehicleData/assets/UnsubscribeVehicleData.jpg -------------------------------------------------------------------------------- /docs/VehicleInfo/UnsubscribeVehicleData/assets/UnsubscribeVehicleDataDisconnect.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smartdevicelink/sdl_hmi_integration_guidelines/a89289d22a3fe75db6e5b45d39d158e5b282021f/docs/VehicleInfo/UnsubscribeVehicleData/assets/UnsubscribeVehicleDataDisconnect.jpg --------------------------------------------------------------------------------