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.
Funktionen — Übersicht
void Dcm_Init (const Dcm_ConfigType* ConfigPtr);Service for basic initialization of DCM module.void Dcm_GetVersionInfo (Std_VersionInfoType* versionInfo);Returns the version information of this moduleStd_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC, Dem_UdsStatusByteType DTCStatusOld, Dem_UdsStatusByteType DTCStatusNew);Triggers on changes of the UDS status byte.Std_ReturnType Dcm_GetVin (uint8* Data);Function to get the VIN (as defined in SAE J1979-DA)void Dcm_BndMWriteBlockFinish (BndM_BlockIdType BlockId, BndM_ResultType result);Called by BndM to indicate that a block write operation has finished.Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId, Dcm_AuthenticationRoleType deauthenticatedRole);Sets a new role used in deauthenticated state for that connection.Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);This function provides the active security level value.Std_ReturnType Dcm_GetSesCtrlType (Dcm_SesCtrlType* SesCtrlType);This function provides the active session control type value.Std_ReturnType Dcm_GetActiveProtocol (Dcm_ProtocolType* ActiveProtocolType, uint16* ConnectionId, uint16* TesterSourceAddress);This function returns the active UDS protocol detailsStd_ReturnType Dcm_ResetToDefaultSession (void);The call to this function allows the application to reset the current session to Default session.Std_ReturnType Dcm_TriggerOnEvent (uint8 RoeEventId);The call to this function allows to trigger an event linked to a ResponseOnEvent request.Std_ReturnType Dcm_SetActiveDiagnostic (boolean active);Allows to activate and deactivate the call of ComM_DCM_ActiveDiagnostic() function.BufReq_ReturnType Dcm_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);This function is called at the start of receiving an N-SDU.BufReq_ReturnType Dcm_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);This function is called to provide the received data of an I-PDU segment (N-PDU) to the upper layer.void Dcm_TpRxIndication (PduIdType id, Std_ReturnType result);Called after an I-PDU has been received via the TP API, the result indicates whether the transmission was successful or not.BufReq_ReturnType Dcm_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);This function is called to acquire the transmit data of an I-PDU segment (N-PDU).void Dcm_TpTxConfirmation (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...void Dcm_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.void Dcm_ComM_NoComModeEntered (uint8 NetworkId);This call informs the Dcm module about a ComM mode change to COMM_NO_ COMMUNICATION.void Dcm_ComM_SilentComModeEntered (uint8 NetworkId);This call informs the Dcm module about a ComM mode change to COMM_SILENT_ COMMUNICATION.void Dcm_ComM_FullComModeEntered (uint8 NetworkId);This call informs the Dcm module about a ComM mode change to COMM_FULL_ COMMUNICATION.Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result);Can be called from Csm upon finishing an asynchronous job processing.Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished (KeyM_CertificateIdType CertID, KeyM_CertificateStatusType Result);Can be called from Key upon finishing an asynchronous certificate verification.Dcm_ReturnReadMemoryType Dcm_ReadMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);The Dcm_ReadMemory callout is used to request memory data identified by the parameter memoryAddress and memorySize from the...Dcm_ReturnWriteMemoryType Dcm_WriteMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const uint8* MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);The Dcm_WriteMemory callout is used to write memory data identified by the parameter memoryAddress and memorySize.Std_ReturnType Dcm_SetProgConditions (Dcm_OpStatusType OpStatus, const Dcm_ProgConditionsType* ProgConditions);The Dcm_SetProgConditions callout allows the integrator to store relevant information prior to jumping to bootloader / jump...Dcm_EcuStartModeType Dcm_GetProgConditions (Dcm_ProgConditionsType* ProgConditions);The Dcm_GetProgConditions callout is called upon Dcm initialization and allows to determine if a response ($50 or $51) has to...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.Std_ReturnType Dcm_ProcessRequestDeleteFile (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, Dcm_NegativeResponseCodeType* ErrorCode);Callout function.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.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.Std_ReturnType Dcm_ProcessRequestReadDir (Dcm_OpStatusType OpStatus, uint16 filePathAndNameLength, const uint8* filePathAndName, uint64* dirInfoLength, uint64* maxNumberOfBlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function.Std_ReturnType Dcm_WriteFile (Dcm_OpStatusType OpStatus, uint64 DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);Callout function.Std_ReturnType Dcm_ReadFileOrDir (Dcm_OpStatusType OpStatus, uint64* DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);Callout function.void Dcm_MainFunction (void);This service is used for processing the tasks of the main loop.Std_ReturnType Xxx_GetSeed (const uint8* SecurityAccessDataRecord, Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);Request to application for asynchronous provision of seed valueStd_ReturnType Xxx_GetSeed (Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);Request to application for asynchronous provision of seed valueStd_ReturnType Xxx_CompareKey (const uint8* Key, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);Request to application for asynchronous comparing key (DcmDspSecurityUsePort = USE_ ASYNCH_CLIENT_SERVER)Std_ReturnType Xxx_GetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8* AttemptCounter);Read the attempt counter for a specific security level from the applicationStd_ReturnType Xxx_SetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8 AttemptCounter);Set the attempt counter for a specific security level in the applicationStd_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_SYNCH_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 to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.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_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 the application to return the data length in byte of a Data.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 requests to the application if the conditions to read the Data are correct.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);This function requests to the application for the scaling information of a Data.Std_ReturnType Xxx_ReturnControlToECU ([ 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_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 reset an IOControl to default value.Std_ReturnType Xxx_FreezeCurrentStateManager ([ 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_FreezeCurrentStateManager (Dcm_OpStatusType OpStatus, [ 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_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 adjust the IO signal.Std_ReturnType Xxx_IsDidAvailable (uint16 DID, Dcm_OpStatusType OpStatus, Dcm_DidSupportedType* supported);This function requests if a specific DID is available within the range or not.Std_ReturnType Xxx_ReadDidData (uint16 DID, uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);This function requests to the application a data value of a DIDStd_ReturnType Xxx_WriteDidData (uint16 DID, const uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);This function requests the application to write a data value of a DID.Std_ReturnType Xxx_ReadDidRangeDataLength (uint16 DID, Dcm_OpStatusType OpStatus, uint16* DataLength);This function requests the application to return the data length of a DID Range.Std_ReturnType Xxx_GetInfotypeValueData (Dcm_OpStatusType OpStatus, uint8* DataValueBuffer, uint8* DataValueBufferSize);The function provides the data related to the requested Infotype.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 requests to the application to start the execution of a routine.Std_ReturnType Xxx_StartConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);This function indicates the transmission of a response to a StartRoutine requestStd_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 requests to the application to stop the execution of a routineStd_ReturnType Xxx_StopConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);This function indicates the transmission of a response to a StopRoutine requestStd_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 requests to the application the result of a routine executionStd_ReturnType Xxx_RequestResultsConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);This function indicates the transmission of a response to a RequestRoutineResults requestStd_ReturnType Xxx_RequestControl (uint8* OutBuffer, const uint8* InBuffer);Invokes a TID-specific function taking a configured number of bytes as input and returing a fixed number of bytes as output.Std_ReturnType Xxx_StartProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);This function allows the application to examine the environment conditions and enable/disable further processing of the protocol.Std_ReturnType Xxx_StopProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);This function informs the application of the protocol stop.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 indicates to the application that a service is about to be executed and allows the application to reject the...Std_ReturnType Xxx_Confirmation (uint8 SID, uint8 ReqType, uint16 ConnectionId, Dcm_ConfirmationStatusType ConfirmationStatus, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);This function confirms to the application the successful transmission or a transmission error of a diagnostic service.Std_ReturnType Xxx_ClearDTCCheckFnc (uint32 GoDTC, Dcm_NegativeResponseCodeType* ErrorCode);Callout function for condition check, manufacturer / supplier specific checks on the groupOf DTC, which is requested to clear.Std_ReturnType Xxx_ProcessRequestDownload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function.Std_ReturnType Xxx_ProcessRequestTransferExit (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);Callout function.Std_ReturnType Xxx_ProcessRequestUpload (Dcm_OpStatusType OpStatus, uint8 DataFormatIdentifier, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint32* BlockLength, Dcm_NegativeResponseCodeType* ErrorCode);Callout function.Dcm_ReturnReadMemoryType Xxx_ProcessTransferDataRead (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);The ProcessTransferDataRead callout is used to request memory data identified by the parameter memoryAddress and memorySize...Dcm_ReturnWriteMemoryType Xxx_ProcessTransferDataWrite (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const Dcm_RequestDataArrayType MemoryData, Dcm_NegativeResponseCodeType* ErrorCode);The ProcessTransferDataWrite callout is used to write memory data identified by the parameter memoryAddress and memorySize.
Typen — Übersicht
enum Dcm_StatusTypeBase item type to transport status information.enum Dcm_CommunicationModeType Managerstruct Dcm_ConfigTypeThis type defines a data structure for the post build parameters of the DCM.Dcm_ReturnReadMemoryTypeReturn values of Callout Dcm_ReadMemoryDcm_ReturnWriteMemoryTypeReturn type of callout Dcm_WriteMemoryenum Dcm_EcuStartModeTypeAllows the DCM to know if a diagnostic response shall be sent in the case of a jump from bootloaderDcm_ProgConditionsTypeUsed in Dcm_SetProgConditions() to allow the integrator to store relevant information prior to jumping to bootloader / jump...Dcm_MsgItemTypeBase type for diagnostic message itemDcm_MsgTypeBase type for diagnostic message (request, positive or negative response)Dcm_MsgLenTypeLength of diagnostic message (request, positive or negative response).struct Dcm_MsgAddInfoTypeAdditional information on message request.Dcm_IdContextTypeThis message context identifier can be used to determine the relation between request and response confirmation.struct Dcm_MsgContextTypeThis data structure contains all information which is necessary to process a diagnostic message from request to response and...enum Dcm_ExtendedOpStatusTypeenum Dcm_OpStatusTypeenum Dcm_ConfirmationStatusTypeDcm_SecLevelTypeSecurity Level type definitionDcm_SesCtrlTypeSession type definition.Dcm_ProtocolTypeType Dcm_ProtocolType.Dcm_NegativeResponseCodeTypeType Dcm_NegativeResponseCodeType.Dcm_DataArrayTypeDcm_InfoTypeDcm_RequestDataArrayTypeDcm_InputOutputControlParameterTypeDcm_IOOperationResponseTypeDcm_DidSupportedTypeDcm_FileAndDirNameTypeDcm_ResponseDataArrayTypeDcm_AuthenticationRoleTypeDiagnosticSessionControlModeSwitchInterfaceA ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic SessionEcuResetModeSwitchInterfaceA ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its typeModeRapidPowerShutDownModeSwitchInterfaceA ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down modeControlDTCSettingModeSwitchInterfaceA ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting modeSecurityAccessModeSwitchInterfaceA ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security LevelDcmDiagnosticSessionControlModeDeclarationGroup representing the different diagnostic sessions Further modes to be added:...DcmEcuResetModeDeclarationGroup representing the different ECU reset typesDcmModeRapidPowerShutDownModeDeclarationGroup representing the enable/disable state of rapid power shutdownDcmCommunicationControlModeDeclarationGroup representing the different communication control statesDcmControlDTCSettingModeDeclarationGroup representing the enable/disable state for DTC storageDcmResponseOnEventModeDeclarationGroup representing the state of a Response On EventDcmSecurityAccessModeDeclarationGroup representing the different diagnostic security levels Further modes to be added:...
Funktionen & Typen — Detailansicht
functie Dcm_Init [SWS_Dcm_00037] 📄 PDF
void Dcm_Init (const Dcm_ConfigType* ConfigPtr);
Service for basic initialization of DCM module.
De synchrone en niet-re-entrante functie Dcm_Init dient voor de fundamentele initialisatie van de DCM-module [SWS_Dcm_00037]. Deze accepteert via de parameter ConfigPtr een pointer naar de configuratieset bij post-build-varianten en heeft geen retourwaarde [SWS_Dcm_00037]. Tijdens de uitvoering initialiseert de module alle globale DCM-variabelen met de waarden uit de configuratie [SWS_Dcm_00334].
In het kader van het initialisatieproces worden verschillende functionele gebieden en toestanden geconfigureerd:
- DDDID-beheer: Als de configuratieparameter
DcmDDDIDStorageopFALSEis ingesteld, initialiseert het DCM bij het opstarten alle dynamisch gedefinieerde data-identifiers (DDDIDs) als niet aanwezig [SWS_Dcm_00866]. Als de parameter opTRUEis ingesteld, worden de DDDID-definities hersteld uit het NvM [SWS_Dcm_00867]. - Response on Event (ROE): Het DCM brengt de toestand van elk event tijdens
Dcm_Initover naar de status 'ROE cleared' [SWS_Dcm_00872]. - Authenticatiestatus: Wanneer
DcmDspAuthenticationPersistStateModeRuleRefniet is geconfigureerd of de gerefereerde modusregel resulteert infalse, brengt de module alle authenticatietoestanden naar de toestand 'deauthenticated' [SWS_Dcm_01480]. - Communicatiestatus: Na afronding van
Dcm_Initstelt het DCM de parameterActiveDiagnosticin op 'DCM_COMM_ACTIVE' [SWS_Dcm_01069].
Wat betreft de uitvoeringsomgeving is vastgelegd dat Dcm_Init niet-re-entrant is [SWS_Dcm_00037]. Specifieke foutcodes en gestandaardiseerde foutmeldingen aan DET of DEM worden voor deze initialisatieservice in de interfacespecificatie niet vermeld [SWS_Dcm_00037].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_GetVersionInfo [SWS_Dcm_00065] 📄 PDF
void Dcm_GetVersionInfo (Std_VersionInfoType* versionInfo);
Returns the version information of this module
functie Dcm_DemTriggerOnDTCStatus [SWS_Dcm_00614] 📄 PDF
Std_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC, Dem_UdsStatusByteType DTCStatusOld, Dem_UdsStatusByteType DTCStatusNew);
Triggers on changes of the UDS status byte. Allows to trigger on ROE Event for subservice On DTCStatusChanged.
Gebruik
De synchrone interface Dcm_DemTriggerOnDTCStatus (Service-ID 0x2B) is beschikbaar via de header Dcm_Dem.h en dient ertoe wijzigingen van de UDS-statusbyte aan het DCM te melden [SWS_Dcm_00614]. Dit stelt het DCM in staat om Response-on-Event-gebeurtenissen (ROE) te triggeren voor de diagnosedienst-subservice OnDTCStatusChanged [SWS_Dcm_00614]. Bij aanroep accepteert de functie drie invoerparameters: de desbetreffende foutcode DTC (uint32), de eerdere toestand DTCStatusOld (Dem_UdsStatusByteType) en de bijgewerkte toestand DTCStatusNew (Dem_UdsStatusByteType) [SWS_Dcm_00614]. In- en uitvoerparameters bestaan niet [SWS_Dcm_00614].
Retourwaarden en foutafhandeling
Als retourwaarde levert de functie het type Std_ReturnType op, waarbij volgens de specificatie zonder uitzondering E_OK wordt geretourneerd [SWS_Dcm_00614]. Specifieke foutcodes, fallback-waarden of afzonderlijke notificaties aan DEM of DET zijn voor deze aanroep niet gedefinieerd.
Gelijktijdigheid en wisselwerking
De functie is geclassificeerd als re-entrant en beschikt over een synchrone uitvoeringssemantiek [SWS_Dcm_00614]. Met betrekking tot de wisselwerking met diagnoseverzoeken geldt een vaste randvoorwaarde: als in het DCM momenteel een verzoek tot het wissen van het gebeurtenisgeheugen (EventMemory) wordt verwerkt, moet het DCM inkomende aanroepen van de callback Dcm_DemTriggerOnDTCStatus negeren [SWS_Dcm_01410].
Deze gebruiksinstructie is gebaseerd op de specificaties van de AUTOSAR Classic-release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_GetVin [SWS_Dcm_00950] 📄 PDF
Std_ReturnType Dcm_GetVin (uint8* Data);
Function to get the VIN (as defined in SAE J1979-DA)
functie Dcm_BndMWriteBlockFinish [SWS_Dcm_91088] 📄 PDF
void Dcm_BndMWriteBlockFinish (BndM_BlockIdType BlockId, BndM_ResultType result);
Called by BndM to indicate that a block write operation has finished.
De functie Dcm_BndMWriteBlockFinish dient als notificatie-interface van de BndM aan de DCM om de voltooiing van een blokschrijfbewerking aan te geven [SWS_Dcm_91088]. De functie is gedeclareerd in het headerbestand Dcm.h, heeft de service-ID 0x7a, levert geen retourwaarde (void) en wordt synchroon uitgevoerd [SWS_Dcm_91088].
De interface verwacht twee overdrachtsparameters [SWS_Dcm_91088]:
BlockId(type:BndM_BlockIdType): Identificeert het blok waarvan de schrijfbewerking is voltooid.result(type:BndM_ResultType): Verzendt het resultaat van de schrijfbewerking naar de DCM.
De functionele interactie en het gedrag in geval van een fout zijn gekoppeld aan eerder door de DCM geïnitieerde atomaire BndM-schrijfbewerkingen:
- Als
Dcm_BndMWriteBlockFinishwordt aangeroepen met de statusresult = E_OK, verzendt de DCM een positief diagnose-antwoord op het openstaande verzoek [SWS_Dcm_01584]. - Wordt de functie aangeroepen met
result = E_NOT_OK, dan reageert de DCM in geval van een fout met een negatief diagnose-antwoord0x72(generalProgrammingFailure) [SWS_Dcm_01585].
Wat betreft gelijktijdigheid is Dcm_BndMWriteBlockFinish gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Dcm_91088]. Oproepers moeten bijgevolg waarborgen dat de functie niet parallel of onderbrekend door meerdere contexten wordt aangeroepen.
Deze gebruiksinstructie is gegenereerd door een AI en gebaseerd op de AUTOSAR-specificatie R20-11.
functie Dcm_SetDeauthenticatedRole [SWS_Dcm_91069] 📄 PDF
Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId, Dcm_AuthenticationRoleType deauthenticatedRole);
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.
Gebruik en aanroepcontext
De functie Dcm_SetDeauthenticatedRole wordt synchroon en re-entrant uitgevoerd ([SWS_Dcm_91069]). Deze stelt een softwarecomponent in staat om voor een door connectionId geïdentificeerde verbinding een nieuwe rol deauthenticatedRole van het type Dcm_AuthenticationRoleType voor de gedeauthenticeerde toestand toe te wijzen ([SWS_Dcm_91069], [SWS_Dcm_01486]). Als retourwaarde wordt zonder uitzondering E_OK geleverd ([SWS_Dcm_91069]).
Toestandsvoorwaarden en foutafhandeling
Een aanroep wordt door de DCM uitsluitend verwerkt als de verbinding zich in de gedeauthenticeerde toestand (deauthenticated state) bevindt ([SWS_Dcm_01487]). Aangezien de signatuur niet in alternatieve foutwaarden voorziet en altijd E_OK retourneert ([SWS_Dcm_91069]), wordt een aanroep buiten deze toestand vermoedelijk zonder foutmelding verworpen. Vraag Q-6f14770eae6ce896 (open) Specifieke DET- of DEM-events zijn in de specificatie niet gedefinieerd.
Geldigheidsduur en levenscyclus
Als de rol voor de gedeauthenticeerde toestand succesvol wordt overgenomen ([SWS_Dcm_01486]), blijft deze toewijzing tijdelijk bestaan:
- De ingestelde rol wordt verworpen zodra de verbinding overgaat naar de geauthenticeerde toestand (authenticated state) ([SWS_Dcm_01488]).
- De geldigheid eindigt uiterlijk bij een reset van de regeleenheid ([SWS_Dcm_91069]).
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_GetSecurityLevel [SWS_Dcm_00338] 📄 PDF
Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);
This function provides the active security level value.
De synchrone en re-entrante functie Dcm_GetSecurityLevel vraagt het actueel actieve beveiligingsniveau van de DCM op en stelt dit beschikbaar [SWS_Dcm_00338]. De functie is gedeclareerd via de header Dcm.h en geeft de bepaalde statuswaarde via de uitvoerparameter SecLevel van het type Dcm_SecLevelType* door aan de aanroeper. Als retourwaarde wordt volgens de specificatie zonder uitzondering E_OK geretourneerd [SWS_Dcm_00338].
Het bepalen van het interne beveiligingsniveau is gebaseerd op de door de tester in het kader van de dienst SecurityAccess verzonden parameter SecurityAccessType volgens de vaste omrekeningsformule SecurityLevel = (SecurityAccessType + 1) / 2 [SWS_Dcm_00338].
In het samenspel met de bovenliggende diagnosedienstverwerking maakt onder andere de DSP-submodule gebruik van deze waarde: als de module een geconfigureerd verzoek met het subfunctietype „requestSeed” (oneven waarde) ontvangt en het bijbehorende toegangsniveau volgens Dcm_GetSecurityLevel reeds actief is, stelt de DSP-submodule de seed-inhoud in op 0x00 [SWS_Dcm_00323].
Wat betreft gelijktijdigheid en foutafhandeling is de functie gedefinieerd als re-entrant [SWS_Dcm_00338]. Aangezien er geen specifieke foutcodes of DET-controles zijn gespecificeerd en altijd E_OK wordt geretourneerd, vindt er vermoedelijk geen controle op null-pointers plaats; aanroepers moeten daarom vermoedelijk altijd een geldige pointer naar geheugenruimte voor SecLevel doorgeven. Vraag Q-5402d82ac0151b22 (open)
Deze tekst is opgesteld door een AI. Gegevens kunnen onvolledig zijn; bepalend is de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie Dcm_GetSesCtrlType [SWS_Dcm_00339] 📄 PDF
Std_ReturnType Dcm_GetSesCtrlType (Dcm_SesCtrlType* SesCtrlType);
This function provides the active session control type value.
functie Dcm_GetActiveProtocol [SWS_Dcm_00340] 📄 PDF
Std_ReturnType Dcm_GetActiveProtocol (Dcm_ProtocolType* ActiveProtocolType, uint16* ConnectionId, uint16* TesterSourceAddress);
This function returns the active UDS protocol details
functie Dcm_ResetToDefaultSession [SWS_Dcm_00520] 📄 PDF
Std_ReturnType Dcm_ResetToDefaultSession (void);
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.
De synchrone functie Dcm_ResetToDefaultSession stelt de applicatie in staat om de actieve diagnosesessie terug te zetten naar de standaardsessie (Default Session) [SWS_Dcm_00520]. Een typische use-case is de automatische beëindiging van een uitgebreide diagnosesessie zodra een voertuig een vooraf ingestelde snelheidsdrempel overschrijdt [SWS_Dcm_00520].
Gebruik en foutafhandeling
-
Interface en parameters: De functie is beschikbaar via
Dcm.hmet de Service-ID0x2a, heeft de signatuurStd_ReturnType Dcm_ResetToDefaultSession (void)en vereist geen overdrachtsparameters [SWS_Dcm_00520]. -
Retourwaarde en fouten: Als retourtype wordt
Std_ReturnTypeteruggeleverd, waarbij zonder uitzondering de waardeE_OKwordt teruggegeven [SWS_Dcm_00520]. Specifieke foutcodes, DET-runtimecontroles of DEM-gebeurtenissen zijn in de eisen voor deze aanroep niet gespecificeerd.
Gelijktijdigheid en wisselwerking
De uitvoering verloopt synchroon en is gedeclareerd als re-entrant [SWS_Dcm_00520].
Naast de feitelijke sessiewisseling initieert Dcm_ResetToDefaultSession dwingend een moduswijziging voor de ModeDeclarationGroupPrototype DcmDiagnosticSessionControl [SWS_Dcm_01062]. Hierbij roept de functie intern SchM_Switch_<bsnp>_DcmDiagnosticSessionControl(RTE_MODE_DcmDiagnosticSessionControl_DCM_DEFAULT_SESSION) aan om de systeemomgeving te notificeren over de overgang naar de standaardsessie [SWS_Dcm_01062].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dcm_TriggerOnEvent [SWS_Dcm_00521] 📄 PDF
Std_ReturnType Dcm_TriggerOnEvent (uint8 RoeEventId);
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'.
De synchrone functie Dcm_TriggerOnEvent (service-ID 0x2D), beschikbaar gesteld via de header Dcm.h, dient voor het triggeren van een gebeurtenis die gekoppeld is aan een ResponseOnEvent-verzoek (ROE) [SWS_Dcm_00521].
Aanroep en werking
De aanroeper draagt als enige parameter RoeEventId over (ingangsparameter van het type uint8), die de te triggeren gebeurtenis identificeert; in- of uitgangsparameters bestaan niet [SWS_Dcm_00521]. Zodra de functie wordt aangeroepen, controleert de DCM de toestand van de gebeurtenis: als de overgedragen RoeEvent actief is, triggert de DCM de desbetreffende gebeurtenis [SWS_Dcm_00920]. De DCM voert de met de gebeurtenis geassocieerde dienst uit, mits de bijbehorende modus van de RoeEventId op 'ROE started' staat [SWS_Dcm_00521].
Retourwaarden en validatie
De aanroep retourneert synchroon een status van het type Std_ReturnType, die uitsluitsel geeft over de geldigheid van de parameter [SWS_Dcm_00521]:
E_OK: De overgedragen waarde voorRoeEventIdis geldig [SWS_Dcm_00521].E_NOT_OK: De waarde vanRoeEventIdis ongeldig [SWS_Dcm_00521].
Gelijktijdigheid en eigenschappen
De interface is als re-entrant gespecificeerd [SWS_Dcm_00521]. Deze kan zodoende gelijktijdig worden aangeroepen om gebeurtenissen synchroon aan de DCM te melden [SWS_Dcm_00521].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dcm_SetActiveDiagnostic [SWS_Dcm_01068] 📄 PDF
Std_ReturnType Dcm_SetActiveDiagnostic (boolean active);
Allows to activate and deactivate the call of ComM_DCM_ActiveDiagnostic() function.
functie Dcm_StartOfReception [SWS_Dcm_00094] 📄 PDF
BufReq_ReturnType Dcm_StartOfReception (PduIdType id, const PduInfoType* info, PduLengthType TpSduLength, PduLengthType* bufferSizePtr);
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.
De synchrone en re-entrante functie Dcm_StartOfReception ([SWS_Dcm_00094]) wordt door een transportprotocolmodule aan het begin van de ontvangst van een N-SDU aangeroepen – zowel bij enkelvoudige berichten (Single Frame, SF) als bij gesegmenteerde berichten (First Frame, FF). Deze kan in de interruptcontext worden aangeroepen ([SWS_Dcm_00094]). De aanroep bewerkt onder andere het stoppen van de S3Server-timer bij aanvang van de ontvangst ([SWS_Dcm_00141]).
Via info worden gebruikersdata en metadata overgedragen; bij generieke verbindingen worden hierdoor onder andere SOURCE_ADDRESS_16 opgeslagen ([SWS_Dcm_00848]) en TARGET_ADDRESS_16 gecontroleerd ([SWS_Dcm_01347]). Als er noch payload noch metadata aanwezig is, wordt NULL_PTR doorgegeven ([SWS_Dcm_00094]). Via bufferSizePtr meldt de functie de beschikbare buffer terug voor de berekening van de Block Size (BS) ([SWS_Dcm_00094]). Bij succesvolle acceptatie levert zij BUFREQ_OK op, waarna vervolgdata via Dcm_CopyRxData worden gekopieerd ([SWS_Dcm_00443]).
Fout- en afwijzingsgevallen worden via de retourwaarde gesignaleerd:
BUFREQ_E_OVFL: Wordt teruggegeven als de opgevraagde lengteTpSduLengthgroter is dan de in de DCM beschikbare buffer ([SWS_Dcm_00094], [SWS_Dcm_00444]).bufferSizePtrblijft ongewijzigd ([SWS_Dcm_00094]).BUFREQ_E_NOT_OK: Wordt teruggegeven wanneerTpSduLengthgelijk is aan 0 ([SWS_Dcm_00642]) of een lopend verzoek op dezelfde verbinding blokkeert ([SWS_Dcm_00557]). Bij een andere verbinding bepaalt de parameterDcmDslDiagRespOnSecondDeclinedRequestof er metBUFREQ_E_NOT_OKwordt afgewezen ([SWS_Dcm_00790]) of metBUFREQ_OKwordt geaccepteerd ([SWS_Dcm_00788]). Gelijktijdige TesterPresent-verzoeken worden eveneens metBUFREQ_OKbevestigd ([SWS_Dcm_00557]).
Deze tekst is gegenereerd door een AI. Alle gegevens zijn uitsluitend gebaseerd op het AUTOSAR-R20-11-specificatie-uittreksel.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_CopyRxData [SWS_Dcm_00556] 📄 PDF
BufReq_ReturnType Dcm_CopyRxData (PduIdType id, const PduInfoType* info, PduLengthType* bufferSizePtr);
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.
Gebruik
De synchrone functie Dcm_CopyRxData wordt aangeroepen om ontvangen gegevens van een I-PDU-segment (N-PDU) over te dragen aan de hogere laag in de DCM [SWS_Dcm_00556]. Elke aanroep stelt het volgende deel van de I-PDU-gegevens beschikbaar [SWS_Dcm_00556]. Via de parameter id wordt de ontvangen I-PDU geïdentificeerd [SWS_Dcm_00556]. De pointer info stelt via SduDataPtr de bronbuffer evenals via SduLength het aantal te kopiëren bytes beschikbaar [SWS_Dcm_00556]. Na voltooiing van het kopieerproces wordt de resterende vrije buffergrootte in de DCM via bufferSizePtr teruggemeld [SWS_Dcm_00556], [SWS_Dcm_00443].
Als Dcm_CopyRxData wordt aangeroepen met een SduLength van 0, dient dit puur voor het opvragen van de buffer [SWS_Dcm_00556]. In dit geval mag SduDataPtr een NULL_PTR zijn; de functie retourneert BUFREQ_OK en vult de resterende grootte van de ontvangstbuffer in bij bufferSizePtr [SWS_Dcm_00556], [SWS_Dcm_00996].
Samenspel
Vóór het kopiëren moet Dcm_StartOfReception met BUFREQ_OK zijn afgesloten; daaropvolgende aanroepen van Dcm_CopyRxData kopiëren de gegevens uit de beschikbaar gestelde buffer naar de DCM-buffer en werken bufferSizePtr bij [SWS_Dcm_00443].
Foutafhandeling
De functie retourneert de status als BufReq_ReturnType: BUFREQ_OK bevestigt het succesvol kopiëren of het opvragen van de buffer, terwijl BUFREQ_E_NOT_OK aangeeft dat er vanwege een fout geen gegevens zijn gekopieerd [SWS_Dcm_00556], [SWS_Dcm_00996].
Gelijktijdigheid en beperkingen
Dcm_CopyRxData is gespecificeerd als re-entrant en mag in interrupt-context worden aangeroepen [SWS_Dcm_00556]. De interface wordt beschikbaar gesteld via Dcm.h [SWS_Dcm_00556].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dcm_TpRxIndication [SWS_Dcm_00093] 📄 PDF
void Dcm_TpRxIndication (PduIdType id, Std_ReturnType result);
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.
Gebruik en aanroepcontext
De synchrone functie Dcm_TpRxIndication wordt na ontvangst van een I-PDU via de TP-API aangeroepen, typisch door de module PduR [SWS_Dcm_00093], [SWS_Dcm_00112]. Deze draagt de PDU-identificatie (id) en het ontvangstresultaat (result) over en levert geen retourwaarde op [SWS_Dcm_00093]. Omdat de functie re-entrant is en in interrupt-context mag worden aangeroepen, moeten aanroeper en modulestatussen zijn ontworpen voor overeenkomstige gelijktijdigheid [SWS_Dcm_00093].
Gedrag bij foutieve ontvangst
Als Dcm_TpRxIndication wordt aangeroepen met een resultaatwaarde die afwijkt van E_OK, mag de module Dcm de buffer die aan de gerefereerde I-PDU is toegewezen niet evalueren [SWS_Dcm_00344].
Interactie van de submodules
De submodule DSL stuurt ontvangen gegevens uitsluitend door naar de submodule DSD wanneer de aanroep met de parameterwaarde result = E_OK heeft plaatsgevonden [SWS_Dcm_00111]. Voor diagnoseverzoeken gelden daarbij specifieke regels:
- Als het bij het succesvol ontvangen verzoek (
Result = E_OK) om het commandoTesterPresentmet gezettesuppressPosRspMsgIndicationBit(SID0x3E, subfunctie0x80) gaat, stelt de DSL-submodule de sessie-timeout-timerS3Serverterug [SWS_Dcm_00112]. - In dit geval wordt het verzoek door de DSL-submodule niet ter verdere interpretatie naar de DSD-submodule doorgestuurd [SWS_Dcm_00113].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_CopyTxData [SWS_Dcm_00092] 📄 PDF
BufReq_ReturnType Dcm_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);
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.
Gebruik en semantiek
De synchrone en re-entrante functie Dcm_CopyTxData wordt aangeroepen door modules van de lagere laag (zoals transportprotocollen) om gegevens van een I-PDU-segment (N-PDU) op te halen voor overdracht [SWS_Dcm_00092]. Via de parameter info draagt de aanroeper de doelbuffer SduDataPtr en de gewenste bytelengte SduLength over. Een waarde van 0 voor SduLength kan worden gebruikt om statuswijzigingen via retry te signaleren of de hoeveelheid beschikbare gegevens op te vragen; SduDataPtr mag in dit geval een NULL_PTR zijn [SWS_Dcm_00092]. Via availableDataPtr meldt het DCM het resterende aantal bytes in de verzendbuffer, dat door TP-modules kan worden gebruikt om opeenvolgende segmentgroottes te bepalen en dat het aantal nog te verzenden bytes niet mag overschrijden [SWS_Dcm_00092], [SWS_Dcm_00350].
Bufferbeheer en herhaling van de overdracht
Via de parameter retry wordt de bevestiging of herhaling van gegevens bestuurd [SWS_Dcm_00092]:
- Als
retryeenNULL_PTRis, mogen de gegevens direct na het kopieerproces uit de buffer worden verwijderd [SWS_Dcm_00092]. - Bij
TP_CONFPENDINGmoeten eerder gekopieerde gegevens in de TP-buffer blijven voor eventuele foutafhandeling [SWS_Dcm_00092]. TP_DATACONFbevestigt alle vóór deze aanroep gekopieerde gegevens voor vrijgave [SWS_Dcm_00092].TP_DATARETRYkopieert gegevens opnieuw vanaf de offsetTxTpDataCntrelatief ten opzichte van de huidige positie [SWS_Dcm_00092].
Retourwaarden en foutafhandeling
Als de gegevens succesvol en volledig zijn gekopieerd, retourneert de functie BUFREQ_OK [SWS_Dcm_00092], [SWS_Dcm_00346]. Als er niet voldoende verzendgegevens beschikbaar zijn, wordt er geen kopieerproces uitgevoerd en wordt BUFREQ_E_BUSY geretourneerd; de lagere laag kan de aanroep later herhalen [SWS_Dcm_00092]. Mislukt het verzoek, dan levert de functie BUFREQ_E_NOT_OK op [SWS_Dcm_00092]. In dit geval is het verzendverzoek uit PduR_DcmTransmit() nog niet voltooid; pas een afsluitende aanroep van Dcm_TpTxConfirmation beëindigt het proces en maakt nieuwe overdrachten mogelijk [SWS_Dcm_00350].
Concurrency
De functie is re-entrant en mag ook in interrupt-context worden aangeroepen [SWS_Dcm_00092].
Deze gebruiksinstructie is gebaseerd op de specificaties van het AUTOSAR Classic Platform release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_TpTxConfirmation [SWS_Dcm_00351] 📄 PDF
void Dcm_TpTxConfirmation (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.
De callbackfunctie Dcm_TpTxConfirmation ([SWS_Dcm_00351]) wordt synchroon aangeroepen door de onderste transportlaag nadat een diagnostische I-PDU op het netwerk is verzonden. Via de parameter id wordt de desbetreffende I-PDU geïdentificeerd, terwijl result het slagen of mislukken van het zendproces meldt ([SWS_Dcm_00351]). De functie heeft geen retourwaarde, is re-entrant en mag expliciet in de interruptcontext worden uitgevoerd ([SWS_Dcm_00351]).
Bij aanroep van Dcm_TpTxConfirmation voert de DCM-module centrale opschoon- en statusovergangen uit:
- De toegewezen zendbuffer wordt ontgrendeld ([SWS_Dcm_00352]).
- Lopende foutbewakingen zoals page-buffer-timeouts en
P2ServerMax- enP2*ServerMax-timeouts worden gestopt ([SWS_Dcm_00353]). - De sinds de ontvangst (
Dcm_TpRxIndication) geblokkeerdeDcmPduIdvan de verbinding wordt vrijgegeven, zodat opeenvolgende verzoeken kunnen worden ontvangen ([SWS_Dcm_00241]). - Het actuele protocol wordt door de bevestiging van het DSL-antwoord niet beëindigd (geen aanroep van
xxx_StopProtocol) ([SWS_Dcm_00624]).
In geval van een fout (wanneer result een fout aangeeft of een afbreking na een mislukte Dcm_CopyTxData wordt bevestigd) vereist [SWS_Dcm_00350] dwingend deze afsluitende aanroep om de zendopdracht formeel af te sluiten en nieuwe overdrachten via PduR_DcmTransmit() mogelijk te maken. Bij een foutieve bevestiging mag de DSD-submodule het diagnoserespons niet opnieuw verzenden ([SWS_Dcm_00118]).
Daarnaast markeert de bevestiging van een respons (ongelijk aan NRC 0x78) de reguliere afsluiting van een diagnose-request ([SWS_Dcm_01378]). Na de bevestiging van een positieve respons op een EcuReset negeert de DCM tijdens de resetverwerking alle verdere verzoeken ([SWS_Dcm_00834]).
Deze tekst is opgesteld door een AI; de juistheid kan niet worden gegarandeerd.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_TxConfirmation [SWS_Dcm_01092] 📄 PDF
void Dcm_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);
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.
Gebruik
De synchrone interface Dcm_TxConfirmation (service-ID 0x40, gedeclareerd in Dcm.h) wordt volgens [SWS_Dcm_01092] door de onderliggende communicatie-interfacemodule aangeroepen om de verzending van een PDU te bevestigen of het mislukken van de transmissie te melden. De functie heeft geen retourwaarde en verwerkt twee ingangsparameters:
TxPduId: Identifier (PduIdType) van de verzonden PDU.result: Status van de transmissie (Std_ReturnType). Geldige waarden zijnE_OKbij succesvolle transmissie enE_NOT_OKindien de transmissie van de PDU is mislukt.
Foutafhandeling en statusfeedback
Het resultaat van de transmissie wordt direct aan de DCM gesignaleerd via parameter result ([SWS_Dcm_01092]). Specifieke DET- of DEM-foutmeldingen zijn in het verstrekte specificatie-uittreksel voor deze functie niet gedefinieerd.
Gelijktijdigheid en aanroepcontext
Wat betreft re-entrantie is Dcm_TxConfirmation re-entrant voor aanroepen met verschillende PDU-ID's, maar niet re-entrant voor dezelfde TxPduId ([SWS_Dcm_01092]). Men dient er rekening mee te houden dat de aanroep door de onderliggende module in interrupt-context kan plaatsvinden ([SWS_Dcm_01092]).
Samenspel
In het geval van een periodieke transmissie (PeriodicTransmission) wordt de DCM conform [SWS_Dcm_01073] via Dcm_TxConfirmation aangeroepen om over het respectieve zendresultaat te worden geïnformeerd.
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR-specificatie voor R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dcm_ComM_NoComModeEntered [SWS_Dcm_00356] 📄 PDF
void Dcm_ComM_NoComModeEntered (uint8 NetworkId);
This call informs the Dcm module about a ComM mode change to COMM_NO_ COMMUNICATION.
De synchrone en re-entrante functie Dcm_ComM_NoComModeEntered (Service-ID 0x21) informeert de DCM-module over de overgang van een communicatienetwerk naar de toestand COMM_NO_COMMUNICATION [SWS_Dcm_00356]. De interface wordt beschikbaar gesteld via de header Dcm_ComM.h, heeft geen retourwaarde en identificeert het desbetreffende netwerk via de invoerparameter NetworkId van het type uint8 [SWS_Dcm_00356].
Met de aanroep schakelt de DCM alle communicatie op het opgegeven netwerk uit, zodat zowel het ontvangen als het verzenden van berichten volledig worden gedeactiveerd [SWS_Dcm_00148]. Dit omvat bindend de volgende overdrachtstypen:
- het verhinderen van ResponseOnEvent-overdrachten [SWS_Dcm_00149],
- het deactiveren van periodieke overdrachten via
ReadDataByPeriodicIdentifier(periodicId) [SWS_Dcm_00150], en - het uitschakelen van normale overdrachten [SWS_Dcm_00151].
Bijgevolg mag de DCM-module na uitvoering van Dcm_ComM_NoComModeEntered voor deze context niet meer de PduR-functie PduR_DcmTransmit() aanroepen [SWS_Dcm_00152].
Wordt de functie aangeroepen met een NetworkId die niet overeenkomt met een in de DCM via de configuratieparameter DcmDslProtocolComMChannelRef gerefereerd ComM-kanaal, dan voert de DCM-module generlei acties uit en keert deze onmiddellijk terug [SWS_Dcm_01324].
Deze tekst is gegenereerd door een AI en kwaliteitsgeborgd door autodocs.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ComM_SilentComModeEntered [SWS_Dcm_00358] 📄 PDF
void Dcm_ComM_SilentComModeEntered (uint8 NetworkId);
This call informs the Dcm module about a ComM mode change to COMM_SILENT_ COMMUNICATION.
De synchrone en re-entrante functie Dcm_ComM_SilentComModeEntered ([SWS_Dcm_00358]) dient ertoe de DCM-module te informeren over de overgang van een communicatienetwerk naar de toestand COMM_SILENT_COMMUNICATION. De interface heeft de Service-ID 0x22, levert geen retourwaarde op en verwacht als invoerparameter NetworkId de identifier van het desbetreffende netwerk ([SWS_Dcm_00358]). Deze wordt via het headerbestand Dcm_ComM.h ter beschikking gesteld ([SWS_Dcm_00358]).
Zodra deze aanroep plaatsvindt, moet de DCM alle zendactiviteiten op het desbetreffende netwerkkanaal volledig staken ([SWS_Dcm_00153]). Dit omvat in detail de volgende maatregelen:
- de deactivering van alle normale overdrachten ([SWS_Dcm_00156]),
- het verhinderen van Response-on-Event-overdrachten ([SWS_Dcm_00154]), en
- het deactiveren van periodieke verzendingen in het kader van
ReadDataByPeriodicIdentifier([SWS_Dcm_00155]).
Wat betreft de foutafhandeling en randvoorwaarden is vastgelegd dat de DCM zonder enige verdere actie moet terugkeren, indien de doorgegeven NetworkId overeenkomt met een ComM-kanaal dat in de DCM niet via de configuratieparameter DcmDslProtocolComMChannelRef wordt gerefereerd ([SWS_Dcm_01325]). Specifieke ontwikkelingsfouten of foutretourwaarden zijn voor deze aanroep niet gespecificeerd.
Interpretatie: De aanroep zal doorgaans plaatsvinden door de module ComM, zodra de overgang naar de stille communicatiemodus wordt voltrokken. Vraag Q-fc9b6303ae0c0e41 (open)
Deze gebruiksinstructie is gegenereerd door een AI-systeem en steunt uitsluitend op de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ComM_FullComModeEntered [SWS_Dcm_00360] 📄 PDF
void Dcm_ComM_FullComModeEntered (uint8 NetworkId);
This call informs the Dcm module about a ComM mode change to COMM_FULL_ COMMUNICATION.
De synchrone en re-entrante functie Dcm_ComM_FullComModeEntered wordt via het headerbestand Dcm_ComM.h ter beschikking gesteld en informeert de DCM-module over de overgang van een communicatienetwerk naar de toestand COMM_FULL_COMMUNICATION [SWS_Dcm_00360]. Als invoerparameter dient NetworkId, die het door de moduswijziging getroffen netwerk identificeert [SWS_Dcm_00360].
Door de aanroep wordt alle communicatie voor dit netwerk geactiveerd, zodat zowel het ontvangen als het verzenden van berichten zijn vrijgegeven [SWS_Dcm_00157]. Dit omvat de volgende overdrachtstypen:
- normale overdrachten [SWS_Dcm_00161],
- Response-on-Event-overdrachten [SWS_Dcm_00159], en
- periodieke overdrachten door middel van
ReadDataByPeriodicIdentifier[SWS_Dcm_00160].
Zodra Dcm_ComM_FullComModeEntered is aangeroepen, verwerkt de DCM de interne functies DslInternal_ResponseOnOneDataByPeriodicId() en DslInternal_ResponseOnOneEvent() zonder beperkingen [SWS_Dcm_00162]. In de tijdsvolgorde moet de DCM deze aanroep afwachten voordat de overdracht van een diagnoserespons wordt ingeleid; de wachttijd mag vanaf het moment van ontvangst van het verzoek niet langer zijn dan P2ServerMax [SWS_Dcm_01142].
In geval van een fout, wanneer de doorgegeven NetworkId betrekking heeft op een ComM-kanaal dat in de DCM niet is geconfigureerd (parameter DcmDslProtocolComMChannelRef), keert de functie onmiddellijk en zonder verdere acties terug [SWS_Dcm_01326].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_CsmAsyncJobFinished [SWS_Dcm_91076] 📄 PDF
Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result);
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).
Gebruik en semantiek
De synchrone en re-entrante callback-functie Dcm_CsmAsyncJobFinished wordt aangeroepen door de Crypto Service Manager (CSM) zodra een asynchrone opdrachtverwerking is voltooid [SWS_Dcm_91076]. Als invoerparameter ontvangt deze via result van het type Csm_ResultType het resultaat van de beëindigde CSM-job [SWS_Dcm_91076]. Als retourwaarde levert de functie altijd E_OK terug [SWS_Dcm_91076].
Configuratie en randvoorwaarden
Integrators moeten de naam van deze functie in de ECUC-configuratie van de CSM configureren als callback voor asynchrone jobs [SWS_Dcm_91076]. Voor de DCM is uitsluitend één enkele dergelijke callback beschikbaar; de identificatie van de beëindigde opdracht vindt volgens de specificatie plaats door evaluatie van de jobparameter [SWS_Dcm_91076]. Aangezien de C-functiesignatuur echter alleen result doorgeeft, achterhaalt de DCM de bijbehorende opdracht intern vermoedelijk via de transactietoestand van de lopende authenticatie. Vraag Q-04ad1d5fb514f467 (open)
De interface is alleen beschikbaar wanneer in de configuratie de parameter DcmDspAuthenticationConnection is ingesteld (ongelijk aan null) [SWS_Dcm_91076]. Specifieke foutafhandelingen of DET-meldingen zijn voor deze aanroep niet gespecificeerd, aangezien de retourwaarde onveranderlijk E_OK is [SWS_Dcm_91076].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dcm_KeyMAsyncCertificateVerifyFinished [SWS_Dcm_91077] 📄 PDF
Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished (KeyM_CertificateIdType CertID, KeyM_CertificateStatusType Result);
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).
De synchrone en re-entrante callback-functie Dcm_KeyMAsyncCertificateVerifyFinished wordt door de module KeyM aangeroepen na voltooiing van een asynchrone certificaatverificatie [SWS_Dcm_91077]. Deze informeert de DCM over de voltooiing en het resultaat van de verificatieprocedure en levert als retourwaarde altijd E_OK [SWS_Dcm_91077].
Parameters en werking
CertID: Identificatie van het certificaat waarvan de verificatie is voltooid. Aan de hand van deze identifier bepaalt de DCM welke verificatie-opdracht is beëindigd [SWS_Dcm_91077].Result: Retourwaarde en status van de asynchrone verificatie-opdracht vanuit de KeyM [SWS_Dcm_91077].
Configuratie en randvoorwaarden
Integrators moeten deze functienaam in de ECUC-configuratie van de KeyM configureren als callback voor asynchrone jobs [SWS_Dcm_91077]. Aangezien voor deze notificatie slechts één enkele callback beschikbaar is, is de DCM erop aangewezen om het desbetreffende certificaat via de parameter CertID op te lossen [SWS_Dcm_91077].
De interface is uitsluitend beschikbaar wanneer de configuratieparameter DcmDspAuthenticationConnection in het pad Dcm/DcmDsp/DcmDspAuthentication is geconfigureerd (!= null) [SWS_Dcm_91077]. Bijzondere foutcodes of DET-meldingen zijn voor deze aanroep niet gespecificeerd [SWS_Dcm_91077].
Deze gebruiksinstructie is geautomatiseerd gegenereerd.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ReadMemory [SWS_Dcm_00539] 📄 PDF
Dcm_ReturnReadMemoryType Dcm_ReadMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, uint8* MemoryData, 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
De callout-functie Dcm_ReadMemory ([SWS_Dcm_00539]), gedeclareerd in Dcm_Externals.h, dient voor de DCM voor het uitlezen van server-geheugengegevens aan de hand van startadres (MemoryAddress) en bytegrootte (MemorySize). De functie is vereist voor de UDS-services ReadMemoryByAddress (0x23) ([SWS_Dcm_00495]), ReadDataByIdentifier (0x22) voor dynamische DID's in het adresbereik 0xF200 tot 0xF3FF ([SWS_Dcm_00653]), RequestUpload en TransferData ([SWS_Dcm_00539]). Indien de parameter MemoryIdentifier niet wordt gebruikt, moet deze op 0 worden gezet ([SWS_Dcm_00539]).
De interface is asynchroon en niet-reentrant ([SWS_Dcm_00539]). De aanroepstatus wordt doorgegeven via OpStatus met de waarden DCM_INITIAL, DCM_PENDING, DCM_CANCEL of DCM_FORCE_RCRRP_OK. Zolang de leesbewerking voortduurt, retourneert de functie DCM_READ_PENDING ([SWS_Dcm_00985]). Indien de aanroep DCM_READ_FORCE_RCRRP oplevert, initieert de DCM onmiddellijk het verzenden van een RCR-RP-bericht (NRC 0x78) en pauzeert verdere aanroepen tot aan de verzendbevestiging ([SWS_Dcm_00839]). Na bevestiging van de RCR-RP roept de DCM de functie uit Dcm_MainFunction opnieuw aan met OpStatus = DCM_FORCE_RCRRP_OK ([SWS_Dcm_00840]).
In het geval van succes worden de uitgelezen gegevens in de buffer MemoryData geschreven en wordt DCM_READ_OK geretourneerd ([SWS_Dcm_00539], [SWS_Dcm_00985]). Mislukt de operatie, dan retourneert de functie DCM_READ_FAILED en stelt ErrorCode in. De DCM verzendt vervolgens een negatief antwoord met de overeenkomstige NRC-waarde ([SWS_Dcm_00644]).
Automatisch gegenereerde gebruiksinstructie op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_WriteMemory [SWS_Dcm_00540] 📄 PDF
Dcm_ReturnWriteMemoryType Dcm_WriteMemory (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const uint8* MemoryData, 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
De in Dcm_Externals.h gedeclareerde callout-functie Dcm_WriteMemory wordt door de DCM asynchroon en niet-reentrant aangeroepen om geheugengegevens aan de hand van startadres en bytegrootte te schrijven [SWS_Dcm_00540]. Deze dient voor de implementatie van de UDS-services WriteMemoryByAddress (0x3D), RequestDownload en TransferData [SWS_Dcm_00540]. Bij ontvangst van WriteMemoryByAddress roept de DCM de callout pas aan na controle van het verzoek [SWS_Dcm_00491].
Voor de besturing van het verloop wordt OpStatus doorgegeven (mogelijke waarden: DCM_INITIAL, DCM_PENDING, DCM_CANCEL of DCM_FORCE_RCRRP_OK) [SWS_Dcm_00540]. De parameters MemoryAddress en MemorySize bepalen het doelgeheugenbereik, terwijl MemoryData naar de diagnosebuffer van de DCM wijst [SWS_Dcm_00540]. Worden MemoryIdentifier of MemoryAddress (bijvoorbeeld bij gecomprimeerde gegevens) niet gebruikt, dan moeten deze op 0 worden gezet [SWS_Dcm_00540].
De retourwaarde Dcm_ReturnWriteMemoryType [SWS_Dcm_00986] definieert de verdere verwerking in de DCM:
DCM_WRITE_OK: de schrijfbewerking was succesvol [SWS_Dcm_00540], [SWS_Dcm_00986].DCM_WRITE_PENDING: de operatie is nog niet voltooid en vereist vervolgaanroepen [SWS_Dcm_00540], [SWS_Dcm_00986].DCM_WRITE_FORCE_RCRRP: de DCM initieert onmiddellijk het verzenden van een Response Pending (NRC 0x78) en schort verdere aanroepen op tot de verzendbevestiging [SWS_Dcm_00837]. Daarna volgt de nieuwe aanroep vanuitDcm_MainFunctionmetDCM_FORCE_RCRRP_OK[SWS_Dcm_00838].DCM_WRITE_FAILED: bij een fout verzendt de DCM een negatief antwoord met de via de uitvoerparameterErrorCodedoorgegeven NRC-waarde [SWS_Dcm_00540], [SWS_Dcm_00643].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_SetProgConditions [SWS_Dcm_00543] 📄 PDF
Std_ReturnType Dcm_SetProgConditions (Dcm_OpStatusType OpStatus, const Dcm_ProgConditionsType* ProgConditions);
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.
De callout-functie Dcm_SetProgConditions stelt de integrator in staat relevante informatie persistent op te slaan voorafgaand aan een overgang naar de bootloader of een reset als gevolg van een ECUReset-verzoek [SWS_Dcm_00543]. De relevante contextgegevens worden doorgegeven via een pointer naar de structuur Dcm_ProgConditionsType, die onder meer verbindings- en tester-bronadressen, service- en subfunctie-ID's en besturingsvlaggen zoals ReprogramingRequest en ResponseRequired bundelt [SWS_Dcm_00988]. Bij ontvangst van een UDS-service 0x10 met subfunctie 0x02 stelt de DCM deze vlaggen in en roept de interface aan [SWS_Dcm_01182].
De aanroep vindt asynchroon plaats en is niet-reentrant (Non Reentrant) [SWS_Dcm_00543]. Via de parameter OpStatus worden de toestanden DCM_INITIAL, DCM_PENDING, DCM_CANCEL of DCM_FORCE_RCRRP_OK bestuurd [SWS_Dcm_00543]. Zolang de uitvoering voortduurt en de functie DCM_E_PENDING retourneert, roept de DCM de interface in de volgende hoofdfunctiecyclus opnieuw aan om het instellen te voltooien [SWS_Dcm_00543], [SWS_Dcm_01184]. Door middel van DCM_E_FORCE_RCRRP kan de verzending van een Response Pending-antwoord (NRC 0x78) worden afgedwongen [SWS_Dcm_00543]. Afhankelijk van de configuratie vindt de aanroep door de DCM pas plaats na succesvolle verzending van NRC 0x78 [SWS_Dcm_00535].
Als de voorwaarden foutloos zijn ingesteld en de callout E_OK retourneert, initieert de DCM de moduswijziging van de ModeDeclarationGroupPrototype DcmEcuReset naar EXECUTE [SWS_Dcm_00719], [SWS_Dcm_01163], [SWS_Dcm_01180]. Kan de toestand daarentegen niet worden opgeslagen en antwoordt de functie met E_NOT_OK, dan blijven de reset en de bootloader-sprong achterwege, wordt de moduswijziging geblokkeerd en verzendt de DCM het negatieve antwoord NRC 0x22 (Conditions not correct) [SWS_Dcm_00715], [SWS_Dcm_01181].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic Release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_GetProgConditions [SWS_Dcm_00544] 📄 PDF
Dcm_EcuStartModeType Dcm_GetProgConditions (Dcm_ProgConditionsType* ProgConditions);
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.
De callout-functie Dcm_GetProgConditions met de Service-ID 0x62 wordt tijdens de initialisatie van de DCM aangeroepen om vast te stellen of er een openstaand diagnose-antwoord op service $50 of $51 moet worden verzonden [SWS_Dcm_00544]. De declaratie van de interface wordt beschikbaar gesteld via het headerbestand Dcm_Externals.h [SWS_Dcm_00544].
Gebruik en parameters
De functie-uitvoering verloopt synchroon, waarbij geen reguliere invoer- of invoer-/uitvoerparameters worden doorgegeven [SWS_Dcm_00544]:
- Uitvoerparameter: via de pointer
ProgConditionsvan het typeDcm_ProgConditionsType*levert de callout de voorwaarden terug waaronder de eerdere sprong vanuit de bootloader is aangevraagd [SWS_Dcm_00544]. De relevante contextparameters zijn vastgelegd in het gegevenstypeDcm_ProgConditionsType[SWS_Dcm_00544]. - Retourwaarde: de functie retourneert een statuswaarde van het type
Dcm_EcuStartModeTypeaan de aanroeper [SWS_Dcm_00544].
Gelijktijdigheid en foutafhandeling
De functie is geclassificeerd als niet-reentrant (Non Reentrant) en mag daarom niet gelijktijdig worden uitgevoerd [SWS_Dcm_00544]. Voor deze callout zijn in de interfacespecificatie geen specifieke foutcodes voor DET of DEM gedefinieerd [SWS_Dcm_00544].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dcm_ProcessRequestAddFile [SWS_Dcm_91078] 📄 PDF
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 0x01 (AddFile).
De callout-functie Dcm_ProcessRequestAddFile wordt door de DCM aangeroepen om de dienst RequestFileTransfer met de bedrijfsmodus 0x01 (AddFile) te initiëren ([SWS_Dcm_91078]). Deze is beschikbaar via Dcm_Externals.h, heeft de service-ID 0x72 en is gespecificeerd als niet-re-entrant (Non Reentrant) en asynchroon ([SWS_Dcm_91078]).
De besturing van het asynchrone aanroepverloop vindt plaats via de parameter OpStatus:
DCM_INITIAL: Alle invoerparameters zijn geldig. Hiertoe behoren het bestandspad en de bestandsnaam (filePathAndNamemetfilePathAndNameLength), de bytedataFormatIdentifier(high-nibble voor compressie, low-nibble voor versleuteling) evenals de ongecomprimeerde en gecomprimeerde bestandsgrootte (fileSizeUncompressed,fileSizeCompressed) ([SWS_Dcm_91078]).DCM_PENDING,DCM_CANCELenDCM_FORCE_RCRRP_OK: Bij deze vervolgaanroepen zijn alle invoerparameters ingesteld op0x00([SWS_Dcm_91078]).
Als retourwaarden levert de functie E_OK bij succesvolle uitvoering, DCM_E_PENDING bij aanhoudende verwerking of DCM_E_FORCE_RCRRP wanneer de applicatie verzoekt om het verzenden van een voorlopig antwoord (NRC 0x78) ([SWS_Dcm_91078], [SWS_Dcm_91086]). In geval van succes definieert maxNumberOfBlockLength de maximaal toegestane bloklengte van toekomstige TransferData-berichten zonder SID en blokteller ([SWS_Dcm_91078]).
In geval van een fout levert de functie E_NOT_OK terug. In dit geval moet via de parameter ErrorCode een negatieve responscode (NRC) worden doorgegeven, die de DCM in een negatief diagnose-antwoord naar de client verzendt ([SWS_Dcm_91078]). Als de configuratie DcmRequestFileTransferUsePort is geactiveerd, wordt deze functionaliteit alternatief beschikbaar gesteld als poortoperatie ProcessRequestAddFile van de interface RequestFileTransfer ([SWS_Dcm_91086]).
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ProcessRequestDeleteFile [SWS_Dcm_91079] 📄 PDF
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 0x02 (DeleteFile). Manager
Gebruik en aanroepsemantiek
De callout-functie Dcm_ProcessRequestDeleteFile wordt aangeroepen door de DCM om in het kader van de diagnosedienst RequestFileTransfer het verwijderen van een bestand (modeOfOperation = 0x02) op de server te initiëren [SWS_Dcm_91079]. De functie is gedeclareerd in Dcm_Externals.h en werkt asynchroon en niet-re-entrant (Non Reentrant) [SWS_Dcm_91079].
De overdracht en evaluatie vinden plaats aan de hand van de parameter OpStatus:
DCM_INITIAL: Geeft de start van de operatie aan. Hierbij zijn alle invoerparameters geldig;filePathAndNamegeeft de opslaglocatie en naam van het te verwijderen bestand door, waarvan de bytelengte viafilePathAndNameLengthis gespecificeerd [SWS_Dcm_91079].DCM_PENDING,DCM_CANCELofDCM_FORCE_RCRRP_OK: Bij voortgaande verwerking of afbreken zijn alle invoerparameters ingesteld op0x00[SWS_Dcm_91079].
Als retourwaarden levert de functie E_OK bij succesvolle uitvoering, DCM_E_PENDING indien de uitvoering nog voortduurt en verdere aanroepen vereist, of DCM_E_FORCE_RCRRP wanneer de applicatie verzoekt om het verzenden van een tussenbericht met NRC 0x78 (Response Pending) [SWS_Dcm_91079], analoog aan de dienst RequestFileTransfer [SWS_Dcm_91086].
Foutafhandeling
Mislukt de verwerking, dan retourneert de functie E_NOT_OK. In dit geval moet via de uitvoerparameter ErrorCode een negatieve responscode beschikbaar worden gesteld, die de DCM als negatieve terugmelding (NRC) naar de tester verzendt [SWS_Dcm_91079].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ProcessRequestReplaceFile [SWS_Dcm_91080] 📄 PDF
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 to start a RequestFileTransfer process with mode OfOperation equal to 0x03 (ReplaceFile).
De callout-functie Dcm_ProcessRequestReplaceFile wordt aangeroepen door de DCM om een diagnoseproces voor RequestFileTransfer met de bedrijfsmodus 0x03 (ReplaceFile) te initiëren [SWS_Dcm_91080]. De functie is gedefinieerd als niet-re-entrant (Non Reentrant) en asynchroon, en wordt beschikbaar gesteld via de header Dcm_Externals.h [SWS_Dcm_91080].
De besturing van het asynchrone verwerkingsverloop vindt plaats via de parameter OpStatus:
- Bij de initiële aanroep met
DCM_INITIALgeeft de DCM alle invoerparameters geldig door, waaronder pad en bestandsnaam (filePathAndNamemet lengte-aanduidingfilePathAndNameLength), de identificatie voor compressie en versleuteling (dataFormatIdentifier) evenals de ongecomprimeerde en gecomprimeerde bestandsgrootte (fileSizeUncompressed,fileSizeCompressed) [SWS_Dcm_91080]. - Bij vervolgaanroepen of een afbreking (
DCM_PENDING,DCM_CANCEL,DCM_FORCE_RCRRP_OK) zijn alle in-parameters ingesteld op0x00[SWS_Dcm_91080]. - In geval van succes retourneert de functie via de out-parameter
maxNumberOfBlockLengthde maximale payloadlengte voor opvolgendeTransferData-verzoeken (zonder SID en blokvolgordeteller) aan de DCM [SWS_Dcm_91080].
Als retourwaarden zijn E_OK bij succesvolle uitvoering, DCM_E_PENDING bij nog aanhoudende verwerking en DCM_E_FORCE_RCRRP voor het verzoeken van een response-pending-terugmelding (NRC 0x78) voorzien [SWS_Dcm_91080], [SWS_Dcm_91086]. Mislukt de uitvoering, dan retourneert de functie E_NOT_OK en wijst deze aan de parameter ErrorCode de bijbehorende negatieve diagnoseresponscode (NRC) toe, die de DCM naar de tester verzendt [SWS_Dcm_91080].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ProcessRequestReadFile [SWS_Dcm_91081] 📄 PDF
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 0x04 (ReadFile).
De callout-functie Dcm_ProcessRequestReadFile wordt aangeroepen door de DCM om een file-transfer-proces (service RequestFileTransfer) met de bedrijfsmodus ReadFile (modeOfOperation 0x04) te starten [SWS_Dcm_91081]. De functie is gedeclareerd in de header Dcm_Externals.h, werkt asynchroon en is niet-re-entrant (Non Reentrant) [SWS_Dcm_91081].
De aanroep vindt plaats via de statusparameter OpStatus: Bij de initiële aanroep DCM_INITIAL zijn alle invoerparameters geldig, terwijl ze bij vervolgaanroepen met DCM_PENDING, DCM_CANCEL of DCM_FORCE_RCRRP_OK worden ingesteld op 0x00 [SWS_Dcm_91081]. De applicatie ontvangt pad en bestandsnaam via filePathAndName (lengte in filePathAndNameLength), het formaat voor compressie en versleuteling via dataFormatIdentifier evenals de bestandsgroottes via fileSizeUncompressed en fileSizeCompressed [SWS_Dcm_91081]. Als uitvoerparameter moet de applicatie maxNumberOfBlockLength invullen met het maximale aantal bytes voor opvolgende TransferData-antwoorden (zonder SID en blokvolgordeteller) [SWS_Dcm_91081].
Als retourwaarden van Std_ReturnType zijn E_OK bij succesvolle uitvoering, DCM_E_PENDING bij nog aanhoudende asynchrone verwerking of DCM_E_FORCE_RCRRP voor het verzoeken van een "Response Pending"-antwoord (NRC 0x78) gedefinieerd [SWS_Dcm_91081]. Mislukt de operatie, dan levert deze E_NOT_OK; in dit geval verzendt de DCM een negatief antwoord met de in de uitvoerparameter ErrorCode ingestelde NRC-waarde naar de tester [SWS_Dcm_91081]. De interactie komt overeen met de algemene afhandeling van de dienst RequestFileTransfer, zoals deze analoog voor andere bestandsoperaties zoals ProcessRequestAddFile wordt geconfigureerd [SWS_Dcm_91086].
Deze tekst is gegenereerd door een AI-systeem en steunt uitsluitend op de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ProcessRequestReadDir [SWS_Dcm_91082] 📄 PDF
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 0x05 (ReadDir).
Gebruik
De callout-functie Dcm_ProcessRequestReadDir wordt gedeclareerd via het headerbestand Dcm_Externals.h en aangeroepen door de DCM om de dienst RequestFileTransfer met de bedrijfsmodus 0x05 (ReadDir) asynchroon te starten [SWS_Dcm_91082]. De verwerkingsvoortgang wordt bestuurd via de overdrachtsparameter OpStatus [SWS_Dcm_91082]. Bij de eerste aanroep met DCM_INITIAL geeft de DCM het pad resp. de naam door via filePathAndName samen met de bytelengte filePathAndNameLength [SWS_Dcm_91082]. Bij opvolgende aanroepen of bij een afbreking (DCM_PENDING, DCM_CANCEL, DCM_FORCE_RCRRP_OK) zijn alle invoerparameters ingesteld op 0x00 [SWS_Dcm_91082].
Als uitvoerwaarden moet de applicatie de grootte van de mapgegevens via dirInfoLength en de maximaal toegestane blokgrootte voor opvolgende overdrachten via maxNumberOfBlockLength beschikbaar stellen [SWS_Dcm_91082]. Naast E_OK bij succesvolle uitvoering kan de functie DCM_E_PENDING retourneren wanneer de operatie nog voortduurt, of DCM_E_FORCE_RCRRP om het verzenden van een tussenantwoord (NRC 0x78) te initiëren [SWS_Dcm_91082].
Foutafhandeling
Treedt er een fout op, dan moet de functie E_NOT_OK retourneren. In dit geval leest de DCM de parameter ErrorCode uit en verzendt deze de waarde daarvan als negatieve responscode (NRC) naar de tester [SWS_Dcm_91082]. Specifieke DET- of DEM-meldingen zijn voor de interface niet voorzien; foutcontroles van het doorgegeven pad behoren daarom vermoedelijk volledig tot de verantwoordelijkheid van de applicatiespecifieke implementatie. Vraag Q-278dbc3db7b4363b (open)
Gelijktijdigheid en wisselwerking
De functie is gespecificeerd als niet-re-entrant (Non Reentrant) en mag bijgevolg niet gelijktijdig voor meerdere diagnoseverzoeken worden aangeroepen [SWS_Dcm_91082]. Deze maakt deel uit van de interfacegroep van de dienst RequestFileTransfer, waarvan de koppeling kan worden beïnvloed via configuratieparameters [SWS_Dcm_91086].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_WriteFile [SWS_Dcm_91083] 📄 PDF
Std_ReturnType Dcm_WriteFile (Dcm_OpStatusType OpStatus, uint64 DataLength, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);
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).
Gebruik en aanroepcontext
De callout-functie Dcm_WriteFile wordt aangeroepen door de DCM wanneer via de UDS-dienst TransferData (0x36) gegevens worden ontvangen en een eerder via RequestFileTransfer met de modi 0x01 (AddFile) of 0x03 (ReplaceFile) gestart downloadproces actief is [SWS_Dcm_01444]. De interface is beschikbaar via Dcm_Externals.h [SWS_Dcm_91083].
De bezetting van de parameters hangt af van de voortgangsstatus OpStatus [SWS_Dcm_91083]:
DCM_INITIAL: Alle invoerparameters zijn geldig. De pointerDataverwijst naar de te schrijven payload, enDataLengthgeeft de bytelengte daarvan aan. De waarde vanDataLengthoverschrijdt de eerder bijDcm_ProcessRequestFileTransferonderhandelde maximale bloklengte (NumberOfBlockLength) niet.DCM_PENDING,DCM_CANCELenDCM_FORCE_RCRRP_OK: Alle invoerparameters zijn ingesteld op0x00.
Asynchrone semantiek en retourwaarden
De functie werkt asynchroon en niet-re-entrant (Non Reentrant) [SWS_Dcm_91083]. Deze levert de volgende statuswaarden op:
E_OK: De schrijfbewerking is met succes voltooid.DCM_E_PENDING: De verwerking is nog niet beëindigd en vereist verdere aanroepen.DCM_E_FORCE_RCRRP: De applicatie verzoekt om het verzenden van een wachtantwoord (Response Pending, NRC 0x78).E_NOT_OK: de bewerking is mislukt.
Foutafhandeling
Als Dcm_WriteFile de waarde E_NOT_OK retourneert, verzendt de DCM-module een negatief UDS-antwoord waarvan de NRC overeenkomt met de via de uitvoerparameter ErrorCode beschikbaar gestelde waarde [SWS_Dcm_91083].
Deze tekst is gegenereerd door een AI-ondersteund systeem en is onderworpen aan de plicht tot verificatie aan de hand van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_ReadFileOrDir [SWS_Dcm_91085] 📄 PDF
Std_ReturnType Dcm_ReadFileOrDir (Dcm_OpStatusType OpStatus, uint64* DataLength, uint8* Data, 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).
De callout-functie Dcm_ReadFileOrDir wordt aangeroepen door de DCM-module wanneer in het kader van een lopende bestands- of map-upload (eerder gestart via UDS-dienst RequestFileTransfer met modus 0x04 voor ReadFile of 0x05 voor ReadDir) een formatconforme aanvraag voor de UDS-dienst TransferData (0x36) binnenkomt [SWS_Dcm_01445]. De functie dient om de gegevens beschikbaar te stellen die als antwoord naar de client moeten worden verzonden [SWS_Dcm_91085]. De interfacedeclaratie is beschikbaar via de header Dcm_Externals.h [SWS_Dcm_91085].
De uitvoering vindt asynchroon plaats en is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Dcm_91085]. De interactie en de parameterbezetting hangen af van de overgedragen bedrijfsstatus:
- Bedrijfsstatus (
OpStatus): Bij de initiële aanroep metDCM_INITIALzijn alle invoerparameters geldig. Bij vervolg- of afbreekaanroepen metDCM_PENDING,DCM_CANCELofDCM_FORCE_RCRRP_OKzijn alle invoerparameters ingesteld op0x00[SWS_Dcm_91085]. - Buffer en bloklengte: De parameter
DataLengthgeeft aan de invoerzijde de maximaal toegestane bloklengte door (overeenkomend met de aan de client gemelde waardemaxNumberOfBlockLength) en retourneert aan de uitvoerzijde de daadwerkelijk inDatabeschikbaar gestelde bytelengte, die de invoerwaarde niet mag overschrijden [SWS_Dcm_91085]. Interpretatie: HoewelDatain de interface formeel als in-parameter is gedeclareerd, dient deze vermoedelijk voor de overdracht van de uit te lezen payload. Vraag Q-53de8a0bdbc4a2b4 (open) - Retourwaarden: De operatie levert
E_OKbij succesvolle gegevensbeschikbaarstelling,DCM_E_PENDINGbij nog niet voltooide verwerking ofDCM_E_FORCE_RCRRPwanneer de applicatie het verzenden van een tussenbericht (Response Pending, NRC 0x78) wil afdwingen [SWS_Dcm_91085].
Mislukt de verwerking in de applicatie, dan wordt E_NOT_OK geretourneerd. In dit foutgeval verzendt de DCM-module een negatief UDS-antwoord (NRC) naar de client, waarvan de foutcode overeenkomt met de in de uitvoerparameter ErrorCode ingestelde waarde [SWS_Dcm_91085].
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp. Doorslaggevend zijn de officiële AUTOSAR-specificaties.
Implementer's Guide volgt (complexiteit I2)
functie Dcm_MainFunction [SWS_Dcm_00053] 📄 PDF
void Dcm_MainFunction (void);
This service is used for processing the tasks of the main loop.
De functie Dcm_MainFunction dient voor de verwerking van de centrale taken van de hoofdlus van de Diagnostic Communication Manager ([SWS_Dcm_00053]). Deze heeft de signatuur void Dcm_MainFunction(void) en levert geen retourwaarden op. Aangezien deze via de header SchM_Dcm.h beschikbaar wordt gesteld, vindt de aanroep ervan vermoedelijk cyclisch plaats in de context van een schedulertaak van de basissoftware. Vraag Q-e083a72aae447ab5 (open)
Een essentiële taak is de besturing en cyclusoverstijgende voortzetting van asynchrone processen:
- Als een operatie met
Dcm_OpStatusTypede retourwaardeDCM_E_PENDINGoplevert, roept het DCM de operatie bij elke aanroep vanDcm_MainFunctionopnieuw aan metOpStatus = DCM_PENDING, zolang deze status aanhoudt ([SWS_Dcm_00530]). - Als
Dem_ClearDTC()de statusDEM_PENDINGretourneert, wordt de functie in de volgende cyclus vanDcm_MainFunctionopnieuw aangeroepen; het DCM verzendt indien nodig NRC 78 (ResponsePending) ([SWS_Dcm_00703]). - Aanroepen van
Dem_SetDTCFilter()met gezette parameterFilterForFault-DetectionCountermoeten verplicht plaatsvinden in de context vanDcm_MainFunction([SWS_Dcm_00519]). - Na bevestiging van een RCR-RP-overdracht roept het DCM operaties zoals
Dcm_WriteMemoryofDcm_ReadMemoryvanuitDcm_MainFunctionopnieuw aan metOpStatus = DCM_FORCE_RCRRP_OK([SWS_Dcm_00529], [SWS_Dcm_00838], [SWS_Dcm_00840]). - Als bij
Xxx_GetSecurityAttemptCounterde waardeDCM_E_PENDINGwordt gemeld, wordt de aanroep onderbroken en in de volgende cyclus voortgezet ([SWS_Dcm_01351]); bij overschrijding van de geconfigureerde time-out breekt het DCM de openstaande operatie af metOpStatus = DCM_CANCEL([SWS_Dcm_01352]).
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_GetSeed [SWS_Dcm_01151] 📄 PDF
Std_ReturnType Xxx_GetSeed (const uint8* SecurityAccessDataRecord, Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);
Request to application for asynchronous provision of seed value
De functie Xxx_GetSeed (beschikbaar gesteld via Dcm_Externals.h) dient voor het asynchroon beschikbaar stellen van een seed-waarde door de applicatie voor de DCM-module [SWS_Dcm_01151]. Deze wordt aangeroepen zodra een UDS-aanvraag van de service SecurityAccess (0x27) met het subfunctietype “requestSeed” wordt ontvangen en het aangevraagde beveiligingsniveau nog niet actief is [SWS_Dcm_00862], [SWS_Dcm_00324].
Aanroepcontext en parameters
De interface is gedefinieerd als niet re-entrant (Non Reentrant) en werkt asynchroon [SWS_Dcm_01151]:
SecurityAccessDataRecord: Pointer naar aanvullende invoergegevens voor de seed-berekening; de minimumomvang bedraagt één byte conformDcmDspSecurityADRSize[SWS_Dcm_01151].OpStatus: Geeft de actuele status van de asynchrone operatie aan [SWS_Dcm_01151].Seed: Uitvoerpointer via welke de applicatie de berekende seed beschikbaar stelt [SWS_Dcm_01151].ErrorCode: Uitvoerparameter voor het retourneren van een negatieve foutcode (NRC) [SWS_Dcm_01151].
Retourwaarden en foutafhandeling
E_OK: De seed is succesvol bepaald en beschikbaar gesteld [SWS_Dcm_01151].DCM_E_PENDING: De berekening is nog niet voltooid; voor de afronding zijn vervolgberekeningen resp. -aanroepen noodzakelijk [SWS_Dcm_01151].E_NOT_OK: De aanvraag is mislukt. In dit geval zendt de DCM-module een negatief UDS-antwoord met de in parameterErrorCodedoorgegeven NRC-waarde [SWS_Dcm_01151], [SWS_Dcm_00659].
Integratie-instructies
Afhankelijk van de configuratie van DcmDspSecurityUsePort vindt de koppeling plaats als C-functie bij USE_ASYNCH_FNC (gerefereerd via DcmDspSecurityGetSeedFnc) [SWS_Dcm_00862] of als Rte-operatie bij USE_ASYNCH_CLIENT_SERVER [SWS_Dcm_00324]. Indien er geen aanvullende toegangsgegevens hoeven te worden doorgegeven, wordt de alternatieve functiesignatuur zonder de parameter SecurityAccessDataRecord gebruikt [SWS_Dcm_91003].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_GetSeed [SWS_Dcm_91003] 📄 PDF
Std_ReturnType Xxx_GetSeed (Dcm_OpStatusType OpStatus, uint8* Seed, Dcm_NegativeResponseCodeType* ErrorCode);
Request to application for asynchronous provision of seed value
De functie Xxx_GetSeed dient als asynchrone interface van de module DCM naar de applicatie om in het kader van de UDS-dienst SecurityAccess (0x27) bij een verzoek van het type “requestSeed” een seed-waarde beschikbaar te stellen [SWS_Dcm_91003], [SWS_Dcm_00862]. De aanroep vindt plaats door de DCM-DSP-submodule, mits het beveiligingsniveau nog niet actief is en de configuratie in USE_ASYNCH_CLIENT_SERVER of USE_ASYNCH_FNC voorziet [SWS_Dcm_00324], [SWS_Dcm_00862].
De interface is asynchroon en niet-reentrant (Non Reentrant) uitgevoerd [SWS_Dcm_91003]. De besturing van de verwerkingsvoortgang vindt plaats via de ingangsparameter OpStatus (type Dcm_OpStatusType) [SWS_Dcm_91003]. Als retourwaarden zijn E_OK bij succesvolle beschikbaarstelling, E_NOT_OK in geval van een fout en DCM_E_PENDING gedefinieerd wanneer de seed-generatie nog voortduurt en verdere aanroepen vereist zijn [SWS_Dcm_91003]. De gegenereerde waarde wordt via de pointer Seed (inout/out-buffer) overgedragen [SWS_Dcm_91003].
Mislukt de operatie en levert Xxx_GetSeed E_NOT_OK op, dan moet de DCM-module een negatief antwoord (NRC) verzenden met de foutcode die via de uitgangsparameter ErrorCode (Dcm_NegativeResponseCodeType) is ingesteld [SWS_Dcm_91003], [SWS_Dcm_00659]. De dienst is gedeclareerd via de header Dcm_Externals.h [SWS_Dcm_91003].
Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-standaard R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_CompareKey [SWS_Dcm_91004] 📄 PDF
Std_ReturnType Xxx_CompareKey (const uint8* Key, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);
Request to application for asynchronous comparing key (DcmDspSecurityUsePort = USE_ ASYNCH_CLIENT_SERVER)
De functie Xxx_CompareKey wordt door de Diagnostic Communication Manager ([SWS_Dcm_91004]) asynchroon en niet-reentrant aangeroepen om een ontvangen sleutel in het kader van de UDS-dienst SecurityAccess (0x27, subfunctie sendKey) te verifiëren tegen de interne logica van de applicatie ([SWS_Dcm_00863]). Deze wordt gebruikt wanneer de toegangsstatus nog niet actief is, het seed-verzoek succesvol was en de configuratieparameter DcmDspSecurityUsePort is ingesteld op USE_ASYNCH_CLIENT_SERVER ([SWS_Dcm_00324]) dan wel volgens [SWS_Dcm_00863] de functie-interface via USE_ASYNCH_FNC/DcmDspSecurityCompareKeyFnc is geconfigureerd. De interface is gedeclareerd in Dcm_Externals.h ([SWS_Dcm_91004]).
De overdracht omvat de te controleren sleutelpointer Key, de actuele operationele status OpStatus (van het type Dcm_OpStatusType) en de pointer ErrorCode voor de in geval van een fout uit te voeren negatieve antwoordcode ([SWS_Dcm_91004]). Als retourwaarden zijn gespecificeerd:
E_OK: Sleutelcontrole succesvol ([SWS_Dcm_91004]).DCM_E_PENDING: Controle nog niet voltooid; verdere aanroepen door de DCM-module ter beëindiging zijn vereist ([SWS_Dcm_91004]).E_NOT_OK: Verwerking niet succesvol. De DCM verzendt daarop een negatief UDS-antwoord met de inErrorCodeingestelde NRC, zonder het interne beveiligingsniveau te wijzigen of de foutpogingenteller (AttemptCounter) te verhogen ([SWS_Dcm_01150]).DCM_E_COMPARE_KEY_FAILED: Sleutel komt niet overeen ([SWS_Dcm_91004]).
Mislukt de sleutelvergelijking (DCM_E_COMPARE_KEY_FAILED), dan wordt bij geconfigureerde DcmDspSecurityNumAttDelay de AttemptCounter geïncrementeerd ([SWS_Dcm_01397]). Ligt de teller onder de grenswaarde, dan verzendt de DCM de NRC 0x35 (InvalidKey) ([SWS_Dcm_00660]). Bereikt of overschrijdt het aantal mislukte pogingen de geconfigureerde limiet DcmDspSecurityNumAttDelay, dan start de DCM de SecurityDelayTimer met de tijdsduur DcmDspSecurityDelayTime en verzendt de NRC 0x36 (exceededNumberOfAttempts) ([SWS_Dcm_01349]). In beide gevallen blijft het beveiligingsniveau ongewijzigd.
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is gebaseerd op de specificaties van de AUTOSAR Classic R20-11 DCM-module.
Implementer's Guide volgt (complexiteit I3)
functie Xxx_GetSecurityAttemptCounter [SWS_Dcm_01152] 📄 PDF
Std_ReturnType Xxx_GetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8* AttemptCounter);
Read the attempt counter for a specific security level from the application
De asynchrone en niet-re-entrante functie [SWS_Dcm_01152] leest bij de initialisatie van de DCM de actuele foutieve-pogingenteller voor een geconfigureerd beveiligingsniveau uit de applicatie uit. De aanroep vindt plaats voor elk item in DcmDspSecurityRow waarbij de configuratieparameter DcmDspSecurityAttemptCounterEnabled op TRUE is ingesteld [SWS_Dcm_01154].
De programmabesturing wordt gevoerd via de parameter OpStatus met de waarden DCM_INITIAL, DCM_PENDING of DCM_CANCEL [SWS_Dcm_01152]. Geeft de functie DCM_E_PENDING terug, dan onderbreekt de DCM de aanroepketen en zet deze voort in de daaropvolgende cyclus van Dcm_MainFunction() [SWS_Dcm_01351]. Wordt de na de eerste cyclus geconfigureerde tijdbewaking DcmDspSecurityMaxAttemptCounterReadoutTime overschreden, dan breekt de DCM de nog openstaande bewerking af met DCM_CANCEL [SWS_Dcm_01352].
In geval van succes levert de interface E_OK op en draagt de tellerstand over via de uitvoerparameter AttemptCounter [SWS_Dcm_01152]. Geeft de aanroep E_NOT_OK terug, dan stelt de DCM de teller automatisch in op de voor dit beveiligingsniveau geconfigureerde waarde DcmDspSecurityNumAttDelay [SWS_Dcm_01156].
Zolang niet alle tellerwaarden definitief zijn vastgesteld of geannuleerd, wijst de DCM elke aanvraag voor SecurityAccess (0x27) om een seed aan te vragen af met de negatieve responscode conditionsNotCorrect (0x22) [SWS_Dcm_01354]. Na voltooiing van de opvraagketen controleert de DCM de tellerwaarden: bereikt of overschrijdt ten minste één teller de drempelwaarde DcmDspSecurityNumAttDelay, dan start de DCM de SecurityDelayTimer met de hoogste waarde uit DcmDspSecurityDelayTimeOnBoot en DcmDspSecurityDelayTime [SWS_Dcm_01355].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_SetSecurityAttemptCounter [SWS_Dcm_01153] 📄 PDF
Std_ReturnType Xxx_SetSecurityAttemptCounter (Dcm_OpStatusType OpStatus, uint8 AttemptCounter);
Set the attempt counter for a specific security level in the application
De functie Xxx_SetSecurityAttemptCounter dient ertoe de pogingenteller voor een specifiek beveiligingsniveau in de applicatie in te stellen ([SWS_Dcm_01153]). Deze wordt beschikbaar gesteld via de header Dcm_Externals.h.
Aanroep en semantiek
De uitvoering vindt asynchroon plaats en is gespecificeerd als niet re-entrant (Non Reentrant) ([SWS_Dcm_01153]). De aanroep stuurt het verloop via de parameter OpStatus met de waarden DCM_INITIAL, DCM_PENDING of DCM_CANCEL. De nieuwe tellerwaarde wordt via de ingangsparameter AttemptCounter (uint8) doorgegeven.
Retourwaarden en foutafhandeling
Als retourtype wordt Std_ReturnType gebruikt ([SWS_Dcm_01153]):
E_OK: Het verzoek is succesvol afgerond.E_NOT_OK: De uitvoering was niet succesvol.DCM_E_PENDING: De verwerking is nog niet beëindigd; verdere aanroepen voor voltooiing zijn vereist.
Wordt een lopende asynchrone operatie afgebroken, dan geeft de DCM de status DCM_CANCEL door ([SWS_Dcm_01153]).
Samenspel en randvoorwaarden
De DCM-module roept Xxx_SetSecurityAttemptCounter aan zodra deze de pogingenteller heeft gewijzigd, om de applicatie over de update te informeren ([SWS_Dcm_01155]). Dit vereist dat de configuratieparameter DcmDspSecurityAttemptCounterEnabled voor de bijbehorende DcmDspSecurityRow op TRUE is geconfigureerd ([SWS_Dcm_01155]). Aangezien de interface niet re-entrant is, moet de applicatie gelijktijdige uitvoering voor dezelfde instantie uitsluiten ([SWS_Dcm_01153]).
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ReadData [SWS_Dcm_00793] 📄 PDF
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_SYNCH_CLIENT_SERVER.
De synchrone functie Xxx_ReadData vraagt bij de applicatie de actuele gegevenswaarde van een DID of PID op wanneer de configuratieparameter DcmDspDataUsePort op USE_DATA_SYNCH_CLIENT_SERVER is ingesteld [SWS_Dcm_00793]. De interface wordt bereitgesteld via de header Dcm_Externals.h en heeft de service-ID 0x34 [SWS_Dcm_00793]. De aangeroepen applicatie kopieert de opgevraagde gebruikersgegevens direct naar de doorgegeven buffer Data [SWS_Dcm_00793].
Wat betreft de retourwaarde is vastgelegd dat de aanroep zonder uitzondering E_OK retourneert [SWS_Dcm_00793]. Specifieke foutcodes, negatieve terugmeldingen of DET-/DEM-meldingen zijn voor deze signatuur niet gespecificeerd. Interpretatie: het mislukken van het bereitstellen van gegevens is op dit interfaceniveau vermoedelijk niet voorzien, aangezien in tegenstelling tot de asynchrone variant [SWS_Dcm_91005] noch een parameter ErrorCode voor negatieve responscodes (NRC), noch retourwaarden zoals E_NOT_OK of DCM_E_PENDING bestaan. Vraag Q-adcf0171ecfd37c4 (open)
Wat betreft gelijktijdigheid en randvoorwaarden is de functie gespecificeerd als niet re-entrant (Non Reentrant) en werkt deze volledig synchroon [SWS_Dcm_00793]. Het samenspel met diagnoseverzoeken vindt plaats in meerdere scenario's:
- Bij ontvangst van een OBD-service-$01-verzoek met niet-beschikbaarheids-PID's roept de DCM de telkens geconfigureerde
Xxx_ReadData-functies voor alle gegevens van de PID aan om de responswaarden te registreren [SWS_Dcm_00408]. - Bij een UDS-verzoek van de dienst 0x22 (ReadDataByIdentifier) met niet-beschikbaarheids-identifiers roept de DCM de functies voor alle gegevens van de
OBDDataIdentifier[SWS_Dcm_01380] en van deOBDInfoTypeDataIdentifier[SWS_Dcm_01389] aan. - Indien daarentegen asynchroon gedrag vereist is, treden de afzonderlijke signaturen met
OpStatusconform [SWS_Dcm_91006] respectievelijk [SWS_Dcm_91005] in werking.
Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificaties van release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ReadData [SWS_Dcm_91006] 📄 PDF
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.
De functie Xxx_ReadData dient ertoe gegevenswaarden van een DID of PID asynchroon bij de applicatie op te vragen, mits de parameter DcmDspDataUsePort op USE_DATA_ASYNCH_CLIENT_SERVER is geconfigureerd ([SWS_Dcm_91006]). Deze wordt gedeclareerd via het headerbestand Dcm_Externals.h ([SWS_Dcm_91006]).
Bij de aanroep stuurt de parameter OpStatus (type Dcm_OpStatusType) de voortgang van de lopende operatie, terwijl via de pointer Data (type uint8*) de uitvoerbuffer wordt doorgegeven waarin de opgevraagde gegevens moeten worden gekopieerd ([SWS_Dcm_91006]). Als retourwaarden zijn E_OK bij succesvolle afronding en DCM_E_PENDING gedefinieerd, mits de verwerking nog voortduurt en verdere aanroepen voor voltooiing vereist ([SWS_Dcm_91006]).
De DCM-module integreert deze functie in de volgende diagnoseprocessen:
- Bij ontvangst van een OBD Service $01 leest de DCM de actuele PID-waarden (uitgezonderd beschikbaarheids-PID's) in via de geconfigureerde
Xxx_ReadData-functies ([SWS_Dcm_00408]). - Bij UDS Service 0x22 (
ReadDataByIdentifier) roept de DCM de functie voor OBDDataIdentifier ([SWS_Dcm_01380]) en OBDInfoTypeDataIdentifier ([SWS_Dcm_01389]) aan.
Wat betreft de uitvoering is de functie gespecificeerd als niet re-entrant (Non Reentrant) ([SWS_Dcm_91006]). In tegenstelling tot de synchrone interface ([SWS_Dcm_00793]) of de asynchrone variant met aanvullende ErrorCode-parameter ([SWS_Dcm_91005]) voorziet deze functievorm niet in een directe teruggave van een negatieve responscode.
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I3)
functie Xxx_ReadData [SWS_Dcm_91005] 📄 PDF
Std_ReturnType Xxx_ReadData (Dcm_OpStatusType OpStatus, uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application a data value of a DID/PID if DcmDspDataUsePort is set to USE_DATA_ASYNCH_CLIENT_SERVER.
De functie Xxx_ReadData vraagt asynchroon bij de applicatie de gegevenswaarde van een DID of PID op, mits de configuratieparameter DcmDspDataUsePort op USE_DATA_ASYNCH_CLIENT_SERVER is ingesteld [SWS_Dcm_91005]. De functiedeclaratie wordt via het interfacebestand Dcm_Externals.h beschikbaar gesteld [SWS_Dcm_91005].
De interface heeft de volgende aanroep- en afloopkarakteristieken:
- Semantiek en parameters: De ingangsparameter
OpStatusbestuurt de voortgang van de lopende operatie [SWS_Dcm_91005]. Bij succesvolle afronding worden de opgevraagde gebruikersgegevens naar de uitgangsbufferDatagekopieerd en wordtE_OKgeretourneerd [SWS_Dcm_91005]. Heeft de applicatie meer verwerkingstijd nodig, dan signaleert dezeDCM_E_PENDING, waarna vervolgaanroepen vereist zijn [SWS_Dcm_91005]. - Foutafhandeling: Mislukt de operatie en wordt
E_NOT_OKgeretourneerd, dan evalueert de DCM-module de uitgangsparameterErrorCodeen verzendt een negatief diagnose-antwoord met deze NRC-code [SWS_Dcm_91005]. - Gelijktijdigheid: De functie is gedefinieerd als niet-reentrant (
Non Reentrant) [SWS_Dcm_91005]. Interpretatie: De herhaalde aanroepen bij aanhangige verwerking vinden vermoedelijk sequentieel plaats in de cyclus van de DCM-hoofdverwerking. Vraag Q-541226d5f242f7c2 (open) - Interactie: De DCM-module roept de functie aan bij verzoeken van de OBD Service $01 voor niet-beschikbaarheids-PID's [SWS_Dcm_00408] evenals bij de UDS Service ReadDataByIdentifier (0x22) voor
OBDDataIdentifier[SWS_Dcm_01380] enOBDInfoTypeDataIdentifier[SWS_Dcm_01389]. In vergelijking met de synchrone variant [SWS_Dcm_00793] of asynchrone interfaces zonder NRC-parameter [SWS_Dcm_91006] maakt deze signatuur een specifieke negatieve foutoverdracht mogelijk.
Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificatie-eisen van de AUTOSAR-release R20-11.
Implementer's Guide volgt (complexiteit I3)
functie Xxx_WriteData [SWS_Dcm_00794] 📄 PDF
Std_ReturnType Xxx_WriteData (const uint8* Data, Dcm_NegativeResponseCodeType* ErrorCode);
This function requests the application to write a data value of a DID.
Gebruik
De functie Xxx_WriteData wordt aangeroepen door de Diagnostic Communication Manager (DCM) om de applicatie te verzoeken een DID-datawaarde (Data Identifier) te schrijven ([SWS_Dcm_00794]). De declaratie wordt beschikbaar gesteld via de header Dcm_Externals.h. De aanroep vindt synchroon plaats onder de Service-ID 0x51 ([SWS_Dcm_00794]).
Parameters en retourwaarden:
Data(in): pointer naar de buffer met de te schrijven payload ([SWS_Dcm_00794]).ErrorCode(out): pointer naar de variabele waarin bij een mislukking de negatieve diagnosecode (NRC) moet worden ingevuld ([SWS_Dcm_00794]).- Retourwaarde (
Std_ReturnType):E_OKsignaleert succesvol schrijven,E_NOT_OKhet mislukken van de operatie ([SWS_Dcm_00794]).
Foutafhandeling
Retourneert de functie E_NOT_OK, dan leest de DCM-module de parameter ErrorCode uit en verzendt een negatief diagnose-antwoord met deze NRC-code ([SWS_Dcm_00794]).
Gelijktijdigheid en beperkingen
De functie is gespecificeerd als niet-reentrant (Non Reentrant) ([SWS_Dcm_00794]) en mag niet gelijktijdig worden uitgevoerd.
Samenspel
Aangezien er geen lengteparameter bestaat, is deze variant vermoedelijk bedoeld voor DID's met een vaste datalengte. Vraag Q-ebc074ac1cb66aaa (open) Voor DID's met variabele lengte stelt AUTOSAR de synchrone signatuur met de parameter DataLength beschikbaar ([SWS_Dcm_91007]). Bovendien bestaan er voor langdurige afhandelingen asynchrone varianten met OpStatus en mogelijke retournering van DCM_E_PENDING, zowel met vaste datalengte ([SWS_Dcm_91008]) als met variabele lengteparameter ([SWS_Dcm_91009]).
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_WriteData [SWS_Dcm_91007] 📄 PDF
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.
De callback-functie Xxx_WriteData dient ertoe de applicatie te verzoeken de gegevenswaarde van een Data Identifier (DID) te schrijven [SWS_Dcm_91007]. De interface is gedeclareerd via de header Dcm_Externals.h en heeft de service-ID 0x52 [SWS_Dcm_91007]. De aanroep geschiedt synchroon en is gespecificeerd als niet re-entrant (Non Reentrant), waardoor gelijktijdige aanroepen voor dezelfde functie niet mogen plaatsvinden [SWS_Dcm_91007].
Aan parameters ontvangt de functie de buffer Data met de te schrijven gebruikersgegevens en DataLength met de lengtespecificatie in bytes [SWS_Dcm_91007]. Als retourwaarde levert zij het type Std_ReturnType met E_OK bij succesvolle uitvoering of E_NOT_OK in geval van een fout [SWS_Dcm_91007]. Mislukt de operatie en retourneert zij E_NOT_OK, dan moet de DCM-module een negatieve respons naar de diagnosetester sturen; daarbij komt de Negative Response Code (NRC) overeen met de via de pointerparameter ErrorCode verzonden waarde [SWS_Dcm_91007].
In het totale systeem vormt [SWS_Dcm_91007] de synchrone variant voor DID's met expliciete lengtespecificatie. Aanvullend daarop bestaat met [SWS_Dcm_00794] (service-ID 0x51) een synchrone variant zonder de parameter DataLength. Voor langere schrijfprocessen voorziet de standaard in asynchrone interfaces: [SWS_Dcm_91008] (service-ID 0x35) zonder lengtespecificatie en [SWS_Dcm_91009] (service-ID 0x3e) met DataLength. Beide asynchrone functies worden bestuurd via OpStatus en kunnen naast E_OK en E_NOT_OK ook DCM_E_PENDING retourneren [SWS_Dcm_91008] [SWS_Dcm_91009].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR Classic Release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_WriteData [SWS_Dcm_91008] 📄 PDF
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.
Gebruik
De functie Xxx_WriteData verzoekt de applicatie de gegevenswaarde van een Data Identifier (DID) te schrijven [SWS_Dcm_91008]. Zij is gedeclareerd in het headerbestand Dcm_Externals.h en heeft een asynchrone uitvoeringssemantiek met de service-ID 0x35 [SWS_Dcm_91008].
De parameters en retourwaarden zijn als volgt onderverdeeld [SWS_Dcm_91008]:
Data(IN): Pointer naar de buffer die de te schrijven gegevens bevat.OpStatus(IN): Status van de actuele operatie ter besturing van het asynchrone aanroepverloop.ErrorCode(OUT): Pointer naar de foutcode (NRC) die in geval van een fout wordt ingesteld.- Retourwaarde (
Std_ReturnType):E_OKbevestigt het succesvolle schrijfproces,E_NOT_OKmeldt een mislukking enDCM_E_PENDINGgeeft aan dat de operatie nog voortduurt en verdere aanroepen voor voltooiing vereist.
Foutafhandeling en gelijktijdigheid
Retourneert de aanroep de waarde E_NOT_OK, dan moet de DCM-module een negatieve respons verzenden met de in de uitvoerparameter ErrorCode doorgegeven NRC-waarde [SWS_Dcm_91008]. De functie is gespecificeerd als niet re-entrant [SWS_Dcm_91008], zodat gelijktijdige of overlappende aanroepen voor dezelfde instantie niet zijn toegestaan.
Interactie en varianten
Deze interface conform [SWS_Dcm_91008] dekt de asynchrone schrijftoegang zonder afzonderlijke lengteparameter af. AUTOSAR definieert hiervoor verwante varianten in de DCM: een synchrone signatuur zonder lengtespecificatie [SWS_Dcm_00794] en signaturen met een aanvullende parameter DataLength voor synchrone [SWS_Dcm_91007] en asynchrone processen [SWS_Dcm_91009].
Deze gebruiksinstructie is gegenereerd door een AI-systeem op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_WriteData [SWS_Dcm_91009] 📄 PDF
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.
Gebruik en semantiek
De functie Xxx_WriteData verzoekt de applicatie de gegevenswaarde van een Data Identifier (DID) te schrijven [SWS_Dcm_91009]. Deze wordt gedeclareerd via het headerbestand Dcm_Externals.h en heeft de service-ID 0x3e [SWS_Dcm_91009]. De uitvoering geschiedt asynchroon (Asynchronous), waarvoor de volgende parameters worden doorgegeven:
Data(in): Pointer naar de buffer met de te schrijven gebruikersgegevens [SWS_Dcm_91009].DataLength(in): Lengte van de te schrijven gegevens in bytes [SWS_Dcm_91009].OpStatus(in): Operatiestatus (Dcm_OpStatusType) ter besturing van de asynchrone verwerkingsvoortgang [SWS_Dcm_91009].ErrorCode(out): Pointer voor de opname van een negatieve responscode (NRC) in geval van een fout [SWS_Dcm_91009].
Als retourwaarden van het type Std_ReturnType zijn E_OK (schrijfverzoek succesvol afgerond), E_NOT_OK (verzoek mislukt) en DCM_E_PENDING gedefinieerd [SWS_Dcm_91009]. De status DCM_E_PENDING signaleert dat het proces nog niet is voltooid en verdere vervolgaanroepen voor voltooiing vereist zijn [SWS_Dcm_91009]. Interpretatie: de DCM roept de functie bij teruggave van DCM_E_PENDING met voortgezette OpStatus vermoedelijk zo lang cyclisch opnieuw aan totdat er een definitief resultaat voorligt. Vraag Q-fdbd734dab052f5c (open)
Foutafhandeling en gelijktijdigheid
Retourneert de functie de waarde E_NOT_OK, dan moet via de parameter ErrorCode de overeenkomstige foutcode worden bereitgesteld; de DCM-module stuurt vervolgens een negatieve respons met deze NRC-waarde [SWS_Dcm_91009]. Specifieke DET- of DEM-meldingen zijn in de payload voor deze interface niet gedefinieerd. Wat betreft gelijktijdigheid is de functie gespecificeerd als niet re-entrant (Non Reentrant) [SWS_Dcm_91009].
Samenspel en interfacevarianten
De signatuur [SWS_Dcm_91009] dekt asynchrone schrijftoegangen met expliciete lengtespecificatie af. In de DCM bestaan verdere varianten van Xxx_WriteData:
- Synchrone uitvoering zonder lengtespecificatie: [SWS_Dcm_00794] (service-ID
0x51). - Synchrone uitvoering met lengtespecificatie: [SWS_Dcm_91007] (service-ID
0x52). - Asynchrone uitvoering zonder lengtespecificatie: [SWS_Dcm_91008] (service-ID
0x35).
Opmerking: deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR Classic-specificatie voor release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ReadDataLength [SWS_Dcm_00796] 📄 PDF
Std_ReturnType Xxx_ReadDataLength (uint16* DataLength);
This function requests the application to return the data length in byte of a Data.
Gebruik
Met de functie Xxx_ReadDataLength verzoekt de DCM-module de applicatie om de gegevenslengte van een gegeven in bytes te bepalen en te retourneren [SWS_Dcm_00796]. De interface is gedeclareerd in de header Dcm_Externals.h en heeft de Service-ID 0x36 [SWS_Dcm_00796]. Het opvragen wordt synchroon uitgevoerd [SWS_Dcm_00796]. Via de uitvoerparameter DataLength van het type uint16* draagt de applicatie de bytelengte van de te lezen gegevens over aan het DCM [SWS_Dcm_00796]. Ingangs- of in-/uitgangsparameters zijn niet gedefinieerd [SWS_Dcm_00796]. Als retourwaarde levert de functie altijd E_OK van het type Std_ReturnType op [SWS_Dcm_00796].
Gelijktijdigheid en beperkingen
De interface is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Dcm_00796]. Aangezien de functie synchroon werkt en volgens de specificatie altijd E_OK meldt, zijn er voor deze aanroep geen specifieke foutcodes of afwijkende statusretourwaarden voorzien [SWS_Dcm_00796].
Samenspel
Naast de synchrone functie bestaat er een gelijknamige asynchrone variant met de Service-ID 0x4c, die eveneens via Dcm_Externals.h beschikbaar wordt gesteld [SWS_Dcm_91010]. Terwijl de synchrone versie [SWS_Dcm_00796] zonder operatiestatus kan, vereist de asynchrone tegenhanger de invoerparameter OpStatus van het type Dcm_OpStatusType [SWS_Dcm_91010]. Bovendien kan de asynchrone interface naast E_OK de retourwaarde DCM_E_PENDING opleveren indien het verzoek nog niet is voltooid en verdere aanroepen vereist voor afronding [SWS_Dcm_91010].
Deze tekst is gegenereerd door een AI en dient als leidraad. Bindend zijn de specificaties van de desbetreffende AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_ReadDataLength [SWS_Dcm_91010] 📄 PDF
Std_ReturnType Xxx_ReadDataLength (Dcm_OpStatusType OpStatus, uint16* DataLength);
This function requests the application to return the data length in byte of a Data.
De functie [SWS_Dcm_91010] (service-ID 0x4c) verzoekt de applicatie om de datalengte van een data-element in bytes te bepalen. Deze is gedeclareerd in de header Dcm_Externals.h en dient voor de Diagnostic Communication Manager (DCM) voor het flexibel opvragen van de lengte van diagnosedata.
Gebruik en semantiek
Bij de aanroep geeft de DCM-module de actuele voortgang door via de ingangsparameter OpStatus van het type Dcm_OpStatusType ([SWS_Dcm_91010]). Het resultaat van de opvraag schrijft de applicatie in de uitvoerparameter DataLength (type uint16*). Is de datalengte niet direct beschikbaar, dan signaleert de functie via de retourwaarde DCM_E_PENDING dat de verwerking voortduurt en verdere aanroepen vereist zijn ([SWS_Dcm_91010]). Zodra het resultaat gereed is, meldt de applicatie de afronding terug met E_OK.
Gelijktijdigheid en beperkingen
Volgens de specificatie is de functie geclassificeerd als niet-reentrant ([SWS_Dcm_91010]), waardoor gelijktijdige aanroepen door de DCM moeten worden uitgesloten. Aangezien de specificatie geen specifieke foutwaarden behalve DCM_E_PENDING voorschrijft, mag worden aangenomen dat de DCM bij teruggave van E_OK altijd uitgaat van een geldig ingestelde bytegrootte. Vraag Q-e7ecd3a518e2cbcb (open)
Samenspel
De asynchrone interface [SWS_Dcm_91010] verschilt van de verwante synchrone variant [SWS_Dcm_00796] (service-ID 0x36). Laatstgenoemde heeft geen parameter OpStatus, wordt synchroon uitgevoerd en retourneert de lengte altijd direct met E_OK. [SWS_Dcm_91010] stelt de applicatie daarentegen in staat om tijdsintensieve berekeningen asynchroon over meerdere aanroepcycli te spreiden.
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ConditionCheckRead [SWS_Dcm_00797] 📄 PDF
Std_ReturnType Xxx_ConditionCheckRead (Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application if the conditions to read the Data are correct.
De synchrone callout-functie Xxx_ConditionCheckRead wordt via het headerbestand Dcm_Externals.h ter beschikking gesteld en dient ertoe bij de applicatie na te vragen of aan de voorwaarden voor het uitlezen van de diagnosedata is voldaan [SWS_Dcm_00797].
De interface heeft geen invoerparameters en signaleert de status van de controle via de retourwaarde van het type Std_ReturnType [SWS_Dcm_00797]:
E_OK: De controle was succesvol, aan de voorwaarden voor het lezen van de data is voldaan [SWS_Dcm_00797].E_NOT_OK: De controle is mislukt, het uitlezen is niet toegestaan [SWS_Dcm_00797].
Levert de functie E_NOT_OK terug, dan verzendt de DCM-module een negatief antwoord (Negative Response) met de foutcode die de applicatie via de uitvoerparameter ErrorCode (type Dcm_NegativeResponseCodeType*) heeft doorgegeven [SWS_Dcm_00797].
Wat betreft de concurrency is de functie gespecificeerd als niet-re-entrant (Non Reentrant) en wordt deze met de Service-ID 0x49 synchroon uitgevoerd [SWS_Dcm_00797]. De controle dient aan de applicatiezijde daarom direct zonder blokkerende wachttijden te worden geëvalueerd, om vertraging van de synchrone DCM-aanroeper te voorkomen. Vraag Q-ada29c78c29d961e (open)
In afwijking van deze synchrone operatie definieert [SWS_Dcm_91011] een asynchrone variant onder de Service-ID 0x37. Deze maakt aanvullend gebruik van de invoerparameter OpStatus (type Dcm_OpStatusType) en kan naast E_OK en E_NOT_OK ook DCM_E_PENDING teruggeven wanneer vervolgstappen voor de beëindiging van de controle noodzakelijk zijn [SWS_Dcm_91011].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_ConditionCheckRead [SWS_Dcm_91011] 📄 PDF
Std_ReturnType Xxx_ConditionCheckRead (Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application if the conditions to read the Data are correct.
Gebruik en semantiek
De functie Xxx_ConditionCheckRead wordt beschikbaar gesteld via het headerbestand Dcm_Externals.h en dient ertoe bij de applicatiesoftware te controleren of aan de voorwaarden voor het uitlezen van de diagnosedata is voldaan [SWS_Dcm_91011]. De uitvoering vindt plaats onder het service-ID 0x37 op asynchrone wijze [SWS_Dcm_91011]. Via de ingangsparameter OpStatus (type Dcm_OpStatusType) wordt de actuele status van de lopende operatie doorgegeven [SWS_Dcm_91011].
Retourwaarden en foutafhandeling
Als retourwaarde levert de functie een status van het type Std_ReturnType [SWS_Dcm_91011]:
E_OK: Het verzoek was succesvol en aan de leesvoorwaarden is voldaan [SWS_Dcm_91011].E_NOT_OK: De controle is mislukt [SWS_Dcm_91011]. In dat geval moet de applicatie via de uitvoerparameterErrorCodeeen negatieve antwoordcode (NRC) van het typeDcm_NegativeResponseCodeTypeinstellen; de DCM-module stuurt vervolgens een negatief antwoord met deze NRC [SWS_Dcm_91011].DCM_E_PENDING: De controle is nog niet voltooid, zodat verdere aanroepen voor de voltooiing noodzakelijk zijn [SWS_Dcm_91011].
Gelijktijdigheid en afbakening
De interface is gespecificeerd als niet-reentrant (Non Reentrant) [SWS_Dcm_91011]. In tegenstelling tot deze asynchrone variant definieert [SWS_Dcm_00797] onder het service-ID 0x49 een synchrone signatuur zonder OpStatus-parameter, die uitsluitend E_OK of E_NOT_OK retourneert [SWS_Dcm_00797].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR R20-11-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_GetScalingInformation [SWS_Dcm_00798] 📄 PDF
Std_ReturnType Xxx_GetScalingInformation (uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application for the scaling information of a Data.
functie Xxx_GetScalingInformation [SWS_Dcm_91012] 📄 PDF
Std_ReturnType Xxx_GetScalingInformation (Dcm_OpStatusType OpStatus, uint8* ScalingInfo, Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application for the scaling information of a Data.
De asynchrone interface Xxx_GetScalingInformation wordt beschikbaar gesteld via de header Dcm_Externals.h en dient om schaalinformatie van een data-element op te vragen uit de applicatie [SWS_Dcm_91012]. De DCM-module roept deze functie aan zodra een diagnoseverzoek voor de UDS-dienst ReadScalingByIdentifier wordt ontvangen, en wel voor elk gegeven dat voor de opgevraagde DID is geconfigureerd [SWS_Dcm_00394].
Parameters en retourwaarden
De functie definieert de volgende parameters en semantiek [SWS_Dcm_91012]:
OpStatus(in): Geeft de actuele status van de lopende bewerking door.ScalingInfo(out): Buffer voor het opnemen van de schaalinformatie (scalingByteenscalingByteExtension).ErrorCode(out): Neemt de negatieve antwoordcode op indien de bewerking mislukt.
Als retourwaarden zijn E_OK bij een succesvolle afronding, E_NOT_OK bij een fout en DCM_E_PENDING gespecificeerd indien de verwerking nog niet is voltooid en verdere aanroepen nodig heeft voor de voltooiing [SWS_Dcm_91012].
Foutafhandeling en gelijktijdigheid
Retourneert de aanroep E_NOT_OK, dan moet de DCM-module een negatief antwoord verzenden waarvan de NRC overeenkomt met de via de uitvoerparameter ErrorCode ter beschikking gestelde waarde [SWS_Dcm_91012]. De functie is gespecificeerd als niet-reentrant (Non Reentrant) [SWS_Dcm_91012]. Interpretatie: Of deze asynchrone functie met OpStatus of de alternatief gespecificeerde synchrone variant zonder OpStatus [SWS_Dcm_00798] wordt aangeroepen, zal vermoedelijk afhangen van de configuratie van de desbetreffende DID. Vraag Q-c4054a798f17a52c (open)
Deze tekst is opgesteld door een AI; de juistheid en volledigheid van de gegevens kan niet worden gegarandeerd.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ReturnControlToECU [SWS_Dcm_01285] 📄 PDF
Std_ReturnType Xxx_ReturnControlToECU ([ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application to return control to ECU of an IOControl.
De functie Xxx_ReturnControlToECU wordt via de header Dcm_Externals.h beschikbaar gesteld en verzoekt de applicatie om de controle over een in-/uitvoersturing (IOControl) terug te geven aan de ECU [SWS_Dcm_01285]. De aanroep geschiedt synchroon en is gespecificeerd als niet re-entrant [SWS_Dcm_01285].
Parameters en varianten
De functiesignatuur is afhankelijk van de configuratie van het externe stuurmasker [SWS_Dcm_01285]:
- Als
DcmDspDidControlMaskopDCM_CONTROLMASK_EXTERNALis ingesteld en de maskergrootte maximaal vier bytes bedraagt (DcmDspDidControlMaskSize <= 0x04), wordt de ingangsparametercontrolMaskvan het typeDcm_ControlMask_{DID}Typedoorgegeven [SWS_Dcm_01285]. - Bedraagt de maskergrootte vijf of meer bytes (
DcmDspDidControlMaskSize >= 0x05), dan wordt in plaats daarvan de pointercontrolMask2van het typeuint8*gebruikt [SWS_Dcm_01285]. - Via de uitgangsparameter
ErrorCode(typeDcm_NegativeResponseCodeType*) verzendt de functie in geval van een fout de specifieke negatieve responscode (NRC) naar de DCM [SWS_Dcm_01285].
Retourwaarden en foutafhandeling
De functie levert de status Std_ReturnType terug. Bij een succesvolle teruggave van de controle meldt de applicatie E_OK [SWS_Dcm_01285]. Mislukt de operatie, dan moet de functie E_NOT_OK retourneren; in dat geval stuurt de DCM-module een negatief antwoord met de in ErrorCode opgeslagen NRC naar de diagnosetester [SWS_Dcm_01285].
Interactie en aanroepcontext
De DCM roept de geconfigureerde functie-interface (parameter DcmDspDataReturnControlToEcuFnc) aan wanneer DcmDspDataUsePort op USE_DATA_SYNCH_FNC, USE_DATA_ASYNCH_FNC of USE_DATA_ASYNCH_FNC_ERROR is geconfigureerd [SWS_Dcm_01435]. Naast reguliere diagnoseacties wordt Xxx_ReturnControlToECU door de DCM in het bijzonder aangeroepen wanneer een actieve IO-sturingssequentie moet worden afgebroken [SWS_Dcm_01435].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_ResetToDefault [SWS_Dcm_01286] 📄 PDF
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.
De synchrone functie-interface Xxx_ResetToDefault wordt beschikbaar gesteld via de header Dcm_Externals.h en dient ertoe een applicatie te verzoeken om een I/O-aansturing (IOControl) te resetten naar de standaardwaarde [SWS_Dcm_01286].
Aanroepcontext en parameters
De functie heeft het service-ID 0x4d, werkt synchroon en is gespecificeerd als niet-reentrant [SWS_Dcm_01286]. Afhankelijk van de geconfigureerde grootte van het externe sturingsmasker wordt een van twee alternatieve ingangsparameters meegegeven:
controlMask(typeDcm_ControlMask_{DID}Type) wordt toegepast wanneerDcmDspDataUsePortis geconfigureerd opUSE_DATA_SYNCH_FNC,DcmDspDidControlMaskopDCM_CONTROLMASK_EXTERNALstaat enDcmDspDidControlMaskSizeten hoogste0x04bedraagt [SWS_Dcm_01286].controlMask2(typeuint8*) wordt gebruikt wanneer onder identieke randvoorwaardenDcmDspDidControlMaskSizegroter dan of gelijk aan0x05is geconfigureerd [SWS_Dcm_01286].
Retourwaarden en foutafhandeling
Kon het resetten succesvol worden uitgevoerd, dan retourneert de functie E_OK [SWS_Dcm_01286]. Mislukt de bewerking, dan moet E_NOT_OK worden geretourneerd. In dat geval vult de applicatie de uitvoerparameter ErrorCode (type Dcm_NegativeResponseCodeType*) met de overeenkomstige negatieve antwoordcode (NRC), die de DCM-module als negatieve terugmelding naar de tester verzendt [SWS_Dcm_01286].
Interactie en afbakening
Is het systeem ontworpen voor asynchrone interfaceafhandeling via USE_DATA_ASYNCH_FNC of USE_DATA_ASYNCH_FNC_ERROR, dan wordt in plaats van deze synchrone functie de asynchrone variant met de extra parameter OpStatus en het service-ID 0x3c gebruikt [SWS_Dcm_01314].
Deze tekst is gegenereerd door een AI en is gebaseerd op de specificaties van AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_ResetToDefault [SWS_Dcm_01314] 📄 PDF
Std_ReturnType Xxx_ResetToDefault (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application to reset an IOControl to default value.
De asynchrone functie [SWS_Dcm_01314] verzoekt de applicatie om een in-/uitgangsaansturing (IOControl) te resetten naar de standaardwaarde. Deze is gedeclareerd in Dcm_Externals.h en heeft het service-ID 0x3c. Via de parameter OpStatus wordt de voortgang van de bewerking geregeld. Bij nog niet voltooide verwerking retourneert de functie DCM_E_PENDING, terwijl een succesvolle afronding wordt bevestigd met E_OK.
Afhankelijk van de configuratie en de maskergrootte (DcmDspDidControlMaskSize tot 4 byte of vanaf 5 byte) wordt bij externe maskering aanvullend controlMask respectievelijk controlMask2 meegegeven [SWS_Dcm_01314]. Mislukt de reset, dan retourneert de functie E_NOT_OK. In dat geval moet via de uitvoerparameter ErrorCode een negatieve antwoordcode (NRC) worden doorgegeven, die de DCM-module als negatieve response naar de tester verzendt [SWS_Dcm_01314].
De functie is gespecificeerd als niet-reentrant (Non Reentrant) [SWS_Dcm_01314]. Deze wordt gebruikt wanneer DcmDspDataUsePort is ingesteld op USE_DATA_ASYNCH_FNC of USE_DATA_ASYNCH_FNC_ERROR. Voor synchrone interfaceconfiguraties (USE_DATA_SYNCH_FNC) bestaat als alternatief de synchrone variant zonder OpStatus [SWS_Dcm_01286].
Deze tekst is opgesteld door een AI en is gebaseerd op de specificatiestand van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_FreezeCurrentStateManager [SWS_Dcm_01290] 📄 PDF
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.
Gebruik
De synchrone functie Xxx_FreezeCurrentState (in de elementencatalogus aangeduid als Xxx_FreezeCurrentStateManager) dient ertoe een applicatie te verzoeken de actuele toestand van een in- of uitvoersturing (IOControl) te bevriezen [SWS_Dcm_01290]. De functie is beschikbaar via het headerbestand Dcm_Externals.h en heeft de service-ID 0x4a AUTOSAR_SWS_DiagnosticCommunicationManager p. 279. (Interpretatie: het voorvoegsel Xxx fungeert daarbij vermoedelijk als tijdelijke aanduiding voor de betreffende applicatiemodule.) Vraag Q-f8c864cda732acc2 (open)
De interfaceparameters zijn afhankelijk van de configuratie van het externe stuurmasker (DcmDspDidControlMask op DCM_CONTROLMASK_EXTERNAL) [SWS_Dcm_01290]:
controlMask(invoer, typeDcm_ControlMask_{DID}Type): Wordt doorgegeven wanneer de maskergrootteDcmDspDidControlMaskSizekleiner dan of gelijk aan 4 bytes (<= 0x04) is geconfigureerd.controlMask2(invoer, typeuint8*): Wordt in plaats daarvan gebruikt wanneer de maskergrootte ten minste 5 bytes (=> 0x05) omvat.ErrorCode(uitvoer, typeDcm_NegativeResponseCodeType*): Pointer voor de opname van een negatieve responscode bij fouten.
Foutafhandeling en retourwaarden
De functie levert als Std_ReturnType hetzij E_OK op bij succesvolle uitvoering, hetzij E_NOT_OK wanneer het verzoek niet succesvol was [SWS_Dcm_01290]. Doet zich een fout voor en wordt E_NOT_OK geretourneerd, dan moet de applicatie in parameter ErrorCode een specifieke negatieve responscode (NRC) invullen; de DCM-module zendt vervolgens een negatief diagnose-antwoord met deze NRC AUTOSAR_SWS_DiagnosticCommunicationManager p. 279.
Gelijktijdigheid en beperkingen
De operatie is gespecificeerd als niet re-entrant (Non Reentrant) [SWS_Dcm_01290]. Aanroepers moeten ervoor zorgen dat aanroepen voor dezelfde instantie synchroon en zonder gelijktijdige overlapping worden afgehandeld.
Deze tekst is opgesteld door een AI en dient als oriëntatiehulp. Bindend is de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_FreezeCurrentStateManager [SWS_Dcm_01315] 📄 PDF
Std_ReturnType Xxx_FreezeCurrentState (Dcm_OpStatusType OpStatus, [ Dcm_ControlMask_{DID}Type controlMask ], [ uint8* controlMask2 ], Dcm_NegativeResponseCodeType* ErrorCode);
This function requests to the application to freeze the current state of an IOControl.
Gebruik en aanroepcontext
De asynchrone functie Xxx_FreezeCurrentState wordt door de DCM-module aangeroepen om bij de toepassingssoftware het bevriezen van de actuele toestand van een in-/uitvoersturing (IOControl) aan te vragen [SWS_Dcm_01315]. De declaratie wordt via de header Dcm_Externals.h ter beschikking gesteld [SWS_Dcm_01315].
Parameters en stuurmaskers
De aanroep vindt plaats met de volgende parameters [SWS_Dcm_01315]:
OpStatus: Verzendt de actuele status van de asynchrone operatie (Dcm_OpStatusType).controlMaskresp.controlMask2: Wanneer het stuurmasker extern is geconfigureerd (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL) en de asynchrone functie-interface wordt gebruikt, geeft de DCM afhankelijk vanDcmDspDidControlMaskSizebij maximaal 4 bytes de parametercontrolMask(van het typeDcm_ControlMask_{DID}Type) door en vanaf 5 bytes de pointercontrolMask2(uint8*).ErrorCode: Pointer naarDcm_NegativeResponseCodeTypevoor de teruggave van een foutcode.
Retourwaarden en foutafhandeling
De functie retourneert een status van het type Std_ReturnType [SWS_Dcm_01315]:
E_OK: Het bevriezen van de toestand is succesvol voltooid.DCM_E_PENDING: Het verzoek is nog in behandeling en vereist vervolgaanroepen.E_NOT_OK: De operatie is mislukt. In dit geval zendt de DCM een negatief diagnose-antwoord met de viaErrorCodeingestelde NRC-waarde.
Concurrency
De interface is gedefinieerd als niet re-entrant (Non Reentrant) en vereist daarom een gesynchroniseerde verwerking per sturingsinstantie [SWS_Dcm_01315].
Deze tekst is opgesteld door een AI en gecureerd volgens redactionele richtlijnen.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ShortTermAdjustment [SWS_Dcm_00802] 📄 PDF
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.
De synchrone functie Xxx_ShortTermAdjustment verzoekt de applicatie om een bepaald I/O-signaal tijdelijk aan te passen [SWS_Dcm_00802]. Deze wordt beschikbaar gesteld via de header Dcm_Externals.h en heeft de Service-ID 0x50 [SWS_Dcm_00802].
Via de pointer ControlStateInfo ontvangt de functie de stuurtoestandsinformatie uit de parameter ControlOptionRecord van het diagnoseverzoek InputOutputControlByIdentifier [SWS_Dcm_00802]. Als er een extern stuurmasker is geconfigureerd (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL), wordt afhankelijk van DcmDspDidControlMaskSize aanvullend ofwel controlMask (tot 4 bytes) van het type Dcm_ControlMask_{DID}Type of controlMask2 (vanaf 5 bytes) als uint8* overgedragen [SWS_Dcm_00802].
Als retourwaarde levert de operatie Std_ReturnType op [SWS_Dcm_00802]:
E_OK: De aanpassing van het I/O-signaal is succesvol uitgevoerd [SWS_Dcm_00802].E_NOT_OK: De aanpassing is mislukt [SWS_Dcm_00802]. In dit geval moet de applicatie via de uitvoerparameterErrorCodeeen specifieke negatieve responscode (Dcm_NegativeResponseCodeType) instellen, die de DCM-module in het negatieve diagnoseresponsbericht terugzendt naar de tester [SWS_Dcm_00802].
De functie is niet-re-entrant (Non Reentrant) en wordt synchroon aangeroepen [SWS_Dcm_00802]. Deze synchrone variant wordt gebruikt wanneer het gegevenselement is geconfigureerd voor synchrone functieaanroepen (DcmDspDataUsePort == USE_DATA_SYNCH_FNC) [SWS_Dcm_00802]. Voor asynchroon geconfigureerde poorten (USE_DATA_ASYNCH_FNC of USE_DATA_ASYNCH_FNC_ERROR) bestaat daarentegen de asynchrone variant met Service-ID 0x55 en een uitgebreide parameterset inclusief OpStatus en DataLength [SWS_Dcm_01316].
Deze tekst is gegenereerd door een AI en is gebaseerd op AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ShortTermAdjustment [SWS_Dcm_01316] 📄 PDF
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 adjust the IO signal.
Gebruik en aanroepcontext
De functie [SWS_Dcm_01316] wordt aangeroepen door de Diagnostic Communication Manager (DCM) en beschikbaar gesteld via Dcm_Externals.h. Deze verzoekt de applicatie asynchroon om een IO-signaal aan te passen in het kader van de diagnosedienst InputOutputControlByIdentifier. De sturingsdata worden doorgegeven via de pointer ControlStateInfo (uit de parameter ControlOptionRecord), aangevuld met de bytelengte DataLength. Het verloop wordt geregeld via OpStatus: zolang de aanpassing voortduurt, retourneert de applicatie DCM_E_PENDING; na succesvolle afronding meldt deze E_OK.
Varianten en maskerparameters
Bij externe configuratie van het controlemasker (DCM_CONTROLMASK_EXTERNAL) worden aanvullende parameters meegegeven [SWS_Dcm_01316]:
- Is de maskergrootte kleiner dan of gelijk aan 4 byte, dan wordt
controlMaskvan het typeDcm_ControlMask_{DID}Typemeegegeven. - Bedraagt de maskergrootte minimaal 5 byte, dan wordt in plaats daarvan
controlMask2als pointer naaruint8meegegeven.
Foutafhandeling en gelijktijdigheid
Mislukt de signaalaansturing, dan retourneert de functie E_NOT_OK en stelt via de pointer ErrorCode de negatieve antwoordcode (NRC) in, die de DCM in het negatieve antwoord verzendt [SWS_Dcm_01316]. De functie is gespecificeerd als niet-reentrant.
Interactie en afbakening
De interface wordt gebruikt wanneer de DID-datapoort is geconfigureerd op USE_DATA_ASYNCH_FNC of USE_DATA_ASYNCH_FNC_ERROR en het datatype op UINT8_DYN [SWS_Dcm_01316]. Deze verschilt van de synchrone variant [SWS_Dcm_00802], die noch OpStatus noch DataLength gebruikt en bedoeld is voor synchrone poorten bij statische datatypen.
Deze tekst is automatisch gegenereerd door een AI-curatie-assistent op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_IsDidAvailable [SWS_Dcm_00803] 📄 PDF
Std_ReturnType Xxx_IsDidAvailable (uint16 DID, Dcm_OpStatusType OpStatus, Dcm_DidSupportedType* supported);
This function requests if a specific DID is available within the range or not.
De functie Xxx_IsDidAvailable dient voor de asynchrone controle of een opgevraagde Diagnostic Identifier (DID) beschikbaar is binnen een gedefinieerd DID-bereik [SWS_Dcm_00803]. Deze wordt beschikbaar gesteld via de header Dcm_Externals.h en heeft de Service-ID 0x53 [SWS_Dcm_00803].
Gebruik en parameters
De aanroep vindt plaats met de volgende parameters [SWS_Dcm_00803]:
DID(In): De op te vragen identifierwaarde van de DID [SWS_Dcm_00803].OpStatus(In): De actuele status van de operatie voor de besturing van het asynchrone verloop [SWS_Dcm_00803].supported(Out): Geeft aan of de DID in het bereik beschikbaar is;DCM_DID_SUPPORTEDbetekent ondersteuning, terwijlDCM_DID_NOT_SUPPORTEDde niet-ondersteuning aangeeft [SWS_Dcm_00803].
Asynchrone semantiek en retourwaarden
Omdat de functie asynchroon wordt uitgevoerd, vereist het bepalen onder bepaalde omstandigheden meerdere aanroepstappen [SWS_Dcm_00803]. De retourwaarde DCM_E_PENDING signaleert dat het verzoek nog niet is voltooid en dat er verdere aanroepen nodig zijn voor afronding [SWS_Dcm_00803]. De retourwaarde E_OK wordt gemeld wanneer de controle is voltooid [SWS_Dcm_00803] (interpretatie: vermoedelijk voltooit E_OK de opvraging, waarna de parameter supported het geldige resultaat bevat). Vraag Q-22c62d306a7ac4f1 (open)
Gelijktijdigheid en beperkingen
De interface is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Dcm_00803]. Parallelle aanroepen voor dezelfde of andere DID's binnen dezelfde instantie zijn daarom niet toegestaan.
Deze tekst is gegenereerd door een AI en is uitsluitend gebaseerd op de specificatiegegevens uit AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ReadDidData [SWS_Dcm_00804] 📄 PDF
Std_ReturnType Xxx_ReadDidData (uint16 DID, uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);
This function requests to the application a data value of a DID
Gebruik en parameterinterface
De functie Xxx_ReadDidData (service-ID 0x40) is beschikbaar via Dcm_Externals.h en vraagt bij de applicatie de gegevenswaarden van een diagnose-identifier (DID) op [SWS_Dcm_00804]. De overdracht en terugkoppeling vinden plaats via de volgende parameters:
DID: Identifier van de aangevraagde Data Identifier [SWS_Dcm_00804].Data: Pointer naar de buffer waarin de gelezen nuttige gegevens moeten worden gekopieerd [SWS_Dcm_00804].OpStatus: Voortgangs- respectievelijk operatiestatus van het actuele verzoek [SWS_Dcm_00804].DataLength: Lengte van de te lezen gegevens [SWS_Dcm_00804].ErrorCode: Uitgangsparameter voor de opname van een negatieve responscode (NRC) [SWS_Dcm_00804].
Asynchrone semantiek en retourwaarden
De functie is als asynchroon (Asynchronous) gedefinieerd en retourneert een status van het type Std_ReturnType [SWS_Dcm_00804]:
E_OK: Het uitlezen van de gegevens was succesvol [SWS_Dcm_00804].DCM_E_PENDING: Het verzoek is nog niet voltooid; voor de voltooiing zijn verdere aanroepen vereist [SWS_Dcm_00804].E_NOT_OK: De operatie was niet succesvol [SWS_Dcm_00804].
Foutafhandeling en gelijktijdigheid
Retourneert de applicatie voor Xxx_ReadDidData de retourwaarde E_NOT_OK, dan verzendt de DCM-module een negatief antwoord met de via de parameter ErrorCode ingestelde NRC-code naar de diagnosetester [SWS_Dcm_00804]. De functie is als niet-re-entrant (Non Reentrant) gespecificeerd [SWS_Dcm_00804]. Interpretatie: Vanwege de asynchrone afhandeling met DCM_E_PENDING vindt de aanroep vermoedelijk typisch plaats in de cyclische taakcontext van de DCM. Vraag Q-5e41e9fb7dc261b9 (open)
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie in SWS_Dcm_00804.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_WriteDidData [SWS_Dcm_00805] 📄 PDF
Std_ReturnType Xxx_WriteDidData (uint16 DID, const uint8* Data, Dcm_OpStatusType OpStatus, uint16 DataLength, Dcm_NegativeResponseCodeType ErrorCode);
This function requests the application to write a data value of a DID.
De functie Xxx_WriteDidData wordt aangeroepen door de module DCM om de applicatie te verzoeken de gegevenswaarde van een DID te schrijven [SWS_Dcm_00805]. De declaratie is beschikbaar via de header Dcm_Externals.h [SWS_Dcm_00805].
Aanroep en semantiek
De aanroep geschiedt asynchroon en is gedefinieerd als niet-re-entrant (Non Reentrant) [SWS_Dcm_00805]. Bij de aanroep worden de volgende parameters overgedragen [SWS_Dcm_00805]:
DID: Identifier van de te schrijven data-identifier.Data: Pointer naar de buffer met de te schrijven gegevens.OpStatus: Status van de actuele operatie.DataLength: Lengte van de te schrijven gegevens in bytes.ErrorCode: Uitvoerparameter voor de negatieve responscode (NRC).
Retourwaarden en foutafhandeling
Als retourwaarde levert de functie Std_ReturnType met de volgende betekenissen [SWS_Dcm_00805]:
E_OK: De schrijfopdracht is succesvol uitgevoerd.DCM_E_PENDING: De operatie is nog niet voltooid; voor voltooiing zijn verdere aanroepen vereist.E_NOT_OK: De operatie was niet succesvol. In dit geval verzendt de DCM-module een negatief antwoord met de in de uitgangsparameterErrorCodeovergedragen NRC-waarde.
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ReadDidRangeDataLength [SWS_Dcm_01271] 📄 PDF
Std_ReturnType Xxx_ReadDidRangeDataLength (uint16 DID, Dcm_OpStatusType OpStatus, uint16* DataLength);
This function requests the application to return the data length of a DID Range.
De functie Xxx_ReadDidRangeDataLength dient ertoe de toepassingssoftware te verzoeken om teruggave van de datalengte voor een DID-bereik (DID Range) [SWS_Dcm_01271]. Deze maakt deel uit van de AUTOSAR-module Dcm, heeft service-ID 0x5e en wordt via het headerbestand Dcm_Externals.h ter beschikking gesteld [SWS_Dcm_01271].
De aanroep vindt plaats met asynchrone semantiek (Asynchronous) via de volgende interfaceparameters [SWS_Dcm_01271]:
DID(IN,uint16): Identificeert de concrete data-identifier (Data ID value) van het opgevraagde DID-bereik [SWS_Dcm_01271].OpStatus(IN,Dcm_OpStatusType): Geeft de actuele verwerkingsstatus van de lopende operatie aan [SWS_Dcm_01271].DataLength(OUT,uint16*): Pointer naar de lengte van de data die gelezen of geschreven moeten worden [SWS_Dcm_01271].
De retourwaarde van het type Std_ReturnType signaleert het resultaat van de lengteopvraag [SWS_Dcm_01271]:
E_OK: De aanvraag was succesvol en de bepaalde lengte is beschikbaar [SWS_Dcm_01271].E_NOT_OK: De aanvraag was niet succesvol [SWS_Dcm_01271].DCM_E_PENDING: De uitvoering is nog niet afgerond en vereist verdere vervolgaanroepen voor voltooiing [SWS_Dcm_01271].
Met betrekking tot concurrency is de interface vastgelegd als niet re-entrant (Non Reentrant) [SWS_Dcm_01271].
Gebruiksinstructie gegenereerd op basis van de specificatie van DCM in AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_GetInfotypeValueData [SWS_Dcm_91014] 📄 PDF
Std_ReturnType Xxx_GetInfotypeValueData (Dcm_OpStatusType OpStatus, uint8* DataValueBuffer, uint8* DataValueBufferSize);
The function provides the data related to the requested Infotype.
De asynchrone interface Xxx_GetInfotypeValueData wordt door de DCM-module aangeroepen zodra een diagnoseaanvraag voor OBD Service $09 wordt ontvangen en het opgevraagde InfoType geen beschikbaarheids-InfoType (“availability InfoType”) is [SWS_Dcm_00423]. Om de data beschikbaar te stellen, roept de DCM alle voor dit InfoType geconfigureerde functies aan en voegt de waarden samen als antwoord op Service $09 [SWS_Dcm_00423]. De declaratie is beschikbaar via Dcm_Externals.h [SWS_Dcm_91014].
De overdracht en terugkoppeling van de data vindt plaats via gedefinieerde buffer- en statusparameters [SWS_Dcm_91014]:
OpStatus(in): Toont de actuele voortgangsstatus van de lopende operatie.DataValueBuffer(out): Buffer voor de opname van de specifieke InfoType-payload.DataValueBufferSize(inout): Bevat bij de aanroep de maximaal beschrijfbare buffergrootte in bytes en wordt door de aangeroepen functie gevuld met het werkelijke aantal geschreven databytes.
Als asynchrone functie levert zij E_OK op bij succesvolle afronding, E_NOT_OK bij fouten of DCM_E_PENDING indien de operatie nog niet is afgerond en verdere aanroepen voor voltooiing vereist [SWS_Dcm_91014]. Aangezien de functie is gespecificeerd als niet re-entrant (Non Reentrant), mogen er geen gelijktijdige aanroepen voor dezelfde functie plaatsvinden [SWS_Dcm_91014].
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp. Maatgevend is de officiële AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_Start [SWS_Dcm_01203] 📄 PDF
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 requests to the application to start the execution of a routine.
De functie Xxx_Start wordt gedeclareerd via het headerbestand Dcm_Externals.h en verzoekt de applicatiesoftware om de uitvoering van een diagnostische routine te starten [SWS_Dcm_01203]. De module DCM roept deze functie aan zodra een UDS-serviceverzoek voor RoutineControl (0x31) met de subfunctie startRoutine is ontvangen en succesvol is geverifieerd [SWS_Dcm_00400], of wanneer een RoutineControl-verzoek met een niet-beschikbaarheids-OBDTestId binnenkomt [SWS_Dcm_01392].
De interface ondersteunt zowel vaste als variabele dataformaten en wordt asynchroon uitgevoerd [SWS_Dcm_01203]:
- Invoerparameters: Vaste ingangssignalen
dataIn_1totdataIn_nof variabele data via de byte-arraydataInVaren de operationele statusOpStatus[SWS_Dcm_01203]. - Uitvoerparameters: Vaste uitgangssignalen
dataOut_1totdataOut_nof variabele uitgangsdatadataOutVaren de foutcodeErrorCodevoor negatieve antwoordberichten [SWS_Dcm_01203]. - Lengteparameters: De in- en uitvoerparameter
currentDataLengthtransporteert bij variabele datalengte het aantal payloadbytes indataInVarrespectievelijkdataOutVar[SWS_Dcm_01203]. - Retourwaarden:
E_OKbevestigt de succesvolle start,E_NOT_OKmeldt een mislukking,DCM_E_PENDINGsignaleert nog lopende verwerkingsstappen enDCM_E_FORCE_RCRRPverzoekt om het voortijdig verzenden van een pending-bericht (NRC 0x78) [SWS_Dcm_01203].
Met betrekking tot concurrency is Xxx_Start gedefinieerd als niet-reentrant (Non Reentrant) [SWS_Dcm_01203]. Bij asynchrone processen met de retourwaarde DCM_E_PENDING roept de DCM-module de functie cyclisch opnieuw aan met de voortgezette OpStatus totdat de bewerking is voltooid [SWS_Dcm_01203].
Wordt de bewerking succesvol beëindigd met E_OK, dan stuurt de DCM-module een positief UDS-antwoord terug met de via dataOut ter beschikking gestelde data als routineStatusRecord [SWS_Dcm_00401]. Mislukt de uitvoering met E_NOT_OK, dan verstuurt de DCM een negatief antwoord met de in parameter ErrorCode gespecificeerde NRC [SWS_Dcm_01203]. In de context van OBD-routines leidt een retourwaarde ongelijk aan E_OK tot het verzenden van NRC 0x22 [SWS_Dcm_01394].
Deze tekst is gegenereerd door een AI en dient ter oriëntatie. Uitsluitend de AUTOSAR-specificatie is bindend.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_StartConfirmation [SWS_Dcm_91016] 📄 PDF
Std_ReturnType Xxx_StartConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);
This function indicates the transmission of a response to a StartRoutine request
Gebruik
De functie Xxx_StartConfirmation geeft conform [SWS_Dcm_91016] de verzending van een antwoord op een voorafgaand StartRoutine-verzoek bindend aan. De interface is gedeclareerd in het headerbestand Dcm_Externals.h en heeft een synchrone uitvoeringssemantiek ([SWS_Dcm_91016]). Als enige invoerparameter wordt ConfirmationStatus van het type Dcm_ConfirmationStatusType doorgegeven, die de bevestigingsstatus van de routineverzending beschrijft. Aanvullende in- en uitvoerparameters bestaan volgens de specificatie niet ([SWS_Dcm_91016]).
Foutafhandeling en retourwaarden
Als retourwaarde levert de functie een statuswaarde van het type Std_ReturnType ([SWS_Dcm_91016]). Daarbij bevestigt de waarde E_OK de succesvolle uitvoering van het verzoek, terwijl E_NOT_OK een niet-succesvolle verwerking signaleert. Specifieke foutcodes of expliciete meldingen aan de Development Error Tracer (DET) of Diagnostic Event Manager (DEM) zijn voor deze functie niet in de payload gedefinieerd.
Gelijktijdigheid en beperkingen
Met betrekking tot de gelijktijdigheid is Xxx_StartConfirmation geclassificeerd als niet-re-entrant (Non Reentrant) ([SWS_Dcm_91016]). Dit vereist van de aanroeper dat concurrerende of overlappende uitvoeringen strikt worden vermeden. Interpretatie: De functie wordt vermoedelijk aangeroepen door de DCM om de routine-implementatie aan de applicatiezijde te informeren over de voltooiing van het verzendproces. Vraag Q-be2dafd63bf2a9a5 (open)
Deze tekst is opgesteld door een AI en is gebaseerd op de AUTOSAR-standaard Release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_Stop [SWS_Dcm_01204] 📄 PDF
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 requests to the application to stop the execution of a routine
Gebruik
De functie [SWS_Dcm_01204] wordt door de DCM aangeroepen om de uitvoering van een lopende diagnoseroutine in de applicatie te beëindigen. De aanroep vindt plaats in het kader van de UDS-dienst RoutineControl (0x31) met de subfunctie stopRoutine, zodra de vereiste voorcontroles met succes zijn doorlopen [SWS_Dcm_00402]. De interface heeft de service-ID 0x5c en is gedeclareerd via het headerbestand Dcm_Externals.h [SWS_Dcm_01204].
Parameters en retourwaarden
Afhankelijk van de configuratie van de routine geeft de DCM vaste of variabele invoergegevens (dataIn_1 tot dataIn_n resp. dataInVar) en bufferreferenties voor uitvoergegevens (dataOut_1 tot dataOut_n resp. dataOutVar) door [SWS_Dcm_01204], [SWS_Dcm_00402]. Bij variabele datalengte bevat currentDataLength het aantal bytes van de in- resp. uitvoergegevens [SWS_Dcm_01204]. Als retourwaarden van Std_ReturnType zijn vastgelegd:
E_OK: Routine succesvol beëindigd; de DCM verzendt een positief UDS-antwoord met de gegenereerde uitvoergegevens als routineStatusRecord [SWS_Dcm_01204], [SWS_Dcm_00403].E_NOT_OK: Afbreken van de routine mislukt; de DCM zendt een negatief UDS-antwoord met de inErrorCodeopgeslagen NRC [SWS_Dcm_01204].DCM_E_PENDING: Operatie is nog in behandeling; de DCM roept de functie opnieuw aan voor voltooiing [SWS_Dcm_01204].DCM_E_FORCE_RCRRP: De applicatie verzoekt de DCM om verzending van een pending-antwoord (NRC 0x78) [SWS_Dcm_01204].
Gelijktijdigheid en beperkingen
De operatie is gespecificeerd als asynchroon en niet re-entrant (Non Reentrant) [SWS_Dcm_01204]. Treedt er bij de uitvoering een fout op, dan moet de applicatie de parameter ErrorCode met de passende Dcm_NegativeResponseCodeType beschrijven en E_NOT_OK retourneren [SWS_Dcm_01204].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_StopConfirmation [SWS_Dcm_91017] 📄 PDF
Std_ReturnType Xxx_StopConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);
This function indicates the transmission of a response to a StopRoutine request
De synchrone functie Xxx_StopConfirmation dient ertoe de verzending van een antwoord op een voorafgaand StopRoutine-verzoek aan te geven [SWS_Dcm_91017]. Bij de aanroep geeft het systeem via de invoerparameter ConfirmationStatus van het type Dcm_ConfirmationStatusType de concrete bevestigingsstatus van de routinebeëindiging door [SWS_Dcm_91017]. Als retourwaarde levert de interface een waarde van het type Std_ReturnType: hierbij geeft E_OK aan dat het verzoek succesvol is verwerkt, terwijl E_NOT_OK een niet-succesvol verzoek signaleert [SWS_Dcm_91017].
Wat betreft gelijktijdigheid en aanroepvoorwaarden is de interface gespecificeerd als niet-re-entrant (Non Reentrant) en bezit deze de service-ID 0x69 [SWS_Dcm_91017]. De declaratie wordt via het headerbestand Dcm_Externals.h beschikbaar gesteld [SWS_Dcm_91017]. Interpretatie: Vanwege de beschikbaarstelling via Dcm_Externals.h en het aanpasbare voorvoegsel Xxx_ wordt de functie vermoedelijk door de DCM-module aangeroepen en geïmplementeerd door een applicatiespecifieke softwarecomponent respectievelijk de verantwoordelijke routinehandler. Vraag Q-743e69ff8cf92321 (open)
Specifieke foutcodes of meldingen aan het ontwikkelingsfoutbeheer (DET) of de Diagnostic Event Manager (DEM) zijn in de vereisten niet vermeld. Het gedrag bij fouten beperkt zich op dit interfaceniveau formeel tot de teruggave van de foutwaarde E_NOT_OK wanneer de verwerking niet succesvol kon worden afgerond [SWS_Dcm_91017].
Deze gebruiksinstructie is gebaseerd op de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_RequestResults [SWS_Dcm_91013] 📄 PDF
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 requests to the application the result of a routine execution
De functie [SWS_Dcm_91013] wordt door de DCM-module aangeroepen om bij de applicatie het resultaat van een routine-uitvoering op te vragen. Dit gebeurt in het kader van de UDS-dienst RoutineControl (0x31) met de subfunctie requestRoutineResults, zodra alle ingangscontroles met succes zijn doorlopen [SWS_Dcm_00404]. De interface is beschikbaar via Dcm_Externals.h, werkt asynchroon en is gespecificeerd als niet re-entrant [SWS_Dcm_91013].
Via de parameter OpStatus bestuurt de DCM-module het verloop van de operatie. De functie neemt vaste invoergegevens (dataIn_1 tot dataIn_n) of variabele gegevens (dataInVar) aan, die worden afgeleid van het routineControlOptionRecord [SWS_Dcm_00404]. Via vaste uitvoerparameters (dataOut_1 tot dataOut_n) of variabele uitvoerbuffers (dataOutVar en variableDataLength) draagt de applicatie de resultaatgegevens over aan de DCM [SWS_Dcm_91013].
Wordt de opvraag succesvol afgerond met E_OK, dan voegt de DCM-module de uitvoergegevens aan de hand van de configuratieparameter DcmDspRequestRoutineResultsOut samen tot een routineStatusRecord en verzendt een positief antwoord [SWS_Dcm_00405]. Indien de operatie nog voortduurt, kan de applicatie DCM_E_PENDING voor vervolgaanroepen of DCM_E_FORCE_RCRRP voor het zenden van een voorlopig antwoord (NRC 0x78) retourneren [SWS_Dcm_91013].
In geval van een fout levert de functie E_NOT_OK terug en stelt ErrorCode in op de van toepassing zijnde NRC-waarde, waarna de DCM-module een overeenkomstig negatief antwoord verstuurt [SWS_Dcm_91013]. Omdat de functie niet re-entrant is, mag deze voor dezelfde routine niet parallel worden aangeroepen [SWS_Dcm_91013].
Automatisch gegenereerde gebruiksinstructie op basis van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_RequestResultsConfirmation [SWS_Dcm_91018] 📄 PDF
Std_ReturnType Xxx_RequestResultsConfirmation (Dcm_ConfirmationStatusType ConfirmationStatus);
This function indicates the transmission of a response to a RequestRoutineResults request
Gebruik en semantiek
De functie Xxx_RequestResultsConfirmation dient ter bevestiging van een verzonden diagnoseantwoord op een RequestRoutineResults-verzoek [SWS_Dcm_91018]. Deze is gedeclareerd in het headerbestand Dcm_Externals.h en bezit de service-ID 0x70 [SWS_Dcm_91018]. Via de invoerparameter ConfirmationStatus van het type Dcm_ConfirmationStatusType ontvangt de implementatie informatie over de status waarmee de verzending van de routineresultaten is voltooid [SWS_Dcm_91018]. De aanroep wordt synchroon uitgevoerd en retourneert een Std_ReturnType, waarbij E_OK een succesvolle verwerking aangeeft en E_NOT_OK een mislukking signaleert [SWS_Dcm_91018].
Gelijktijdigheid en beperkingen
Volgens de specificatie is de functie ingeschaald als niet-re-entrant (Non Reentrant) [SWS_Dcm_91018]. Daarom mogen gelijktijdige aanroepen voor dezelfde instantie niet plaatsvinden. Interpretatie: De aanroep door de DCM-module vindt sequentieel plaats in de context van de antwoordbevestiging, waardoor de functie zonder blokkerende operaties moet worden uitgevoerd. Vraag Q-935a06744e7b9af7 (open)
Foutafhandeling en wisselwerking
De foutafhandeling beperkt zich tot de retourwaarde E_NOT_OK, aangezien afzonderlijke ontwikkelingsfouten (DET) of productiefouten (DEM) voor deze aanroep niet zijn gespecificeerd [SWS_Dcm_91018]. Interpretatie: De functie dient als een applicatiespecifiek bevestigingseindpunt (callback) voor de DCM om na verzending van de routineresultaten de afronding van de diagnoseopdracht op gebruikersniveau te synchroniseren. Vraag Q-d3dd0142a30e1363 (open)
Deze tekst is opgesteld door een AI. Gegevens zijn gebaseerd op AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_RequestControl [SWS_Dcm_01338] 📄 PDF
Std_ReturnType Xxx_RequestControl (uint8* OutBuffer, const uint8* InBuffer);
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
De functie Xxx_RequestControl dient voor de uitvoering van een TID-specifieke stuurfunctie en wordt typisch toegepast voor de implementatie van OBD Service $08 ([SWS_Dcm_01338]). De DCM-module roept de geconfigureerde functie synchroon aan zodra een OBD-Service-$08-aanvraag wordt ontvangen waarvan de test-ID (TID) geen beschikbaarheids-TID (“availability TID”) is ([SWS_Dcm_00419]). De declaratie van de interface wordt via het headerbestand Dcm_Externals.h ter beschikking gesteld ([SWS_Dcm_01338]).
Parameters en bufferbehandeling
InBuffer: Pointer naar de payload van het ontvangen OBD-verzoek. Het aantal bytes van deze invoergegevens moet exact overeenkomen met de in de DCM-module geconfigureerde omvang ([SWS_Dcm_00419], [SWS_Dcm_01338]).OutBuffer: Pointer naar de uitvoerbuffer waarin de aangeroepen stuurfunctie haar resultaten opslaat. De buffergrootte is vast voorgeschreven en wordt ontleend aan de configuratie van de DCM-module ([SWS_Dcm_00419], [SWS_Dcm_01338]).
Retourwaarden en foutafhandeling
De functie geeft als statuswaarde Std_ReturnType terug: de waarde E_OK signaleert een succesvolle afhandeling, terwijl E_NOT_OK een fouttoestand aangeeft ([SWS_Dcm_01338]). Indien Xxx_RequestControl een ander resultaat dan E_OK oplevert, reageert de DCM-module met de negatieve responscode NRC 0x22 (Conditions Not Correct) richting de diagnosetester ([SWS_Dcm_01192]).
Gelijktijdigheid en beperkingen
De functie is gespecificeerd als niet re-entrant (Non Reentrant) en heeft de service-ID 0x63 ([SWS_Dcm_01338]).
AI-opmerking: deze tekst is automatisch gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_StartProtocol [SWS_Dcm_01339] 📄 PDF
Std_ReturnType Xxx_StartProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);
This function allows the application to examine the environment conditions and enable/disable further processing of the protocol.
De callback-functie Xxx_StartProtocol wordt beschikbaar gesteld via de header Dcm_Externals.h en stelt de applicatie in staat om bij het eerste verzoek van een diagnoseprotocol actuele omgevingscondities te controleren en de verdere protocolverwerking vrij te geven of af te wijzen [SWS_Dcm_01339].
Aanroepcontext en parameters
De aanroep vindt synchroon en niet-reentrant plaats door de DSL-submodule van de DCM voor alle geconfigureerde functies [SWS_Dcm_00036], [SWS_Dcm_01339]. Aan de functie worden de volgende ingangsparameters meegegeven [SWS_Dcm_01339]:
ProtocolType: Type van het te starten diagnoseprotocol,TesterSourceAddress: Bronadres van de verzoekende tester,ConnectionId: Unieke identificatie van de verbinding.
Retourwaarden en foutafhandeling
Als retourwaarde levert de functie Std_ReturnType met E_OK bij succesvolle vrijgave, E_NOT_OK bij een niet-succesvolle controle of E_PROTOCOL_NOT_ALLOWED indien het protocol niet is toegestaan [SWS_Dcm_01339]. Retourneert ten minste één geconfigureerde Xxx_StartProtocol-functie niet E_OK, dan breekt de DCM de protocolstart af en antwoordt met NRC 0x22 [SWS_Dcm_00674].
Initialisatie na succesvolle vrijgave
Pas wanneer alle geconfigureerde Xxx_StartProtocol-callbacks E_OK hebben geretourneerd, voert de DCM de verdere initialisatiestappen uit:
- Laden van de standaard timingparameters uit de default-sessieconfiguratie [SWS_Dcm_00144],
- Activeren van de servicetabel [SWS_Dcm_00145],
- Resetten van de beveiligingsstatus (Security State) [SWS_Dcm_00146],
- Resetten van de sessiestatus naar de standaard diagnosesessie en het uitvoeren van de moduswissel via
SchM_Switch_<bsnp>_DcmDiagnosticSessionControlnaarRTE_MODE_DcmDiagnosticSessionControl_DEFAULT_SESSION[SWS_Dcm_00147].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie-eisen van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_StopProtocol [SWS_Dcm_01340] 📄 PDF
Std_ReturnType Xxx_StopProtocol (Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress, uint16 ConnectionId);
This function informs the application of the protocol stop.
De synchrone callback-functie Xxx_StopProtocol informeert de applicatie over het beëindigen van een diagnoseprotocol ([SWS_Dcm_01340]). Deze wordt gedeclareerd via het headerbestand Dcm_Externals.h en is gespecificeerd als niet-reentrant (Non Reentrant) ([SWS_Dcm_01340]).
De aanroep van alle geconfigureerde Xxx_StopProtocol-functies (geconfigureerd via de parameter DcmDslCallbackDCMRequestService) wordt door de DSL-submodule geactiveerd in de volgende preemption-scenario's:
- Een lopend diagnoseverzoek wordt verdrongen door een verzoek met een hogere prioriteit van een ander protocol ([SWS_Dcm_00459]).
- Een verzoek met een lagere of gelijke prioriteit verdringt een protocol met een hogere prioriteit, mits dit zich in de Default Session bevindt en er geen actief verzoek in de uitvoeringsfase is ([SWS_Dcm_00625]).
Bij de aanroep worden het protocoltype (ProtocolType), het bronadres van de tester (TesterSourceAddress) en de verbindingsidentificatie (ConnectionId) meegegeven ([SWS_Dcm_01340]). Als retourwaarde levert de functie E_OK bij succesvolle uitvoering of E_NOT_OK ([SWS_Dcm_01340]). Retourneert de functie niet E_OK, dan antwoordt de DCM met de negatieve antwoordcode NRC 0x22 ([SWS_Dcm_01190]).
Deze tekst is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificatievoorschriften van AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Xxx_Indication [SWS_Dcm_01341] 📄 PDF
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 indicates to the application that a service is about to be executed and allows the application to reject the execution of the service request
De synchrone, niet-re-entrante functie Xxx_Indication wordt via de header Dcm_Externals.h gedeclareerd [SWS_Dcm_01341]. Deze toont de applicatie de aanstaande uitvoering van een diagnosedienst en stelt deze in staat de uitvoering van het serviceverzoek af te wijzen [SWS_Dcm_01341]. De aanroep geschiedt synchroon door de DSD-submodule op alle geconfigureerde ServiceRequestIndication-poorten wanneer de configuratiecontainers DcmDsdServiceRequestManufacturerNotification [SWS_Dcm_00218] of DcmDsdServiceRequestSupplierNotification [SWS_Dcm_00516] aanwezig zijn.
Als invoerparameters worden de Service-ID (SID), de verzoekdata zonder SID (RequestData, DataSize), het adresseringstype (ReqType), de verbindings-ID (ConnectionId), het protocoltype (ProtocolType) en het bronadres van de tester (TesterSourceAddress) doorgegeven [SWS_Dcm_01341].
Via de retourwaarde van het type Std_ReturnType bestuurt de applicatie de reactie van de DSD-submodule [SWS_Dcm_01341]:
E_OK: Het verzoek was succesvol en wordt regulier verder verwerkt [SWS_Dcm_01341].E_REQUEST_NOT_ACCEPTED: Het verzoek wordt niet geaccepteerd. Geeft ten minste één aangeroepen indication-functieE_REQUEST_NOT_ACCEPTEDterug, dan onderdrukt de DSD-submodule elk antwoord aan de tester [SWS_Dcm_00462], [SWS_Dcm_00517].E_NOT_OK: Het verzoek was niet succesvol. De applicatie schrijft in dit geval een negatieve responscode in de uitvoerparameterErrorCode[SWS_Dcm_01341]. Voor zover geen enkele aanroepE_REQUEST_NOT_ACCEPTEDteruggeeft, verzendt de DSD-submodule een negatief antwoord met deze NRC [SWS_Dcm_00463], [SWS_Dcm_00518].
Als bij meerdere geconfigureerde notificaties meerdere functies E_NOT_OK teruggeven en geen enkele functie E_REQUEST_NOT_ACCEPTED, dan gebruikt de DSD-submodule voor het negatieve antwoord bindend de ErrorCode van de eerste met E_NOT_OK antwoordende functie [SWS_Dcm_01321], [SWS_Dcm_01322].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_Confirmation [SWS_Dcm_01342] 📄 PDF
Std_ReturnType Xxx_Confirmation (uint8 SID, uint8 ReqType, uint16 ConnectionId, Dcm_ConfirmationStatusType ConfirmationStatus, Dcm_ProtocolType ProtocolType, uint16 TesterSourceAddress);
This function confirms to the application the successful transmission or a transmission error of a diagnostic service.
De callbackfunctie Xxx_Confirmation dient ertoe de applicatie de voltooiing van een diagnoseoverdracht – hetzij de succesvolle verzending, hetzij een overdrachtsfout – synchroon mede te delen ([SWS_Dcm_01342]). De declaratie wordt via de header Dcm_Externals.h ter beschikking gesteld ([SWS_Dcm_01342]).
Bij de aanroep door de DCM-submodule DSD (Diagnostic Service Dispatcher) worden essentiële contextgegevens van de diagnoseopdracht overgedragen ([SWS_Dcm_01342], [SWS_Dcm_00741]):
SID: Identificator van de diagnosedienst ([SWS_Dcm_01342]).ReqType: Adresseringswijze (0voor fysiek,1voor functioneel) ([SWS_Dcm_01342]).ConnectionId,ProtocolTypeenTesterSourceAddress: Eenduidige verbindings- en protocolattributen evenals het bronadres van de tester ([SWS_Dcm_01342]).ConfirmationStatus: Statusinformatie over succes of fout van de overdracht ([SWS_Dcm_01342]).
Als retourwaarde levert de operatie Std_ReturnType (E_OK bij succesvolle bevestigingsverwerking, anders E_NOT_OK) ([SWS_Dcm_01342]). De DSD roept de functie aan op alle poorten die de interface ServiceRequestNotification gebruiken (geconfigureerd via DcmDsdServiceRequestManufacturerNotification resp. DcmDsdServiceRequestSupplierNotification) ([SWS_Dcm_00741]).
Wat betreft de aanroepvolgorde wordt Xxx_Confirmation regulier direct aansluitend op DspInternal_DcmConfirmation() uitgevoerd ([SWS_Dcm_00742]). Doet zich echter het uitzonderlijke geval volgens [SWS_Dcm_01172] voor, dan roept de DSD uitsluitend Xxx_Confirmation aan, terwijl de interne aanroep vervalt.
Aangezien Xxx_Confirmation als niet-reentrant (Non Reentrant) en synchroon gespecificeerd is ([SWS_Dcm_01342]), bevat de applicatiezijdige implementatie vermoedelijk geen blokkerende processen en veroorzaakt deze geen reentrante terugaanroepen naar de DCM (interpretatie). Vraag Q-58ce3e44dc61540b (open)
Deze tekst is opgesteld door een AI. Alle gegevens zijn uitsluitend gebaseerd op de AUTOSAR-specificatieomvang van release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ClearDTCCheckFnc [SWS_Dcm_01270] 📄 PDF
Std_ReturnType Xxx_ClearDTCCheckFnc (uint32 GoDTC, Dcm_NegativeResponseCodeType* ErrorCode);
Callout function for condition check, manufacturer / supplier specific checks on the groupOf DTC, which is requested to clear.
Gebruik
De synchrone callout-functie Xxx_ClearDTCCheckFnc wordt via het headerbestand Dcm_Externals.h voor de applicatie beschikbaar gesteld [SWS_Dcm_01270]. Deze dient voor fabrikant- en leverancierspecifieke controle van voorwaarden voorafgaand aan het wissen van een aangevraagde groep van diagnose-foutcodes (Group of DTC). Als invoerparameter wordt de identifier GoDTC van het type uint32 meegegeven, die de te wissen foutcodegroep specificeert [SWS_Dcm_01270].
Foutafhandeling en retourwaarden
De vrijgave van het wisverzoek vindt plaats via de retourwaarde van het type Std_ReturnType in samenspel met de uitvoerparameter ErrorCode [SWS_Dcm_01270]:
E_OK: De applicatie staat het wissen van de opgevraagde foutcodegroep toeGoDTC[SWS_Dcm_01270].E_NOT_OK: De applicatie verbiedt het wissen van de groep. In dit foutgeval moet via de uitvoerparameterErrorCodevan het typeDcm_NegativeResponseCodeType*een negatieve responscode worden ingesteld. De module DCM verstuurt vervolgens een negatief antwoord met de inErrorCodeaangegeven NRC-waarde [SWS_Dcm_01270].
Gelijktijdigheid en beperkingen
De functie is voorzien van de service-ID 0x5f, werkt synchroon en is gedefinieerd als niet re-entrant (Non Reentrant) [SWS_Dcm_01270]. De aanroepcontext moet daarom waarborgen dat aanroepen sequentieel en zonder gelijktijdige overlappingen plaatsvinden.
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie SWS_Dcm_01270 uit AUTOSAR R20-11.
functie Xxx_ProcessRequestDownload [SWS_Dcm_00754] 📄 PDF
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 start a download process. This service is needed for the implementation of UDS service RequestDownload.
De callout-functie Xxx_ProcessRequestDownload ([SWS_Dcm_00754]) wordt door de module Dcm aangeroepen om bij de verwerking van de UDS-dienst RequestDownload een downloadproces te initiëren. Deze is gedefinieerd als asynchroon en niet-re-entrant en wordt via de header Dcm_Externals.h ter beschikking gesteld ([SWS_Dcm_00754]).
Gebruik en parameters
De aanroep geschiedt stapsgewijs via de parameter OpStatus met de waarden DCM_INITIAL, DCM_PENDING of DCM_CANCEL ([SWS_Dcm_00754]). Als invoerparameters worden compressie- en versleutelingsmethoden (DataFormatIdentifier), het geheugenblok (MemoryIdentifier), het startadres (MemoryAddress) en de ongecomprimeerde geheugengrootte in bytes (MemorySize) overgedragen ([SWS_Dcm_00754]). Vóór de aanroep beschrijft de Dcm de inout-parameter BlockLength met de maximaal mogelijke buffergrootte ([SWS_Dcm_01417]). De functie past deze waarde aan op de maximaal toelaatbare bloklengte voor latere schrijfbewerkingen ([SWS_Dcm_00754]).
Retourwaarden en interactie
De functie levert E_OK bij succesvolle uitvoering, DCM_E_PENDING als de bewerking nog voortduurt, of E_NOT_OK bij een fout ([SWS_Dcm_00754]):
- Levert de aanroep
E_OKop en is de onderhandelde waardeBlockLengthkleiner dan of gelijk aan de ondersteunde bufferlengte van de actuele protocolverbinding, dan verstuurt deDcmeen positieve respons met deze waarde alsmaxNumberOfBlockLength([SWS_Dcm_01419]). - Overschrijdt de geretourneerde bufferlengte de ondersteunde buffergrootte van de protocolverbinding, dan meldt de
Dcmde DET-foutDCM_E_INTERFACE_BUFFER_OVERFLOW([SWS_Dcm_01418]). - Bij teruggave van
E_NOT_OKverzendt deDcmeen negatieve UDS-respons (NRC) met de in de uitvoerparameterErrorCodegezette waarde ([SWS_Dcm_00754], [SWS_Dcm_00757]).
Deze gebruiksinstructie is automatisch gegenereerd en dient als ondersteuning bij de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ProcessRequestTransferExit [SWS_Dcm_00755] 📄 PDF
Std_ReturnType Xxx_ProcessRequestTransferExit (Dcm_OpStatusType OpStatus, 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.
De callout-functie Xxx_ProcessRequestTransferExit wordt door de DCM-module aangeroepen om een lopend download- of uploadproces in het kader van de UDS-dienst RequestTransferExit te beëindigen [SWS_Dcm_00755]. De declaratie van de interface wordt via de header Dcm_Externals.h beschikbaar gesteld [SWS_Dcm_00755].
Gebruik en semantiek
De functie wordt asynchroon uitgevoerd en is als niet-re-entrant gedefinieerd [SWS_Dcm_00755]. De aanroep vindt plaats onder overdracht van de actuele uitvoeringsstatus OpStatus (mogelijke waarden: DCM_INITIAL, DCM_PENDING of DCM_CANCEL) [SWS_Dcm_00755]. Als retourwaarden van het type Std_ReturnType zijn gespecificeerd:
E_OK: De overdracht is succesvol beëindigd [SWS_Dcm_00755].DCM_E_PENDING: De overdrachtsbeëindiging is nog niet voltooid en vereist vervolgaanroepen [SWS_Dcm_00755].E_NOT_OK: De beëindiging is mislukt of de antwoordbuffer is te klein [SWS_Dcm_00755].
Foutafhandeling en wisselwerking
Retourneert de operatie Xxx_ProcessRequestTransferExit de foutwaarde E_NOT_OK, dan moet via de uitgangsparameter ErrorCode een negatieve responscode worden overgedragen. De DCM-module verzendt vervolgens een negatief UDS-antwoord (NRC) met exact deze foutcode naar de diagnosetester [SWS_Dcm_00759]. Bij een afbreek-aanroep draagt de DCM-module de status DCM_CANCEL over aan de functie [SWS_Dcm_00755].
Deze tekst is automatisch gegenereerd. Alle gegevens zijn uitsluitend gebaseerd op de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ProcessRequestUpload [SWS_Dcm_00756] 📄 PDF
Std_ReturnType Xxx_ProcessRequestUpload (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 start an upload process. This service is needed for the implementation of UDS service RequestUpload.
De callout-functie Xxx_ProcessRequestUpload wordt door de DCM-module aangeroepen om de UDS-dienst RequestUpload te initiëren ([SWS_Dcm_00756]). Deze wordt via Dcm_Externals.h beschikbaar gesteld en is als niet-re-entrant en asynchroon gespecificeerd ([SWS_Dcm_00756]). Via de parameter OpStatus (met de toestanden DCM_INITIAL, DCM_PENDING, DCM_CANCEL of DCM_FORCE_RCRRP_OK) bestuurt de DCM het verloop van de operatie ([SWS_Dcm_00756]).
Bij de aanroep draagt de DCM onder andere de compressie- en versleutelingsmethode (DataFormatIdentifier), het geheugenblok (MemoryIdentifier), het startadres (MemoryAddress) en de ongecomprimeerde geheugengrootte in bytes (MemorySize) over ([SWS_Dcm_00756]). De in/out-parameter BlockLength definieert het maximale aantal bytes voor een volgende Dcm_ReadMemory-aanroep; voorafgaand aan de aanroep schrijft de DCM de maximaal mogelijke buffergrootte in deze parameter ([SWS_Dcm_00756], [SWS_Dcm_01420]).
Als retourwaarden van Xxx_ProcessRequestUpload zijn E_OK bij een succesvol verzoek, E_NOT_OK bij fouten en DCM_E_PENDING bij nog niet voltooide verwerking gedefinieerd ([SWS_Dcm_00756]):
- Retourneert de functie
E_NOT_OK, dan verzendt de DCM-module een negatief UDS-antwoord met de in de uitgangsparameterErrorCodeingestelde NRC-waarde ([SWS_Dcm_00756], [SWS_Dcm_00758]). - Retourneert de functie een aangevraagde bufferwaarde in
BlockLengthdie kleiner dan of gelijk aan de ondersteunde bufferlengte van de actuele protocolverbinding is, dan gebruikt de DCM deze waarde alsmaxNumberOfBlockLengthin het positieve antwoord ([SWS_Dcm_01422]). - Valt de geretourneerde bufferlengte daarentegen groter uit dan de door de protocolverbinding ondersteunde bufferlengte, dan meldt de DCM de DET-fout
DCM_E_INTERFACE_BUFFER_OVERFLOW([SWS_Dcm_01421]).
Deze tekst is opgesteld door een AI. Hij is uitsluitend gebaseerd op de specificaties van de overgedragen AUTOSAR-payload.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ProcessTransferDataRead [SWS_Dcm_91070] 📄 PDF
Dcm_ReturnReadMemoryType Xxx_ProcessTransferDataRead (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, Dcm_RequestDataArrayType MemoryData, 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
De callout-functie Xxx_ProcessTransferDataRead dient voor het asynchroon uitlezen van geheugengegevens uit het stuurapparaat op basis van startadres (MemoryAddress) en lengte (MemorySize) conform [SWS_Dcm_91070]. Deze wordt beschikbaar gesteld via de header Dcm_Externals.h en ondersteunt de UDS-diensten ReadMemoryByAddress, RequestUpload, TransferData en ReadDataByIdentifier bij dynamisch via geheugenadressen gedefinieerde DID's [SWS_Dcm_91070].
De aanroep is niet-reentrant (Non Reentrant) en wordt bestuurd via de parameter OpStatus ([SWS_Dcm_91070]):
DCM_INITIAL: Start de leesoperatie.DCM_PENDING: Zet een nog niet afgeronde leesprocedure voort.DCM_CANCEL: Breekt de lopende operatie af.DCM_FORCE_RCRRP_OK: Bevestigt de overdracht van een uitstaand antwoord.
Voor de adressering kan via MemoryIdentifier een geheugenblok resp. -bereik worden geselecteerd; wordt deze parameter niet gebruikt, dan moet deze dwingend op 0 worden gezet [SWS_Dcm_91070]. De uitgelezen gegevens worden geretourneerd via de uitgangsparameter MemoryData, die direct verwijst naar de diagnosebuffer van de DCM [SWS_Dcm_91070].
Als retourwaarden zijn DCM_READ_OK bij succes, DCM_READ_PENDING bij nog voortdurend uitlezen en DCM_READ_FORCE_RCRRP gedefinieerd wanneer het proces uitstaat en er onmiddellijk een response-pending-bericht moet worden verzonden [SWS_Dcm_91070]. Mislukt het lezen, dan levert de functie DCM_READ_FAILED; in dat geval moet via de pointer ErrorCode een negatieve antwoordcode (NRC) worden doorgegeven, die de DCM in een negatief antwoord verzendt [SWS_Dcm_91070]. (Interpretatie: De specificatienotitie bij ErrorCode vermeldt weliswaar Dcm_ReadMemory, maar heeft hier vermoedelijk inhoudelijk betrekking op het mislukken van deze callout.) Vraag Q-fe76e2599624baf7 (open)
Deze gebruiksinstructie is gebaseerd op de specificatie AUTOSAR CP R20-11 en is geautomatiseerd opgesteld.
Implementer's Guide volgt (complexiteit I2)
functie Xxx_ProcessTransferDataWrite [SWS_Dcm_91071] 📄 PDF
Dcm_ReturnWriteMemoryType Xxx_ProcessTransferDataWrite (Dcm_OpStatusType OpStatus, uint8 MemoryIdentifier, uint32 MemoryAddress, uint32 MemorySize, const 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
Gebruik en semantiek
De asynchrone callout Xxx_ProcessTransferDataWrite (service-ID 0x27) is beschikbaar via Dcm_Externals.h en wordt door de DCM-module aangeroepen om geheugengegevens voor de UDS-diensten WriteMemoryByAddress, RequestDownload en TransferData te schrijven [SWS_Dcm_91071]. Het verloop van het schrijfproces wordt bestuurd via de parameter OpStatus met de waarden DCM_INITIAL, DCM_PENDING, DCM_CANCEL of DCM_FORCE_RCRRP_OK [SWS_Dcm_91071].
Parameters en retourwaarden
De functie verwerkt de volgende parameters [SWS_Dcm_91071]:
MemoryIdentifier: Identificatie van het geheugenblok; wordt deze parameter niet gebruikt, dan moet deze op 0 worden gezet [SWS_Dcm_91071].MemoryAddress: Startadres van het servergeheugen waarin de gegevens worden gekopieerd; bij niet-gebruik (bijvoorbeeld bij gecomprimeerde gegevens) moet de waarde 0 worden doorgegeven [SWS_Dcm_91071].MemorySize: Aantal te schrijven bytes inMemoryData[SWS_Dcm_91071].MemoryData: Pointer naar de te schrijven gegevens in de diagnosebuffer van de DCM [SWS_Dcm_91071].ErrorCode: Uitgangsparameter voor de negatieve antwoordcode (NRC) in geval van een fout [SWS_Dcm_91071].
De retourwaarde van het type Dcm_ReturnWriteMemoryType signaleert het resultaat van de operatie [SWS_Dcm_91071]:
DCM_WRITE_OK: Schrijfoperatie succesvol beëindigd [SWS_Dcm_91071].DCM_WRITE_PENDING: Schrijfproces is nog niet voltooid [SWS_Dcm_91071].DCM_WRITE_FORCE_RCRRP: Schrijfproces staat nog uit; de overdracht van het uitstaande antwoord (Response Pending) start onmiddellijk [SWS_Dcm_91071].DCM_WRITE_FAILED: Schrijfoperatie is mislukt [SWS_Dcm_91071].
Foutafhandeling en gelijktijdigheid
Retourneert de callout de waarde DCM_WRITE_FAILED, dan verzendt de DCM-module een negatief antwoord met de in parameter ErrorCode doorgegeven NRC-waarde [SWS_Dcm_91071]. De callout is gespecificeerd als niet-reentrant (Non Reentrant) en mag daarom niet gelijktijdig worden uitgevoerd [SWS_Dcm_91071].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
type Dcm_StatusType [SWS_Dcm_00976] 📄 PDF
Base item type to transport status information.
Het type Dcm_StatusType dient als fundamenteel status- en retourtype voor de overdracht van statusinformatie binnen de module Dcm en wordt via het headerbestand Dcm.h beschikbaar gesteld [SWS_Dcm_00976]. Het is gebaseerd op het standaardtype uint8 en definieert gestandaardiseerde statuswaarden voor terugmeldingen van specifieke DCM-interfaces [SWS_Dcm_00976].
Gedefinieerde statuswaarden en foutafhandeling
De specificatie definieert voor Dcm_StatusType de volgende status- en foutcodes [SWS_Dcm_00976]:
DCM_E_OK(0x00): Geeft aan dat de aangevraagde operatie succesvol is uitgevoerd respectievelijk geaccepteerd [SWS_Dcm_00976].DCM_E_ROE_NOT_ACCEPTED(0x06): Geeft aan dat een ResponseOnOneEvent-verzoek door de DCM is afgewezen, bijvoorbeeld omdat een voorafgaande ResponseOnOneEvent-procedure nog niet is voltooid; de waarde wordt gebruikt bij de interfaceDcm_ResponseOnOneEvent()[SWS_Dcm_00976].DCM_E_PERIODICID_NOT_ACCEPTED(0x07): Signaleert dat een periodiek overdrachtsverzoek door de DCM niet is geaccepteerd, bijvoorbeeld omdat een lopende periodieke overdracht nog niet is beëindigd; deze status wordt gebruikt bij de interfaceDcm_ResponseOnOneDataByPeriodicId()[SWS_Dcm_00976].
Beperkingen en aanroepvoorwaarden
Aanroepers van de genoemde interfaces moeten de retourwaarde van het type Dcm_StatusType evalueren om vast te stellen of nieuwe verzoeken direct kunnen worden geaccepteerd of vanwege nog lopende overdrachten zijn verworpen [SWS_Dcm_00976]. Een herhaald verzoek heeft vermoedelijk pas kans van slagen zodra voorafgaande gebeurtenis- of zendprocedures volledig zijn voltooid [SWS_Dcm_00976]. Vraag Q-901ec7e3aac8901c (open)
Deze tekst is gegenereerd door een AI en is gebaseerd op de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
type Dcm_CommunicationModeType [SWS_Dcm_00981] 📄 PDF
Manager
Het gegevenstype Dcm_CommunicationModeType is een in Dcm.h gedeclareerd enumeratietype op basis van uint8 ([SWS_Dcm_00981]). Het definieert de communicatiemodi voor de selectieve aansturing van de zend- (Tx) en ontvangstpaden (Rx). Het waardebereik omvat de waarden 0x00 tot en met 0x0B voor normale applicatiegegevens (NORM), het netwerkmanagement (NM) en beide communicatietakken gecombineerd (NORM_NM) ([SWS_Dcm_00981]).
Het type wordt gebruikt als parameter bij aanroepen van de BSW-interface BswM_Dcm_CommunicationMode_CurrentState. Hierover meldt de DCM na de bevestiging (Sent Confirmation) van een UDS-serviceverzoek CommunicationControl (service 0x28) de actuele modus door aan de BSW Mode Manager ([SWS_Dcm_00512], [SWS_Dcm_00785]). De concrete moduswaarde komt daarbij overeen met de parameters communicationType en controlType van het ontvangen diagnoseverzoek ([SWS_Dcm_00512]).
De interactie en de betrokken netwerken zijn afhankelijk van de subnet-parameter van het UDS-verzoek:
- Bij subnet
0x00vindt de actualisering plaats voor alle inDcmDspComControlAllChannelgeconfigureerde netwerkkanalen ([SWS_Dcm_00512]). - Bij subnet
0x0Fwordt de communicatiemodus van het actuele diagnose-ontvangstkanaal gemeld ([SWS_Dcm_00785]). - Bij subnetten van
0x01tot0x0Ewordt de ondersteuning gecontroleerd; niet-ondersteunde subnetten worden met de negatieve responscode 0x31 afgewezen ([SWS_Dcm_00786]). - Bij subfuncties met uitgebreide adressering (zoals
enableRxAndDisableTxWithEnhancedAddressInformationofenableRxAndTxWithEnhancedAddressInformation) vindt de aanroep plaats voor het via de sub-node-ID gerefereerde kanaal ([SWS_Dcm_01077], [SWS_Dcm_01079]).
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
type Dcm_ConfigType [SWS_Dcm_00982] 📄 PDF
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.
type Dcm_ReturnReadMemoryType [SWS_Dcm_00985] 📄 PDF
Return values of Callout Dcm_ReadMemory
type Dcm_ReturnWriteMemoryType [SWS_Dcm_00986] 📄 PDF
Return type of callout Dcm_WriteMemory
type Dcm_EcuStartModeType [SWS_Dcm_00987] 📄 PDF
Allows the DCM to know if a diagnostic response shall be sent in the case of a jump from bootloader
Het datatype Dcm_EcuStartModeType is afgeleid van uint8 en wordt beschikbaar gesteld via de header Dcm.h [SWS_Dcm_00987]. Het dient voor de Diagnostic Communication Manager (DCM) ter bepaling van de opstartmodus en signaleert of er na een overgang vanuit de bootloader een diagnoserespons moet worden verzonden [SWS_Dcm_00987].
Het waardebereik omvat twee gedefinieerde toestanden [SWS_Dcm_00987]:
DCM_COLD_START(0x00): De regeleenheid start regulier in normaal bedrijf [SWS_Dcm_00987].DCM_WARM_START(0x01): De regeleenheid start als gevolg van een sprong vanuit de bootloader [SWS_Dcm_00987].
In het samenspel van de interfaces fungeert Dcm_EcuStartModeType als synchrone retourwaarde van de callout Dcm_GetProgConditions, die beschikbaar is via Dcm_Externals.h [SWS_Dcm_00544]. Deze functie wordt aangeroepen tijdens de DCM-initialisatie om te bepalen of een positieve respons ($50 of $51) moet worden verzonden [SWS_Dcm_00544]. De gedetailleerde randvoorwaarden van de bootloader-sprong worden daarbij via de uitvoerparameter ProgConditions aan de DCM doorgegeven [SWS_Dcm_00544].
Met betrekking tot uitvoering en foutafhandeling is de aanroepende callout gedefinieerd als synchroon en niet-re-entrant [SWS_Dcm_00544]. Specifieke foutcodes of directe notificaties aan DET of DEM zijn voor dit datatype niet vastgelegd.
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
type Dcm_ProgConditionsType [SWS_Dcm_00988] 📄 PDF
Used in Dcm_SetProgConditions() to allow the integrator to store relevant information prior to jumping to bootloader / jump due to ECUReset request.
De structuur Dcm_ProgConditionsType dient voor de uitwisseling van status- en contextdata tussen applicatie en bootloader bij programmeerprocessen of een ECU-reset [SWS_Dcm_00988]. Deze bundelt verbindingsinformatie zoals ConnectionId en TesterAddress, diagnose-identificatoren zoals Sid en SubFncId evenals besturingsvlaggen zoals ReprogramingRequest, ApplUpdated en ResponseRequired [SWS_Dcm_00988].
Het gebruik verloopt via twee centrale interfaces:
- Voorafgaand aan de sprong naar de bootloader of bij een reset draagt de DCM de structuur over aan de asynchrone, niet-re-entrante functie
Dcm_SetProgConditions()[SWS_Dcm_00543]. Mogelijke retourwaarden zijnE_OK,E_NOT_OK,DCM_E_PENDINGevenalsDCM_E_FORCE_RCRRPbij het aanvragen van een Response-Pending-bericht (NRC 0x78) [SWS_Dcm_00543]. - Na de herstart roept de DCM tijdens zijn initialisatie de synchrone, niet-re-entrante callout
Dcm_GetProgConditions()aan om de opgeslagen condities uit te lezen en deDcm_EcuStartModeTypete bepalen [SWS_Dcm_00544]. De opslag van deze data door de integrator zal doorgaans plaatsvinden via resetvast RAM of niet-vluchtig geheugen (interpretatie). Vraag Q-026bc7bc93f5502c (open)
In het verdere samenspel van het systeem evalueert de DCM de structuur: zodra de ComM de volledige communicatiegereedheid meldt, verzendt de DCM het openstaande diagnoserespons voor de in Sid vastgelegde service-identificatie [SWS_Dcm_00767]. Signaleert ApplUpdated == True na een bootloadersprong een geslaagde update via flash-download, dan stelt de DCM via BswM_Dcm_ApplicationUpdated() de BswM op de hoogte [SWS_Dcm_00768].
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificaties van AUTOSAR-versie R20-11.
Implementer's Guide volgt (complexiteit I1)
type Dcm_MsgItemType [SWS_Dcm_00989] 📄 PDF
Base type for diagnostic message item
type Dcm_MsgType [SWS_Dcm_00990] 📄 PDF
Base type for diagnostic message (request, positive or negative response)
Gebruik en typedefinitie
Het datatype Dcm_MsgType is het centrale pointertype voor diagnostische berichten in de Diagnostic Communication Manager en is beschikbaar via de header Dcm.h [SWS_Dcm_00990]. Het is gedeclareerd als pointer naar Dcm_MsgItemType* en dient als gemeenschappelijke basis voor het refereren naar verzoeken en positieve en negatieve antwoordberichten [SWS_Dcm_00990]. Interpretatie: Aangezien het basistype Dcm_MsgItemType in de specificatie niet nader is uitgewerkt, zal het doorgaans een enkele databyte (zoals uint8) representeren, waarmee sequentieel toegang wordt verkregen tot de lineaire berichtenbuffer. Vraag Q-2b6f46b51d3cb8e0 (open)
Samenspel en structuurcontext
Het primaire gebruik van Dcm_MsgType vindt plaats binnen de contextstructuur Dcm_MsgContextType [SWS_Dcm_00994]. Daar refereert het type aan twee afzonderlijke datagebieden:
reqData: Verwijst naar de payload van het diagnoseverzoek, beginnend direct na de Service Identifier (SID), die zelf geen deel uitmaakt van deze data [SWS_Dcm_00994].resData: Verwijst naar de data van een positief antwoord en sluit eveneens direct aan na de Service Identifier [SWS_Dcm_00994].
Buffergrenzen en beperkingen
Bij het verwerken en vullen van de via Dcm_MsgType geadresseerde antwoordbuffers moeten gebruikers zich strikt houden aan de bijbehorende bufferbegrenzingen [SWS_Dcm_00994]. De werkelijke antwoordlengte resDataLen mag de door resMaxDataLen gedefinieerde buffercapaciteit in geen geval overschrijden, aangezien de maximale antwoordgrootte strikt wordt beperkt door de allocatie van de toegewezen buffer [SWS_Dcm_00994].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic Release R20-11.
type Dcm_MsgLenType [SWS_Dcm_00991] 📄 PDF
Length of diagnostic message (request, positive or negative response). The maximum length is dependent of the underlying transport protocol/media.
Het gegevenstype Dcm_MsgLenType is via de header Dcm.h beschikbaar en afgeleid van het basistype uint32 [SWS_Dcm_00991]. Het wordt in de Diagnostic Communication Manager (DCM) gebruikt om de lengte van diagnostische berichten te beschrijven. Dit omvat zowel diagnoseverzoeken (Requests) als positieve en negatieve antwoordberichten (Responses) [SWS_Dcm_00991].
Met betrekking tot de grenzen van het waardebereik legt de specificatie vast dat de maximaal overdraagbare lengte van een diagnosebericht afhangt van het desbetreffende onderliggende transportprotocol respectievelijk overdrachtsmedium [SWS_Dcm_00991]. Interpretatie: Hoewel het onderliggende gegevenstype uint32 softwarematig berichtlengtes van maximaal 4 GiB kan weergeven, is de werkelijke maximale lengte in de praktijk vermoedelijk altijd begrensd door het communicatiemedium en de buffergroottes. Vraag Q-ac43639ecb32605d (open)
Een centrale rol speelt Dcm_MsgLenType in de structuur Dcm_MsgContextType, die de context van een diagnoseopdracht inkapselt [SWS_Dcm_00994]. Binnen deze structuur typeert het meerdere fundamentele lengteopgaven:
reqDataLen: Representeert de lengte van de verzoekgegevens (Request Data). De telling begint direct na de service-identifier, zodat deze niet in de lengteopgave is opgenomen [SWS_Dcm_00994].resDataLen: Geeft de lengte van de positieve antwoordgegevens aan, eveneens exclusief de service-identifier [SWS_Dcm_00994].resMaxDataLen: Gespecificeerd de maximaal mogelijke lengte van een antwoord, die wordt beperkt door de grootte van de gealloceerde buffer [SWS_Dcm_00994].
Bij de implementatie van service-handlers moet er daarom strikt op worden gelet dat lengteberekeningen voor reqDataLen en resDataLen altijd zonder de service-identifier plaatsvinden en dat antwoordgegevens de door resMaxDataLen opgegeven buffergrens niet overschrijden [SWS_Dcm_00994].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
type Dcm_MsgAddInfoType [SWS_Dcm_00992] 📄 PDF
Additional information on message request. Datastructure: Bitfield
Het datatype Dcm_MsgAddInfoType is volgens [SWS_Dcm_00992] gedefinieerd als bitveldstructuur en dient voor het verstrekken van aanvullende status- en stuurinformatie bij een diagnosebericht. Het type wordt in Classic AUTOSAR via het headerbestand Dcm.h ter beschikking gesteld en wordt als element msgAddInfo binnen de bovenliggende contextstructuur Dcm_MsgContextType ([SWS_Dcm_00994]) gebruikt om extra informatie over service-aanvragen en bijbehorende antwoorden consistent te bundelen.
De bitveldstructuur specificeert conform [SWS_Dcm_00992] afzonderlijke stuurvlaggen met nauwkeurig gedefinieerde bitpositie:
reqType(positie LSB+0): Markeert de adresseringswijze van de diagnoseaanvraag. Een waarde van0signaleert een fysische request (physical request), terwijl een waarde van1een functionele request (functional request) aangeeft.suppressPosResponse(positie LSB+1): Bepaalt het gedrag met betrekking tot positieve antwoorden. Bij0wordt het positieve antwoord niet onderdrukt (do not suppress), terwijl een waarde van1voorschrijft dat er geen positief antwoord mag worden verzonden (no positive response will be sent).
Aangezien Dcm_MsgAddInfoType een zuivere datastructuur voor parameter- en contextoverdracht vormt, bestaan er voor dit type zelf geen synchrone of asynchrone aanroepsemantieken, retourwaarden, re-entrantievoorschriften of eigen foutmeldingen voor DET of DEM. De concrete evaluatie en verwerking van de gezette bits in het verdere verloop is vermoedelijk de taak van de interne verwerkingsroutines van de Diagnostic Communication Manager wanneer deze toegang hebben tot de berichtcontext uit [SWS_Dcm_00994]. Vraag Q-b27248cc452ba1b1 (open)
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp binnen de AUTOSAR-omgeving.
type Dcm_IdContextType [SWS_Dcm_00993] 📄 PDF
This message context identifier can be used to determine the relation between request and response confirmation.
type Dcm_MsgContextType [SWS_Dcm_00994] 📄 PDF
This data structure contains all information which is necessary to process a diagnostic message from request to response and response confirmation.
De datastructuur Dcm_MsgContextType stelt alle benodigde informatie beschikbaar om een diagnoseverzoek van de verwerking via het antwoord tot aan de bevestiging te besturen [SWS_Dcm_00994]. Deze wordt als invoer-/uitvoerparameter pMsgContext doorgegeven aan asynchrone en reentrante serviceroutines [SWS_Dcm_00763], [SWS_Dcm_00764]. Daarbij wijzen de payload-pointers reqData en resData altijd direct achter de Service Identifier (SID), en de lengtegegevens reqDataLen evenals resDataLen sluiten de SID niet in [SWS_Dcm_00994]. De DSD-submodule voegt de response-SID bij het kopiëren naar de zendbuffer weer op de eerste positie in [SWS_Dcm_00223], [SWS_Dcm_00224].
Bij het gebruik moet op de volgende aspecten worden gelet:
- Antwoordlengte en foutgeval: overschrijdt de gegenereerde antwoordlengte de via het protocolafhankelijke veld
resMaxDataLengedefinieerde buffergrens en isDcmPagedBufferEnabled == FALSE, dan antwoordt de DCM met de negatieve responscode 0x14 (DCM_E_RESPONSETOOLONG) [SWS_Dcm_01059]. Mislukt de verwerking in de servicehandler, dan meldt de applicatieE_NOT_OKterug met een foutcode [SWS_Dcm_00763]. - Aanvullende informatie en antysteekonderdrukking: via
msgAddInfowordt onder meer desuppressPosRspMsgIndicationBitgetransporteerd; als deze is ingesteld, onderdrukt de DSD positieve antwoorden [SWS_Dcm_00202], [SWS_Dcm_00231]. - Levensduur en contexttoewijzing: bij het bereiken van de bevestiging verliest de structuur haar geldigheid en gaan alle berichtgegevens verloren [SWS_Dcm_00994]. Applicaties moeten de identifier
idContextreeds bij de start van het verzoek opslaan om een latere bevestiging aan het oorspronkelijke verzoek te kunnen koppelen [SWS_Dcm_00994]. - Protocolrelatie: het veld
dcmRxPduIdidentificeert de ontvangst-PDU en maakt een gedifferentieerde behandeling mogelijk afhankelijk van het diagnoseprotocol, bijvoorbeeld tussen OBD en uitgebreide diagnose [SWS_Dcm_00994].
Interpretatie: aangezien de context bij bevestiging ongeldig wordt, zal de onderliggende geheugenbuffer na het verzenden van het antwoord vermoedelijk direct door de DSL worden vrijgegeven of overschreven voor daaropvolgende communicatie. Vraag Q-88e3cf2f3d8f6076 (open)
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
type Dcm_ExtendedOpStatusType [SWS_Dcm_91015] 📄 PDF
Het type Dcm_ExtendedOpStatusType is gebaseerd op uint8 en wordt via het headerbestand Dcm.h beschikbaar gesteld [SWS_Dcm_91015]. Het bestuurt als invoerparameter OpStatus de uitvoeringsfasen en bevestigingen bij asynchrone diagnose- en subservicefuncties zoals <Module>_<DiagnosticService> [SWS_Dcm_00763] en <Module>_<DiagnosticService>_<SubService> [SWS_Dcm_00764].
De gedefinieerde statuswaarden signaleren de voortgang van de operatie en terugmeldingen van de DCM [SWS_Dcm_91015]:
DCM_INITIAL(0x00): Eerste aanroep van de operatie.DCM_PENDING(0x01): Vervolgaanroep na een in de vorige aanroep gemelde tussentoestand (Pending).DCM_CANCEL(0x02): Verzoek van de DCM om de lopende operatie af te breken.DCM_FORCE_RCRRP_OK(0x03): Bevestiging van de verzending van een openstaand antwoord (Response Pending).DCM_POS_RESPONSE_SENT(0x04) enDCM_POS_RESPONSE_FAILED(0x05): Bevestiging van de succesvolle respectievelijk mislukte verzending van een positief antwoord.DCM_NEG_RESPONSE_SENT(0x06) enDCM_NEG_RESPONSE_FAILED(0x07): Bevestiging van de succesvolle respectievelijk mislukte verzending van een negatief antwoord.
Met betrekking tot gelijktijdigheid zijn de aangeroepen diagnoseschnittstellen gespecificeerd als re-entrant en asynchroon [SWS_Dcm_00763] [SWS_Dcm_00764]. Bij fouten levert de servicefunctie de retourwaarde E_NOT_OK en wijst aan de uitvoerparameter ErrorCode een negatieve responscode (NRC) toe, waarna de DCM-module een negatief antwoord met deze code verzendt [SWS_Dcm_00763] [SWS_Dcm_00764].
Deze tekst is gegenereerd door een AI op basis van de specificatie.
Implementer's Guide volgt (complexiteit I2)
type Dcm_OpStatusType [SWS_Dcm_00984] 📄 PDF
Het type Dcm_OpStatusType is gebaseerd op uint8 en wordt beschikbaar gesteld via het headerbestand Rte_Dcm_Type.h [SWS_Dcm_00984]. Het bestuurt de uitvoerings- en levenscyclustoestand van asynchrone diagnoseoperaties van de Diagnostic Communication Manager (DCM), zoals bijvoorbeeld Dcm_ReadMemory [SWS_Dcm_00539], Dcm_WriteMemory [SWS_Dcm_00540] of Dcm_SetProgConditions [SWS_Dcm_00543].
Voor de besturing van het operatieverloop zijn vier statuswaarden gedefinieerd [SWS_Dcm_00984]:
DCM_INITIAL(0x00): Markeert de eerste aanroep van een operatie door de DCM [SWS_Dcm_00527].DCM_PENDING(0x01): Signaleert een vervolgaanroep na eerdere teruggave van een zwevende toestand [SWS_Dcm_00984]. Indien een operatie de foutwaardeDCM_E_PENDINGretourneert, roept de DCM deze operatie in elke volgende cyclus vanDcm_MainFunctionopnieuw aan metOpStatus = DCM_PENDING, totdat de verwerking is voltooid [SWS_Dcm_00530].DCM_CANCEL(0x02): Verzoekt de aangeroepen instantie expliciet om een nog openstaande asynchrone operatie af te breken [SWS_Dcm_00984].DCM_FORCE_RCRRP_OK(0x03): Bevestigt de voltooide overdracht van een Response-Pending-bericht (NRC 0x78) [SWS_Dcm_00984]. Antwoordt de operatie metDCM_E_FORCE_RCRRP, dan initieert de DCM het verzenden van RCR-RP en onderbreekt verdere aanroepen van de operatie totdat het verzenden is voltooid [SWS_Dcm_00528].
Met betrekking tot gelijktijdigheid en randvoorwaarden zijn operaties die Dcm_OpStatusType als overdrachtsparameter accepteren, asynchroon ontworpen en gespecificeerd als niet-re-entrant [SWS_Dcm_00539] [SWS_Dcm_00754].
Deze tekst is gegenereerd door een AI en dient als leidraad bij de specificatie.
Implementer's Guide volgt (complexiteit I2)
type Dcm_ConfirmationStatusType [SWS_Dcm_00983] 📄 PDF
Gebruik en waardebereik
Het gegevenstype Dcm_ConfirmationStatusType is een van uint8 afgeleid enumeratietype dat via het headerbestand Rte_Dcm_Type.h ter beschikking wordt gesteld [SWS_Dcm_00983]. Het wordt toegepast om de status van een verzonden diagnose-antwoord – zowel bij succesvolle verzending als bij overdrachtsfouten – aan de applicatie of interne service-handlers te melden [SWS_Dcm_01342]. Het waardebereik omvat vier discrete toestanden [SWS_Dcm_00983]:
DCM_RES_POS_OK(0x00): Interpretatie: Het positieve diagnose-antwoord is succesvol overgedragen. Vraag (open)DCM_RES_POS_NOT_OK(0x01): Interpretatie: Bij de overdracht van het positieve diagnose-antwoord is een fout opgetreden. Vraag (open)DCM_RES_NEG_OK(0x02): Interpretatie: Het negatieve diagnose-antwoord (NRC) is succesvol overgedragen. Vraag (open)DCM_RES_NEG_NOT_OK(0x03): Interpretatie: Bij de overdracht van het negatieve diagnose-antwoord is een fout opgetreden. Vraag (open)
Samenspel en interfaces
De bevestigingsstatus wordt als ingangsparameter (IN) in synchrone callback-functies overgedragen. In de generieke bevestigingsinterface Xxx_Confirmation wordt de parameter samen met service-identifier (SID), adresseringswijze (ReqType), verbindings-ID (ConnectionId), protocoltype en tester-bronadres overgebracht [SWS_Dcm_01342]. Eveneens integreert de interface ServiceRequestNotification via de operatie Confirmation deze status [SWS_Dcm_00694].
Bij de uitvoering van routinediensten wordt het type specifiek gebruikt om de overdrachtsstatus na voltooiing van afzonderlijke routine-operaties terug te koppelen. Hiertoe dienen de in Dcm_Externals.h gedeclareerde callbacks Xxx_StartConfirmation [SWS_Dcm_91016], Xxx_StopConfirmation [SWS_Dcm_91017] en Xxx_RequestResultsConfirmation [SWS_Dcm_91018].
Gelijktijdigheid en uitvoering
De functies voor bevestiging retourneren een Std_ReturnType (bijv. E_OK of E_NOT_OK) [SWS_Dcm_01342], [SWS_Dcm_91016]. Alle genoemde interface-aanroepen worden synchroon uitgevoerd en zijn gedeclareerd als niet-re-entrant (Non Reentrant) [SWS_Dcm_01342], [SWS_Dcm_91016], [SWS_Dcm_91017], [SWS_Dcm_91018].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
type Dcm_SecLevelType [SWS_Dcm_00977] 📄 PDF
Security Level type definition
type Dcm_SesCtrlType [SWS_Dcm_00978] 📄 PDF
Session type definition. 0, 127 and all values above 127 are reserved by ISO.
type Dcm_ProtocolType [SWS_Dcm_00979] 📄 PDF
Type Dcm_ProtocolType.
type Dcm_NegativeResponseCodeType [SWS_Dcm_00980] 📄 PDF
Type Dcm_NegativeResponseCodeType.
type Dcm_DataArrayType [SWS_Dcm_01121] 📄 PDF
type Dcm_InfoType [SWS_Dcm_01013] 📄 PDF
type Dcm_RequestDataArrayType [SWS_Dcm_01165] 📄 PDF
type Dcm_InputOutputControlParameterType [SWS_Dcm_01305] 📄 PDF
type Dcm_IOOperationResponseType [SWS_Dcm_01307] 📄 PDF
type Dcm_DidSupportedType [SWS_Dcm_01138] 📄 PDF
type Dcm_FileAndDirNameType [SWS_Dcm_91066] 📄 PDF
type Dcm_ResponseDataArrayType [SWS_Dcm_91064] 📄 PDF
type Dcm_AuthenticationRoleType [SWS_Dcm_91068] 📄 PDF
Het datatype Dcm_AuthenticationRoleType is gespecificeerd als byte-array (uint8), waarvan de grootte wordt bepaald door de configuratieparameter DcmDspAuthenticationRoleSize [SWS_Dcm_91068]. Het wordt beschikbaar gesteld via het headerbestand Rte_Dcm_Type.h en dient in de DCM-module voor de formele representatie van authenticatierollen [SWS_Dcm_91068].
In de praktische toepassing dient het type als invoerparameter voor het vastleggen van rollen voor niet-geauthenticeerde diagnoseverbindingen:
- Gebruik en semantiek: Het type wordt als invoerparameter
deauthenticatedRolein de C-functieDcm_SetDeauthenticatedRole(beschikbaar viaDcm.h) [SWS_Dcm_91069] en de operatieSetDeauthenticatedRolevan de service-interfaceAuthentication[SWS_Dcm_91072] doorgegeven. Daarmee wordt aan een verbinding, geïdentificeerd via deconnectionId, synchroon een gedeauthenticeerde rol toegewezen [SWS_Dcm_91069]. - Gelijktijdigheid en geldigheid: De C-API
Dcm_SetDeauthenticatedRoleis gespecificeerd als re-entrant [SWS_Dcm_91069]. Een toegewezen rol blijft voor de betreffende verbinding net zolang actief totdat deze overgaat naar de geauthenticeerde toestand of de ECU wordt gereset [SWS_Dcm_91069], [SWS_Dcm_91072]. - Foutafhandeling: Voor het type en de bijbehorende operaties bestaan geen specifieke foutcodes; de functie retourneert standaard altijd
E_OK[SWS_Dcm_91069], [SWS_Dcm_91072].
Deze tekst is gegenereerd door een AI op basis van de specificatie.
Implementer's Guide volgt (complexiteit I1)
type DiagnosticSessionControlModeSwitchInterface [SWS_Dcm_91033] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic Session
Gebruik
Het interface-element DiagnosticSessionControlModeSwitchInterface is conform [SWS_Dcm_91033] gedeclareerd als aangeboden poort (PPortPrototype resp. ProvidedPort) van de module DCM en maakt gebruik van de interface Dcm_DiagnosticSessionControlModeSwitchInterface. Conform de specificatie in [SWS_Dcm_91033] dient deze poort ertoe om softwarecomponenten (SW-C's) te informeren over de verandering en de actuele toestand van de actieve diagnosesessie (Diagnostic Session).
Interpretatie: De module DCM neemt hierbij vermoedelijk de rol van de zender op zich, die statuswijzigingen van de diagnosesessie via de RTE doorgeeft aan geïnteresseerde softwarecomponenten. Vraag Q-6af0e97b6910087d (open) Aangesloten SW-C's ontvangen en verwerken deze moduswisselingen vermoedelijk via geconfigureerde mode-switch-events om interne processen, vrijgaven of hun functionele gedrag aan te passen aan de op dat moment actieve diagnosesessie.
Foutafhandeling en randvoorwaarden
Voor deze poort zijn in [SWS_Dcm_91033] geen specifieke foutcodes, retourwaarden of meldingen aan DET of DEM gedefinieerd. Interpretatie: Eventuele fouttoestanden bij de overdracht worden daarom vermoedelijk volledig bewaakt en afgehandeld door de algemene mechanismen van de AUTOSAR-RTE en van de basismodule DCM. Vraag Q-a8055458432174f6 (open) Bijzondere beperkingen met betrekking tot re-entrantie of oproepcontext zijn niet opgenomen in de specificatiegegevens en worden daarom niet verder beschouwd.
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
type EcuResetModeSwitchInterface [SWS_Dcm_91034] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its type
Het poortelement EcuResetModeSwitchInterface is conform [SWS_Dcm_91034] gespecificeerd als geleverde poort (ProvidedPort resp. PPortPrototype) van de module DCM. Het maakt gebruik van de interface Dcm_EcuResetModeSwitchInterface en dient om softwarecomponenten (SW-C's) te informeren over een aanstaande reset van de ECU en over het exacte resettype [SWS_Dcm_91034].
Voor het gebruik en de interactie in het systeem gelden de volgende aspecten:
- Communicatierol: De DCM fungeert als zender van de moduswisseling. Geïnteresseerde SW-C's koppelen zich via corresponderende ontvangerpoorten (R-poorten) om op de melding te reageren [SWS_Dcm_91034].
- Semantiek van moduswisseling: Als
ModeSwitchInterfaceworden hierbij geen client-server-retourwaarden of gegevensparameters overgedragen, maar worden toestandsveranderingen gesignaleerd via de RTE [SWS_Dcm_91034]. De notificatie vindt dus plaats via mode-declaraties van de interface. - Reactie van de componenten: Via het meegedeelde resettype verkrijgen de SW-C's kennis over de aard van de aanstaande herstart [SWS_Dcm_91034]. Dit stelt de applicaties vermoedelijk in staat om vluchtige runtimegegevens ordelijk op te slaan in het niet-vluchtige geheugen of perifere hardware vóór de herstart in een veilige toestand te brengen (interpretatie). Vraag Q-4dcf9314d84b53a0 (open)
- Foutafhandeling: De interfacedefinitie zelf bevat geen foutmeldingen of retourkanalen voor fouttoestanden van de SW-C's [SWS_Dcm_91034].
Deze tekst is gegenereerd door een AI en is gebaseerd op AUTOSAR Release R20-11.
Implementer's Guide volgt (complexiteit I1)
type ModeRapidPowerShutDownModeSwitchInterface [SWS_Dcm_91035] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down mode
De interface ModeRapidPowerShutDownModeSwitchInterface is volgens [SWS_Dcm_91035] gespecificeerd als PPortPrototype (ProvidedPort) voor de interface Dcm_ModeRapidPowerShutDownModeSwitchInterface in de module Dcm. Deze dient om softwarecomponenten (SW-C's) te informeren over de modus van snel afsluiten (Rapid Power Shut Down Mode).
Wat betreft gebruik, gedrag en interactie zijn de volgende aspecten relevant:
- Gebruik en semantiek: Via de
ModeSwitchInterfacesignaleert de DCM moduswisselingen aan verbonden SW-C's. De oproepcontext bevindt zich binnen de DCM-module, die de moduswijziging initieert; de overdracht naar de ontvangers vindt asynchroon plaats via de RTE [SWS_Dcm_91035]. - Foutafhandeling: De poortdefinitie bevat geen specifieke foutcodes, retourwaarden of DET-/DEM-events. Fouten bij de modusoverdracht worden daarom vermoedelijk volledig opgevangen door de standaardmechanismen van de AUTOSAR-RTE voor mode-switch-poorten. Vraag Q-16537a6a4e19e40b (open)
- Gelijktijdigheid en beperkingen: De notificatie vindt plaats in de uitvoeringscontext van de DCM. Ontvangende SW-C's worden vermoedelijk geactiveerd via mode-getriggerde runnables en moeten zo zijn ontworpen dat ze de acties voor snel afsluiten uitvoeren zonder blokkerende vertragingen. Vraag Q-20f196c7af208288 (open)
Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
type ControlDTCSettingModeSwitchInterface [SWS_Dcm_91037] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting mode
Gebruik en doel
Het element ControlDTCSettingModeSwitchInterface is conform [SWS_Dcm_91037] een als Provided-poort (PPortPrototype) beschikbaar gestelde ModeSwitchInterface van de Diagnostic Communication Manager (DCM). De primaire taak bestaat uit het informeren van verbonden softwarecomponenten (SW-C's) over de actuele toestand van de DTC-instellingsmodus (DTC Setting mode).
Als poortinterface wordt hierbij Dcm_ControlDTCSettingModeSwitchInterface toegepast [SWS_Dcm_91037]. Aangezien de DCM deze poort als Provided-poort declareert, neemt de diagnosemodule de rol van modusmanager resp. zender op zich. Applicatiecomponenten kunnen zich via corresponderende Required-poorten koppelen om statuswijzigingen te ontvangen en hun interne gedrag aan te passen.
Interactie en systeemintegratie
De interactie in het systeemverband concentreert zich op het ontkoppelen van diagnose-opdrachten en applicatielogica:
- Moduspropagatie: Via de geleverde poort deelt de DCM aan de SW-C's mee of de opslag en actualisering van diagnosefoutcodes actief of geblokkeerd is [SWS_Dcm_91037]. De notificatie van de SW-C's vindt in de AUTOSAR-runtime-omgeving vermoedelijk plaats via standaard mode-switch-events van de RTE. Vraag Q-8c0918099f2aa797 (open)
- Diagnostische oorsprong: De omschakeling van de DTC-Setting-modus staat vermoedelijk in de directe context van UDS-diagnosediensten zoals ControlDTCSetting (service 0x85), waarmee een externe tester het loggen van fouten tijdelijk kan uitschakelen. Vraag Q-f2555e0641476955 (open)
Foutafhandeling en randvoorwaarden
Aangezien de specificatie in [SWS_Dcm_91037] noch specifieke foutcodes noch DET-meldingen of retourwaarden definieert, vindt de modusoverdracht puur declaratief plaats via de mechanismen van de RTE. Bijzondere oproepcontexten of re-entrantievoorschriften zijn voor de poortdeclaratie zelf niet vermeld.
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
type SecurityAccessModeSwitchInterface [SWS_Dcm_91039] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security Level
Het poortelement SecurityAccessModeSwitchInterface stelt in de module DCM een Provided-poort (PPortPrototype) op basis van de interface Dcm_SecurityAccessModeSwitchInterface beschikbaar [SWS_Dcm_91039]. Het doel van deze interface is om softwarecomponenten (SW-C's) te informeren over het momenteel actieve beveiligingsniveau (Security Level) [SWS_Dcm_91039].
Gebruik en samenspel
De notificatie vindt plaats via de poort van de DCM aan aangesloten componenten [SWS_Dcm_91039]. De beschikbaarstelling is vermoedelijk gerealiseerd als mode-switch-communicatie via de AUTOSAR-RTE, zodat gekoppelde SW-C's op toestandsveranderingen van het Security Level kunnen reageren via mode-switch-events (interpretatie). Vraag Q-d86dacdb91979b87 (open) Parameters, retourwaarden of specifieke synchrone functie-aanroepen zijn in de poortbeschrijving niet gedefinieerd [SWS_Dcm_91039]; de overdracht komt daarmee vermoedelijk overeen met de asynchrone broadcast-semantiek van een modusmanager (interpretatie). Vraag Q-9d750df4f73b1634 (open)
Foutafhandeling en beperkingen
Aangezien het om een zuivere modusomschakeling gaat, noemt de specificatie geen specifieke foutcodes, parametercontroles of meldingen aan DET of DEM [SWS_Dcm_91039]. Een directe foutafhandeling bij de notificatie is in de interface zelf vermoedelijk niet voorzien (interpretatie). Vraag (open) Beperkingen met betrekking tot re-entrantie of afwijkende varianten zijn voor het poortelement niet gespecificeerd [SWS_Dcm_91039].
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is gebaseerd op de voorschriften van de AUTOSAR-release R20-11.
Implementer's Guide volgt (complexiteit I1)
type DcmDiagnosticSessionControl [SWS_Dcm_91019] 📄 PDF
ModeDeclarationGroup representing the different diagnostic sessions Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDspSession/ DcmDspSessionRow.SHORT-NAME)}
type DcmEcuReset [SWS_Dcm_91021] 📄 PDF
ModeDeclarationGroup representing the different ECU reset types
type DcmModeRapidPowerShutDown [SWS_Dcm_91023] 📄 PDF
ModeDeclarationGroup representing the enable/disable state of rapid power shutdown
De ModeDeclarationGroup DcmModeRapidPowerShutDown dient ter representatie van de activeringstoestand voor de snelle uitschakeling (Rapid Power Shutdown) in de ECU [SWS_Dcm_91023]. Het element is toegewezen aan de categorie EXPLICIT_ORDER en definieert twee concrete modi: de uitgangsmodus DCM_ENABLE_RAPIDPOWERSHUTDOWN met de numerieke waarde 0 alsook DCM_DISABLE_RAPIDPOWERSHUTDOWN met de waarde 1 [SWS_Dcm_91023]. Voor modusovergangen is de overgangswaarde 255 (On transition value) gespecificeerd [SWS_Dcm_91023].
Samenspel en modusbeheer
In het totale systeem fungeert de module DCM als Mode Manager voor een reeks diagnostische modi, waartoe ook DcmModeRapidPowerShutDown in de context van de diagnosedienst 0x11 (ECU Reset) behoort [SWS_Dcm_00775]. Binnen de basissoftware definieert de DCM hiervoor de ModeDeclarationGroupPrototype DcmModeRapidPowerShutDown als provided-ModeGroup in zijn BSW-module-instantie op basis van deze ModeDeclarationGroup [SWS_Dcm_00807].
Applicatiecomponenten (SW-C's) die geïnformeerd moeten worden over de actuele activeringstoestand van de snelle uitschakeling, koppelen de gestandaardiseerde service-interface Dcm_ModeRapidPowerShutDownModeSwitchInterface aan [SWS_Dcm_91024]. Via de modusgroep modeRapidPowerShutDown daarvan ontvangen zij tijdens runtime overeenkomstige modusovergangen van de DCM [SWS_Dcm_91024].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
type DcmCommunicationControl [SWS_Dcm_91025] 📄 PDF
ModeDeclarationGroup representing the different communication control states
type DcmControlDTCSetting [SWS_Dcm_91027] 📄 PDF
ModeDeclarationGroup representing the enable/disable state for DTC storage
type DcmResponseOnEvent [SWS_Dcm_91029] 📄 PDF
ModeDeclarationGroup representing the state of a Response On Event
type DcmSecurityAccess [SWS_Dcm_91031] 📄 PDF
ModeDeclarationGroup representing the different diagnostic security levels Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDsp Security/DcmDspSecurityRow.SHORT-NAME)}
De ModeDeclarationGroup DcmSecurityAccess van de categorie EXPLICIT_ORDER representeert de verschillende diagnostische beveiligingsniveaus van een ECU voor de UDS-dienst 0x27 (SecurityAccess) [SWS_Dcm_91031], [SWS_Dcm_00775]. Als initiële modus is standaard DCM_SEC_LEV_LOCKED met de vaste waarde 0 voorgeschreven [SWS_Dcm_91031], [SWS_Dcm_01327]. Aanvullende beveiligingsniveaus van DCM_SEC_LEV_1 tot DCM_SEC_LEV_63 worden project- en applicatiespecifiek aangevuld via de configuratie van de beveiligingsrijen onder DcmDspSecurityRow [SWS_Dcm_91031], [SWS_Dcm_01327].
De DCM-module vervult de centrale rol als Mode Manager voor deze diagnostische modus [SWS_Dcm_00775]. Bij elke verandering van het beveiligingsniveau actualiseert de DCM de Modegroup DcmSecurityAccess met de nieuw aangenomen beveiligingsstatus [SWS_Dcm_01329]. Tijdens een lopende toestandsovergang tussen afzonderlijke modi signaleert het systeem de gedefinieerde overgangswaarde 255 (On transition value) [SWS_Dcm_91031].
Het doorgeven van de actuele beveiligingsstatus aan softwarecomponenten vindt plaats via de service-interface Dcm_SecurityAccessModeSwitchInterface [SWS_Dcm_91032]:
- De DCM stelt hiertoe de
ModeDeclarationGroupPrototypeDcmSecurityAccessals beschikbaar gestelde Modegroup (provided-ModeGroup) via de interface ter beschikking [SWS_Dcm_01327], [SWS_Dcm_91032]. - Elke softwarecomponent (SW-C) die geïnformeerd moet worden over het actuele Security Level, declareert een afhankelijkheid van de ModeSwitch-interface
Dcm_SecurityAccessModeSwitchInterfaceen integreert deze als Required-Port [SWS_Dcm_91032]. - De beschikbaarheid van de afzonderlijke modi in de interface is daarbij onderworpen aan dezelfde configuratievarianten als de onderliggende beveiligingsrijen [SWS_Dcm_91032].
Deze tekst is gegenereerd door een AI.
Implementer's Guide volgt (complexiteit I2)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Dcm- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Dcm@rel:R20-11#f866491e- Content hash
f866491e- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticCommunicationManager.pdf#nameddest=SWS_Dcm_00037
gemini-3.8-flash-low· 2026-10-13 · Duits origineel