AUTOSAR Classic Diagnostic Services
Die Diagnostic Services der AUTOSAR Classic Platform implementieren normierte Diagnoseprotokolle nach ISO 14229 (UDS) und ISO 15765-4 (OBD), Fehlererkennung und -speicherung im Fehlerspeicher (DEM), Entwicklungsfehler-Tracing (DET) sowie strukturiertes Logging (DLT).
초기화 및 상태
Dcm_GetVersionInfoDcm_InitDem_GetVersionInfoDem_InitDet_GetVersionInfoDet_InitDlt_GetVersionInfoDlt_InitFiM_GetVersionInfoFiM_Init서비스 · Get…
서비스 · Set…
서비스 · Dcm…
서비스 · J1939…
서비스 · Process…
서비스 · Read…
서비스 · Write…
서비스 · Reset…
서비스 · Dem…
서비스 · Start…
서비스 · Clear…
서비스 · Com…
서비스 · Report…
서비스 · Request…
서비스 · Select…
서비스 · Stop…
서비스 · 기타
CBFidStatusChangedDcm_BndMWriteBlockFinishDcm_CsmAsyncJobFinishedDcm_KeyMAsyncCertificateVerifyFinishedDcm_TriggerOnEventDem_CallbackEventSyncStorageProcessedDem_DisableDTCRecordUpdateDem_DisableDTCSettingDem_EnableDTCRecordUpdateDem_EnableDTCSettingDem_PreInitDem_PrestoreFreezeFrameDem_RepIUMPRDenReleaseDem_RepIUMPRFaultDetectDem_RestartOperationCycleDem_ShutdownDlt_DetForwardErrorTraceDlt_SendLogMessageDlt_SendTraceMessageDlt_StoreConfigurationDlt_TxFunctionDlt_UnregisterContextXxx_CompareKeyXxx_ConditionCheckReadXxx_ConditionCheckRead#2Xxx_ConfirmationXxx_FreezeCurrentStateXxx_FreezeCurrentState#2Xxx_IndicationXxx_IsDidAvailableXxx_ReturnControlToECUXxx_ShortTermAdjustmentXxx_ShortTermAdjustment#2콜백
Dcm_CopyRxDataDcm_CopyTxDataDcm_StartOfReceptionDcm_TpRxIndicationDcm_TpTxConfirmationDcm_TxConfirmationDlt_CopyRxDataDlt_CopyTxDataDlt_RxIndicationDlt_StartOfReceptionDlt_TpRxIndicationDlt_TpTxConfirmationDlt_TriggerTransmitDlt_TxConfirmation콜아웃 및 예상 인터페이스
<DetReportRuntimeErrorCallout><DetReportTransientFaultCallout><User_Error_Hooks>주기적
Dcm_MainFunctionDem_MainFunctionFiM_MainFunction타입
ControlDTCSettingModeSwitchInterfaceDcm_AuthenticationRoleTypeDcm_CommunicationModeTypeDcm_ConfigTypeDcm_ConfirmationStatusTypeDcm_DataArrayTypeDcm_DidSupportedTypeDcm_EcuStartModeTypeDcm_ExtendedOpStatusTypeDcm_FileAndDirNameTypeDcm_IdContextTypeDcm_InfoTypeDcm_InputOutputControlParameterTypeDcm_IOOperationResponseTypeDcm_MsgAddInfoTypeDcm_MsgContextTypeDcm_MsgItemTypeDcm_MsgLenTypeDcm_MsgTypeDcm_NegativeResponseCodeTypeDcm_OpStatusTypeDcm_ProgConditionsTypeDcm_ProtocolTypeDcm_RequestDataArrayTypeDcm_ResponseDataArrayTypeDcm_ReturnReadMemoryTypeDcm_ReturnWriteMemoryTypeDcm_SecLevelTypeDcm_SesCtrlTypeDcm_StatusTypeDcmCommunicationControlDcmControlDTCSettingDcmDiagnosticSessionControlDcmEcuResetDcmModeRapidPowerShutDownDcmResponseOnEventDcmSecurityAccessDem_ComponentIdTypeDem_ConfigTypeDem_DataArrayTypeDem_DataPrimitiveTypeDem_DataTypeDem_DebounceResetStatusTypeDem_DTCFormatTypeDem_DTCKindTypeDem_DTCOriginTypeDem_DTCRequestTypeDem_DTCTranslationFormatTypeDem_DTRControlTypeDem_EventIdTypeDem_EventStatusTypeDem_IndicatorStatusTypeDem_InitMonitorReasonTypeDem_IumprDenomCondIdTypeDem_IumprDenomCondStatusTypeDem_J1939DcmDiagnosticReadiness1TypeDem_J1939DcmDiagnosticReadiness2TypeDem_J1939DcmDiagnosticReadiness3TypeDem_J1939DcmDTCStatusFilterTypeDem_J1939DcmLampStatusTypeDem_J1939DcmSetClearFilterTypeDem_J1939DcmSetFreezeFrameFilterTypeDem_MaxDataValueTypeDem_MonitorDataTypeDem_PID21valueTypeDem_PID31valueTypeDem_PID4DvalueTypeDem_PID4EvalueTypeDem_RatioIdTypeDet_ConfigTypeDiagnosticSessionControlModeSwitchInterfaceDlt_ApplicationIdInfoTypeDlt_ApplicationIDTypeDlt_AssignmentOperationDlt_ConfigTypeDlt_ContextIdInfoTypeDlt_ContextIDTypeDlt_LogInfoTypeDlt_MessageArgumentCountDlt_MessageIDTypeDlt_MessageLogInfoTypeDlt_MessageLogLevelTypeDlt_MessageNetworkTraceInfoTypeDlt_MessageOptionsTypeDlt_MessageTraceInfoTypeDlt_MessageTraceTypeDlt_MessageTypeDlt_SessionIDTypeEcuResetModeSwitchInterfaceFiM_ConfigTypeFiM_FunctionIdTypeModeRapidPowerShutDownModeSwitchInterfaceSecurityAccessModeSwitchInterfaceType함수
<DetReportRuntimeErrorCallout><DetReportTransientFaultCallout><User_Error_Hooks>CBFidStatusChangedDcm_BndMWriteBlockFinishDcm_ComM_FullComModeEnteredDcm_ComM_NoComModeEnteredDcm_ComM_SilentComModeEnteredDcm_CopyRxDataDcm_CopyTxDataDcm_CsmAsyncJobFinishedDcm_DemTriggerOnDTCStatusDcm_GetActiveProtocolDcm_GetProgConditionsDcm_GetSecurityLevelDcm_GetSesCtrlTypeDcm_GetVersionInfoDcm_GetVinDcm_InitDcm_KeyMAsyncCertificateVerifyFinishedDcm_MainFunctionDcm_ProcessRequestAddFileDcm_ProcessRequestDeleteFileDcm_ProcessRequestReadDirDcm_ProcessRequestReadFileDcm_ProcessRequestReplaceFileDcm_ReadFileOrDirDcm_ReadMemoryDcm_ResetToDefaultSessionDcm_SetActiveDiagnosticDcm_SetDeauthenticatedRoleDcm_SetProgConditionsDcm_StartOfReceptionDcm_TpRxIndicationDcm_TpTxConfirmationDcm_TriggerOnEventDcm_TxConfirmationDcm_WriteFileDcm_WriteMemoryDem_CallbackEventSyncStorageProcessedDem_ClearDTCDem_ClearPrestoredFreezeFrameDem_DcmGetAvailableOBDMIDsDem_DcmGetDTCOfOBDFreezeFrameDem_DcmGetDTRDataDem_DcmGetInfoTypeValue08Dem_DcmGetInfoTypeValue0BDem_DcmGetNumTIDsOfOBDMIDDem_DcmReadDataOfOBDFreezeFrameDem_DcmReadDataOfPID01Dem_DcmReadDataOfPID1CDem_DcmReadDataOfPID21Dem_DcmReadDataOfPID30Dem_DcmReadDataOfPID31Dem_DcmReadDataOfPID41Dem_DcmReadDataOfPID4DDem_DcmReadDataOfPID4EDem_DcmReadDataOfPID91Dem_DisableDTCRecordUpdateDem_DisableDTCSettingDem_EnableDTCRecordUpdateDem_EnableDTCSettingDem_GetB1CounterDem_GetComponentFailedDem_GetCycleQualifiedDem_GetDataOfPID21Dem_GetDebouncingOfEventDem_GetDTCByOccurrenceTimeDem_GetDTCOfEventDem_GetDTCSelectionResultDem_GetDTCSelectionResultForClearDTCDem_GetDTCSeverityAvailabilityMaskDem_GetDTCStatusAvailabilityMaskDem_GetDTCSuppressionDem_GetEventAvailableDem_GetEventExtendedDataRecordExDem_GetEventFreezeFrameDataExDem_GetEventMemoryOverflowDem_GetEventUdsStatusDem_GetFaultDetectionCounterDem_GetFunctionalUnitOfDTCDem_GetIndicatorStatusDem_GetIUMPRDenConditionDem_GetMonitorStatusDem_GetNextExtendedDataRecordDem_GetNextFilteredDTCDem_GetNextFilteredDTCAndFDCDem_GetNextFilteredDTCAndSeverityDem_GetNextFilteredRecordDem_GetNextFreezeFrameDataDem_GetNumberOfEventMemoryEntriesDem_GetNumberOfFilteredDTCDem_GetNumberOfFreezeFrameRecordsDem_GetSeverityOfDTCDem_GetSizeOfExtendedDataRecordSelectionDem_GetSizeOfFreezeFrameSelectionDem_GetStatusOfDTCDem_GetTranslationTypeDem_GetVersionInfoDem_InitDem_J1939DcmClearDTCDem_J1939DcmFirstDTCwithLampStatusDem_J1939DcmGetNextDTCwithLampStatusDem_J1939DcmGetNextFilteredDTCDem_J1939DcmGetNextFilteredRatioDem_J1939DcmGetNextFreezeFrameDem_J1939DcmGetNextSPNInFreezeFrameDem_J1939DcmGetNumberOfFilteredDTCDem_J1939DcmReadDiagnosticReadiness1Dem_J1939DcmReadDiagnosticReadiness2Dem_J1939DcmReadDiagnosticReadiness3Dem_J1939DcmSetDTCFilterDem_J1939DcmSetFreezeFrameFilterDem_J1939DcmSetRatioFilterDem_MainFunctionDem_PreInitDem_PrestoreFreezeFrameDem_ReadDataOfPID01Dem_RepIUMPRDenReleaseDem_RepIUMPRFaultDetectDem_ResetEventDebounceStatusDem_ResetEventStatusDem_RestartOperationCycleDem_SelectDTCDem_SelectExtendedDataRecordDem_SelectFreezeFrameDataDem_SetComponentAvailableDem_SetCycleQualifiedDem_SetDataOfPID21Dem_SetDataOfPID31Dem_SetDataOfPID4DDem_SetDataOfPID4EDem_SetDTCFilterDem_SetDTCSuppressionDem_SetDTRDem_SetEnableConditionDem_SetEventAvailableDem_SetEventConfirmationThresholdCounterDem_SetEventDisabledDem_SetEventFailedWithSyncFreezeFrameDem_SetEventStatusDem_SetEventStatusWithMonitorDataDem_SetFreezeFrameRecordFilterDem_SetIUMPRDenConditionDem_SetPtoStatusDem_SetStorageConditionDem_SetWIRStatusDem_ShutdownDet_GetVersionInfoDet_InitDet_ReportErrorDet_ReportRuntimeErrorDet_ReportTransientFaultDet_StartDlt_CopyRxDataDlt_CopyTxDataDlt_DetForwardErrorTraceDlt_GetDefaultLogLevelDlt_GetLogInfoDlt_GetTraceStatusDlt_GetVersionInfoDlt_InitDlt_ResetToFactoryDefaultDlt_RxIndicationDlt_SendLogMessageDlt_SendTraceMessageDlt_SetDefaultLogLevelDlt_SetLogLevelDlt_SetMessageFilteringDlt_SetTraceStatusDlt_StartOfReceptionDlt_StoreConfigurationDlt_TpRxIndicationDlt_TpTxConfirmationDlt_TriggerTransmitDlt_TxConfirmationDlt_TxFunctionDlt_UnregisterContextFiM_DemInitFiM_DemTriggerOnComponentStatusFiM_DemTriggerOnMonitorStatusFiM_GetFunctionPermissionFiM_GetVersionInfoFiM_InitFiM_MainFunctionFiM_SetFunctionAvailableXxx_ClearDTCCheckFncXxx_CompareKeyXxx_ConditionCheckReadXxx_ConditionCheckRead#2Xxx_ConfirmationXxx_FreezeCurrentStateXxx_FreezeCurrentState#2Xxx_GetInfotypeValueDataXxx_GetScalingInformationXxx_GetScalingInformation#2Xxx_GetSecurityAttemptCounterXxx_GetSeedXxx_GetSeed#2Xxx_IndicationXxx_IsDidAvailableXxx_ProcessRequestDownloadXxx_ProcessRequestTransferExitXxx_ProcessRequestUploadXxx_ProcessTransferDataReadXxx_ProcessTransferDataWriteXxx_ReadDataXxx_ReadData#2Xxx_ReadData#3Xxx_ReadDataLengthXxx_ReadDataLength#2Xxx_ReadDidDataXxx_ReadDidRangeDataLengthXxx_RequestControlXxx_RequestResultsXxx_RequestResultsConfirmationXxx_ResetToDefaultXxx_ResetToDefault#2Xxx_ReturnControlToECUXxx_SetSecurityAttemptCounterXxx_ShortTermAdjustmentXxx_ShortTermAdjustment#2Xxx_StartXxx_StartConfirmationXxx_StartProtocolXxx_StopXxx_StopConfirmationXxx_StopProtocolXxx_WriteDataXxx_WriteData#2Xxx_WriteData#3Xxx_WriteData#4Xxx_WriteDidData타입
ControlDTCSettingModeSwitchInterfaceDcm_AuthenticationRoleTypeDcm_CommunicationModeTypeDcm_ConfigTypeDcm_ConfirmationStatusTypeDcm_DataArrayTypeDcm_DidSupportedTypeDcm_EcuStartModeTypeDcm_ExtendedOpStatusTypeDcm_FileAndDirNameTypeDcm_IdContextTypeDcm_InfoTypeDcm_InputOutputControlParameterTypeDcm_IOOperationResponseTypeDcm_MsgAddInfoTypeDcm_MsgContextTypeDcm_MsgItemTypeDcm_MsgLenTypeDcm_MsgTypeDcm_NegativeResponseCodeTypeDcm_OpStatusTypeDcm_ProgConditionsTypeDcm_ProtocolTypeDcm_RequestDataArrayTypeDcm_ResponseDataArrayTypeDcm_ReturnReadMemoryTypeDcm_ReturnWriteMemoryTypeDcm_SecLevelTypeDcm_SesCtrlTypeDcm_StatusTypeDcmCommunicationControlDcmControlDTCSettingDcmDiagnosticSessionControlDcmEcuResetDcmModeRapidPowerShutDownDcmResponseOnEventDcmSecurityAccessDem_ComponentIdTypeDem_ConfigTypeDem_DataArrayTypeDem_DataPrimitiveTypeDem_DataTypeDem_DebounceResetStatusTypeDem_DTCFormatTypeDem_DTCKindTypeDem_DTCOriginTypeDem_DTCRequestTypeDem_DTCTranslationFormatTypeDem_DTRControlTypeDem_EventIdTypeDem_EventStatusTypeDem_IndicatorStatusTypeDem_InitMonitorReasonTypeDem_IumprDenomCondIdTypeDem_IumprDenomCondStatusTypeDem_J1939DcmDiagnosticReadiness1TypeDem_J1939DcmDiagnosticReadiness2TypeDem_J1939DcmDiagnosticReadiness3TypeDem_J1939DcmDTCStatusFilterTypeDem_J1939DcmLampStatusTypeDem_J1939DcmSetClearFilterTypeDem_J1939DcmSetFreezeFrameFilterTypeDem_MaxDataValueTypeDem_MonitorDataTypeDem_PID21valueTypeDem_PID31valueTypeDem_PID4DvalueTypeDem_PID4EvalueTypeDem_RatioIdTypeDet_ConfigTypeDiagnosticSessionControlModeSwitchInterfaceDlt_ApplicationIdInfoTypeDlt_ApplicationIDTypeDlt_AssignmentOperationDlt_ConfigTypeDlt_ContextIdInfoTypeDlt_ContextIDTypeDlt_LogInfoTypeDlt_MessageArgumentCountDlt_MessageIDTypeDlt_MessageLogInfoTypeDlt_MessageLogLevelTypeDlt_MessageNetworkTraceInfoTypeDlt_MessageOptionsTypeDlt_MessageTraceInfoTypeDlt_MessageTraceTypeDlt_MessageTypeDlt_SessionIDTypeEcuResetModeSwitchInterfaceFiM_ConfigTypeFiM_FunctionIdTypeModeRapidPowerShutDownModeSwitchInterfaceSecurityAccessModeSwitchInterfaceType주제 맵
DCM
123DEM
141DET
10Dlt
42이 릴리스에 대한 요소 데이터가 없습니다
DCM
Called by BndM to indicate that a block write operation has finished.
void Dcm_BndMWriteBlockFinish (BndM_BlockIdType BlockId, BndM_ResultType result);This call informs the DCM module about a ComM mode change to COMM_FULL_ COMMUNICATION.
void Dcm_ComM_FullComModeEntered (uint8 NetworkId);This call informs the DCM module about a ComM mode change to COMM_NO_ COMMUNICATION.
void Dcm_ComM_NoComModeEntered (uint8 NetworkId);This call informs the DCM module about a ComM mode change to COMM_SILENT_ COMMUNICATION.
void Dcm_ComM_SilentComModeEntered (uint8 NetworkId);This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer. Each call to this function provides the next part of the I-PDU data. The size of the remaining buffer is written to the position indicated by bufferSizePtr. This function might be called in interrupt context.
BufReq_ReturnType Dcm_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr. This function might be called in interrupt context.
BufReq_ReturnType Dcm_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);Can be called from CSM upon finishing an asynchronous job processing. The integrator will configure this name as callback function within the CSM ECUC configuration for asynchronous jobs. Only one such callback is available, the DCM detects the job that has finished by evaluating the job parameter. API availability: This API will be available only if ({ecuc(DCM/DCM Dsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).
Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result);Triggers on changes of the UDS status byte. Allows to trigger on ROE Event for subservice On DTCStatusChanged.
Std_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC, Dem_UdsStatusByteType DTCStatusOld, Dem_UdsStatusByteType DTCStatusNew);This function returns the active UDS protocol details
Std_ReturnType Dcm_GetActiveProtocol (Dcm_ProtocolType* ActiveProtocolType, uint16* ConnectionId, uint16* TesterSourceAddress);The Dcm_GetProgConditions callout is called upon DCM initialization and allows to determine if a response ($50 or $51) has to be sent. The context parameters are defined in Dcm_Prog ConditionsType.
Dcm_EcuStartModeType Dcm_GetProgConditions (Dcm_ProgConditionsType* ProgConditions);This function provides the active security level value.
Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);This function provides the active session control type value.
Std_ReturnType Dcm_GetSesCtrlType (Dcm_SesCtrlType* SesCtrlType);Returns the version information of this module
void Dcm_GetVersionInfo (Std_VersionInfoType* versionInfo);Function to get the VIN (as defined in SAE J1979-DA)
Std_ReturnType Dcm_GetVin (uint8* Data);Service for basic initialization of DCM module.
void Dcm_Init (const Dcm_ConfigType* ConfigPtr);Can be called from Key upon finishing an asynchronous certificate verification. The integrator will configure this name as callback function within the KeyM ECUC configuration for asynchronous jobs. Only one such callback is available, the DCM detects the certificate that has finished by evaluating the certId parameter. API availability: This API will be available only if ({ecuc(DCM/DcmDsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null).
Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished (KeyM_CertificateIdType CertID, KeyM_CertificateStatusType Result);This service is used for processing the tasks of the main loop.
void Dcm_MainFunction (void);Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x01 (AddFile).
Std_ReturnType Dcm_ProcessRequestAddFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x02 (DeleteFile). Manager
Std_ReturnType Dcm_ProcessRequestDeleteFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, Dcm_NegativeResponseCodeType* ErrorCode);Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x05 (ReadDir).
Std_ReturnType Dcm_ProcessRequestReadDir (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint64* dirInfoLength, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x04 (ReadFile).
Std_ReturnType Dcm_ProcessRequestReadFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function. DCM shall call this function to start a RequestFileTransfer process with mode OfOperation equal to 0x03 (ReplaceFile).
Std_ReturnType Dcm_ProcessRequestReplaceFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint8 dataFormatIdentifier, uint64 fileSizeUncompressed, uint64 fileSizeCompressed, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function. DCM shall call this function when data shall be sent as a response to UDS service TransferData if there's an ongoing RequestFileTransfer process started with 0x04 (ReadFile) or 0x05 (ReadDir).
Std_ReturnType Dcm_ReadFileOrDir (Dcm_OpStatusType OpStatus, uint64* DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);The Dcm_ReadMemory callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData
Dcm_ReturnReadMemoryType Dcm_ReadMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);The call to this function allows the application to reset the current session to Default session. Example: Automatic termination of an extended diagnostic session upon exceeding of a speed limit.
Std_ReturnType Dcm_ResetToDefaultSession (void);Allows to activate and deactivate the call of ComM_DCM_ActiveDiagnostic() function.
Std_ReturnType Dcm_SetActiveDiagnostic (boolean active);Sets a new role used in deauthenticated state for that connection. The set role is valid until the connection switches into authenticated state or the ECU is reset.
Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId, Dcm_AuthenticationRoleType deauthenticatedRole);The Dcm_SetProgConditions callout allows the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request. The context parameter are defined in Dcm_ProgConditionsType.
Std_ReturnType Dcm_SetProgConditions (Dcm_OpStatusType OpStatus, const Dcm_ProgConditionsType* ProgConditions);This function is called at the start of receiving an N-SDU. The N-SDU might be fragmented into multiple N-PDUs (FF with one or more following CFs) or might consist of a single N-PDU (SF). The service shall provide the currently available maximum buffer size when invoked with TpSdu Length equal to 0. This function might be called in interrupt context.
BufReq_ReturnType Dcm_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not. This function might be called in interrupt context.
void Dcm_TpRxIndication (PduIdType id, Std_ReturnType result);This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not. This function might be called in interrupt context.
void Dcm_TpTxConfirmation (PduIdType id, Std_ReturnType result);The call to this function allows to trigger an event linked to a ResponseOnEvent request. On the function call, the DCM will execute the associated service if the corresponding Mode of the Roe EventId is 'ROE started'.
Std_ReturnType Dcm_TriggerOnEvent (uint8 RoeEventId);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. This function might be called in interrupt context.
void Dcm_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);Callout function. DCM shall call this function when data is received using UDS service Transfer Data if there's an ongoing RequestFileTransfer process started with 0x01 (AddFile) or 0x03 (ReplaceFile).
Std_ReturnType Dcm_WriteFile (Dcm_OpStatusType OpStatus, uint64 DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);The Dcm_WriteMemory callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData
Dcm_ReturnWriteMemoryType Dcm_WriteMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);Callout function for condition check, manufacturer / supplier specific checks on the groupOf DTC, which is requested to clear.
Std_ReturnType Xxx_ClearDTCCheckFnc (uint32 GoDTC, Dcm_NegativeResponseCodeType* ErrorCode);Request to application for asynchronous comparing key (DcmDspSecurityUsePort = USE_ ASYNCH_CLIENT_SERVER)
Std_ReturnType Xxx_CompareKey (const uint8* Key, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application if the conditions to read the Data are correct.
Std_ReturnType Xxx_ConditionCheckRead (Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application if the conditions to read the Data are correct.
Std_ReturnType Xxx_ConditionCheckRead (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);This function confirms to the application the successful transmission or a transmission error of a diagnostic service.
Std_ReturnType Xxx_Confirmation (uint8 SID, uint8 ReqType, uint16 ConnectionId, Dcm_ConfirmationStatusType ConfirmationStatus, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);This function requests to the application to freeze the current state of an IOControl.
Std_ReturnType Xxx_FreezeCurrentState ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application to freeze the current state of an IOControl.
Std_ReturnType Xxx_FreezeCurrentState (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);The function provides the data related to the requested Infotype.
Std_ReturnType Xxx_GetInfotypeValueData (Dcm_OpStatusType OpStatus, uint8* DataValueBuffer, uint8* DataValueBufferSize);This function requests to the application for the scaling information of a Data.
Std_ReturnType Xxx_GetScalingInformation (uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application for the scaling information of a Data.
Std_ReturnType Xxx_GetScalingInformation (Dcm_OpStatusType OpStatus, uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);Read the attempt counter for a specific security level from the application
Std_ReturnType Xxx_GetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8* AttemptCounter);Request to application for asynchronous provision of seed value
Std_ReturnType Xxx_GetSeed (const uint8* SecurityAccessDataRecord, Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);Request to application for asynchronous provision of seed value
Std_ReturnType Xxx_GetSeed (Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);This function indicates to the application that a service is about to be executed and allows the application to reject the execution of the service request
Std_ReturnType Xxx_Indication (uint8 SID, const uint8* RequestData, uint32 DataSize, uint8 ReqType, uint16 ConnectionId, Dcm_NegativeResponseCodeType* ErrorCode, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);This function requests if a specific DID is available within the range or not.
Std_ReturnType Xxx_IsDidAvailable (uint16 DID, Dcm_OpStatusType OpStatus, Dcm_DidSupportedType* supported);Callout function. DCM shall call this callout function to start a download process. This service is needed for the implementation of UDS service RequestDownload.
Std_ReturnType Xxx_ProcessRequestDownload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function. DCM shall call this callout function to terminate a download or upload process. This callout is needed for the implementation of UDS service RequestTransferExit.
Std_ReturnType Xxx_ProcessRequestTransferExit (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);Callout function. DCM shall call this callout function to start an upload process. This service is needed for the implementation of UDS service RequestUpload.
Std_ReturnType Xxx_ProcessRequestUpload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);The ProcessTransferDataRead callout is used to request memory data identified by the parameter memoryAddress and memorySize from the UDS request message. This service is needed for the implementation of UDS services: • ReadMemoryByAddress • RequestUpload • ReadDataByIdentifier (in case of Dynamical DID defined by memory address) • TransferData
Dcm_ReturnReadMemoryType Xxx_ProcessTransferDataRead (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);The ProcessTransferDataWrite callout is used to write memory data identified by the parameter memoryAddress and memorySize. This service is needed for the implementation of UDS services : • WriteMemoryByAddress • RequestDownload • TransferData
Dcm_ReturnWriteMemoryType Xxx_ProcessTransferDataWrite (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_SYNCH_CLIENT_SERVER.
Std_ReturnType Xxx_ReadData (uint8* Data);This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.
Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data);This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.
Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);This function requests the application to return the data length in byte of a Data.
Std_ReturnType Xxx_ReadDataLength (uint16* DataLength);This function requests the application to return the data length in byte of a Data.
Std_ReturnType Xxx_ReadDataLength (Dcm_OpStatusType OpStatus, uint16* DataLength);This function requests to the application a data value of a DID
Std_ReturnType Xxx_ReadDidData (uint16 DID, uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);This function requests the application to return the data length of a DID Range.
Std_ReturnType Xxx_ReadDidRangeDataLength (uint16 DID, Dcm_OpStatusType OpStatus, uint16* DataLength);Invokes a TID-specific function taking a configured number of bytes as input and returing a fixed number of bytes as output. This is typically used to implement OBD Service $08
Std_ReturnType Xxx_RequestControl (uint8* OutBuffer, const uint8* InBuffer);This function requests to the application the result of a routine execution
Std_ReturnType Xxx_RequestResults (Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType* dataIn_1, ... DcmDspRoutineSignalType* dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType* dataOut_1, ... DcmDspRoutineSignalType* dataOut_n ], [ uint8* dataOutVar ], [ uint16* variableDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);This function indicates the transmission of a response to a RequestRoutineResults request
Std_ReturnType Xxx_RequestResultsConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);This function requests to the application to reset an IOControl to default value.
Std_ReturnType Xxx_ResetToDefault ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application to reset an IOControl to default value.
Std_ReturnType Xxx_ResetToDefault (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application to return control to ECU of an IOControl.
Std_ReturnType Xxx_ReturnControlToECU ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);Set the attempt counter for a specific security level in the application
Std_ReturnType Xxx_SetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8 AttemptCounter);This function requests to the application to adjust the IO signal.
Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application to adjust the IO signal.
Std_ReturnType Xxx_ShortTermAdjustment (const uint8* ControlStateInfo, uint16 DataLength, Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);This function requests to the application to start the execution of a routine.
Std_ReturnType Xxx_Start ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], Manager Dcm_OpStatusType OpStatus, [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType ErrorCode); ⚠️This function indicates the transmission of a response to a StartRoutine request
Std_ReturnType Xxx_StartConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);This function allows the application to examine the environment conditions and enable/disable further processing of the protocol.
Std_ReturnType Xxx_StartProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);This function requests to the application to stop the execution of a routine
Std_ReturnType Xxx_Stop ([ DcmDspRoutineSignalType dataIn_1, ... DcmDspRoutineSignalType dataIn_n ], [ const uint8* dataInVar ], [ DcmDspRoutineSignalType dataOut_1, ... DcmDspRoutineSignalType dataOut_n ], [ uint8* dataOutVar ], [ uint16* currentDataLength ], Dcm_NegativeResponseCodeType* ErrorCode);This function indicates the transmission of a response to a StopRoutine request
Std_ReturnType Xxx_StopConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);This function informs the application of the protocol stop.
Std_ReturnType Xxx_StopProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);This function requests the application to write a data value of a DID.
Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);This function requests the application to write a data value of a DID.
Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_NegativeResponseCodeType* ErrorCode);This function requests the application to write a data value of a DID.
Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);This function requests the application to write a data value of a DID.
Std_ReturnType Xxx_WriteData (const uint8* Data, uint16 DataLength, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);This function requests the application to write a data value of a DID.
Std_ReturnType Xxx_WriteDidData (uint16 DID, const uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting mode
Manager
This type defines a data structure for the post build parameters of the DCM . At initialization the DCM gets a pointer to a structure of this type to get access to its configuration data, which is necessary for initialization.
Allows the DCM to know if a diagnostic response shall be sent in the case of a jump from bootloader
This message context identifier can be used to determine the relation between request and response confirmation.
Additional information on message request. Datastructure: Bitfield
This data structure contains all information which is necessary to process a diagnostic message from request to response and response confirmation.
Base type for diagnostic message item
Length of diagnostic message (request, positive or negative response). The maximum length is dependent of the underlying transport protocol/media.
Base type for diagnostic message (request, positive or negative response)
Type Dcm_NegativeResponseCodeType.
Used in Dcm_SetProgConditions() to allow the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request.
Type Dcm_ProtocolType.
Return values of Callout Dcm_ReadMemory
Return type of callout Dcm_WriteMemory
Security Level type definition
Session type definition. 0, 127 and all values above 127 are reserved by ISO.
Base item type to transport status information.
ModeDeclarationGroup representing the different communication control states
ModeDeclarationGroup representing the enable/disable state for DTC storage
ModeDeclarationGroup representing the different diagnostic sessions Further modes to be added: {ecuc(DCM/DcmConfigSet/DcmDsp/DcmDspSession/ DcmDspSessionRow.SHORT-NAME)}
ModeDeclarationGroup representing the different ECU reset types
ModeDeclarationGroup representing the enable/disable state of rapid power shutdown
ModeDeclarationGroup representing the state of a Response On Event
ModeDeclarationGroup representing the different diagnostic security levels Further modes to be added: {ecuc(DCM/DcmConfigSet/DcmDsp/DcmDsp Security/DcmDspSecurityRow.SHORT-NAME)}
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic Session
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its type
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down mode
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security Level
DEM
Called by the DEM after the internal processing of Dem_SetEventFailedWithSyncFreezeFrame is done and a further call of Dem_SetEventFailedWithSyncFreezeFrame with the same event ID can be processed by the DEM. Tags: atp.Status=draft
Std_ReturnType Dem_CallbackEventSyncStorageProcessed (void);Clears single DTCs, as well as groups of DTCs.
Std_ReturnType Dem_ClearDTC (uint8 ClientId);Clears a prestored freeze frame of a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(DEM/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)
Std_ReturnType Dem_ClearPrestoredFreezeFrame (Dem_EventIdType EventId);Reports the value of a requested "availability-OBDMID" to the DCM upon a Service $06 request. Derived from that the tester displays the supported tests a mechanic can select from. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmGetAvailableOBDMIDs (uint8 Obdmid, uint32* Obdmidvalue);Gets DTC by freeze frame record number. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmGetDTCOfOBDFreezeFrame (uint8 FrameNumber, uint32* DTC, Dem_DTCFormatType DTCFormat);Reports a DTR data along with TID-value, UaSID, test result with lower and upper limit. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Service is used for requesting IUMPR data according to InfoType $08. This interface is derived from the prototype _GetInfotypeValueData() defined by the DCM. Therefore Dcm_Op StatusType and Std_ReturnType are contained. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmGetInfoTypeValue08 (Dcm_OpStatusType OpStatus, uint8* Iumprdata08, uint8* Iumprdata08BufferSize);Service is used for requesting IUMPR data according to InfoType $0B. This interface is derived from the prototype _GetInfotypeValueData() defined by the DCM. Therefore Dcm_Op StatusType and Std_ReturnType are contained. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmGetInfoTypeValue0B (Dcm_OpStatusType OpStatus, uint8* Iumprdata0B, uint8* Iumprdata0BBufferSize);Gets the number of TIDs per (functional) OBDMID. This can be used by the DCM to iteratively request for OBD/TID result data within a loop from 0....numberOfTIDs-1 API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmGetNumTIDsOfOBDMID (uint8 Obdmid, uint8* numberOfTIDs);Gets data element per PID and index of the most important freeze frame being selected for the output of service $02. The function stores the data in the provided DestBuffer. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmReadDataOfOBDFreezeFrame (uint8 PID, uint8 DataElementIndexOfPID, uint8* DestBuffer, uint16* BufSize);Service to report the value of PID $01 computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmReadDataOfPID01 (uint8* PID01value);Service to report the value of PID $1C computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmReadDataOfPID1C (uint8* PID1Cvalue);Service to report the value of PID $21 computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmReadDataOfPID21 (uint8* PID21value);Service to report the value of PID $30 computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmReadDataOfPID30 (uint8* PID30value);Service to report the value of PID $31 computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)
Std_ReturnType Dem_DcmReadDataOfPID31 (uint8* PID31value);Service to report the value of PID $41 computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmReadDataOfPID41 (uint8* PID41value);Service to report the value of PID $4D computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)
Std_ReturnType Dem_DcmReadDataOfPID4D (uint8* PID4Dvalue);Service to report the value of PID $4E computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)
Std_ReturnType Dem_DcmReadDataOfPID4E (uint8* PID4Evalue);Service to report the value of PID $91 computed by the DEM. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_DcmReadDataOfPID91 (uint8* PID91value);Disables the event memory update of a specific DTC (only one at one time).
Std_ReturnType Dem_DisableDTCRecordUpdate (uint8 ClientId);Disables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.
Std_ReturnType Dem_DisableDTCSetting (uint8 ClientId);Enables the event memory update of the DTC disabled by Dem_DisableDTCRecordUpdate() before. Note: As the call to Dem_EnableDTCRecordUpdate is the last action in the sequence of disabling/enabling a DTC, the caller is not interested in the return value. Therefore E_OK should be returned even if the DTC is enabled asynchronously.
Std_ReturnType Dem_EnableDTCRecordUpdate (uint8 ClientId);(Re)-Enables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.
Std_ReturnType Dem_EnableDTCSetting (uint8 ClientId);Service to report the value of the B1 counter computed by the DEM. API is needed in WWH-OBD relevant ECUs only
Std_ReturnType Dem_GetB1Counter (uint16* B1Counter);Gets the failed status of a DemComponent.
Std_ReturnType Dem_GetComponentFailed (Dem_ComponentIdType ComponentId, boolean* ComponentFailed);Returns the qualification state of the dependent operation cycle. API Availability: This API will be available only if any of the ({ecuc(DEM/DemGeneral/DEM OperationCycle.DemLeadingCycleRef)} != NULL)
Std_ReturnType Dem_GetCycleQualified (uint8 OperationCycleId, boolean* isQualified);Service to get the value of PID $21 from the DEM by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral/DemGeneral OBD.DemOBDCentralizedPID21Handling)} == true) && ({ecuc(DEM/DemGeneral.Dem OBDSupport)} == DEM_OBD_MASTER_ECU)
Std_ReturnType Dem_GetDataOfPID21 (uint8* PID21value);Gets the debouncing status of an event. This function shall not be used for EventId with native debouncing within their functions. It is rather for EventIds using debouncing within the DEM.
Std_ReturnType Dem_GetDebouncingOfEvent (Dem_EventIdType EventId, Dem_DebouncingStateType* DebouncingState);Gets the DTC by occurrence time. There is no explicit parameter for the DTC-origin as the origin always is DEM_DTC_ORIGIN_PRIMARY_MEMORY.
Std_ReturnType Dem_GetDTCByOccurrenceTime (uint8 ClientId, Dem_DTCRequestType DTCRequest, uint32* DTC);Gets the DTC of an event.
Std_ReturnType Dem_GetDTCOfEvent (Dem_EventIdType EventId, Dem_DTCFormatType DTCFormat, uint32* DTCOfEvent);Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs.
Std_ReturnType Dem_GetDTCSelectionResult (uint8 ClientId);Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs, respecting the settings if the DEM shall clear only all DTCs.
Std_ReturnType Dem_GetDTCSelectionResultForClearDTC (uint8 ClientId);Gets the DTC Severity availability mask.
Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);Gets the DTC Status availability mask of the selected fault memory.
Std_ReturnType Dem_GetDTCStatusAvailabilityMask (uint8 ClientId, Dem_UdsStatusByteType* DTCStatusMask, Dem_DTCOriginType DTCOrigin);Returns the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemSuppressionSupport)} == DEM_DTC_SUPPRESSION)
Std_ReturnType Dem_GetDTCSuppression (uint8 ClientId, boolean* SuppressionStatus);Get the Event's availability.
Std_ReturnType Dem_GetEventAvailable (Dem_EventIdType EventId, boolean* AvailableStatus);Gets the data of an extended data record by event.
Std_ReturnType Dem_GetEventExtendedDataRecordEx (Dem_EventIdType EventId, uint8 RecordNumber, uint8* DestBuffer, uint16* BufSize);Gets the data of a freeze frame by event.
Std_ReturnType Dem_GetEventFreezeFrameDataEx (Dem_EventIdType EventId, uint8 RecordNumber, uint16 DataId, uint8* DestBuffer, uint16* BufSize);Gets the event memory overflow indication status.
Std_ReturnType Dem_GetEventMemoryOverflow (uint8 ClientId, Dem_DTCOriginType DTCOrigin, boolean* OverflowIndication);Gets the current UDS status byte assigned to the DTC for the event
Std_ReturnType Dem_GetEventUdsStatus (Dem_EventIdType EventId, Dem_UdsStatusByteType* UDSStatusByte);Gets the fault detection counter of an event. This API can only be used through the RTE, and therefore no declaration is exported via Dem.h.
Std_ReturnType Dem_GetFaultDetectionCounter (Dem_EventIdType EventId, sint8* FaultDetectionCounter);Gets the functional unit of the requested DTC.
Std_ReturnType Dem_GetFunctionalUnitOfDTC (uint8 ClientId, uint8* DTCFunctionalUnit);Gets the indicator status derived from the UDS status. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral/DemEventMemory Set/DemIndicator)} != NULL)
Std_ReturnType Dem_GetIndicatorStatus (uint8 IndicatorId, Dem_IndicatorStatusType* IndicatorStatus);In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to retrieve the condition status from the DEM of the ECU where the conditions are computed. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_GetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType* ConditionStatus);Gets the current monitor status for an event.
Std_ReturnType Dem_GetMonitorStatus (Dem_EventIdType EventID, Dem_MonitorStatusType* MonitorStatus);Gets extended data record for the DTC selected by Dem_SelectExtendedDataRecord. The function stores the data in the provided DestBuffer.
Std_ReturnType Dem_GetNextExtendedDataRecord (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);Gets the next filtered DTC matching the filter criteria. For UDS services, the interface has an asynchronous behavior, because a large number of DTCs has to be processed.
Std_ReturnType Dem_GetNextFilteredDTC (uint8 ClientId, uint32* DTC, uint8* DTCStatus);Gets the next filtered DTC and its associated Fault Detection Counter (FDC) matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed and the FDC might be received asynchronously from a SW-C, too.
Std_ReturnType Dem_GetNextFilteredDTCAndFDC (uint8 ClientId, uint32* DTC, sint8* DTCFaultDetectionCounter);Gets the next filtered DTC and its associated Severity matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed.
Std_ReturnType Dem_GetNextFilteredDTCAndSeverity (uint8 ClientId, uint32* DTC, uint8* DTCStatus, Dem_DTCSeverityType* DTCSeverity, uint8* DTCFunctionalUnit);Gets the next freeze frame record number and its associated DTC stored in the event memory. The interface has an asynchronous behavior, because NvRAM access might be required.
Std_ReturnType Dem_GetNextFilteredRecord (uint8 ClientId, uint32* DTC, uint8* RecordNumber);Gets freeze frame data by the DTC selected by Dem_SelectFreezeFrameData. The function stores the data in the provided DestBuffer.
Std_ReturnType Dem_GetNextFreezeFrameData (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);Returns the number of entries currently stored in the requested event memory.
Std_ReturnType Dem_GetNumberOfEventMemoryEntries (uint8 ClientId, Dem_DTCOriginType DTCOrigin, uint8* NumberOfEventMemoryEntries);Gets the number of a filtered DTC.
Std_ReturnType Dem_GetNumberOfFilteredDTC (uint8 ClientId, uint16* NumberOfFilteredDTC);This function returns the number of all freeze frame records currently stored in the primary event memory
Std_ReturnType Dem_GetNumberOfFreezeFrameRecords (uint8 ClientId, uint16* NumberOfFilteredRecords);Gets the severity of the requested DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments).
Std_ReturnType Dem_GetSeverityOfDTC (Dem_DTCSeverityType* DTCSeverity, uint8 ClientId);Gets the size of Extended Data Record by DTC selected by the call of Dem_SelectExtended DataRecord.
Std_ReturnType Dem_GetSizeOfExtendedDataRecordSelection (uint8 ClientId, uint32* SizeOfExtendedDataRecord);Gets the size of freeze frame data by DTC selected by the call of Dem_SelectFreezeFrame Data.
Std_ReturnType Dem_GetSizeOfFreezeFrameSelection (uint8 ClientId, uint32* SizeOfFreezeFrame);Gets the status of a DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments). The DTCs of OBD Events Suppression shall be reported as Dem_WRONG_DTC.
Std_ReturnType Dem_GetStatusOfDTC (uint8 ClientId, uint8* DTCStatus);Gets the supported DTC formats of the ECU.The supported formats are configured via DEM TypeOfDTCSupported.
Dem_DTCTranslationFormatType Dem_GetTranslationType (uint8 ClientId);Returns the version information of this module. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemVersionInfoApi)} == true)
void Dem_GetVersionInfo (Std_VersionInfoType* versioninfo);Initializes or reinitializes this module.
void Dem_Init (const Dem_ConfigType* ConfigPtr);Clears the status of all event(s) related to the specified DTC(s), as well as all associated event memory entries for these event(s).
Std_ReturnType Dem_J1939DcmClearDTC (Dem_J1939DcmSetClearFilterType DTCTypeFilter, Dem_DTCOriginType DTCOrigin, uint8 ClientId);The function sets the filter to the first applicable DTC for the DM31 response for a specific node.
void Dem_J1939DcmFirstDTCwithLampStatus (uint8 ClientId);Gets the next filtered J1939 DTC for DM31 including current LampStatus.
Std_ReturnType Dem_J1939DcmGetNextDTCwithLampStatus (Dem_J1939DcmLampStatusType* LampStatus, uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);Gets the next filtered J1939 DTC.
Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);Gets the next filtered Ratio.
Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);Gets next SPN.
Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);Gets the number of currently filtered DTCs set by the function Dem_J1939DcmSetDTCFilter.
Std_ReturnType Dem_J1939DcmGetNumberOfFilteredDTC (uint16* NumberOfFilteredDTC, uint8 ClientId);Service to report the value of Diagnostic Readiness 1 (DM05) computed by the DEM.
Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness1 (Dem_J1939DcmDiagnosticReadiness1Type* DataValue, uint8 ClientId);Service to report the value of Diagnostic Readiness 2 (DM21) computed by the DEM.
Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness2 (Dem_J1939DcmDiagnosticReadiness2Type* DataValue, uint8 ClientId);Service to report the value of Diagnostic Readiness 3 (DM26) computed by the DEM.
Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness3 (Dem_J1939DcmDiagnosticReadiness3Type* DataValue, uint8 ClientId);The function sets the DTC filter for a specific node and returns the composite lamp status of the filtered DTCs.
Std_ReturnType Dem_J1939DcmSetDTCFilter (Dem_J1939DcmDTCStatusFilterType DTCStatusFilter, Dem_DTCKindType DTCKind, Dem_DTCOriginType DTCOrigin, uint8 ClientId, Dem_J1939DcmLampStatusType* LampStatus);The function sets the FreezeFrame filter for a specific node.
Std_ReturnType Dem_J1939DcmSetFreezeFrameFilter (Dem_J1939DcmSetFreezeFrameFilterType FreezeFrameKind, uint8 ClientId);The function sets the Ratio filter for a specific node and returns the corresponding Ignition Cycle Counter and General Denominator.
Std_ReturnType Dem_J1939DcmSetRatioFilter (uint16* IgnitionCycleCounter, uint16* OBDMonitoringConditionsEncountered, uint8 ClientId);Processes all not event based DEM internal functions.
void Dem_MainFunction (void);Initializes the internal states necessary to process events reported by BSW-modules.
void Dem_PreInit (void);Captures the freeze frame data for a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(DEM/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)
Std_ReturnType Dem_PrestoreFreezeFrame (Dem_EventIdType EventId);Service to report the value of PID $01 computed by the DEM. API is needed in OBD relevant ECUs only
Std_ReturnType Dem_ReadDataOfPID01 (uint8* PID01value);Service is used to release a denominator of a specific monitor. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_RepIUMPRDenRelease (Dem_RatioIdType RatioID);Service for reporting that faults are possibly found because all conditions are fullfilled. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_RepIUMPRFaultDetect (Dem_RatioIdType RatioID);Control the internal debounce counter/timer by BSW modules and SW-Cs. The event qualification will not be affected by these debounce state changes. This API is available for BSW modules as soon as Dem_PreInit has been completed (refer to SWS_Dem_00438 and SWS_Dem_00167).
Std_ReturnType Dem_ResetEventDebounceStatus (Dem_EventIdType EventId, Dem_DebounceResetStatusType DebounceResetStatus);Resets the event failed status. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.
Std_ReturnType Dem_ResetEventStatus (Dem_EventIdType EventId);Sets an operation cycle state. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. The interface has an asynchronous behavior to avoid exceeding of typical timing requirements on APIs if a large number of events has to be processed and during the re-initializations of the related monitors. The asynchronous acknowledgements are the related InitMonitorForEvent callbacks.
Std_ReturnType Dem_RestartOperationCycle (uint8 OperationCycleId);Selects a DTC or DTC group as target for further operations.
Std_ReturnType Dem_SelectDTC (uint8 ClientId, uint32 DTC, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin);Sets the filter to be used by Dem_GetNextExtendedDataRecord and Dem_GetSizeOfExtended DataRecordSelection.
Std_ReturnType Dem_SelectExtendedDataRecord (uint8 ClientId, uint8 ExtendedDataNumber);Sets the filter to be used by Dem_GetNextFreezeFrameData and Dem_GetSizeOfFreezeFrame Selection.
Std_ReturnType Dem_SelectFreezeFrameData (uint8 ClientId, uint8 RecordNumber);Set the availability of a specific DemComponent.
Std_ReturnType Dem_SetComponentAvailable (Dem_ComponentIdType ComponentId, boolean AvailableStatus);Sets a dependent operation cycle as qualified, so it may be processed along with its leading cycle.
Std_ReturnType Dem_SetCycleQualified (uint8 OperationCycleId);Service to set the value of PID $21 in the DEM by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetDataOfPID21 (const uint8* PID21value);Service to set the value of PID $31 in the DEM by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetDataOfPID31 (const uint8* PID31value);Service to set the value of PID $4D in the DEM by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetDataOfPID4D (const uint8* PID4Dvalue);Service to set the value of PID $4E in the DEM by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetDataOfPID4E (const uint8* PID4Evalue);Sets the DTC Filter. The server shall perform a bit-wise logical AND-ing operation between the parameter DTCStatusMask and the current UDS status in the server. In addition to the DTCStatus AvailabilityMask, the server shall return all DTCs for which the result of the AND-ing operation is non-zero [i.e. (statusOfDTC & DTCStatusMask) != 0]. The server shall process only the DTC Status bits that it is supporting. OBD Events Suppression shall be ignored for this computation. If no DTCs within the server match the masking criteria specified in the clients request, no DTC or status information shall be provided following the DTCStatusAvailabilityMask byte in the positive response message (((statusOfDTC & DTCStatusMask) != 0) && ((severity & DTCSeverityMask) != 0)) == TRUE
Std_ReturnType Dem_SetDTCFilter (uint8 ClientId, uint8 DTCStatusMask, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin, boolean FilterWithSeverity, Dem_DTCSeverityType DTCSeverityMask, boolean FilterForFaultDetectionCounter);Set the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemSuppression Support)} == DEM_DTC_SUPPRESSION)
Std_ReturnType Dem_SetDTCSuppression (uint8 ClientId, boolean SuppressionStatus);Reports a DTR result with lower and upper limit. The internal eventstatus serves as master whether the DTR values are forwarded or ignored, also taking the DTRUpdateKind into account. The EventId that is related to the DTR is assigned per configuration (and derived from ServiceNeeds). Processing takes enable/storage conditions into account. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetDTR (uint16 DTRId, sint32 TestResult, sint32 LowerLimit, sint32 UpperLimit, Dem_DTRControlType Ctrlval);Sets an enable condition. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral/DemEnable Condition)} != NULL)
Std_ReturnType Dem_SetEnableCondition (uint8 EnableConditionID, boolean ConditionFulfilled);Set the available status of a specific Event.
Std_ReturnType Dem_SetEventAvailable (Dem_EventIdType EventId, boolean AvailableStatus);Set the failure confirmation threshold of an event.
Std_ReturnType Dem_SetEventConfirmationThresholdCounter (Dem_EventIdType EventId, uint8 FailureCycleCounterThreshold);Service for reporting the event as disabled to the DEM for the PID $41 computation. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetEventDisabled (Dem_EventIdType EventId);If called the DEM sets the event to failed and this failed event requires that a snapshot record is captured, the DEM synchronously retrieves the data within the call of this API. Tags: atp.Status=draft
void Dem_SetEventFailedWithSyncFreezeFrame (Dem_EventIdType EventId);Called by SW-Cs or BSW modules to report monitor status information to the DEM. BSW modules calling Dem_SetEventStatus can safely ignore the return value. This API will be available only if ({DEM/DemConfigSet/DemEventParameter/DemEventReportingType} == STANDARD_REPORTING)
Std_ReturnType Dem_SetEventStatus (Dem_EventIdType EventId, Dem_EventStatusType EventStatus);This API will be available only if ({DEM/DemConfigSet/DemEventParameter/DemEvent ReportingType} == STANDARD_REPORTING_WITH_MONITOR_DATA)
Std_ReturnType Dem_SetEventStatusWithMonitorData (Dem_EventIdType EventId, Dem_EventStatusType EventStatus, Dem_MonitorDataType monitorData0, Dem_MonitorDataType monitorData1);Sets a freeze frame record filter.
Std_ReturnType Dem_SetFreezeFrameRecordFilter (uint8 ClientId, Dem_DTCFormatType DTCFormat);In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to forward the condition status to a DEM of a particular ECU. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType ConditionStatus);API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(DEM/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
Std_ReturnType Dem_SetPtoStatus (boolean PtoStatus);Sets a storage condition. API Availability: This API will be available only if ({ecuc(DEM/DemGeneral/DemStorage Condition)} != NULL)
Std_ReturnType Dem_SetStorageCondition (uint8 StorageConditionID, boolean ConditionFulfilled);Sets the WIR status bit via failsafe SW-Cs. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.
Std_ReturnType Dem_SetWIRStatus (Dem_EventIdType EventId, boolean WIRStatus);Shuts down this module.
void Dem_Shutdown (void);Identification of a DemComponent by assigned ComponentId. The ComponentId is automatically assigned by the DEM.
This type of the external data structure shall contain the post build initialization data for the DEM.
Array data type definition for external data elements
Data type definition for external data elements
This type contains all definitions to control an internal debounce counter/timer via the function Dem_ResetEventDebounceStatus().
This type is used to select the format of the DTC value.
This type is used to filter DTCs for their kind.
This enum is used to define the location of the events. The definition and use of the different memory types is OEM-specific.
This type is used to request a DTC with specific attributes.
DTC translation format as defined in ISO14229-1.
Control parameter for the interpretation of the reported test results.
Identification of an event by assigned EventId. The EventId is assigned by the DEM. Example: 1 refers to monitor x, 2 refers to monitor y, etc.
This type contains all monitor test result values, which can be reported via Dem_SetEventStatus().
Indicator mode used by Dem_GetIndicatorStatus().
(Re-)Initialization reason returned by the callback _DemInitMonitorFor().
This type contains all possible additional IUMPR denominator conditions to be broadcasted among OBD-relevant ECUs.
This type contains all possible states of an additional IUMPR denominator condition to be broadcasted among OBD-relevant ECUs.
This structure represents all data elemets of the DM05 message. The encoding shall be done acording SAE J1939-73
This structure represents all data elemets of the DM21 message. The encoding shall be done acording SAE J1939-73
This structure represents all data elemets of the DM26 message. The encoding shall be done acording SAE J1939-73
The type to distinguish which DTCs should be filtered.
For details refer SAE J1939-73
The type to distinguish which DTCs gets cleared
The type to distinguish which DTCs gets cleared
This type is used to pass monitoring data to the DEM.
OBD specific ratio Id (related to a specific event, a FID, and an IUMPR group). This type depends on the DEM configuration.
DET
-
Std_ReturnType <DetReportRuntimeErrorCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);-
Std_ReturnType <DetReportTransientFaultCallout> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);-
Std_ReturnType <User_Error_Hooks> (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);Returns the version information of this module.
void Det_GetVersionInfo (Std_VersionInfoType* versioninfo);Service to initialize the Default Error Tracer.
void Det_Init (const Det_ConfigType* ConfigPtr);Service to report development errors.
Std_ReturnType Det_ReportError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId);Service to report runtime errors. If a callout has been configured then this callout shall be called.
Std_ReturnType Det_ReportRuntimeError (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, faultErrorTracer uint8 ErrorId);Service to report transient faults. If a callout has been configured than this callout shall be called and the returned value of the callout shall be returned. Otherwise it returns immediately with E_ OK.
Std_ReturnType Det_ReportTransientFault (uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 FaultId);Service to start the Default Error Tracer.
void Det_Start (void);Configuration data structure of the DET module.
Dlt
Service Dlt_CopyRxData.
BufReq_ReturnType Dlt_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);Service Dlt_CopyTxData.
BufReq_ReturnType Dlt_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);Returns the Default Log Level currently used by the Dlt module. The returned Log Level might differ from the one which is stored no n volatile.
Std_ReturnType Dlt_GetDefaultLogLevel (Dlt_MessageLogLevelType* defaultLogLevel);Called to request information about registered Application Ids, their Context Ids and the corresponding log level.
Std_ReturnType Dlt_GetLogInfo (uint8 options, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, uint8* status, Dlt_LogInfoType* logInfo);Returns the current Trace Status for a given tuple Application Id/ Context Id.
Std_ReturnType Dlt_GetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean* traceStatus);Returns the version information of this module.
void Dlt_GetVersionInfo (Std_VersionInfoType* versioninfo);Dlt is using the NVRam Manager and is to be initialized very late in the ECU startup phase. The Dlt_ Init() function should be called after the NVRam Manager is initialized.
void Dlt_Init (const Dlt_ConfigType* config);The service Dlt_ Reset To Factory Default sets the Log Level and Trace Status back to the pers istently stored default values. If the feature Nv MRAM support is enabled, all stored Dlt values in the Nv M are deleted.
Std_ReturnType Dlt_ResetToFactoryDefault (void);Indication of a received PDU from a lower layer communication interface module.
void Dlt_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);The service represents the interface to be used by basic software modules or by software component to send Log Messages.
Std_ReturnType Dlt_SendLogMessage (Dlt_SessionIDType sessionId, const Dlt_MessageLogInfoType* logInfo, const uint8* logData, uint16 logDataLength);The service represents the interface to be used by basic software modules or by software components to trace parameters.
Std_ReturnType Dlt_SendTraceMessage (Dlt_SessionIDType sessionId, const Dlt_MessageTraceInfoType* traceInfo, const uint8* traceData, uint16 traceDataLength);Called to modify the pass through range for Log Messages for all not explicit set Context Ids.
Std_ReturnType Dlt_SetDefaultLogLevel (Dlt_MessageLogLevelType newLogLevel);This service is used to change the Log Level for the given tuple of Application ID/ Context ID.
Std_ReturnType Dlt_SetLogLevel (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, Dlt_MessageLogLevelType newLogLevel);Switches on/ off the mes sage filtering functionality of the Dlt module.
Std_ReturnType Dlt_SetMessageFiltering (boolean status);The service Dlt_ Set Trace Status sets the trace status for a specific tuple of Application ID and Context ID.
Std_ReturnType Dlt_SetTraceStatus (Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId, boolean newTraceStatus);This function is called at the start of receiving an N -
BufReq_ReturnType Dlt_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);Copies the current Dlt configuration to Nv RAM by calling Nv M_ Write Block().
Std_ReturnType Dlt_StoreConfiguration (void);Called after an I - PDU has been received via the TP API, the result indicates whether the transmission was successful or not.
void Dlt_TpRxIndication (PduIdType id, Std_ReturnType result);This function is called after the I - PDU has been transmitted on its network, the result indicates whether the transmission was succe ssful or not.
void Dlt_TpTxConfirmation (PduIdType id, Std_ReturnType result);Within this API , the upper layer module (called module) shall check whether the available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.
Std_ReturnType Dlt_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
void Dlt_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);-
void Dlt_TxFunction (void);The service has to be called when a software module is going to be stopped. Available vi a Dlt.h
Std_ReturnType Dlt_UnregisterContext (Dlt_SessionIDType sessionId, Dlt_ApplicationIDType appId, Dlt_ContextIDType contextId);Information about Applications
This type describes the Application Id. 0x00000000 means the so - called wildcard.
Adding or removing a Log Channel assignment for the given tuple of Application Id/ Context Id.
This is the type of the data structure containing the initialization data for Dlt.
Context Information
This type describes the Context Id. 0x00000000 means the so - called wildcard.
-
This type describes the count of arguments provided to a message.
Contains the unique Message Id for a message. This is only relevant in non - verbose mode.
This type describes the log lev el for each log message.
This type describes transported type of a Dlt BUSMESSAGE.
Bitfield
This type describes labels for trace messages.
This type describes the type of the message.
This type identifies the session.
This type describes the Log Channel name.
FiM
Service CBFidStatusChanged.
Std_ReturnType CBFidStatusChanged(FiM_FidStatusChangeType Status, boolean Permission);This service re-initializes the FIM.
void FiM_DemInit(void);Triggers on changes of the component failed status.
void FiM_DemTriggerOnComponentStatus(Dem_ComponentIdType ComponentId, boolean ComponentFailedStatus);This service is provided to be called by the DEM in order to inform the Fim about monitor status changes.
void FiM_DemTriggerOnMonitorStatus(Dem_EventIdType EventId);This service reports the permission state to the functionality.
Std_ReturnType FiM_GetFunctionPermission(FiM_FunctionIdType FID, boolean* Permission);This service returns the version information of this module.
void FiM_GetVersionInfo(Std_VersionInfoType* versioninfo);This service initializes the FIM.
void FiM_Init(const FiM_ConfigType* FiMConfigPtr);Service FiM_MainFunction.
void FiM_MainFunction(void);This service sets the availability of a function. The function is only available if FiMAvailability Support is configured as True.
Std_ReturnType FiM_SetFunctionAvailable(FiM_FunctionIdType FID, boolean Availability);This type defines a data structure for the post build parameters of the FIM. At initialization the FIM gets a pointer to a structure of this type to get access to its configuration data, which is necessary for initializsation.
Type for the FunctionID Variation –
클러스터 가이드AI 생성
UDS 및 OBD 진단 서비스 처리, 이벤트 저장 및 시스템 오류 추적을 위한 중앙 클러스터.
UDS 및 OBD 진단 서비스 처리, 이벤트 저장 및 시스템 오류 추적을 위한 중앙 클러스터.
Diagnostic Services 모듈 클러스터(DCM, DEM, DET, Dlt)는 AUTOSAR Classic Platform에서 UDS 및 OBD 진단 서비스를 위한 프로토콜 처리뿐만 아니라 중앙 집중식 오류 관리 및 추적 기능을 통합합니다(SWS DiagnosticCommunicationManager 56쪽). DCM은 PduR 버퍼를 통해 수신된 테스터 요청을 처리하고 DEM에서 상태, 스냅샷 및 프리즈 프레임 데이터를 쿼리합니다([SWS_Dcm_00094], [SWS_Dem_00215]). 이와 병행하여 DET 및 Dlt는 오류 진단을 위한 개발 오류 및 런타임 로그를 기록합니다([SWS_Det_00181], [SWS_Dlt_00241]).
AUTOSAR Classic Platform의 Diagnostic Services 모듈 클러스터는 DCM, DEM, DET, Dlt의 4개 모듈로 구성됩니다. 이는 외부 진단 세션 처리(ISO 14229에 따른 UDS, ISO 15031-5에 따른 OBD), 제어기 내 오류 관리, 개발 및 작동 모니터링을 위한 핵심 기반을 형성합니다(SWS DiagnosticCommunicationManager 56쪽, SWS DiagnosticEventManager 247쪽).
테스터의 진단 요청은 PduR 모듈에 의해 Dcm_StartOfReception(으)로 시작되며 수신 후 Dcm_TpRxIndication을(를) 통해 DCM으로 전달됩니다([SWS_Dcm_00094], [SWS_Dcm_00093]). DCM은 프로토콜을 디코딩하고 상태 쿼리, DTC 목록 또는 프리즈 프레임 데이터를 위해 DEM에 직접 액세스합니다(예: Dem_GetStatusOfDTC 또는 Dem_GetNextFilteredDTC 사용)([SWS_Dem_00212], [SWS_Dem_00215]). 비동기 인터페이스는 DEM_PENDING 또는 DCM_E_PENDING을(를) 통해 주기적인 MainFunctions의 컨텍스트에서 계산이 계속됨을 알립니다([SWS_Dem_00236], [SWS_Dcm_00539]).
컨텍스트 다이어그램: AUTOSAR 아키텍처 내 클러스터 모듈 DCM, DEM, DET 및 DLT의 임베딩. 출처: SWS DiagnosticEventManager 247쪽, SWS DiagnosticCommunicationManager 55쪽
DEM은 시간 또는 카운터 기반 디바운싱을 통해 오류를 한정하고([SWS_Dem_00426], [SWS_Dem_00683]), 구성 가능한 대체 전략을 사용하여 기본 메모리 및 사용자 메모리를 관리합니다([SWS_Dem_00400]). 이와 함께 DET는 Det_ReportError을(를) 통해 개발 오류를 기록하며([SWS_Det_00009]), Dlt 모듈은 Dlt_SendLogMessage을(를) 통해 로깅 및 추적 메시지를 필터링하고 구성된 로그 채널을 통해 제공합니다([SWS_Dlt_00241], [SWS_Dlt_00740]).
시퀀스 다이어그램: 테스터, DCM 및 DEM 간의 UDS DTC 상태 쿼리 흐름. 출처: SWS DiagnosticCommunicationManager 55쪽, [SWS_Dem_00215]
DCM의 작동 모드는 주로 Dcm_ComM_FullComModeEntered 및 Dcm_ComM_NoComModeEntered과(와) 같은 콜백을 통해 ComM에 의해 동기화됩니다([SWS_Dcm_00356], [SWS_Dcm_00360]). 비휘발성 상태는 DEM 및 Dlt가 NvM 모듈을 통해 보존합니다([SWS_Dem_00181], [SWS_Dlt_00453]).
1. 시스템 아키텍처 & 모듈 클러스터의 역할
AUTOSAR Classic Platform의 Diagnostic Services 모듈 클러스터는 System Services 계층에서 온보드 및 오프보드 진단, 오류 로깅 및 시스템 모니터링을 위한 모든 핵심 기능을 번들로 제공합니다. 이는 DCM(Diagnostic Communication Manager), DEM(Diagnostic Event Manager), DET(Default Error Tracer), Dlt(Diagnostic Log and Trace)의 4개 기본 소프트웨어 모듈로 구성됩니다. 이러한 모듈들은 차량 외부 진단 테스터, 내부 기능 소프트웨어, 그리고 ISO 14229(UDS) 및 ISO 15031-5/SAE J1979(OBD)에 따른 표준화된 프로토콜 간의 표준화된 연결 고리를 형성합니다(SWS DiagnosticCommunicationManager 56쪽, SWS DiagnosticEventManager 186쪽).
DCM은 테스터의 진단 요청을 위한 프로토콜 관리자 역할을 합니다. 내부적으로 Diagnostic Session Layer(DSL), Diagnostic Service Dispatcher(DSD) 및 Diagnostic Service Processing(DSP) 서브모듈로 나뉩니다. DCM은 세션 제어 및 보안 수준을 처리하고([SWS_Dcm_00338], [SWS_Dcm_00339]), PduR 모듈을 통해 진단 PDU를 수신하며([SWS_Dcm_00094]), 서비스 관련 요청을 애플리케이션 SW-C 또는 DEM으로 전달합니다([SWS_Dcm_00111]). DEM은 중앙 진단 메모리 역할을 수행합니다. 즉, 모니터의 오류 메시지를 처리하고, 디바운스 알고리즘을 실행하며([SWS_Dem_00426], [SWS_Dem_00683]), Diagnostic Trouble Code(DTC), 상태 마스크([SWS_Dem_00213]) 및 관련 스냅샷 및 Extended Data Record를 관리합니다([SWS_Dem_00039], [SWS_Dem_00239]).
추가적으로 DET는 기본 소프트웨어의 개발, 런타임 및 전환 오류 캡처를 담당하며([SWS_Det_00181], [SWS_Det_01003]), Dlt 모듈은 애플리케이션 및 BSW 모듈의 표준화된 로깅 및 추적 메시지를 집계, 필터링하여 외부 툴로 전송합니다([SWS_Dlt_00224], [SWS_Dlt_00241], [SWS_Dlt_00243]).
컨텍스트 다이어그램: AUTOSAR 아키텍처 내 클러스터 모듈 DCM, DEM, DET 및 DLT의 임베딩. 출처: SWS DiagnosticEventManager 247쪽, SWS DiagnosticCommunicationManager 55쪽, SWS DiagnosticLogAndTrace 46쪽
2. 상호작용 & 모듈 간의 상호작용 경로
기본 외부 상호작용 경로는 테스터의 수신 진단 메시지에 의해 시작됩니다. 전송 프로토콜이 PduR을 통해 새 진단 데이터를 알리면, PduR은 Dcm_StartOfReception을(를) 호출합니다([SWS_Dcm_00094], [SWS_Dcm_01672]). 버퍼 용량이 충분하면 DCM은 리소스를 예약하고 BUFREQ_OK(으)로 응답합니다. 그렇지 않은 경우 전송은 BUFREQ_E_OVFL 또는 BUFREQ_E_NOT_OK(으)로 거부됩니다([SWS_Dcm_00444], [SWS_Dcm_00642]). I-PDU가 완전히 수신되면 PduR은 Dcm_TpRxIndication을(를) 호출하며, 이에 따라 페이로드가 DSL에서 DSD로 전달됩니다([SWS_Dcm_00093], [SWS_Dcm_00111]).
UDS 서비스 0x19(ReadDTCInformation) 또는 OBD 서비스($01, $02, $03, $06)와 같은 진단 요청의 경우, DCM은 표준화된 DEM 인터페이스에 동기 및 비동기 방식으로 액세스합니다(AUTOSAR SWS DiagnosticEventManager 370쪽, AUTOSAR SWS DCM 87쪽). 예를 들어 DCM은 Dem_GetStatusOfDTC을(를) 통해 상태 정보를 읽거나([SWS_Dem_00212]), Dem_GetNextFilteredDTC([SWS_Dem_00215]) 또는 Dem_GetNextFilteredDTCAndFDC([SWS_Dem_00227])을(를) 사용하여 DTC를 순차적으로 필터링합니다. 프리즈 프레임 데이터 및 확장 레코드는 Dem_GetSizeOfFreezeFrameSelection, Dem_GetNextFreezeFrameData 및 Dem_GetNextExtendedDataRecord을(를) 통해 쿼리됩니다([SWS_Dem_00071], [SWS_Dem_00074], [SWS_Dem_00236], [SWS_Dem_00239]). 배출가스 관련 PID의 경우 DEM은 특정 데이터 버퍼를 제공하며, 예를 들어 PID $01은 Dem_DcmReadDataOfPID01을(를) 통해([SWS_Dem_00318]), OBDMID 테스트 결과는 Dem_DcmGetAvailableOBDMIDs 및 Dem_DcmGetDTRData을(를) 통해 제공합니다([SWS_Dem_00766], [SWS_Dem_00768]).
이와 병행하여 SW-C 및 BSW 모듈은 Dem_SetEventStatus을 통해 DEM에 이벤트 보고를 입력하거나([SWS_Dem_00183]), Dem_ResetEventDebounceStatus를 사용하여 디바운스 상태를 재설정합니다([SWS_Dem_00683]). 클러스터 내의 매개변수 검사 오류 또는 허용되지 않는 API 호출은 모든 관련 모듈이 Det_ReportError를 통해 DET에 보고합니다([SWS_Det_00009], [SWS_Det_00501]). 심층적인 추적을 위해 애플리케이션은 Dlt_SendLogMessage([SWS_Dlt_00241], [SWS_Dlt_00236]) 또는 Dlt_SendTraceMessage([SWS_Dlt_00243], [SWS_Dlt_00237])을 통해 구조화된 메시지를 Dlt에 전달합니다.
시퀀스 다이어그램: 테스터, DCM 및 DEM 간의 UDS DTC 상태 조회 흐름. 출처: SWS DiagnosticCommunicationManager 55쪽, AUTOSAR SWS DiagnosticEventManager 370쪽, [SWS_Dem_00215]
3. 동기화, 재진입성 및 태스크 컨텍스트
이 클러스터는 빠른 상태 조회를 위한 동기식 인터페이스 호출과 자원 집약적 처리를 위한 비동기식 패턴을 결합합니다. Dcm_TpRxIndication 또는 Dlt_TxConfirmation과 같은 PduR의 로우 레벨 콜백은 잠재적으로 인터럽트 컨텍스트에서 실행될 수 있습니다([SWS_Dcm_00093], [SWS_Dlt_00273]). 이러한 콜백은 블로킹 연산을 포함해서는 안 되며, 담당 모듈에 이벤트를 알리는 신호 역할만 수행합니다.
주기적 처리는 SchM에 의해 클록이 공급되는 Dem_MainFunction과 같은 메인 함수들을 통해 태스크 레벨에서 수행됩니다(SWS DiagnosticEventManager 247쪽). 여기서는 시간 기반 디바운스([SWS_Dem_00426]), NvM 쓰기 접근 및 메모리 정리가 처리됩니다. 비동기 충돌을 방지하기 위해 Dem_GetStatusOfDTC 또는 Dem_GetNextFilteredDTC와 같은 API는 서로 다른 ClientId 인스턴스에 대해서는 재진입이 가능(reentrant)하도록 설계되었으나, 동일한 ClientId에 대해서는 엄격하게 재진입이 불가능(non-reentrant)합니다([SWS_Dem_00212], [SWS_Dem_00215]). 서로 다른 EventId에 대해 재진입 가능하게 호출될 수 있는 Dem_SetEventStatus도 유사하게 동작합니다([SWS_Dem_00183]).
방대한 스냅샷 데이터 레코드 판독이나 메모리 작업(예: Dcm_ReadMemory, Dcm_WriteMemory)과 같이 장시간 실행되는 작업의 경우, DEM_PENDING 또는 DCM_E_PENDING과 같은 반환 값은 처리가 여전히 진행 중이며 주기적 태스크 컨텍스트의 후속 호출을 통해 완료되어야 함을 나타냅니다([SWS_Dem_00215], [SWS_Dem_00236], [SWS_Dcm_00539], [SWS_Dcm_00540]).
4. 전형적인 수명 주기 및 동작 모드
클러스터 모듈의 수명 주기는 고정된 초기화 및 초기화 해제 순서를 따릅니다. 초기 시작 단계 동안 Det_Start은 Error Tracer를 시작합니다([SWS_Det_00010]). DEM은 2단계 초기화를 거칩니다. Dem_PreInit 이후에는 기본 모니터링 및 디바운스가 활성화되며([SWS_Dem_00683]), 전체 초기화 Dem_Init는 NvM 시작 후에 수행됩니다([SWS_Dem_00181]). Dlt_Init은 NvM 이후에 호출되어 NvM_ReadBlock을 통해 지속 저장된 필터 및 채널 상태를 복원합니다([SWS_Dlt_00239], [SWS_Dlt_00453]). 시스템 셧다운 시 DEM은 Dem_Shutdown을 통해 오류 메모리 콘텐츠를 저장합니다([SWS_Dem_00182]).
실행 중에는 Communication Manager(ComM)가 콜백 함수를 통해 DCM의 통신 모드를 제어합니다. Dcm_ComM_FullComModeEntered은 정기적인 송수신 준비 상태 및 주기적 ID를 활성화합니다([SWS_Dcm_00360], SWS DiagnosticCommunicationManager 479쪽). Dcm_ComM_SilentComModeEntered은 정상 전송을 비활성화하고([SWS_Dcm_00358]), Dcm_ComM_NoComModeEntered는 모든 통신을 차단합니다([SWS_Dcm_00356]). 재프로그래밍 또는 ECU 리셋 시에는 Dcm_SetProgConditions 및 Dcm_GetProgConditions을 통해 부트로더 인계 매개변수가 교환됩니다([SWS_Dcm_00543], [SWS_Dcm_00544]). Dcm_ResetToDefaultSession을 통해 언제든지 기본 세션으로의 리셋을 강제할 수 있습니다([SWS_Dcm_00520]).
상태 다이어그램: ComM에 의해 제어되는 DCM의 통신 상태. 출처: AUTOSAR CP SWS DiagnosticCommunicationManager 478쪽, [SWS_Dcm_00356], [SWS_Dcm_00358], [SWS_Dcm_00360]
5. 오류 처리, DET 추적 및 디그레이데이션
진단 및 오류 처리 아키텍처는 개발 오류(DET)와 운영 시스템 결함(DEM)을 엄격히 구분합니다. DET는 구성된 사용자 콜아웃을 통해 런타임 및 개발 오류를 포착합니다([SWS_Det_00181], [SWS_Det_00501]). 일시적(transient) 오류는 Det_ReportTransientFault를 통해 신호되었습니다([SWS_Det_01003]). DCM에서는 Dcm_TxConfirmation를 통한 확인 실패로 전송 오류가 포착되며, 이에 따라 전송 버퍼가 해제되고 타임아웃이 클리어됩니다([SWS_Dcm_00351], ErrorDescription 26쪽).
DEM에서는 디바운스 필터를 통해 기능적 오류의 적격성을 판단합니다([SWS_Dem_00427], [SWS_Dem_00683]). 저장 조건 및 활성화 조건을 통해 저장 또는 디바운스를 선별적으로 억제할 수 있습니다(Dem_SetEnableCondition, Dem_SetStorageCondition)([SWS_Dem_00201], [SWS_Dem_00556]). 이벤트 메모리가 가득 찰 위험이 있는 경우, 우선순위가 낮거나 수동 상태인 기존 항목을 대체하는 대체 전략(Displacement)이 적용됩니다([SWS_Dem_00400], [SWS_Dem_00401], AUTOSAR SWS DiagnosticEventManager 98쪽). 메모리 오버플로는 Dem_GetEventMemoryOverflow를 통해 클라이언트에 보고됩니다([SWS_Dem_00559]). 비상 운전 프로그램의 비활성화를 위해 Dem_ResetEventStatus은 Failed 상태의 조기 재설정을 허용합니다([SWS_Dem_00185], SWS DiagnosticEventManager 79쪽).
Dlt 모듈은 로그 레벨(Dlt_SetDefaultLogLevel) 및 추적 상태(Dlt_SetTraceStatus, Dlt_SetMessageFiltering)의 동적 필터링을 통해 오류 분석을 지원합니다([SWS_Dlt_00254], [SWS_Dlt_00740], [SWS_Dlt_00770]). 구성을 영구적으로 저장하거나(Dlt_StoreConfiguration), Dlt_ResetToFactoryDefault을 통해 공장 출하 상태로 재설정할 수 있습니다([SWS_Dlt_00736], [SWS_Dlt_00739]). 해석: 오류 메시지의 자동 전달을 위한 DET와 Dlt 간의 직접 결합은 R20-11 릴리스에서 표준화된 콜아웃 훅 또는 애플리케이션 추적을 통해 이루어질 것으로 추정됩니다(SWS DefaultErrorTracer 1쪽). 질문 Q-c1cf364915fb6635 (열림)
본 지침서는 AUTOSAR 사양 R20-11에 따른 Diagnostic Services(DCM, DEM, DET, Dlt)의 핵심 아키텍처와 기능적 상호작용을 규범적으로 요약합니다.
Module im Cluster
Debugging (Dbg)
AUTOSAR Classic System Services-Modul Debugging (Dbg, Spezifikation: AUTOSAR_SWS_Debugging.pdf).
Diagnostic Communication Manager (DCM)
The DCM implements unified diagnostic services according to ISO 14229-1 (UDS) and ISO 15765-4 (OBD). It manages diagnostic sessions, security levels, and service routing.
Diagnostic Event Manager (DEM)
The DEM is responsible for processing and storing diagnostic events, fault memories, DTC statuses, and associated freeze frame data.
Default Error Tracer (DET)
The DET handles development errors, runtime errors, and transient faults across all BSW modules and SW-Cs.
Diagnostic Log and Trace (DLT)
The DLT module collects log messages and trace points and formats them into standardized DLT frames for external tooling.
Function Inhibition Manager (FiM)
AUTOSAR Classic System Services-Modul Function Inhibition Manager (FiM, Spezifikation: AUTOSAR_CP_SWS_FunctionInhibitionManager.pdf, AUTOSAR_SWS_FIM.pdf, AUTOSAR_SWS_FunctionInhibitionManager.pdf).
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문