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
फ़ंक्शन Dcm_Init [SWS_Dcm_00037] 📄 PDF
void Dcm_Init (const Dcm_ConfigType* ConfigPtr);
Service for basic initialization of DCM module.
सिंक्रोनस और गैर-रीएंट्रेंट फ़ंक्शन Dcm_Init DCM मॉड्यूल के मूलभूत इनिशियलाइज़ेशन के लिए कार्य करता है [SWS_Dcm_00037]। यह पैरामीटर ConfigPtr के माध्यम से पोस्ट-बिल्ड वेरिएंट के लिए कॉन्फ़िगरेशन सेट का पॉइंटर स्वीकार करता है और इसका कोई रिटर्न मान नहीं होता है [SWS_Dcm_00037]। निष्पादन के दौरान, मॉड्यूल सभी वैश्विक DCM चरों को कॉन्फ़िगरेशन के मानों के साथ इनिशियलाइज़ करता है [SWS_Dcm_00334]।
इनिशियलाइज़ेशन प्रक्रिया के हिस्से के रूप में, विभिन्न कार्यात्मक क्षेत्रों और स्थितियों को कॉन्फ़िगर किया जाता है:
- DDDID प्रबंधन: यदि कॉन्फ़िगरेशन पैरामीटर
DcmDDDIDStorageकोFALSEपर सेट किया गया है, तो DCM स्टार्टअप पर सभी डायनेमिकली परिभाषित डेटा पहचानकर्ताओं (DDDIDs) को अनुपस्थित के रूप में इनिशियलाइज़ करता है [SWS_Dcm_00866]। यदि पैरामीटर कोTRUEपर सेट किया गया है, तो DDDID परिभाषाएँ NvM से पुनर्स्थापित की जाती हैं [SWS_Dcm_00867]। - Response on Event (ROE): DCM
Dcm_Initके दौरान प्रत्येक इवेंट की स्थिति को 'ROE cleared' स्थिति में स्थानांतरित करता है [SWS_Dcm_00872]। - प्रमाणीकरण स्थिति: यदि
DcmDspAuthenticationPersistStateModeRuleRefकॉन्फ़िगर नहीं है या संदर्भित मोड नियम का मूल्यांकनfalseहोता है, तो मॉड्यूल सभी प्रमाणीकरण स्थितियों को 'deauthenticated' स्थिति में ले जाता है [SWS_Dcm_01480]। - संचार स्थिति:
Dcm_Initके पूरा होने के बाद, DCM पैरामीटरActiveDiagnosticको 'DCM_COMM_ACTIVE' पर सेट करता है [SWS_Dcm_01069]।
निष्पादन परिवेश के संबंध में, यह निर्धारित किया गया है कि Dcm_Init रीएंट्रेंट नहीं है [SWS_Dcm_00037]। इंटरफ़ेस विनिर्देश में इस इनिशियलाइज़ेशन सेवा के लिए विशिष्ट त्रुटि कोड और DET या DEM को मानकीकृत त्रुटि संदेश निर्दिष्ट नहीं किए गए हैं [SWS_Dcm_00037]।
यह उपयोग नोट AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dcm_GetVersionInfo [SWS_Dcm_00065] 📄 PDF
void Dcm_GetVersionInfo (Std_VersionInfoType* versionInfo);
Returns the version information of this module
फ़ंक्शन 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.
उपयोग
सिंक्रोनस इंटरफ़ेस Dcm_DemTriggerOnDTCStatus (सर्विस ID 0x2B) हेडर Dcm_Dem.h के माध्यम से उपलब्ध है और DCM को UDS स्थिति बाइट के परिवर्तनों की रिपोर्ट करने का कार्य करता है [SWS_Dcm_00614]। यह DCM को डायग्नोस्टिक सेवा सब-सर्विस OnDTCStatusChanged के लिए Response-on-Event (ROE) घटनाओं को ट्रिगर करने की अनुमति देता है [SWS_Dcm_00614]। कॉल किए जाने पर, फ़ंक्शन तीन इनपुट पैरामीटर स्वीकार करता है: प्रभावित त्रुटि कोड DTC (uint32), पिछली स्थिति DTCStatusOld (Dem_UdsStatusByteType) और साथ ही अद्यतन स्थिति DTCStatusNew (Dem_UdsStatusByteType) [SWS_Dcm_00614]। कोई इनपुट/आउटपुट पैरामीटर मौजूद नहीं हैं [SWS_Dcm_00614]।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन रिटर्न मान के रूप में Std_ReturnType प्रकार प्रदान करता है, जहाँ विनिर्देश के अनुसार बिना किसी अपवाद के E_OK लौटाया जाता है [SWS_Dcm_00614]। इस कॉल के लिए DEM या DET को कोई विशिष्ट त्रुटि कोड, फ़ॉलबैक मान या अलग सूचनाएं निर्दिष्ट नहीं की गई हैं।
समवर्तीता और परस्पर क्रिया
फ़ंक्शन को reentrant के रूप में वर्गीकृत किया गया है और इसमें सिंक्रोनस निष्पादन सिमेंटिक्स हैं [SWS_Dcm_00614]। डायग्नोस्टिक अनुरोधों के साथ परस्पर क्रिया के संबंध में एक निश्चित सीमा शर्त लागू होती है: यदि DCM में वर्तमान में इवेंट मेमोरी (EventMemory) को साफ़ करने के अनुरोध को संसाधित किया जा रहा है, तो DCM को कॉलबैक Dcm_DemTriggerOnDTCStatus के आने वाले कॉलों को अनदेखा करना चाहिए [SWS_Dcm_01410]।
यह उपयोग नोट AUTOSAR क्लासिक रिलीज़ R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dcm_GetVin [SWS_Dcm_00950] 📄 PDF
Std_ReturnType Dcm_GetVin (uint8* Data);
Function to get the VIN (as defined in SAE J1979-DA)
फ़ंक्शन 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.
फ़ंक्शन Dcm_BndMWriteBlockFinish, ब्लॉक राइट ऑपरेशन के पूरा होने का संकेत देने के लिए BndM से DCM को एक अधिसूचना इंटरफ़ेस के रूप में कार्य करता है [SWS_Dcm_91088]। फ़ंक्शन हेडर फ़ाइल Dcm.h में घोषित है, सर्विस ID 0x7a रखता है, कोई रिटर्न मान नहीं देता है (void) और समकालिक रूप से निष्पादित होता है [SWS_Dcm_91088]।
इंटरफ़ेस दो पास किए गए पैरामीटर [SWS_Dcm_91088] की अपेक्षा करता है:
BlockId(प्रकार:BndM_BlockIdType): उस ब्लॉक की पहचान करता है, जिसकी लेखन प्रक्रिया पूरी हो चुकी है।result(प्रकार:BndM_ResultType): DCM को राइट ऑपरेशन का परिणाम प्रेषित करता है।
कार्यात्मक परस्पर क्रिया और त्रुटि की स्थिति में व्यवहार पहले DCM द्वारा ट्रिगर किए गए परमाणु (atomic) BndM राइट ऑपरेशनों से जुड़े होते हैं:
- यदि
Dcm_BndMWriteBlockFinishको स्थितिresult = E_OKके साथ कॉल किया जाता है, तो DCM लंबित अनुरोध पर एक सकारात्मक डायग्नोस्टिक प्रतिक्रिया भेजता है [SWS_Dcm_01584]। - यदि फ़ंक्शन को
result = E_NOT_OKके साथ कॉल किया जाता है, तो DCM त्रुटि की स्थिति में एक नकारात्मक डायग्नोस्टिक प्रतिक्रिया0x72(generalProgrammingFailure) के साथ प्रतिक्रिया करता है [SWS_Dcm_01585]।
समवर्तीता के संबंध में, Dcm_BndMWriteBlockFinish को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_91088]। इसलिए कॉलर्स को यह सुनिश्चित करना चाहिए कि फ़ंक्शन कई संदर्भों द्वारा समानांतर में या बाधित करते हुए कॉल न किया जाए।
यह उपयोग नोट AI द्वारा जनरेट किया गया था और यह AUTOSAR विनिर्देश R20-11 पर आधारित है।
फ़ंक्शन 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.
उपयोग और कॉल संदर्भ
फ़ंक्शन Dcm_SetDeauthenticatedRole सिंक्रोनस और रीएंट्रेंट रूप से निष्पादित होता है ([SWS_Dcm_91069])। यह एक सॉफ़्टवेयर घटक को connectionId द्वारा पहचाने गए कनेक्शन के लिए डी-ऑथेंटिकेटेड स्थिति हेतु प्रकार Dcm_AuthenticationRoleType की एक नई भूमिका deauthenticatedRole असाइन करने में सक्षम बनाता है ([SWS_Dcm_91069], [SWS_Dcm_01486])। रिटर्न मान के रूप में, बिना किसी अपवाद के E_OK प्रदान किया जाता है ([SWS_Dcm_91069])।
स्थिति शर्तें और त्रुटि प्रबंधन
DCM द्वारा कॉल केवल तभी संसाधित किया जाता है जब कनेक्शन डी-ऑथेंटिकेटेड स्थिति (deauthenticated state) में हो ([SWS_Dcm_01487])। चूँकि हस्ताक्षर कोई वैकल्पिक त्रुटि मान प्रदान नहीं करता है और हमेशा E_OK लौटाता है ([SWS_Dcm_91069]), इसलिए इस स्थिति के बाहर की गई कॉल संभवतः बिना किसी त्रुटि संदेश के खारिज कर दी जाएगी। प्रश्न Q-6f14770eae6ce896 (खुला) विनिर्देश में विशिष्ट DET या DEM ईवेंट्स परिभाषित नहीं हैं।
वैधता अवधि और जीवन चक्र
यदि डी-ऑथेंटिकेटेड स्थिति के लिए भूमिका सफलतापूर्वक स्वीकार कर ली जाती है ([SWS_Dcm_01486]), तो यह असाइनमेंट अस्थायी रूप से बना रहता है:
- जैसे ही कनेक्शन ऑथेंटिकेटेड स्थिति (authenticated state) में बदलता है, सेट की गई भूमिका को त्याग दिया जाता है ([SWS_Dcm_01488])।
- वैधता नवीनतम रूप से इलेक्ट्रॉनिक नियंत्रण इकाई (ECU) के रीसेट पर समाप्त हो जाती है ([SWS_Dcm_91069])।
यह उपयोग निर्देश AUTOSAR स्पेसिफिकेशन के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dcm_GetSecurityLevel [SWS_Dcm_00338] 📄 PDF
Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel);
This function provides the active security level value.
सिंक्रोनस और reentrant फ़ंक्शन Dcm_GetSecurityLevel DCM के वर्तमान में सक्रिय सुरक्षा स्तर को क्वेरी करता है और इसे उपलब्ध कराता है [SWS_Dcm_00338]। फ़ंक्शन हेडर Dcm.h के माध्यम से घोषित किया गया है और कॉलर को Dcm_SecLevelType* प्रकार के आउटपुट पैरामीटर SecLevel के माध्यम से निर्धारित स्थिति मान पास करता है। विनिर्देश के अनुसार, रिटर्न मान के रूप में बिना किसी अपवाद के E_OK लौटाया जाता है [SWS_Dcm_00338]।
आंतरिक सुरक्षा स्तर का निर्धारण सेवा SecurityAccess के संदर्भ में परीक्षक द्वारा प्रेषित पैरामीटर SecurityAccessType पर निश्चित रूपांतरण सूत्र SecurityLevel = (SecurityAccessType + 1) / 2 के अनुसार आधारित होता है [SWS_Dcm_00338]।
उच्च-स्तरीय डायग्नोस्टिक सेवा प्रसंस्करण के साथ परस्पर क्रिया में, अन्य घटकों के अतिरिक्त DSP-सबमॉड्यूल इस मान का उपयोग करता है: यदि मॉड्यूल सबफ़ंक्शन प्रकार “requestSeed” (विषम मान) के साथ एक कॉन्फ़िगर किया गया अनुरोध प्राप्त करता है और संबंधित एक्सेस स्तर Dcm_GetSecurityLevel के अनुसार पहले से ही सक्रिय है, तो DSP-सबमॉड्यूल सीड सामग्री को 0x00 पर सेट करता है [SWS_Dcm_00323]।
समवर्तीता (concurrency) और त्रुटि प्रबंधन के संबंध में, फ़ंक्शन को reentrant के रूप में परिभाषित किया गया है [SWS_Dcm_00338]। चूँकि कोई विशिष्ट त्रुटि कोड या DET-जाँच निर्दिष्ट नहीं हैं और हमेशा E_OK लौटाया जाता है, इसलिए कोई नल-पॉइंटर जाँच नहीं होनी चाहिए; इसलिए कॉल करने वालों को संभवतः हमेशा SecLevel के लिए मेमोरी स्पेस का एक मान्य पॉइंटर पास करना होगा। प्रश्न Q-5402d82ac0151b22 (खुला)
यह पाठ AI द्वारा तैयार किया गया था। विवरण अपूर्ण हो सकते हैं; AUTOSAR विनिर्देश ही आधिकारिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dcm_GetSesCtrlType [SWS_Dcm_00339] 📄 PDF
Std_ReturnType Dcm_GetSesCtrlType (Dcm_SesCtrlType* SesCtrlType);
This function provides the active session control type value.
फ़ंक्शन 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
फ़ंक्शन 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.
सिंक्रोनस फ़ंक्शन Dcm_ResetToDefaultSession एप्लिकेशन को सक्रिय डायग्नोस्टिक सत्र को मानक सत्र (Default Session) में रीसेट करने की अनुमति देता है [SWS_Dcm_00520]। एक विशिष्ट उपयोग मामला वाहन द्वारा पूर्व-निर्धारित गति सीमा पार करते ही विस्तारित डायग्नोस्टिक सत्र की स्वचालित समाप्ति है [SWS_Dcm_00520]।
उपयोग और त्रुटि हैंडलिंग
-
इंटरफ़ेस और पैरामीटर: यह फ़ंक्शन
Dcm.hके माध्यम से सर्विस ID0x2aके साथ उपलब्ध है, इसका सिग्नेचरStd_ReturnType Dcm_ResetToDefaultSession (void)है और इसके लिए किसी पासिंग पैरामीटर की आवश्यकता नहीं है [SWS_Dcm_00520]। -
वापसी मान और त्रुटियाँ: रिटर्न प्रकार के रूप में
Std_ReturnTypeलौटाया जाता है, जिसमें बिना किसी अपवाद के मानE_OKलौटाया जाता है [SWS_Dcm_00520]। इस कॉल के लिए आवश्यकताओं में विशिष्ट त्रुटि कोड, DET रनटाइम जाँच या DEM ईवेंट निर्दिष्ट नहीं हैं।
समवर्तीता और परस्पर क्रिया
निष्पादन सिंक्रोनस रूप से होता है और इसे री-एंट्रेंट घोषित किया गया है [SWS_Dcm_00520]।
वास्तविक सत्र परिवर्तन के अलावा, Dcm_ResetToDefaultSession अनिवार्य रूप से ModeDeclarationGroupPrototype DcmDiagnosticSessionControl के लिए एक मोड परिवर्तन शुरू करता है [SWS_Dcm_01062]। इसमें फ़ंक्शन आंतरिक रूप से SchM_Switch_<bsnp>_DcmDiagnosticSessionControl(RTE_MODE_DcmDiagnosticSessionControl_DCM_DEFAULT_SESSION) को कॉल करता है ताकि सिस्टम परिवेश को मानक सत्र में संक्रमण के बारे में सूचित किया जा सके [SWS_Dcm_01062]।
यह उपयोग नोट AUTOSAR Classic R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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'.
हेडर Dcm.h के माध्यम से प्रदान किया जाने वाला सिंक्रोनस फ़ंक्शन Dcm_TriggerOnEvent (सर्विस-ID 0x2D), ResponseOnEvent अनुरोध (ROE) से जुड़े एक इवेंट को ट्रिगर करने का कार्य करता है [SWS_Dcm_00521]।
कॉल और कार्यप्रणाली
कॉलर एकमात्र पैरामीटर के रूप में RoeEventId (प्रकार uint8 का इनपुट पैरामीटर) पास करता है, जो ट्रिगर किए जाने वाले इवेंट की पहचान करता है; कोई इनपुट या आउटपुट पैरामीटर मौजूद नहीं हैं [SWS_Dcm_00521]। जैसे ही फ़ंक्शन कॉल किया जाता है, DCM इवेंट की स्थिति की जाँच करता है: यदि पास किया गया RoeEvent सक्रिय है, तो DCM संबंधित इवेंट को ट्रिगर करता है [SWS_Dcm_00920]। DCM इवेंट से संबद्ध सेवा को निष्पादित करता है यदि RoeEventId का संबंधित मोड 'ROE started' पर सेट है [SWS_Dcm_00521]।
रिटर्न मान और सत्यापन
कॉल सिंक्रोनस रूप से प्रकार Std_ReturnType का एक स्टेटस लौटाता है, जो पैरामीटर की वैधता के बारे में जानकारी प्रदान करता है [SWS_Dcm_00521]:
E_OK:RoeEventIdके लिए पास किया गया मान मान्य है [SWS_Dcm_00521]।E_NOT_OK:RoeEventIdका मान अमान्य है [SWS_Dcm_00521]।
समवर्तीता और विशेषताएँ
इंटरफ़ेस को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Dcm_00521]। इस प्रकार इसे DCM को सिंक्रोनस रूप से इवेंट्स की रिपोर्ट करने के लिए समवर्ती रूप से कॉल किया जा सकता है [SWS_Dcm_00521]।
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dcm_SetActiveDiagnostic [SWS_Dcm_01068] 📄 PDF
Std_ReturnType Dcm_SetActiveDiagnostic (boolean active);
Allows to activate and deactivate the call of ComM_DCM_ActiveDiagnostic() function.
फ़ंक्शन 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.
सिंक्रोनस और रीएंट्रेंट फ़ंक्शन Dcm_StartOfReception ([SWS_Dcm_00094]) को N-SDU की प्राप्ति की शुरुआत में एक ट्रांसपोर्ट प्रोटोकॉल मॉड्यूल द्वारा कॉल किया जाता है – एकल संदेशों (Single Frame, SF) और खंडित संदेशों (First Frame, FF) दोनों के लिए। इसे इंटरप्ट संदर्भ में कॉल किया जा सकता है ([SWS_Dcm_00094])। कॉल अन्य बातों के अलावा प्राप्ति की शुरुआत में S3Server टाइमर को रोकने का कारण बनती है ([SWS_Dcm_00141])।
info के माध्यम से पेलोड और मेटाडेटा पास किए जाते हैं; जेनेरिक कनेक्शनों में, इसके माध्यम से अन्य बातों के साथ SOURCE_ADDRESS_16 संग्रहीत किए जाते हैं ([SWS_Dcm_00848]) तथा TARGET_ADDRESS_16 की जांच की जाती है ([SWS_Dcm_01347])। यदि न तो पेलोड और न ही मेटाडेटा मौजूद है, तो NULL_PTR पास किया जाता है ([SWS_Dcm_00094])। bufferSizePtr के माध्यम से, फ़ंक्शन Block Size (BS) की गणना के लिए उपलब्ध बफ़र की रिपोर्ट करता है ([SWS_Dcm_00094])। सफल स्वीकृति पर, यह BUFREQ_OK लौटाता है, जिसके बाद अनुवर्ती डेटा को Dcm_CopyRxData के माध्यम से कॉपी किया जाता है ([SWS_Dcm_00443])।
त्रुटि और अस्वीकृति के मामलों को रिटर्न मान के माध्यम से संकेतित किया जाता है:
BUFREQ_E_OVFL: तब लौटाया जाता है जब अनुरोधित लंबाईTpSduLengthDCM में उपलब्ध बफ़र से अधिक हो ([SWS_Dcm_00094], [SWS_Dcm_00444])।bufferSizePtrअपरिवर्तित रहता है ([SWS_Dcm_00094])।BUFREQ_E_NOT_OK: तब लौटाया जाता है जबTpSduLength0 के बराबर हो ([SWS_Dcm_00642]) या उसी कनेक्शन पर कोई चल रहा अनुरोध ब्लॉक कर रहा हो ([SWS_Dcm_00557])। किसी अन्य कनेक्शन के मामले में, पैरामीटरDcmDslDiagRespOnSecondDeclinedRequestयह तय करता है किBUFREQ_E_NOT_OKके साथ अस्वीकार किया जाए ([SWS_Dcm_00790]) याBUFREQ_OKके साथ स्वीकार किया जाए ([SWS_Dcm_00788])। समवर्ती TesterPresent अनुरोधों को भीBUFREQ_OKके साथ पावती दी जाती है ([SWS_Dcm_00557])।
यह पाठ एक AI द्वारा तैयार किया गया था। सभी विवरण पूरी तरह से AUTOSAR R20-11 विनिर्देश उद्धरण पर आधारित हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग
सिंक्रोनस फ़ंक्शन Dcm_CopyRxData प्राप्त I-PDU सेगमेंट (N-PDU) के डेटा को DCM में ऊपरी परत को पास करने के लिए कॉल किया जाता है [SWS_Dcm_00556]। प्रत्येक कॉल I-PDU डेटा का अगला भाग प्रदान करता है [SWS_Dcm_00556]। पैरामीटर id के माध्यम से प्राप्त I-PDU की पहचान की जाती है [SWS_Dcm_00556]। पॉइंटर info SduDataPtr के माध्यम से स्रोत बफ़र के साथ-साथ SduLength के माध्यम से कॉपी किए जाने वाले बाइट्स की संख्या प्रदान करता है [SWS_Dcm_00556]। कॉपी प्रक्रिया पूरी होने के बाद, DCM में शेष खाली बफ़र आकार bufferSizePtr के माध्यम से वापस रिपोर्ट किया जाता है [SWS_Dcm_00556], [SWS_Dcm_00443]।
यदि Dcm_CopyRxData को 0 के SduLength के साथ कॉल किया जाता है, तो यह विशुद्ध बफ़र क्वेरी के रूप में कार्य करता है [SWS_Dcm_00556]। इस मामले में, SduDataPtr एक NULL_PTR हो सकता है; फ़ंक्शन BUFREQ_OK लौटाता है और प्राप्त बफ़र के शेष आकार को bufferSizePtr में दर्ज करता है [SWS_Dcm_00556], [SWS_Dcm_00996]।
इंटरैक्शन
कॉपी करने से पहले, Dcm_StartOfReception को BUFREQ_OK के साथ पूरा किया जाना चाहिए; Dcm_CopyRxData के बाद के कॉल दिए गए बफ़र से डेटा को DCM बफ़र में कॉपी करते हैं और bufferSizePtr को अपडेट करते हैं [SWS_Dcm_00443]।
त्रुटि प्रबंधन
फ़ंक्शन स्थिति को BufReq_ReturnType के रूप में लौटाता है: BUFREQ_OK सफल कॉपी या बफ़र क्वेरी की पुष्टि करता है, जबकि BUFREQ_E_NOT_OK इंगित करता है कि त्रुटि के कारण कोई डेटा कॉपी नहीं किया गया था [SWS_Dcm_00556], [SWS_Dcm_00996]।
समवर्तीता और प्रतिबंध
Dcm_CopyRxData को reentrant निर्दिष्ट किया गया है और इसे इंटरप्ट संदर्भ में कॉल किया जा सकता है [SWS_Dcm_00556]। इंटरफ़ेस Dcm.h के माध्यम से प्रदान किया जाता है [SWS_Dcm_00556]।
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
उपयोग और कॉल संदर्भ
सिंक्रोनस फ़ंक्शन Dcm_TpRxIndication को TP API के माध्यम से I-PDU प्राप्त करने के बाद कॉल किया जाता है, आमतौर पर मॉड्यूल PduR द्वारा [SWS_Dcm_00093], [SWS_Dcm_00112]। यह PDU पहचान (id) के साथ-साथ प्राप्ति परिणाम (result) पास करता है और कोई रिटर्न मान नहीं देता है [SWS_Dcm_00093]। चूंकि फ़ंक्शन रीएंट्रेंट है और इसे इंटरप्ट संदर्भ में कॉल करने की अनुमति है, इसलिए कॉलर और मॉड्यूल स्थितियों को उपयुक्त समवर्तीता के लिए डिज़ाइन किया जाना चाहिए [SWS_Dcm_00093]।
त्रुटिपूर्ण प्राप्ति के समय व्यवहार
यदि Dcm_TpRxIndication को ऐसे परिणाम मान के साथ कॉल किया जाता है जो E_OK से भिन्न है, तो मॉड्यूल Dcm को संदर्भित I-PDU को सौंपे गए बफ़र का मूल्यांकन नहीं करना चाहिए [SWS_Dcm_00344]।
सबमॉड्यूल की परस्पर क्रिया
सबमॉड्यूल DSL प्राप्त डेटा को सबमॉड्यूल DSD को केवल तभी अग्रेषित करता है जब कॉल पैरामीटर मान result = E_OK के साथ की गई हो [SWS_Dcm_00111]। डायग्नोस्टिक अनुरोधों के लिए विशिष्ट नियम लागू होते हैं:
- यदि सफलतापूर्वक प्राप्त अनुरोध (
Result = E_OK) सेट किए गएsuppressPosRspMsgIndicationBit(SID0x3E, सबफ़ंक्शन0x80) के साथ कमांडTesterPresentहै, तो DSL सबमॉड्यूल सेशन टाइमआउट टाइमरS3Serverको रीसेट करता है [SWS_Dcm_00112]। - इस मामले में, अनुरोध को आगे की व्याख्या के लिए DSL सबमॉड्यूल द्वारा DSD सबमॉड्यूल को अग्रेषित नहीं किया जाता है [SWS_Dcm_00113]।
यह उपयोग नोट विनिर्देश AUTOSAR Classic R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग और सिमेंटिक्स
सिंक्रोनस और reentrant फ़ंक्शन Dcm_CopyTxData निचली परत के मॉड्यूल (जैसे ट्रांसपोर्ट प्रोटोकॉल) द्वारा ट्रांसमिशन के लिए I-PDU सेगमेंट (N-PDU) के डेटा को पुनः प्राप्त करने हेतु कॉल किया जाता है [SWS_Dcm_00092]। पैरामीटर info के माध्यम से कॉलर गंतव्य बफ़र SduDataPtr और वांछित बाइट लंबाई SduLength पास करता है। SduLength के लिए 0 का मान retry के माध्यम से स्थिति परिवर्तनों को संकेत देने या उपलब्ध डेटा की मात्रा को क्वेरी करने के लिए उपयोग किया जा सकता है; इस मामले में SduDataPtr एक NULL_PTR हो सकता है [SWS_Dcm_00092]। availableDataPtr के माध्यम से DCM ट्रांसमिट बफ़र में शेष बाइट गणना की रिपोर्ट करता है, जिसका उपयोग TP मॉड्यूल द्वारा बाद के सेगमेंट आकारों को निर्धारित करने के लिए किया जा सकता है और यह भेजे जाने वाले शेष बाइट्स की संख्या से अधिक नहीं होना चाहिए [SWS_Dcm_00092], [SWS_Dcm_00350]।
बफ़र प्रबंधन और ट्रांसमिशन पुनरावृत्ति
पैरामीटर retry के माध्यम से डेटा की पावती (acknowledgment) या पुनरावृत्ति को नियंत्रित किया जाता है [SWS_Dcm_00092]:
- यदि
retryएकNULL_PTRहै, तो कॉपी प्रक्रिया के तुरंत बाद बफ़र से डेटा हटाया जा सकता है [SWS_Dcm_00092]। TP_CONFPENDINGके मामले में, संभावित त्रुटि निवारण के लिए पहले से कॉपी किए गए डेटा को TP बफ़र में रहना चाहिए [SWS_Dcm_00092]।TP_DATACONFइस कॉल से पहले कॉपी किए गए सभी डेटा को रिलीज़ के लिए पुष्ट करता है [SWS_Dcm_00092]।TP_DATARETRYवर्तमान स्थिति के सापेक्ष ऑफ़सेटTxTpDataCntसे डेटा को पुनः कॉपी करता है [SWS_Dcm_00092]।
रिटर्न मान और त्रुटि प्रबंधन
यदि डेटा सफलतापूर्वक और पूरी तरह से कॉपी किया गया था, तो फ़ंक्शन BUFREQ_OK लौटाता है [SWS_Dcm_00092], [SWS_Dcm_00346]। यदि पर्याप्त ट्रांसमिट डेटा उपलब्ध नहीं है, तो कोई कॉपी प्रक्रिया निष्पादित नहीं की जाती है और BUFREQ_E_BUSY लौटाया जाता है; निचली परत बाद में कॉल को दोहरा सकती है [SWS_Dcm_00092]। यदि अनुरोध विफल रहता है, तो फ़ंक्शन BUFREQ_E_NOT_OK लौटाता है [SWS_Dcm_00092]। इस मामले में, PduR_DcmTransmit() से ट्रांसमिट अनुरोध अभी तक पूरा नहीं हुआ है; केवल Dcm_TpTxConfirmation का एक अंतिम कॉल इस प्रक्रिया को समाप्त करता है और नए ट्रांसमिशन को सक्षम बनाता है [SWS_Dcm_00350]।
संगामिति
फ़ंक्शन reentrant है और इसे इंटरप्ट संदर्भ में भी कॉल किया जा सकता है [SWS_Dcm_00092]।
यह उपयोग नोट AUTOSAR क्लासिक प्लेटफ़ॉर्म रिलीज़ R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
नेटवर्क पर डायग्नोस्टिक I-PDU के प्रसारित होने के बाद, कॉलबैक फ़ंक्शन Dcm_TpTxConfirmation ([SWS_Dcm_00351]) को निचली ट्रांसपोर्ट लेयर द्वारा सिंक्रोनस रूप से कॉल किया जाता है। प्रभावित I-PDU की पहचान पैरामीटर id के माध्यम से की जाती है, जबकि result ट्रांसमिशन प्रक्रिया की सफलता या विफलता की रिपोर्ट करता है ([SWS_Dcm_00351])। फ़ंक्शन का कोई रिटर्न मान नहीं होता है, यह रीएंट्रेंट है और इसे स्पष्ट रूप से इंटरप्ट संदर्भ में निष्पादित करने की अनुमति है ([SWS_Dcm_00351])।
Dcm_TpTxConfirmation को कॉल करने पर, DCM मॉड्यूल केंद्रीय क्लीनअप और स्थिति संक्रमण निष्पादित करता है:
- आवंटित ट्रांसमिट बफ़र अनलॉक हो जाता है ([SWS_Dcm_00352])।
- चल रहे त्रुटि मॉनिटरिंग जैसे पेज-बफ़र टाइमआउट्स और साथ ही
P2ServerMaxतथाP2*ServerMaxटाइमआउट्स को रोक दिया जाता है ([SWS_Dcm_00353])। - प्राप्ति (
Dcm_TpRxIndication) के बाद से ब्लॉक किया गया कनेक्शन काDcmPduIdमुक्त कर दिया जाता है, जिससे बाद के अनुरोध प्राप्त किए जा सकें ([SWS_Dcm_00241])। - DSL प्रतिक्रिया की पुष्टि से वर्तमान प्रोटोकॉल समाप्त नहीं होता है (
xxx_StopProtocolका कोई कॉल नहीं) ([SWS_Dcm_00624])।
त्रुटि की स्थिति में (यदि result किसी त्रुटि को इंगित करता है या विफल Dcm_CopyTxData के बाद निरस्तीकरण की पुष्टि होती है), तो ट्रांसमिशन अनुरोध को औपचारिक रूप से पूरा करने और PduR_DcmTransmit() के माध्यम से नए ट्रांसमिशन को सक्षम करने के लिए [SWS_Dcm_00350] को अनिवार्य रूप से इस अंतिम कॉल की आवश्यकता होती है। त्रुटिपूर्ण पुष्टि के मामले में, DSD सबमॉड्यूल को डायग्नोस्टिक प्रतिक्रिया फिर से नहीं भेजनी चाहिए ([SWS_Dcm_00118])।
इसके अतिरिक्त, किसी प्रतिक्रिया (NRC 0x78 के अलावा) की पुष्टि डायग्नोस्टिक अनुरोध ([SWS_Dcm_01378]) के नियमित समापन को चिह्नित करती है। EcuReset पर सकारात्मक प्रतिक्रिया की पुष्टि के बाद, DCM रीसेट प्रोसेसिंग के दौरान अन्य सभी अनुरोधों को अनदेखा करता है ([SWS_Dcm_00834])।
यह पाठ AI द्वारा तैयार किया गया था; सटीकता की गारंटी नहीं दी जा सकती।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग
सिंक्रोनस इंटरफ़ेस Dcm_TxConfirmation (सर्विस ID 0x40, Dcm.h में घोषित) को PDU भेजने की पुष्टि करने या ट्रांसमिशन की विफलता की रिपोर्ट करने के लिए सबऑर्डिनेट कम्युनिकेशन इंटरफ़ेस मॉड्यूल द्वारा [SWS_Dcm_01092] के अनुसार कॉल किया जाता है। इस फ़ंक्शन का कोई रिटर्न मान नहीं होता है और यह दो इनपुट पैरामीटर्स को प्रोसेस करता है:
TxPduId: भेजी गई PDU का आइडेंटिफ़ायर (PduIdType)।result: ट्रांसमिशन की स्थिति (Std_ReturnType)। मान्य मान सफल ट्रांसमिशन परE_OKहैं, और यदि PDU का ट्रांसमिशन विफल हो जाता है तोE_NOT_OKहैं।
त्रुटि प्रबंधन और स्थिति फ़ीडबैक
ट्रांसमिशन का परिणाम पैरामीटर result के माध्यम से सीधे DCM को संकेतित किया जाता है ([SWS_Dcm_01092])। इस फ़ंक्शन के लिए उपलब्ध कराए गए स्पेसिफ़िकेशन अंश में विशिष्ट DET या DEM एरर संदेश परिभाषित नहीं हैं।
समवर्तीता और कॉल संदर्भ
रीएंट्रेंसी के संबंध में, Dcm_TxConfirmation भिन्न PDU-IDs वाले कॉल्स के लिए रीएंट्रेंट है, लेकिन समान TxPduId ([SWS_Dcm_01092]) के लिए रीएंट्रेंट नहीं है। ध्यान देने योग्य बात यह है कि सबऑर्डिनेट मॉड्यूल द्वारा कॉल इंटरप्ट संदर्भ में हो सकता है ([SWS_Dcm_01092])।
इंटरैक्शन
आवधिक ट्रांसमिशन (PeriodicTransmission) के मामले में, संबंधित ट्रांसमिशन परिणाम सूचित किए जाने के लिए DCM को [SWS_Dcm_01073] के अनुसार Dcm_TxConfirmation के माध्यम से कॉल किया जाता है।
यह उपयोग नोट R20-11 के लिए AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से बनाया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
सिंक्रोनस और रीएंट्रेंट फ़ंक्शन Dcm_ComM_NoComModeEntered (सेवा ID 0x21) DCM मॉड्यूल को संचार नेटवर्क के स्थिति COMM_NO_COMMUNICATION में परिवर्तन के बारे में सूचित करता है [SWS_Dcm_00356]। इंटरफ़ेस हेडर Dcm_ComM.h के माध्यम से प्रदान किया जाता है, इसका कोई रिटर्न मान नहीं होता है और यह uint8 प्रकार के इनपुट पैरामीटर NetworkId के माध्यम से प्रभावित नेटवर्क की पहचान करता है [SWS_Dcm_00356]।
कॉल के साथ, DCM निर्दिष्ट नेटवर्क पर सभी संचार बंद कर देता है, जिससे संदेशों का रिसेप्शन और ट्रांसमिशन दोनों पूरी तरह से निष्क्रिय हो जाते हैं [SWS_Dcm_00148]। इसमें अनिवार्य रूप से निम्नलिखित प्रकार के ट्रांसमिशन शामिल हैं:
- ResponseOnEvent ट्रांसमिशन की रोकथाम [SWS_Dcm_00149],
ReadDataByPeriodicIdentifier(periodicId) के माध्यम से आवधिक ट्रांसमिशन का निष्क्रियकरण [SWS_Dcm_00150] तथा- सामान्य ट्रांसमिशन का बंद होना [SWS_Dcm_00151]।
नतीजतन, Dcm_ComM_NoComModeEntered के निष्पादन के बाद DCM मॉड्यूल को इस संदर्भ के लिए PduR फ़ंक्शन PduR_DcmTransmit() को कॉल नहीं करना चाहिए [SWS_Dcm_00152]।
यदि फ़ंक्शन को किसी ऐसे NetworkId के साथ कॉल किया जाता है जो कॉन्फ़िगरेशन पैरामीटर DcmDslProtocolComMChannelRef के माध्यम से DCM में संदर्भित किसी भी ComM चैनल से मेल नहीं खाता है, तो DCM मॉड्यूल कोई कार्रवाई नहीं करता है और तुरंत वापस आ जाता है [SWS_Dcm_01324]।
यह पाठ एक AI द्वारा तैयार किया गया था और autodocs द्वारा गुणवत्ता-आश्वासित किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
सिंक्रोनस और रीएंट्रेंट फ़ंक्शन Dcm_ComM_SilentComModeEntered ([SWS_Dcm_00358]) का उपयोग DCM मॉड्यूल को संचार नेटवर्क के स्थिति COMM_SILENT_COMMUNICATION में परिवर्तन के बारे में सूचित करने के लिए किया जाता है। इंटरफ़ेस की सेवा ID 0x22 है, यह कोई रिटर्न मान नहीं देता है और इनपुट पैरामीटर NetworkId के रूप में प्रभावित नेटवर्क ([SWS_Dcm_00358]) के पहचानकर्ता की अपेक्षा करता है। यह हेडर फ़ाइल Dcm_ComM.h के माध्यम से उपलब्ध कराया जाता है ([SWS_Dcm_00358])।
जैसे ही यह कॉल किया जाता है, DCM को प्रभावित नेटवर्क चैनल पर सभी ट्रांसमिशन गतिविधियों को पूरी तरह से बंद कर देना चाहिए ([SWS_Dcm_00153])। इसमें विस्तार से निम्नलिखित उपाय शामिल हैं:
- सभी सामान्य ट्रांसमिशन का निष्क्रियकरण ([SWS_Dcm_00156]),
- Response-on-Event ट्रांसमिशन को रोकना ([SWS_Dcm_00154]) तथा
ReadDataByPeriodicIdentifier([SWS_Dcm_00155]) के अंतर्गत आवधिक प्रसारणों को निष्क्रिय करना।
त्रुटि प्रबंधन और सीमा स्थितियों के संबंध में, यह निर्दिष्ट किया गया है कि यदि पास किया गया NetworkId एक ऐसे ComM चैनल से मेल खाता है जिसे DCM में कॉन्फ़िगरेशन पैरामीटर DcmDslProtocolComMChannelRef के माध्यम से संदर्भित नहीं किया गया है ([SWS_Dcm_01325]), तो DCM को बिना किसी अन्य कार्रवाई के वापस लौटना होगा। इस कॉल के लिए विशिष्ट विकास त्रुटियाँ या त्रुटि वापसी मान निर्दिष्ट नहीं हैं।
व्याख्या: यह कॉल आमतौर पर ComM मॉड्यूल द्वारा की जानी चाहिए, जैसे ही शांत संचार मोड (silent communication mode) में संक्रमण पूरा होता है। प्रश्न Q-fc9b6303ae0c0e41 (खुला)
यह उपयोग निर्देश एक AI प्रणाली द्वारा जनरेट किया गया था और पूरी तरह से AUTOSAR विनिर्देश R20-11 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
सिंक्रोनस और री-एंट्रेंट फ़ंक्शन Dcm_ComM_FullComModeEntered हेडर फ़ाइल Dcm_ComM.h के माध्यम से प्रदान किया जाता है और DCM मॉड्यूल को किसी संचार नेटवर्क के स्थिति COMM_FULL_COMMUNICATION में संक्रमण के बारे में सूचित करता है [SWS_Dcm_00360]। इनपुट पैरामीटर के रूप में NetworkId कार्य करता है, जो मोड परिवर्तन से प्रभावित नेटवर्क की पहचान करता है [SWS_Dcm_00360]।
कॉल के माध्यम से इस नेटवर्क के लिए सभी संचार सक्रिय हो जाते हैं, जिससे संदेश प्राप्ति और प्रेषण दोनों सक्षम हो जाते हैं [SWS_Dcm_00157]। इसमें निम्नलिखित ट्रांसमिशन प्रकार शामिल हैं:
- सामान्य ट्रांसमिशन [SWS_Dcm_00161],
- Response-on-Event ट्रांसमिशन [SWS_Dcm_00159] तथा
ReadDataByPeriodicIdentifierका उपयोग करके आवधिक ट्रांसमिशन [SWS_Dcm_00160]।
जैसे ही Dcm_ComM_FullComModeEntered को कॉल किया जाता है, DCM आंतरिक फ़ंक्शनों DslInternal_ResponseOnOneDataByPeriodicId() और DslInternal_ResponseOnOneEvent() को बिना किसी प्रतिबंध के प्रोसेस करता है [SWS_Dcm_00162]। समय-क्रम में, DCM को डायग्नोस्टिक प्रतिक्रिया का ट्रांसमिशन शुरू करने से पहले इस कॉल की प्रतीक्षा करनी चाहिए; अनुरोध प्राप्ति के समय से प्रतीक्षा समय P2ServerMax से अधिक नहीं होना चाहिए [SWS_Dcm_01142]।
त्रुटि के मामले में, यदि पास किया गया NetworkId एक ऐसे ComM चैनल से संबंधित है जो DCM में कॉन्फ़िगर नहीं है (पैरामीटर DcmDslProtocolComMChannelRef), तो फ़ंक्शन बिना किसी अन्य कार्रवाई के तुरंत वापस लौटता है [SWS_Dcm_01326]।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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).
उपयोग और सिमेंटिक्स
सिंक्रोनस और रीएंट्रेंट कॉलबैक फ़ंक्शन Dcm_CsmAsyncJobFinished को Crypto Service Manager (CSM) द्वारा तब कॉल किया जाता है जब एक एसिंक्रोनस कार्य प्रसंस्करण पूरा हो जाता है [SWS_Dcm_91076]। एक इनपुट पैरामीटर के रूप में, यह प्रकार Csm_ResultType के result के माध्यम से पूर्ण हो चुके CSM जॉब का परिणाम प्राप्त करता है [SWS_Dcm_91076]। एक रिटर्न मान के रूप में, फ़ंक्शन हमेशा E_OK लौटाता है [SWS_Dcm_91076]।
कॉन्फ़िगरेशन और सीमांत शर्तें
इंटीग्रेटर्स को CSM के ECUC कॉन्फ़िगरेशन में इस फ़ंक्शन का नाम एसिंक्रोनस जॉब्स के लिए कॉलबैक के रूप में कॉन्फ़िगर करना होगा [SWS_Dcm_91076]। DCM के लिए केवल एक ऐसा कॉलबैक उपलब्ध है; विनिर्देश के अनुसार, पूर्ण हो चुके कार्य की पहचान जॉब पैरामीटर [SWS_Dcm_91076] के मूल्यांकन द्वारा की जाती है। चूँकि C-फ़ंक्शन हस्ताक्षर केवल result पास करता है, इसलिए DCM संभवतः चल रहे प्रमाणीकरण की लेन-देन स्थिति (transaction state) के माध्यम से आंतरिक रूप से संबंधित कार्य का निर्धारण करता है। प्रश्न Q-04ad1d5fb514f467 (खुला)
यह इंटरफ़ेस केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन में पैरामीटर DcmDspAuthenticationConnection सेट हो (null के बराबर न हो) [SWS_Dcm_91076]। इस कॉल के लिए विशिष्ट त्रुटि प्रबंधन या DET संदेश निर्दिष्ट नहीं हैं, क्योंकि रिटर्न मान अपरिवर्तनीय रूप से E_OK है [SWS_Dcm_91076]।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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).
सिंक्रोनस और रीएंट्रेंट कॉलबैक फ़ंक्शन Dcm_KeyMAsyncCertificateVerifyFinished को KeyM मॉड्यूल द्वारा एसिंक्रोनस प्रमाणपत्र सत्यापन पूरा होने के बाद कॉल किया जाता है [SWS_Dcm_91077]। यह DCM को सत्यापन प्रक्रिया के पूरा होने और उसके परिणाम के बारे में सूचित करता है तथा रिटर्न मान के रूप में हमेशा E_OK लौटाता है [SWS_Dcm_91077]।
पैरामीटर और कार्यप्रणाली
CertID: उस प्रमाणपत्र का पहचानकर्ता (identifier), जिसका सत्यापन पूरा हो चुका है। इस पहचानकर्ता के आधार पर DCM यह निर्धारित करता है कि कौन सा सत्यापन कार्य समाप्त हुआ [SWS_Dcm_91077]।Result: KeyM से एसिंक्रोनस सत्यापन कार्य का रिटर्न मान और स्थिति [SWS_Dcm_91077]।
कॉन्फ़िगरेशन और सीमांत शर्तें
इंटीग्रेटर्स को KeyM के ECUC कॉन्फ़िगरेशन में इस फ़ंक्शन नाम को एसिंक्रोनस जॉब्स के लिए कॉलबैक के रूप में कॉन्फ़िगर करना होगा [SWS_Dcm_91077]। चूँकि इस अधिसूचना के लिए केवल एक ही कॉलबैक उपलब्ध है, इसलिए DCM पैरामीटर CertID के माध्यम से संबंधित प्रमाणपत्र को हल करने पर निर्भर है [SWS_Dcm_91077]।
यह इंटरफ़ेस केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन पैरामीटर DcmDspAuthenticationConnection पथ Dcm/DcmDsp/DcmDspAuthentication में कॉन्फ़िगर किया गया हो (!= null) [SWS_Dcm_91077]। इस कॉल के लिए विशेष त्रुटि कोड या DET संदेश निर्दिष्ट नहीं हैं [SWS_Dcm_91077]।
यह उपयोग संबंधी निर्देश स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
Dcm_Externals.h में घोषित कॉलआउट फ़ंक्शन Dcm_ReadMemory ([SWS_Dcm_00539]), DCM द्वारा शुरुआती पते (MemoryAddress) और बाइट आकार (MemorySize) के आधार पर सर्वर मेमोरी डेटा पढ़ने के लिए उपयोग किया जाता है। यह फ़ंक्शन UDS सेवाओं ReadMemoryByAddress (0x23) ([SWS_Dcm_00495]), एड्रेस रेंज 0xF200 से 0xF3FF ([SWS_Dcm_00653]) में डायनामिक DIDs के लिए ReadDataByIdentifier (0x22), RequestUpload और TransferData ([SWS_Dcm_00539]) के लिए आवश्यक है। यदि पैरामीटर MemoryIdentifier का उपयोग नहीं किया जाता है, तो इसे 0 पर सेट किया जाना चाहिए ([SWS_Dcm_00539])।
यह इंटरफ़ेस एसिंक्रोनस और गैर-रीएंट्रेंट (non-reentrant) है ([SWS_Dcm_00539])। कॉल स्थिति OpStatus के माध्यम से मान DCM_INITIAL, DCM_PENDING, DCM_CANCEL या DCM_FORCE_RCRRP_OK के साथ पास की जाती है। जब तक पढ़ने की प्रक्रिया जारी रहती है, फ़ंक्शन DCM_READ_PENDING लौटाता है ([SWS_Dcm_00985])। यदि कॉल DCM_READ_FORCE_RCRRP लौटाता है, तो DCM तुरंत एक RCR-RP संदेश (NRC 0x78) भेजना शुरू करता है और ट्रांसमिशन पुष्टि होने तक आगे के कॉल्स को रोक देता है ([SWS_Dcm_00839])। RCR-RP की पुष्टि के बाद, DCM Dcm_MainFunction से फ़ंक्शन को OpStatus = DCM_FORCE_RCRRP_OK के साथ फिर से कॉल करता है ([SWS_Dcm_00840])।
सफलता की स्थिति में, पढ़ा गया डेटा बफ़र MemoryData में लिखा जाता है और DCM_READ_OK लौटाया जाता है ([SWS_Dcm_00539], [SWS_Dcm_00985])। यदि ऑपरेशन विफल हो जाता है, तो फ़ंक्शन DCM_READ_FAILED लौटाता है और ErrorCode सेट करता है। इसके बाद DCM संगत NRC मान ([SWS_Dcm_00644]) के साथ एक नकारात्मक प्रतिक्रिया भेजता है।
AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया उपयोग संबंधी निर्देश।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
Dcm_Externals.h में घोषित कॉलआउट फ़ंक्शन Dcm_WriteMemory को DCM द्वारा शुरुआती पते और बाइट आकार के आधार पर मेमोरी डेटा लिखने के लिए एसिंक्रोनस और गैर-रीएंट्रेंट रूप से कॉल किया जाता है [SWS_Dcm_00540]। यह UDS सेवाओं WriteMemoryByAddress (0x3D), RequestDownload और TransferData [SWS_Dcm_00540] के कार्यान्वयन के लिए कार्य करता है। WriteMemoryByAddress प्राप्त होने पर, DCM अनुरोध की पुष्टि के बाद ही कॉलआउट को कॉल करता है [SWS_Dcm_00491]।
प्रक्रिया को नियंत्रित करने के लिए OpStatus पास किया जाता है (संभावित मान: DCM_INITIAL, DCM_PENDING, DCM_CANCEL या DCM_FORCE_RCRRP_OK) [SWS_Dcm_00540]। पैरामीटर MemoryAddress और MemorySize लक्षित मेमोरी क्षेत्र निर्धारित करते हैं, जबकि MemoryData DCM के डायग्नोस्टिक बफ़र की ओर इंगित करता है [SWS_Dcm_00540]। यदि MemoryIdentifier या MemoryAddress (उदाहरण के लिए कंप्रेस्ड डेटा के मामले में) का उपयोग नहीं किया जाता है, तो उन्हें 0 पर सेट किया जाना चाहिए [SWS_Dcm_00540]।
रिटर्न मान Dcm_ReturnWriteMemoryType [SWS_Dcm_00986] DCM में आगे के प्रसंस्करण को परिभाषित करता है:
DCM_WRITE_OK: लिखने की प्रक्रिया सफल रही [SWS_Dcm_00540], [SWS_Dcm_00986]।DCM_WRITE_PENDING: ऑपरेशन अभी पूरा नहीं हुआ है और इसके लिए अनुवर्ती कॉल्स की आवश्यकता है [SWS_Dcm_00540], [SWS_Dcm_00986]।DCM_WRITE_FORCE_RCRRP: DCM तुरंत एक Response Pending (NRC 0x78) भेजना शुरू करता है और ट्रांसमिशन पुष्टि होने तक आगे के कॉल्स को निलंबित रखता है [SWS_Dcm_00837]। उसके बादDcm_MainFunctionसेDCM_FORCE_RCRRP_OKके साथ पुनः कॉल किया जाता है [SWS_Dcm_00838]।DCM_WRITE_FAILED: त्रुटि की स्थिति में, DCM आउटपुट पैरामीटरErrorCodeके माध्यम से पास किए गए NRC मान के साथ एक नकारात्मक प्रतिक्रिया भेजता है [SWS_Dcm_00540], [SWS_Dcm_00643]।
यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
कॉलआउट फ़ंक्शन Dcm_SetProgConditions इंटीग्रेटर को बूटलोडर में जाने या ECUReset अनुरोध के कारण रीसेट होने से पहले प्रासंगिक जानकारी को स्थायी रूप से सहेजने में सक्षम बनाता है [SWS_Dcm_00543]। प्रासंगिक संदर्भ डेटा को संरचना Dcm_ProgConditionsType के पॉइंटर के माध्यम से पास किया जाता है, जो अन्य बातों के अलावा कनेक्शन और परीक्षक स्रोत पते, सेवा और सबफ़ंक्शन ID के साथ-साथ नियंत्रण फ़्लैग जैसे ReprogramingRequest और ResponseRequired को बंडल करता है [SWS_Dcm_00988]। सबफ़ंक्शन 0x02 के साथ UDS सेवा 0x10 प्राप्त होने पर, DCM इन फ़्लैग्स को सेट करता है और इंटरफ़ेस को कॉल करता है [SWS_Dcm_01182]।
कॉल एसिंक्रोनस रूप से निष्पादित होता है और रीएंट्रेंट नहीं है (Non Reentrant) [SWS_Dcm_00543]। पैरामीटर OpStatus के माध्यम से स्थितियाँ DCM_INITIAL, DCM_PENDING, DCM_CANCEL या DCM_FORCE_RCRRP_OK नियंत्रित की जाती हैं [SWS_Dcm_00543]। जब तक निष्पादन जारी रहता है और फ़ंक्शन DCM_E_PENDING लौटाता है, तब तक DCM सेटिंग पूर्ण करने के लिए अगले मुख्य फ़ंक्शन चक्र में इंटरफ़ेस को पुनः कॉल करता है [SWS_Dcm_00543], [SWS_Dcm_01184]। DCM_E_FORCE_RCRRP के माध्यम से Response-Pending प्रतिक्रिया (NRC 0x78) का ट्रांसमिशन बाध्य किया जा सकता है [SWS_Dcm_00543]। कॉन्फ़िगरेशन के आधार पर, DCM द्वारा कॉल केवल NRC 0x78 के सफल ट्रांसमिशन के बाद होता है [SWS_Dcm_00535]।
यदि स्थितियाँ त्रुटिरहित सेट हो गई हैं और कॉलआउट E_OK लौटाता है, तो DCM ModeDeclarationGroupPrototype DcmEcuReset के EXECUTE में मोड परिवर्तन को आरंभ करता है [SWS_Dcm_00719], [SWS_Dcm_01163], [SWS_Dcm_01180]। इसके विपरीत, यदि स्थिति को सहेजा नहीं जा सकता है और फ़ंक्शन E_NOT_OK के साथ प्रतिक्रिया देता है, तो रीसेट और बूटलोडर जंप नहीं होते हैं, मोड परिवर्तन रोक दिया जाता है और DCM नकारात्मक प्रतिक्रिया NRC 0x22 (Conditions not correct) भेजता है [SWS_Dcm_00715], [SWS_Dcm_01181]।
यह उपयोग संबंधी निर्देश AUTOSAR Classic Release R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
कॉलआउट फ़ंक्शन Dcm_GetProgConditions, सर्विस ID 0x62 के साथ, DCM के इनिशियलाइज़ेशन के दौरान यह निर्धारित करने के लिए कॉल किया जाता है कि क्या सेवा $50 या $51 पर लंबित डायग्नोस्टिक प्रतिक्रिया भेजी जानी चाहिए [SWS_Dcm_00544]। इंटरफ़ेस की घोषणा हेडर फ़ाइल Dcm_Externals.h के माध्यम से प्रदान की जाती है [SWS_Dcm_00544]।
उपयोग और पैरामीटर
फ़ंक्शन निष्पादन सिंक्रोनस रूप से होता है, जिसमें कोई नियमित इनपुट या इनपुट/आउटपुट पैरामीटर पास नहीं किए जाते हैं [SWS_Dcm_00544]:
- आउटपुट पैरामीटर:
Dcm_ProgConditionsType*प्रकार के पॉइंटरProgConditionsके माध्यम से, कॉलआउट वे स्थितियाँ लौटाता है जिनके तहत बूटलोडर से पिछला जंप अनुरोधित किया गया था [SWS_Dcm_00544]। प्रासंगिक संदर्भ पैरामीटर डेटा प्रकारDcm_ProgConditionsTypeमें संग्रहीत हैं [SWS_Dcm_00544]। - रिटर्न मान: फ़ंक्शन कॉलर को
Dcm_EcuStartModeTypeप्रकार का एक स्टेटस मान लौटाता है [SWS_Dcm_00544]।
समवर्तीता और त्रुटि प्रबंधन
फ़ंक्शन को गैर-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है और इसलिए इसे समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए [SWS_Dcm_00544]। इस कॉलआउट के लिए इंटरफ़ेस विनिर्देश में DET या DEM के लिए कोई विशिष्ट त्रुटि कोड परिभाषित नहीं हैं [SWS_Dcm_00544]।
यह उपयोग निर्देश AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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).
कॉलआउट फ़ंक्शन Dcm_ProcessRequestAddFile को DCM द्वारा ऑपरेटिंग मोड 0x01 (AddFile) के साथ सेवा RequestFileTransfer शुरू करने के लिए कॉल किया जाता है ([SWS_Dcm_91078])। यह Dcm_Externals.h के माध्यम से उपलब्ध है, सर्विस ID 0x72 रखता है और नॉन-रीएंट्रेंट (Non Reentrant) तथा एसिंक्रोनस के रूप में निर्दिष्ट है ([SWS_Dcm_91078])।
एसिंक्रोनस कॉल अनुक्रम का नियंत्रण पैरामीटर OpStatus के माध्यम से होता है:
DCM_INITIAL: सभी इनपुट पैरामीटर मान्य हैं। इनमें फ़ाइल पथ और नाम (filePathAndNameLengthके साथfilePathAndName), बाइटdataFormatIdentifier(कंप्रेशन के लिए हाई-निबल, एन्क्रिप्शन के लिए लो-निबल) के साथ-साथ असम्पीडित (uncompressed) और संपीडित (compressed) फ़ाइल आकार (fileSizeUncompressed,fileSizeCompressed) शामिल हैं ([SWS_Dcm_91078])।DCM_PENDING,DCM_CANCELऔरDCM_FORCE_RCRRP_OK: इन बाद के कॉलों में, सभी इनपुट पैरामीटर0x00पर सेट होते हैं ([SWS_Dcm_91078])।
रिटर्न मानों के रूप में, फ़ंक्शन सफल निष्पादन पर E_OK, जारी प्रसंस्करण पर DCM_E_PENDING या DCM_E_FORCE_RCRRP लौटाता है यदि एप्लिकेशन अनंतिम प्रतिक्रिया (NRC 0x78) भेजने का अनुरोध करता है ([SWS_Dcm_91078], [SWS_Dcm_91086])। सफलता की स्थिति में, maxNumberOfBlockLength बिना SID और ब्लॉक काउंटर के भविष्य के TransferData संदेशों की अधिकतम अनुमेय ब्लॉक लंबाई को परिभाषित करता है ([SWS_Dcm_91078])।
त्रुटि की स्थिति में, फ़ंक्शन E_NOT_OK लौटाता है। इस मामले में, पैरामीटर ErrorCode के माध्यम से एक नकारात्मक प्रतिक्रिया कोड (NRC) पास किया जाना चाहिए, जिसे DCM क्लाइंट को एक नकारात्मक डायग्नोस्टिक प्रतिक्रिया में भेजता है ([SWS_Dcm_91078])। यदि कॉन्फ़िगरेशन DcmRequestFileTransferUsePort सक्षम है, तो यह कार्यक्षमता वैकल्पिक रूप से इंटरफ़ेस RequestFileTransfer के पोर्ट ऑपरेशन ProcessRequestAddFile के रूप में प्रदान की जाती है ([SWS_Dcm_91086])।
यह उपयोग निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
उपयोग और कॉल सिमेंटिक्स
कॉलआउट फ़ंक्शन Dcm_ProcessRequestDeleteFile को DCM द्वारा डायग्नोस्टिक सेवा RequestFileTransfer के भाग के रूप में सर्वर पर फ़ाइल को हटाने (modeOfOperation = 0x02) की शुरुआत करने के लिए कॉल किया जाता है [SWS_Dcm_91079]। फ़ंक्शन Dcm_Externals.h में घोषित है और एसिंक्रोनस रूप से तथा नॉन-रीएंट्रेंट (Non Reentrant) काम करता है [SWS_Dcm_91079]।
हस्तांतरण और मूल्यांकन पैरामीटर OpStatus के आधार पर होता है:
DCM_INITIAL: ऑपरेशन की शुरुआत को दर्शाता है। यहाँ सभी इनपुट पैरामीटर मान्य हैं;filePathAndNameहटाई जाने वाली फ़ाइल का स्थान और नाम पास करता है, जिसकी बाइट लंबाईfilePathAndNameLengthके माध्यम से निर्दिष्ट है [SWS_Dcm_91079]।DCM_PENDING,DCM_CANCELयाDCM_FORCE_RCRRP_OK: निरंतर प्रसंस्करण या निरस्तीकरण के मामले में, सभी इनपुट पैरामीटर0x00पर सेट होते हैं [SWS_Dcm_91079]।
रिटर्न मान के रूप में, फ़ंक्शन सफल निष्पादन पर E_OK, यदि निष्पादन अभी भी जारी है और आगे कॉल की आवश्यकता है तो DCM_E_PENDING, या DCM_E_FORCE_RCRRP लौटाता है यदि एप्लिकेशन NRC 0x78 (Response Pending) के साथ एक मध्यवर्ती संदेश भेजने का अनुरोध करता है [SWS_Dcm_91079], सेवा RequestFileTransfer के समान [SWS_Dcm_91086]।
त्रुटि प्रबंधन
यदि प्रसंस्करण विफल हो जाता है, तो फ़ंक्शन E_NOT_OK लौटाता है। इस मामले में, आउटपुट पैरामीटर ErrorCode के माध्यम से एक नकारात्मक प्रतिक्रिया कोड प्रदान किया जाना चाहिए, जिसे DCM परीक्षक को नकारात्मक प्रतिक्रिया (NRC) के रूप में प्रेषित करता है [SWS_Dcm_91079]।
यह उपयोग नोट विनिर्देश AUTOSAR Classic R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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).
कॉलआउट फ़ंक्शन Dcm_ProcessRequestReplaceFile को DCM द्वारा ऑपरेटिंग मोड 0x03 (ReplaceFile) के साथ RequestFileTransfer के लिए एक डायग्नोस्टिक प्रक्रिया शुरू करने के लिए कॉल किया जाता है [SWS_Dcm_91080]। फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) और एसिंक्रोनस के रूप में परिभाषित किया गया है और इसे हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है [SWS_Dcm_91080]।
एसिंक्रोनस प्रसंस्करण अनुक्रम का नियंत्रण पैरामीटर OpStatus के माध्यम से होता है:
DCM_INITIALके साथ प्रारंभिक कॉल पर, DCM सभी इनपुट पैरामीटर को मान्य रूप से पास करता है, जिसमें पथ और फ़ाइल नाम (लंबाई विनिर्देशfilePathAndNameLengthके साथfilePathAndName), संपीड़न और एन्क्रिप्शन के लिए पहचानकर्ता (dataFormatIdentifier) के साथ-साथ असम्पीडित और संपीडित फ़ाइल आकार (fileSizeUncompressed,fileSizeCompressed) शामिल हैं [SWS_Dcm_91080]।- बाद के कॉलों या निरस्तीकरण (
DCM_PENDING,DCM_CANCEL,DCM_FORCE_RCRRP_OK) पर, सभी In-पैरामीटर0x00पर सेट होते हैं [SWS_Dcm_91080]। - सफलता की स्थिति में, फ़ंक्शन Out-पैरामीटर
maxNumberOfBlockLengthके माध्यम से DCM को बाद केTransferDataअनुरोधों (बिना SID और ब्लॉक अनुक्रम काउंटर के) के लिए अधिकतम पेलोड लंबाई लौटाता है [SWS_Dcm_91080]।
रिटर्न मानों के रूप में, सफल निष्पादन पर E_OK, अभी भी जारी प्रसंस्करण पर DCM_E_PENDING, तथा Response-Pending प्रतिक्रिया (NRC 0x78) का अनुरोध करने के लिए DCM_E_FORCE_RCRRP प्रदान किए गए हैं [SWS_Dcm_91080], [SWS_Dcm_91086]। यदि निष्पादन विफल हो जाता है, तो फ़ंक्शन E_NOT_OK लौटाता है और पैरामीटर ErrorCode को संबंधित नकारात्मक डायग्नोस्टिक प्रतिक्रिया कोड (NRC) निर्दिष्ट करता है, जिसे DCM परीक्षक को प्रेषित करता है [SWS_Dcm_91080]।
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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).
कॉलआउट फ़ंक्शन Dcm_ProcessRequestReadFile को DCM द्वारा ऑपरेटिंग मोड ReadFile (modeOfOperation 0x04) के साथ एक फ़ाइल स्थानांतरण प्रक्रिया (Service RequestFileTransfer) शुरू करने के लिए कॉल किया जाता है [SWS_Dcm_91081]। फ़ंक्शन हेडर Dcm_Externals.h में घोषित है, एसिंक्रोनस रूप से काम करता है और नॉन-रीएंट्रेंट (Non Reentrant) है [SWS_Dcm_91081]।
कॉल स्थिति पैरामीटर OpStatus के माध्यम से होता है: प्रारंभिक कॉल DCM_INITIAL पर सभी इनपुट पैरामीटर मान्य होते हैं, जबकि DCM_PENDING, DCM_CANCEL या DCM_FORCE_RCRRP_OK के साथ बाद के कॉलों पर वे 0x00 पर सेट होते हैं [SWS_Dcm_91081]। एप्लिकेशन filePathAndName (filePathAndNameLength में लंबाई) के माध्यम से पथ और फ़ाइल नाम, dataFormatIdentifier के माध्यम से संपीड़न और एन्क्रिप्शन का प्रारूप, तथा fileSizeUncompressed और fileSizeCompressed के माध्यम से फ़ाइल आकार प्राप्त करता है [SWS_Dcm_91081]। आउटपुट पैरामीटर के रूप में, एप्लिकेशन को बाद के TransferData प्रतिक्रियाओं (बिना SID और ब्लॉक अनुक्रम काउंटर के) के लिए अधिकतम बाइट गणना के साथ maxNumberOfBlockLength भरना होगा [SWS_Dcm_91081]।
Std_ReturnType के रिटर्न मानों के रूप में, सफल निष्पादन पर E_OK, अभी भी जारी एसिंक्रोनस प्रसंस्करण पर DCM_E_PENDING या "Response Pending" प्रतिक्रिया (NRC 0x78) का अनुरोध करने के लिए DCM_E_FORCE_RCRRP परिभाषित हैं [SWS_Dcm_91081]। यदि ऑपरेशन विफल हो जाता है, तो यह E_NOT_OK लौटाता है; इस स्थिति में DCM आउटपुट पैरामीटर ErrorCode में सेट NRC मान के साथ परीक्षक को एक नकारात्मक प्रतिक्रिया प्रेषित करता है [SWS_Dcm_91081]। परस्पर क्रिया सेवा RequestFileTransfer के सामान्य संचालन से मेल खाती है, जैसा कि अन्य फ़ाइल ऑपरेशनों जैसे ProcessRequestAddFile के लिए समान रूप से कॉन्फ़िगर किया गया है [SWS_Dcm_91086]।
यह पाठ एक AI प्रणाली द्वारा जनरेट किया गया था और विशेष रूप से AUTOSAR Classic R20-11 विनिर्देश पर निर्भर करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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).
उपयोग
कॉलआउट फ़ंक्शन Dcm_ProcessRequestReadDir को हेडर फ़ाइल Dcm_Externals.h के माध्यम से घोषित किया गया है और इसे DCM द्वारा ऑपरेटिंग मोड 0x05 (ReadDir) के साथ सेवा RequestFileTransfer को एसिंक्रोनस रूप से शुरू करने के लिए कॉल किया जाता है [SWS_Dcm_91082]। प्रसंस्करण प्रगति को पास किए गए पैरामीटर OpStatus के माध्यम से नियंत्रित किया जाता है [SWS_Dcm_91082]। DCM_INITIAL के साथ प्रारंभिक कॉल पर, DCM पथ या नाम को filePathAndName के माध्यम से बाइट लंबाई filePathAndNameLength के साथ पास करता है [SWS_Dcm_91082]। बाद के कॉलों पर या निरस्तीकरण पर (DCM_PENDING, DCM_CANCEL, DCM_FORCE_RCRRP_OK), सभी इनपुट पैरामीटर 0x00 पर सेट होते हैं [SWS_Dcm_91082]।
आउटपुट मानों के रूप में, एप्लिकेशन को dirInfoLength के माध्यम से डायरेक्टरी डेटा का आकार और maxNumberOfBlockLength के माध्यम से बाद के ट्रांसमिशन के लिए अधिकतम अनुमेय ब्लॉक आकार प्रदान करना होगा [SWS_Dcm_91082]। सफल निष्पादन पर E_OK के अलावा, फ़ंक्शन DCM_E_PENDING लौटा सकता है यदि ऑपरेशन अभी भी जारी है, या एक मध्यवर्ती प्रतिक्रिया (NRC 0x78) भेजने का कारण बनने के लिए DCM_E_FORCE_RCRRP लौटा सकता है [SWS_Dcm_91082]।
त्रुटि प्रबंधन
यदि कोई त्रुटि होती है, तो फ़ंक्शन को E_NOT_OK वापस करना होगा। इस स्थिति में, DCM पैरामीटर ErrorCode को पढ़ता है और इसके मान को एक नकारात्मक प्रतिक्रिया कोड (NRC) के रूप में परीक्षक को प्रेषित करता है [SWS_Dcm_91082]। इंटरफ़ेस के लिए कोई विशिष्ट DET या DEM संदेश प्रदान नहीं किए गए हैं; इसलिए पास किए गए पथ की त्रुटि जांच पूरी तरह से अनुप्रयोग-विशिष्ट कार्यान्वयन का दायित्व होने की संभावना है। प्रश्न Q-278dbc3db7b4363b (खुला)
समवर्तीता और परस्पर क्रिया
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसलिए इसे कई डायग्नोस्टिक अनुरोधों के लिए समवर्ती रूप से कॉल नहीं किया जाना चाहिए [SWS_Dcm_91082]। यह सेवा RequestFileTransfer के इंटरफ़ेस समूह का हिस्सा है, जिसके जुड़ाव को कॉन्फ़िगरेशन पैरामीटर के माध्यम से प्रभावित किया जा सकता है [SWS_Dcm_91086]।
यह उपयोग नोट AUTOSAR CP R20-11 विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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).
उपयोग और कॉल संदर्भ
कॉलआउट फ़ंक्शन Dcm_WriteFile को DCM द्वारा तब कॉल किया जाता है जब UDS सेवा TransferData (0x36) के माध्यम से डेटा प्राप्त होता है और पहले RequestFileTransfer के माध्यम से मोड 0x01 (AddFile) या 0x03 (ReplaceFile) के साथ शुरू की गई डाउनलोड प्रक्रिया सक्रिय होती है [SWS_Dcm_01444]। यह इंटरफ़ेस Dcm_Externals.h के माध्यम से उपलब्ध है [SWS_Dcm_91083]।
पैरामीटर असाइनमेंट प्रगति स्थिति OpStatus पर निर्भर करता है [SWS_Dcm_91083]:
DCM_INITIAL: सभी इनपुट पैरामीटर मान्य हैं। पॉइंटरDataलिखे जाने वाले पेलोड डेटा को इंगित करता है, औरDataLengthउसकी बाइट लंबाई निर्दिष्ट करता है।DataLengthका मानDcm_ProcessRequestFileTransferपर पहले तय की गई अधिकतम ब्लॉक लंबाई (NumberOfBlockLength) से अधिक नहीं होता है।DCM_PENDING,DCM_CANCELऔरDCM_FORCE_RCRRP_OK: सभी इनपुट पैरामीटर0x00पर सेट हैं।
एसिंक्रोनस सिमेंटिक्स और रिटर्न मान
फ़ंक्शन एसिंक्रोनस और नॉन-रीएंट्रेंट (Non Reentrant) तरीके से काम करता है [SWS_Dcm_91083]। यह निम्नलिखित स्थिति मान प्रदान करता है:
E_OK: लिखने की प्रक्रिया सफलतापूर्वक पूरी हो गई।DCM_E_PENDING: प्रसंस्करण अभी समाप्त नहीं हुआ है और इसके लिए आगे कॉल्स की आवश्यकता है।DCM_E_FORCE_RCRRP: एप्लिकेशन एक प्रतीक्षा प्रतिक्रिया (Response Pending, NRC 0x78) भेजने का अनुरोध करता है।E_NOT_OK: ऑपरेशन विफल रहा।
त्रुटि प्रबंधन
यदि Dcm_WriteFile मान E_NOT_OK लौटाता है, तो DCM मॉड्यूल एक नकारात्मक UDS प्रतिक्रिया भेजता है, जिसका NRC आउटपुट पैरामीटर ErrorCode के माध्यम से प्रदान किए गए मान से मेल खाता है [SWS_Dcm_91083]।
यह पाठ AI-आधारित प्रणाली द्वारा निर्मित किया गया था और AUTOSAR विनिर्देश के आधार पर प्रमाण दायित्व के अधीन है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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).
कॉलआउट फ़ंक्शन Dcm_ReadFileOrDir को DCM मॉड्यूल द्वारा कॉल किया जाता है, जब एक चल रहे फ़ाइल या डायरेक्टरी अपलोड के भाग के रूप में (ReadFile के लिए मोड 0x04 या ReadDir के लिए 0x05 के साथ UDS सेवा RequestFileTransfer के माध्यम से पहले शुरू किया गया) UDS सेवा TransferData (0x36) के लिए एक प्रारूप-अनुपालक अनुरोध प्राप्त होता है [SWS_Dcm_01445]। फ़ंक्शन क्लाइंट को प्रतिक्रिया के रूप में भेजे जाने वाले डेटा को प्रदान करने का कार्य करता है [SWS_Dcm_91085]। इंटरफ़ेस घोषणा हेडर Dcm_Externals.h के माध्यम से उपलब्ध है [SWS_Dcm_91085]।
निष्पादन एसिंक्रोनस रूप से होता है और नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट है [SWS_Dcm_91085]। परस्पर क्रिया और पैरामीटर असाइनमेंट पास की गई परिचालन स्थिति (operational status) पर निर्भर करते हैं:
- परिचालन स्थिति (
OpStatus):DCM_INITIALके साथ प्रारंभिक कॉल पर, सभी इनपुट पैरामीटर मान्य होते हैं।DCM_PENDING,DCM_CANCELयाDCM_FORCE_RCRRP_OKके साथ अनुवर्ती या निरस्तीकरण कॉलों पर, सभी इनपुट पैरामीटर0x00पर सेट होते हैं [SWS_Dcm_91085]। - बफ़र और ब्लॉक लंबाई: पैरामीटर
DataLengthइनपुट पक्ष पर अधिकतम अनुमेय ब्लॉक लंबाई पास करता है (क्लाइंट को रिपोर्ट किए गए मानmaxNumberOfBlockLengthके अनुसार) और आउटपुट पक्ष पर वास्तव मेंDataमें प्रदान की गई बाइट लंबाई लौटाता है, जो इनपुट मान से अधिक नहीं होनी चाहिए [SWS_Dcm_91085]। Interpretation: यद्यपिDataइंटरफ़ेस में औपचारिक रूप से एक In-पैरामीटर के रूप में घोषित किया गया है, यह पढ़े जाने वाले पेलोड डेटा को पास करने के लिए कार्य कर सकता है। प्रश्न Q-53de8a0bdbc4a2b4 (खुला) - रिटर्न मान: ऑपरेशन सफल डेटा प्रावधान पर
E_OK, अभी तक पूरा न हुए प्रसंस्करण परDCM_E_PENDINGयाDCM_E_FORCE_RCRRPलौटाता है यदि एप्लिकेशन एक मध्यवर्ती संदेश (Response Pending, NRC 0x78) भेजने को बाध्य करना चाहता है [SWS_Dcm_91085]।
यदि एप्लिकेशन में प्रसंस्करण विफल रहता है, तो E_NOT_OK लौटाया जाता है। इस त्रुटि की स्थिति में, DCM मॉड्यूल क्लाइंट को एक नकारात्मक UDS प्रतिक्रिया (NRC) प्रेषित करता है, जिसका त्रुटि कोड आउटपुट पैरामीटर ErrorCode में सेट मान से मेल खाता है [SWS_Dcm_91085]।
यह पाठ एक AI द्वारा जनरेट किया गया था और एक मार्गदर्शन सहायता के रूप में कार्य करता है। आधिकारिक AUTOSAR विनिर्देश ही निर्णायक हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dcm_MainFunction [SWS_Dcm_00053] 📄 PDF
void Dcm_MainFunction (void);
This service is used for processing the tasks of the main loop.
फ़ंक्शन Dcm_MainFunction Diagnostic Communication Manager ([SWS_Dcm_00053]) के मुख्य लूप के केंद्रीय कार्यों को संसाधित करने का कार्य करता है। इसका सिग्नेचर void Dcm_MainFunction(void) है और यह कोई रिटर्न मान नहीं देता है। चूँकि यह हेडर SchM_Dcm.h के माध्यम से प्रदान किया जाता है, इसलिए इसका कॉल संभवतः बेसिक सॉफ़्टवेयर के शेड्यूलर टास्क के संदर्भ में चक्रीय रूप से होना चाहिए। प्रश्न Q-e083a72aae447ab5 (खुला)
एक आवश्यक कार्य एसिंक्रोनस प्रक्रियाओं का नियंत्रण और अंतर-चक्रीय (cross-cycle) निरंतरता है:
- यदि
Dcm_OpStatusTypeवाला कोई ऑपरेशन रिटर्न मानDCM_E_PENDINGदेता है, तो जब तक यह स्थिति बनी रहती है, DCMDcm_MainFunctionके प्रत्येक कॉल परOpStatus = DCM_PENDINGके साथ ऑपरेशन को फिर से कॉल करता है ([SWS_Dcm_00530])। - यदि
Dem_ClearDTC()स्थितिDEM_PENDINGलौटाता है, तो फ़ंक्शन कोDcm_MainFunctionके अगले चक्र में फिर से कॉल किया जाता है; आवश्यकता पड़ने पर DCM NRC 78 (ResponsePending) भेजता है ([SWS_Dcm_00703])। - सेट किए गए पैरामीटर
FilterForFault-DetectionCounterके साथDem_SetDTCFilter()के कॉल अनिवार्य रूप सेDcm_MainFunctionके संदर्भ में होने चाहिए ([SWS_Dcm_00519])। - RCR-RP ट्रांसमिशन की पुष्टि के बाद, DCM
Dcm_MainFunctionसेDcm_WriteMemoryयाDcm_ReadMemoryजैसे ऑपरेशनों कोOpStatus = DCM_FORCE_RCRRP_OKके साथ फिर से कॉल करता है ([SWS_Dcm_00529], [SWS_Dcm_00838], [SWS_Dcm_00840])। - यदि
Xxx_GetSecurityAttemptCounterपर मानDCM_E_PENDINGरिपोर्ट किया जाता है, तो कॉल बाधित हो जाता है और अगले चक्र में जारी रहता है ([SWS_Dcm_01351]); कॉन्फ़िगर किए गए टाइमआउट के पार होने पर, DCMOpStatus = DCM_CANCELके साथ लंबित ऑपरेशन को निरस्त कर देता है ([SWS_Dcm_01352])।
यह उपयोग निर्देश AUTOSAR स्पेसिफिकेशन के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
फ़ंक्शन Xxx_GetSeed (Dcm_Externals.h के माध्यम से उपलब्ध कराया गया) DCM मॉड्यूल [SWS_Dcm_01151] के लिए एप्लिकेशन द्वारा सीड मान के एसिंक्रोनस प्रावधान का कार्य करता है। इसे जैसे ही सब-फ़ंक्शन प्रकार \"requestSeed\" के साथ SecurityAccess (0x27) सेवा का एक UDS अनुरोध प्राप्त होता है और अनुरोधित सुरक्षा स्तर अभी तक सक्रिय नहीं होता है, वैसे ही कॉल किया जाता है [SWS_Dcm_00862], [SWS_Dcm_00324]।
कॉल संदर्भ और पैरामीटर
इंटरफ़ेस को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित किया गया है और यह एसिंक्रोनस रूप से संचालित होता है [SWS_Dcm_01151]:
SecurityAccessDataRecord: सीड गणना के लिए अतिरिक्त इनपुट डेटा का पॉइंटर;DcmDspSecurityADRSizeके अनुसार न्यूनतम आकार एक बाइट है [SWS_Dcm_01151]।OpStatus: एसिंक्रोनस ऑपरेशन की वर्तमान स्थिति को इंगित करता है [SWS_Dcm_01151]।Seed: आउटपुट पॉइंटर, जिसके माध्यम से एप्लिकेशन परिकलित सीड प्रदान करता है [SWS_Dcm_01151]।ErrorCode: नेगेटिव रिस्पॉन्स कोड (NRC) लौटाने के लिए आउटपुट पैरामीटर [SWS_Dcm_01151]।
रिटर्न मान और त्रुटि प्रबंधन
E_OK: सीड को सफलतापूर्वक निर्धारित और प्रदान किया गया है [SWS_Dcm_01151]।DCM_E_PENDING: गणना अभी पूर्ण नहीं हुई है; पूरा करने के लिए अनुवर्ती गणनाएँ या कॉल्स आवश्यक हैं [SWS_Dcm_01151]।E_NOT_OK: अनुरोध विफल रहा। इस मामले में, DCM मॉड्यूल पैरामीटरErrorCodeमें पास किए गए NRC मान के साथ एक नेगेटिव UDS रिस्पॉन्स भेजता है [SWS_Dcm_01151], [SWS_Dcm_00659]।
एकीकरण संबंधी निर्देश
DcmDspSecurityUsePort के कॉन्फ़िगरेशन के आधार पर, कनेक्शन USE_ASYNCH_FNC (DcmDspSecurityGetSeedFnc के माध्यम से संदर्भित) [SWS_Dcm_00862] पर C-फ़ंक्शन के रूप में या USE_ASYNCH_CLIENT_SERVER [SWS_Dcm_00324] पर Rte-ऑपरेशन के रूप में होता है। यदि कोई अतिरिक्त एक्सेस डेटा पास करने की आवश्यकता नहीं है, तो पैरामीटर SecurityAccessDataRecord के बिना वैकल्पिक फ़ंक्शन सिग्नेचर का उपयोग किया जाता है [SWS_Dcm_91003]।
यह उपयोग निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
फ़ंक्शन Xxx_GetSeed UDS सेवा SecurityAccess (0x27) के तहत \"requestSeed\" प्रकार के अनुरोध पर सीड मान प्रदान करने के लिए एप्लिकेशन को DCM मॉड्यूल के एक एसिंक्रोनस इंटरफ़ेस के रूप में कार्य करता है [SWS_Dcm_91003], [SWS_Dcm_00862]। कॉल DCM-DSP सबमॉड्यूल द्वारा की जाती है, बशर्ते सुरक्षा स्तर अभी सक्रिय न हो और कॉन्फ़िगरेशन USE_ASYNCH_CLIENT_SERVER या USE_ASYNCH_FNC प्रदान करता हो [SWS_Dcm_00324], [SWS_Dcm_00862]।
इंटरफ़ेस एसिंक्रोनस और गैर-री-एंट्रेंट (Non Reentrant) के रूप में डिज़ाइन किया गया है [SWS_Dcm_91003]। प्रसंस्करण प्रगति का नियंत्रण इनपुट पैरामीटर OpStatus (प्रकार Dcm_OpStatusType) के माध्यम से होता है [SWS_Dcm_91003]। रिटर्न मान के रूप में, सफल प्रावधान पर E_OK, त्रुटि के मामले में E_NOT_OK, तथा DCM_E_PENDING परिभाषित हैं यदि सीड जनरेशन अभी भी जारी है और आगे की कॉल आवश्यक हैं [SWS_Dcm_91003]। जनरेट किया गया मान पॉइंटर Seed (इनआउट/आउट बफर) के माध्यम से पास किया जाता है [SWS_Dcm_91003]।
यदि ऑपरेशन विफल हो जाता है और Xxx_GetSeed E_NOT_OK लौटाता है, तो DCM मॉड्यूल को उस त्रुटि कोड के साथ एक नकारात्मक प्रतिक्रिया (NRC) भेजनी होगी, जिसे आउटपुट पैरामीटर ErrorCode (Dcm_NegativeResponseCodeType) के माध्यम से सेट किया गया था [SWS_Dcm_91003], [SWS_Dcm_00659]। सेवा को हेडर Dcm_Externals.h के माध्यम से घोषित किया गया है [SWS_Dcm_91003]।
यह पाठ AUTOSAR मानक R20-11 पर आधारित एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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)
फ़ंक्शन Xxx_CompareKey को Diagnostic Communication Manager ([SWS_Dcm_91004]) द्वारा एसिंक्रोनस और नॉन-रीएंट्रेंट रूप से कॉल किया जाता है ताकि UDS सेवा SecurityAccess (0x27, सबफ़ंक्शन sendKey) के भाग के रूप में प्राप्त की (key) का मिलान एप्लिकेशन के आंतरिक लॉजिक से किया जा सके ([SWS_Dcm_00863])। इसका उपयोग तब किया जाता है जब एक्सेस स्थिति अभी तक सक्रिय न हो, सीड अनुरोध सफल रहा हो और कॉन्फ़िगरेशन पैरामीटर DcmDspSecurityUsePort को USE_ASYNCH_CLIENT_SERVER पर सेट किया गया हो ([SWS_Dcm_00324]) अथवा [SWS_Dcm_00863] के अनुसार फ़ंक्शन इंटरफ़ेस USE_ASYNCH_FNC/DcmDspSecurityCompareKeyFnc के माध्यम से कॉन्फ़िगर किया गया हो। इंटरफ़ेस Dcm_Externals.h में घोषित है ([SWS_Dcm_91004])।
पास किए गए मानों में जांची जाने वाली की (key) का पॉइंटर Key, वर्तमान ऑपरेशन स्थिति OpStatus (प्रकार Dcm_OpStatusType का) और त्रुटि की स्थिति में आउटपुट किए जाने वाले नकारात्मक प्रतिक्रिया कोड के लिए पॉइंटर ErrorCode शामिल हैं ([SWS_Dcm_91004])। रिटर्न मानों के रूप में निम्नलिखित निर्दिष्ट हैं:
E_OK: की (key) सत्यापन सफल ([SWS_Dcm_91004])।DCM_E_PENDING: सत्यापन अभी पूरा नहीं हुआ है; समापन के लिए DCM मॉड्यूल द्वारा आगे के कॉल आवश्यक हैं ([SWS_Dcm_91004])।E_NOT_OK: प्रोसेसिंग असफल। इसके बाद DCM आंतरिक सुरक्षा स्तर को बदले बिना या असफल प्रयास काउंटर (AttemptCounter) को बढ़ाए बिनाErrorCodeमें सेट किए गए NRC के साथ एक नकारात्मक UDS प्रतिक्रिया भेजता है ([SWS_Dcm_01150])।DCM_E_COMPARE_KEY_FAILED: की (key) मेल नहीं खाती ([SWS_Dcm_91004])।
यदि की (key) तुलना विफल हो जाती है (DCM_E_COMPARE_KEY_FAILED), तो कॉन्फ़िगर होने पर DcmDspSecurityNumAttDelay AttemptCounter को इनक्रीमेंट किया जाता है ([SWS_Dcm_01397])। यदि काउंटर सीमा से कम है, तो DCM NRC 0x35 (InvalidKey) भेजता है ([SWS_Dcm_00660])। यदि असफल प्रयासों की संख्या कॉन्फ़िगर की गई सीमा DcmDspSecurityNumAttDelay तक पहुँचती है या उससे अधिक हो जाती है, तो DCM समय अवधि DcmDspSecurityDelayTime के साथ SecurityDelayTimer शुरू करता है और NRC 0x36 (exceededNumberOfAttempts) भेजता है ([SWS_Dcm_01349])। दोनों मामलों में, सुरक्षा स्तर अपरिवर्तित रहता है।
यह उपयोग नोट स्वचालित रूप से उत्पन्न किया गया था और AUTOSAR Classic R20-11 DCM मॉड्यूल के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I3)
फ़ंक्शन 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
एसिंक्रोनस और नॉन-रीएंट्रेंट फ़ंक्शन [SWS_Dcm_01152] DCM के आरंभीकरण के समय एप्लिकेशन से एक कॉन्फ़िगर किए गए सुरक्षा स्तर के लिए वर्तमान विफल प्रयास काउंटर को पढ़ता है। यह कॉल DcmDspSecurityRow में प्रत्येक प्रविष्टि के लिए किया जाता है, जहाँ कॉन्फ़िगरेशन पैरामीटर DcmDspSecurityAttemptCounterEnabled को TRUE पर सेट किया गया है [SWS_Dcm_01154]।
प्रक्रिया नियंत्रण OpStatus पैरामीटर के माध्यम से DCM_INITIAL, DCM_PENDING या DCM_CANCEL मानों के साथ प्रबंधित किया जाता है [SWS_Dcm_01152]। यदि फ़ंक्शन DCM_E_PENDING लौटाता है, तो DCM कॉल श्रृंखला को बाधित करता है और इसे Dcm_MainFunction() के अगले चक्र में जारी रखता है [SWS_Dcm_01351]। यदि पहले चक्र के बाद कॉन्फ़िगर की गई समय निगरानी DcmDspSecurityMaxAttemptCounterReadoutTime पार हो जाती है, तो DCM शेष लंबित प्रक्रिया को DCM_CANCEL के साथ निरस्त कर देता है [SWS_Dcm_01352]।
सफलता की स्थिति में, इंटरफ़ेस E_OK प्रदान करता है और आउटपुट पैरामीटर AttemptCounter के माध्यम से काउंटर मान पास करता है [SWS_Dcm_01152]। यदि कॉल E_NOT_OK लौटाता है, तो DCM काउंटर को स्वचालित रूप से इस सुरक्षा स्तर के लिए कॉन्फ़िगर किए गए मान पर सेट करता है DcmDspSecurityNumAttDelay [SWS_Dcm_01156]।
जब तक सभी काउंटर मान अंतिम रूप से निर्धारित या निरस्त नहीं हो जाते, DCM एक सीड का अनुरोध करने के लिए SecurityAccess (0x27) के प्रत्येक अनुरोध को नेगेटिव रिस्पॉन्स कोड conditionsNotCorrect (0x22) के साथ अस्वीकार कर देता है [SWS_Dcm_01354]। क्वेरी श्रृंखला पूरी होने के बाद, DCM काउंटर मानों की जाँच करता है: यदि कम से कम एक काउंटर थ्रेशोल्ड DcmDspSecurityNumAttDelay तक पहुँचता है या उससे अधिक हो जाता है, तो DCM DcmDspSecurityDelayTimeOnBoot और DcmDspSecurityDelayTime में से उच्च मान के साथ SecurityDelayTimer शुरू करता है [SWS_Dcm_01355]।
यह उपयोग संबंधी निर्देश AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
फ़ंक्शन Xxx_SetSecurityAttemptCounter का उद्देश्य एप्लिकेशन में किसी विशिष्ट सुरक्षा स्तर के लिए प्रयास काउंटर सेट करना है ([SWS_Dcm_01153])। यह हेडर Dcm_Externals.h के माध्यम से उपलब्ध कराया जाता है।
कॉल और सिमेंटिक्स
निष्पादन एसिंक्रोनस होता है और इसे नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_Dcm_01153])। कॉल प्रक्रिया को पैरामीटर OpStatus के माध्यम से मान DCM_INITIAL, DCM_PENDING या DCM_CANCEL के साथ नियंत्रित करता है। नया काउंटर मान इनपुट पैरामीटर AttemptCounter (uint8) के माध्यम से पास किया जाता है।
रिटर्न मान और त्रुटि प्रबंधन
रिटर्न प्रकार के रूप में Std_ReturnType का उपयोग किया जाता है ([SWS_Dcm_01153]):
E_OK: अनुरोध सफलतापूर्वक पूरा हो गया।E_NOT_OK: निष्पादन सफल नहीं रहा।DCM_E_PENDING: प्रोसेसिंग अभी समाप्त नहीं हुई है; पूरा करने के लिए आगे के कॉल्स आवश्यक हैं।
यदि कोई चल रहा एसिंक्रोनस ऑपरेशन निरस्त किया जाता है, तो DCM स्थिति DCM_CANCEL पास करता है ([SWS_Dcm_01153])।
पारस्परिक क्रिया और सीमा शर्तें
DCM मॉड्यूल प्रयास काउंटर को बदलते ही एप्लिकेशन को अपडेट के बारे में सूचित करने के लिए Xxx_SetSecurityAttemptCounter को कॉल करता है ([SWS_Dcm_01155])। इसके लिए आवश्यक है कि संबद्ध DcmDspSecurityRow के लिए कॉन्फ़िगरेशन पैरामीटर DcmDspSecurityAttemptCounterEnabled को TRUE पर कॉन्फ़िगर किया गया हो ([SWS_Dcm_01155])। चूँकि इंटरफ़ेस रीएंट्रेंट नहीं है, इसलिए एप्लिकेशन को उसी इंस्टेंस के समवर्ती निष्पादन को रोकना चाहिए ([SWS_Dcm_01153])।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
सिंक्रोनस फ़ंक्शन Xxx_ReadData एप्लिकेशन से किसी DID या PID के वर्तमान डेटा मान का अनुरोध करता है, यदि कॉन्फ़िगरेशन पैरामीटर DcmDspDataUsePort को USE_DATA_SYNCH_CLIENT_SERVER पर सेट किया गया है [SWS_Dcm_00793]। इंटरफ़ेस हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसका सर्विस-ID 0x34 है [SWS_Dcm_00793]। कॉल किया गया एप्लिकेशन अनुरोधित पेलोड डेटा को सीधे पास किए गए बफ़र Data में कॉपी करता है [SWS_Dcm_00793]।
रिटर्न मान के संबंध में, यह निर्धारित किया गया है कि कॉल बिना किसी अपवाद के E_OK लौटाता है [SWS_Dcm_00793]। इस सिग्नेचर के लिए विशिष्ट त्रुटि कोड, नकारात्मक प्रतिक्रियाएँ या DET-/DEM-संदेश निर्दिष्ट नहीं हैं। व्याख्या: इस इंटरफ़ेस स्तर पर डेटा प्रावधान की विफलता संभवतः अभिप्रेत नहीं है, क्योंकि एसिंक्रोनस संस्करण [SWS_Dcm_91005] के विपरीत, नकारात्मक प्रतिक्रिया कोड (NRC) के लिए न तो कोई पैरामीटर ErrorCode है और न ही E_NOT_OK या DCM_E_PENDING जैसे रिटर्न मान मौजूद हैं। प्रश्न Q-adcf0171ecfd37c4 (खुला)
समवर्तीता और सीमा शर्तों के संबंध में, फ़ंक्शन को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है और यह पूरी तरह से सिंक्रोनस रूप से कार्य करता है [SWS_Dcm_00793]। डायग्नोस्टिक अनुरोधों के साथ परस्पर क्रिया कई परिदृश्यों में होती है:
- गैर-उपलब्धता PIDs वाले OBD-सर्विस-$01 अनुरोध प्राप्त होने पर, DCM प्रतिक्रिया मानों को कैप्चर करने के लिए PID के सभी डेटा के लिए संबंधित कॉन्फ़िगर किए गए
Xxx_ReadData-फ़ंक्शनों को कॉल करता है [SWS_Dcm_00408]। - गैर-उपलब्धता आइडेंटिफ़ायर्स के साथ सेवा 0x22 (ReadDataByIdentifier) के UDS अनुरोध में, DCM
OBDDataIdentifier[SWS_Dcm_01380] के साथ-साथOBDInfoTypeDataIdentifier[SWS_Dcm_01389] के सभी डेटा के लिए फ़ंक्शनों को कॉल करता है। - यदि, दूसरी ओर, एसिंक्रोनस व्यवहार की आवश्यकता होती है, तो [SWS_Dcm_91006] या [SWS_Dcm_91005] के अनुसार
OpStatusवाले अलग सिग्नेचर लागू होते हैं।
यह पाठ AI द्वारा तैयार किया गया था और यह विशेष रूप से रिलीज़ R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
फ़ंक्शन Xxx_ReadData का उपयोग एप्लिकेशन से किसी DID या PID के डेटा मानों को एसिंक्रोनस रूप से क्वेरी करने के लिए किया जाता है, बशर्ते पैरामीटर DcmDspDataUsePort को USE_DATA_ASYNCH_CLIENT_SERVER पर कॉन्फ़िगर किया गया हो ([SWS_Dcm_91006])। इसे हेडर फ़ाइल Dcm_Externals.h के माध्यम से घोषित किया जाता है ([SWS_Dcm_91006])।
कॉल पर, पैरामीटर OpStatus (प्रकार Dcm_OpStatusType) चल रहे ऑपरेशन की प्रगति को नियंत्रित करता है, जबकि पॉइंटर Data (प्रकार uint8*) के माध्यम से आउटपुट बफ़र पास किया जाता है, जिसमें अनुरोधित डेटा कॉपी किया जाना है ([SWS_Dcm_91006])। रिटर्न मान के रूप में सफल समापन पर E_OK और DCM_E_PENDING परिभाषित हैं, बशर्ते प्रसंस्करण अभी भी जारी हो और पूर्ण होने के लिए आगे की कॉल्स की आवश्यकता हो ([SWS_Dcm_91006])।
DCM मॉड्यूल इस फ़ंक्शन को निम्नलिखित डायग्नोस्टिक प्रक्रियाओं में एकीकृत करता है:
- OBD Service $01 प्राप्त होने पर, DCM कॉन्फ़िगर किए गए
Xxx_ReadData-फ़ंक्शनों के माध्यम से वर्तमान PID मानों (उपलब्धता PIDs को छोड़कर) को पढ़ता है ([SWS_Dcm_00408])। - UDS Service 0x22 (
ReadDataByIdentifier) के मामले में, DCM OBDDataIdentifier ([SWS_Dcm_01380]) और OBDInfoTypeDataIdentifier ([SWS_Dcm_01389]) के लिए फ़ंक्शन को कॉल करता है।
निष्पादन के संबंध में, फ़ंक्शन को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_Dcm_91006])। सिंक्रोनस इंटरफ़ेस ([SWS_Dcm_00793]) या अतिरिक्त ErrorCode पैरामीटर वाले एसिंक्रोनस संस्करण ([SWS_Dcm_91005]) के विपरीत, यह फ़ंक्शन संस्करण नकारात्मक प्रतिक्रिया कोड की सीधी वापसी प्रदान नहीं करता है।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I3)
फ़ंक्शन 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.
फ़ंक्शन Xxx_ReadData एप्लिकेशन से DID या PID के डेटा मान का एसिंक्रोनस रूप से अनुरोध करता है, बशर्ते कॉन्फ़िगरेशन पैरामीटर DcmDspDataUsePort को USE_DATA_ASYNCH_CLIENT_SERVER पर सेट किया गया हो [SWS_Dcm_91005]। फ़ंक्शन घोषणा इंटरफ़ेस फ़ाइल Dcm_Externals.h के माध्यम से प्रदान की जाती है [SWS_Dcm_91005]।
इंटरफ़ेस में निम्नलिखित कॉल और प्रवाह विशेषताएँ हैं:
- सिमेंटिक्स और पैरामीटर: इनपुट पैरामीटर
OpStatusचल रहे ऑपरेशन की प्रगति को नियंत्रित करता है [SWS_Dcm_91005]। सफल समापन पर, अनुरोधित पेलोड डेटा को आउटपुट बफरDataमें कॉपी किया जाता है औरE_OKलौटाया जाता है [SWS_Dcm_91005]। यदि एप्लिकेशन को आगे प्रसंस्करण समय की आवश्यकता होती है, तो यहDCM_E_PENDINGका संकेत देता है, जिसके बाद अनुवर्ती क्रियाएं आवश्यक होती हैं [SWS_Dcm_91005]। - त्रुटि प्रबंधन: यदि ऑपरेशन विफल हो जाता है और
E_NOT_OKलौटाता है, तो DCM मॉड्यूल आउटपुट पैरामीटरErrorCodeका मूल्यांकन करता है और इस NRC कोड के साथ एक नकारात्मक डायग्नोस्टिक प्रतिक्रिया भेजता है [SWS_Dcm_91005]। - समवर्तीता: फ़ंक्शन को गैर-री-एंट्रेंट (
Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Dcm_91005]। व्याख्या: लंबित प्रसंस्करण के मामले में दोहराई गई कॉल DCM मुख्य प्रसंस्करण चक्र में क्रमिक रूप से होनी चाहिए। प्रश्न Q-541226d5f242f7c2 (खुला) - अंतःक्रिया: DCM मॉड्यूल गैर-उपलब्धता PIDs [SWS_Dcm_00408] के लिए OBD सर्विस $01 के अनुरोधों पर और
OBDDataIdentifier[SWS_Dcm_01380] औरOBDInfoTypeDataIdentifier[SWS_Dcm_01389] के लिए UDS सर्विस ReadDataByIdentifier (0x22) पर फ़ंक्शन को कॉल करता है। सिंक्रोनस संस्करण [SWS_Dcm_00793] या बिना NRC पैरामीटर वाले एसिंक्रोनस इंटरफ़ेस [SWS_Dcm_91006] की तुलना में, यह सिग्नेचर एक विशिष्ट नकारात्मक त्रुटि ट्रांसमिशन को सक्षम बनाता है।
यह पाठ एक AI द्वारा बनाया गया था और विशेष रूप से AUTOSAR रिलीज़ R20-11 की विनिर्देश आवश्यकताओं पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I3)
फ़ंक्शन 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.
उपयोग
फ़ंक्शन Xxx_WriteData को Diagnostic Communication Manager (DCM) द्वारा एप्लिकेशन को एक DID डेटा मान (Data Identifier) लिखने के लिए संकेत देने हेतु कॉल किया जाता है ([SWS_Dcm_00794])। घोषणा हेडर Dcm_Externals.h के माध्यम से प्रदान की जाती है। कॉल सर्विस ID 0x51 के तहत सिंक्रोनस रूप से की जाती है ([SWS_Dcm_00794])।
पैरामीटर और रिटर्न मान:
Data(in): लिखे जाने वाले पेलोड वाले बफ़र का पॉइंटर ([SWS_Dcm_00794])।ErrorCode(out): उस वेरिएबल का पॉइंटर जिसमें विफलता की स्थिति में नकारात्मक डायग्नोस्टिक कोड (NRC) दर्ज किया जाना है ([SWS_Dcm_00794])।- रिटर्न मान (
Std_ReturnType):E_OKसफल लेखन का संकेत देता है,E_NOT_OKऑपरेशन की विफलता का संकेत देता है ([SWS_Dcm_00794])।
त्रुटि प्रबंधन
यदि फ़ंक्शन E_NOT_OK लौटाता है, तो DCM मॉड्यूल पैरामीटर ErrorCode को पढ़ता है और इस NRC कोड के साथ एक नकारात्मक डायग्नोस्टिक प्रतिक्रिया भेजता है ([SWS_Dcm_00794])।
समवर्तीता और प्रतिबंध
फ़ंक्शन गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट है ([SWS_Dcm_00794]) और इसे समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए।
इंटरैक्शन
चूँकि कोई लंबाई पैरामीटर मौजूद नहीं है, इसलिए यह संस्करण निश्चित डेटा लंबाई वाले DIDs के लिए अभिप्रेत माना जा सकता है। प्रश्न Q-ebc074ac1cb66aaa (खुला) परिवर्तनीय लंबाई वाले DIDs के लिए, AUTOSAR पैरामीटर DataLength के साथ सिंक्रोनस सिग्नेचर प्रदान करता है ([SWS_Dcm_91007])। इसके अतिरिक्त, लंबी प्रक्रियाओं के लिए OpStatus और संभावित रिटर्न DCM_E_PENDING के साथ एसिंक्रोनस संस्करण मौजूद हैं, निश्चित डेटा लंबाई ([SWS_Dcm_91008]) और परिवर्तनीय लंबाई पैरामीटर ([SWS_Dcm_91009]) दोनों के साथ।
यह पाठ AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
कॉलबैक फ़ंक्शन Xxx_WriteData का उपयोग डेटा आइडेंटिफ़ायर (DID) के डेटा मान को लिखने के लिए एप्लिकेशन से अनुरोध करने के लिए किया जाता है [SWS_Dcm_91007]। इंटरफ़ेस हेडर Dcm_Externals.h के माध्यम से घोषित किया गया है और इसका सर्विस-ID 0x52 है [SWS_Dcm_91007]। कॉल सिंक्रोनस रूप से किया जाता है और इसे गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है, जिसके कारण समान फ़ंक्शन के लिए कोई समवर्ती कॉल नहीं किए जाने चाहिए [SWS_Dcm_91007]।
पैरामीटर के रूप में, फ़ंक्शन लिखे जाने वाले पेलोड डेटा के साथ बफ़र Data और बाइट्स में लंबाई विनिर्देश के साथ DataLength प्राप्त करता है [SWS_Dcm_91007]। रिटर्न मान के रूप में, यह सफल निष्पादन पर E_OK या त्रुटि की स्थिति में E_NOT_OK के साथ प्रकार Std_ReturnType प्रदान करता है [SWS_Dcm_91007]। यदि ऑपरेशन विफल हो जाता है और E_NOT_OK लौटाता है, तो DCM मॉड्यूल को डायग्नोस्टिक टेस्टर को एक नकारात्मक प्रतिक्रिया भेजनी होगी; इस प्रक्रिया में Negative Response Code (NRC) पॉइंटर पैरामीटर ErrorCode के माध्यम से प्रेषित मान [SWS_Dcm_91007] से मेल खाता है।
समग्र प्रणाली में, [SWS_Dcm_91007] स्पष्ट लंबाई विनिर्देश वाले DIDs के लिए सिंक्रोनस संस्करण का प्रतिनिधित्व करता है। इसके पूरक के रूप में, [SWS_Dcm_00794] (सर्विस-ID 0x51) के साथ पैरामीटर DataLength के बिना एक सिंक्रोनस संस्करण मौजूद है। लंबी लेखन प्रक्रियाओं के लिए, मानक एसिंक्रोनस इंटरफ़ेस प्रदान करता है: लंबाई विनिर्देश के बिना [SWS_Dcm_91008] (सर्विस-ID 0x35) तथा DataLength के साथ [SWS_Dcm_91009] (सर्विस-ID 0x3e)। दोनों एसिंक्रोनस फ़ंक्शन OpStatus के माध्यम से नियंत्रित होते हैं और E_OK और E_NOT_OK के अतिरिक्त DCM_E_PENDING भी लौटा सकते हैं [SWS_Dcm_91008] [SWS_Dcm_91009]।
यह उपयोग संबंधी निर्देश AUTOSAR Classic Release R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग
फ़ंक्शन Xxx_WriteData डेटा आइडेंटिफ़ायर (DID) के डेटा मान को लिखने के लिए एप्लिकेशन से अनुरोध करता है [SWS_Dcm_91008]। यह हेडर फ़ाइल Dcm_Externals.h में घोषित है और सर्विस-ID 0x35 के साथ इसमें एसिंक्रोनस निष्पादन सिमेंटिक्स हैं [SWS_Dcm_91008]।
पैरामीटर और रिटर्न मान निम्नानुसार संरचित हैं [SWS_Dcm_91008]:
Data(IN): उस बफ़र का पॉइंटर, जिसमें लिखा जाने वाला डेटा शामिल है।OpStatus(IN): एसिंक्रोनस कॉल अनुक्रम को नियंत्रित करने के लिए वर्तमान ऑपरेशन की स्थिति।ErrorCode(OUT): त्रुटि कोड (NRC) का पॉइंटर, जो त्रुटि की स्थिति में सेट किया जाता है।- रिटर्न मान (
Std_ReturnType):E_OKसफल लेखन प्रक्रिया की पुष्टि करता है,E_NOT_OKविफलता की रिपोर्ट करता है औरDCM_E_PENDINGइंगित करता है कि ऑपरेशन अभी भी जारी है और पूरा होने के लिए आगे की कॉल्स की आवश्यकता है।
त्रुटि हैंडलिंग और समवर्तीता
यदि कॉल मान E_NOT_OK लौटाता है, तो DCM मॉड्यूल को आउटपुट पैरामीटर ErrorCode में पास किए गए NRC मान के साथ एक नकारात्मक प्रतिक्रिया भेजनी होगी [SWS_Dcm_91008]। फ़ंक्शन को गैर-पुनःप्रवेशी के रूप में निर्दिष्ट किया गया है [SWS_Dcm_91008], ताकि समान इंस्टेंस के लिए एक साथ या ओवरलैपिंग कॉल्स अस्वीकार्य हों।
इंटरेक्शन और वेरिएंट्स
[SWS_Dcm_91008] के अनुसार यह इंटरफ़ेस बिना किसी अलग लंबाई पैरामीटर के एसिंक्रोनस लेखन पहुँच को कवर करता है। AUTOSAR इसके लिए DCM में संबंधित संस्करणों को परिभाषित करता है: बिना लंबाई विनिर्देश के एक सिंक्रोनस सिग्नेचर [SWS_Dcm_00794] और सिंक्रोनस [SWS_Dcm_91007] तथा एसिंक्रोनस प्रक्रियाओं [SWS_Dcm_91009] के लिए अतिरिक्त पैरामीटर DataLength वाले सिग्नेचर।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI प्रणाली द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग और सिमेंटिक्स
फ़ंक्शन Xxx_WriteData डेटा आइडेंटिफ़ायर (DID) के डेटा मान को लिखने के लिए एप्लिकेशन से अनुरोध करता है [SWS_Dcm_91009]। इसे हेडर फ़ाइल Dcm_Externals.h के माध्यम से घोषित किया जाता है और इसका सर्विस-ID 0x3e है [SWS_Dcm_91009]। निष्पादन एसिंक्रोनस रूप से होता है (Asynchronous), जिसके लिए निम्नलिखित पैरामीटर पास किए जाते हैं:
Data(in): लिखे जाने वाले पेलोड डेटा वाले बफ़र का पॉइंटर [SWS_Dcm_91009]।DataLength(in): लिखे जाने वाले डेटा की लंबाई बाइट्स में [SWS_Dcm_91009]।OpStatus(in): एसिंक्रोनस प्रोसेसिंग प्रगति को नियंत्रित करने के लिए ऑपरेशन स्थिति (Dcm_OpStatusType) [SWS_Dcm_91009]।ErrorCode(out): त्रुटि की स्थिति में एक नकारात्मक प्रतिक्रिया कोड (NRC) प्राप्त करने के लिए पॉइंटर [SWS_Dcm_91009]।
प्रकार Std_ReturnType के रिटर्न मान के रूप में E_OK (लेखन अनुरोध सफलतापूर्वक पूर्ण हुआ), E_NOT_OK (अनुरोध विफल रहा) तथा DCM_E_PENDING परिभाषित हैं [SWS_Dcm_91009]। स्थिति DCM_E_PENDING संकेत देती है कि प्रक्रिया अभी समाप्त नहीं हुई है और पूर्ण होने के लिए आगे की अनुवर्ती कॉल्स आवश्यक हैं [SWS_Dcm_91009]। व्याख्या: DCM_E_PENDING की वापसी पर, DCM फ़ंक्शन को निरंतर OpStatus के साथ चक्रीय रूप से तब तक पुन: कॉल कर सकता है जब तक कि कोई अंतिम परिणाम उपलब्ध न हो जाए। प्रश्न Q-fdbd734dab052f5c (खुला)
त्रुटि हैंडलिंग और समवर्तीता
यदि फ़ंक्शन मान E_NOT_OK लौटाता है, तो पैरामीटर ErrorCode के माध्यम से संबंधित त्रुटि कोड प्रदान किया जाना चाहिए; DCM मॉड्यूल इसके बाद इस NRC मान के साथ एक नकारात्मक प्रतिक्रिया भेजता है [SWS_Dcm_91009]। इस इंटरफ़ेस के लिए पेलोड में विशिष्ट DET या DEM संदेश परिभाषित नहीं हैं। समवर्तीता के संबंध में, फ़ंक्शन को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_91009]।
परस्पर क्रिया और इंटरफ़ेस प्रकार
सिग्नेचर [SWS_Dcm_91009] स्पष्ट लंबाई विनिर्देश के साथ एसिंक्रोनस लेखन पहुँच को कवर करता है। DCM में Xxx_WriteData के अन्य प्रकार मौजूद हैं:
- लंबाई विनिर्देश के बिना सिंक्रोनस निष्पादन: [SWS_Dcm_00794] (सर्विस-ID
0x51)। - लंबाई विनिर्देश के साथ सिंक्रोनस निष्पादन: [SWS_Dcm_91007] (सर्विस-ID
0x52)। - लंबाई विनिर्देश के बिना एसिंक्रोनस निष्पादन: [SWS_Dcm_91008] (सर्विस-ID
0x35)।
नोट: यह उपयोग संबंधी निर्देश रिलीज़ R20-11 के लिए AUTOSAR क्लासिक विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग
फ़ंक्शन Xxx_ReadDataLength के साथ, DCM मॉड्यूल एप्लिकेशन से किसी डेटा आइटम की डेटा लंबाई को बाइट में निर्धारित करने और वापस करने का अनुरोध करता है [SWS_Dcm_00796]। इंटरफ़ेस हेडर Dcm_Externals.h में घोषित है और इसकी सर्विस ID 0x36 है [SWS_Dcm_00796]। क्वेरी सिंक्रोनस रूप से निष्पादित की जाती है [SWS_Dcm_00796]। प्रकार uint16* के आउटपुट पैरामीटर DataLength के माध्यम से, एप्लिकेशन पढ़े जाने वाले डेटा की बाइट लंबाई DCM को पास करता है [SWS_Dcm_00796]। कोई इनपुट या इनपुट/आउटपुट पैरामीटर परिभाषित नहीं हैं [SWS_Dcm_00796]। रिटर्न मान के रूप में, फ़ंक्शन हमेशा प्रकार Std_ReturnType का E_OK देता है [SWS_Dcm_00796]।
समवर्तीता और प्रतिबंध
इंटरफ़ेस को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_00796]। चूँकि फ़ंक्शन सिंक्रोनस रूप से कार्य करता है और विनिर्देश के अनुसार हमेशा E_OK रिपोर्ट करता है, इसलिए इस कॉल के लिए कोई विशिष्ट त्रुटि कोड या भिन्न स्थिति रिटर्न प्रदान नहीं किए गए हैं [SWS_Dcm_00796]।
इंटरैक्शन
सिंक्रोनस फ़ंक्शन के अलावा, सर्विस ID 0x4c वाला एक समान नाम का एसिंक्रोनस संस्करण भी मौजूद है, जो Dcm_Externals.h के माध्यम से भी प्रदान किया जाता है [SWS_Dcm_91010]। जहाँ सिंक्रोनस संस्करण [SWS_Dcm_00796] बिना किसी ऑपरेशन स्थिति के काम करता है, वहीं एसिंक्रोनस समकक्ष को प्रकार Dcm_OpStatusType के इनपुट पैरामीटर OpStatus की आवश्यकता होती है [SWS_Dcm_91010]। इसके अतिरिक्त, एसिंक्रोनस इंटरफ़ेस E_OK के अलावा रिटर्न मान DCM_E_PENDING प्रदान कर सकता है, यदि अनुरोध अभी तक पूरा नहीं हुआ है और पूरा करने के लिए आगे के कॉलों की आवश्यकता है [SWS_Dcm_91010]।
यह पाठ AI द्वारा तैयार किया गया था और मार्गदर्शन के रूप में कार्य करता है। संबंधित AUTOSAR विनिर्देश की आवश्यकताएं बाध्यकारी हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
फ़ंक्शन [SWS_Dcm_91010] (सर्विस ID 0x4c) डेटा एलिमेंट की डेटा लंबाई बाइट्स में निर्धारित करने के लिए एप्लिकेशन से अनुरोध करता है। यह हेडर Dcm_Externals.h में घोषित है और Diagnostic Communication Manager (DCM) द्वारा डायग्नोस्टिक डेटा की लचीली लंबाई क्वेरी के लिए उपयोग किया जाता है।
उपयोग और सिमेंटिक्स
कॉल के दौरान, DCM मॉड्यूल प्रकार Dcm_OpStatusType ([SWS_Dcm_91010]) के इनपुट पैरामीटर OpStatus के माध्यम से वर्तमान प्रगति को पास करता है। क्वेरी का परिणाम एप्लिकेशन द्वारा आउटपुट पैरामीटर DataLength (प्रकार uint16*) में लिखा जाता है। यदि डेटा लंबाई तुरंत उपलब्ध नहीं होती है, तो फ़ंक्शन रिटर्न मान DCM_E_PENDING के माध्यम से संकेत देता है कि प्रोसेसिंग जारी है और आगे के कॉल आवश्यक हैं ([SWS_Dcm_91010])। जैसे ही परिणाम उपलब्ध होता है, एप्लिकेशन E_OK के साथ समापन की रिपोर्ट करता है।
समवर्तीता और प्रतिबंध
विनिर्देश के अनुसार, फ़ंक्शन को नॉन-रीएंट्रेंट के रूप में वर्गीकृत किया गया है ([SWS_Dcm_91010]), यही कारण है कि DCM द्वारा समवर्ती कॉलों को बाहर रखा जाना चाहिए। चूंकि विनिर्देश DCM_E_PENDING के अलावा कोई विशिष्ट त्रुटि मान प्रदान नहीं करता है, इसलिए E_OK लौटाए जाने पर DCM को संभवतः हमेशा मान्य रूप से सेट किए गए बाइट आकार को मान लेना चाहिए। प्रश्न Q-e7ecd3a518e2cbcb (खुला)
इंटरैक्शन
एसिंक्रोनस इंटरफ़ेस [SWS_Dcm_91010] संबंधित सिंक्रोनस संस्करण [SWS_Dcm_00796] (सर्विस ID 0x36) से भिन्न है। बाद वाले में कोई पैरामीटर OpStatus नहीं होता है, यह सिंक्रोनस रूप से निष्पादित होता है और हमेशा तुरंत E_OK के साथ लंबाई लौटाता है। दूसरी ओर, [SWS_Dcm_91010] एप्लिकेशन को समय लेने वाली गणनाओं को कई कॉल चक्रों में एसिंक्रोनस रूप से विस्तारित करने की अनुमति देता है।
यह पाठ AUTOSAR विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
सिंक्रोनस कॉलआउट फ़ंक्शन Xxx_ConditionCheckRead हेडर फ़ाइल Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसका उपयोग एप्लिकेशन से यह पूछने के लिए किया जाता है कि क्या डायग्नोस्टिक डेटा पढ़ने के लिए स्थितियाँ पूरी होती हैं [SWS_Dcm_00797]।
इंटरफ़ेस का कोई इनपुट पैरामीटर नहीं है और यह Std_ReturnType प्रकार के रिटर्न मान के माध्यम से जाँच की स्थिति का संकेत देता है [SWS_Dcm_00797]:
E_OK: जाँच सफल रही, डेटा पढ़ने की स्थितियाँ पूरी होती हैं [SWS_Dcm_00797]।E_NOT_OK: जाँच विफल रही, पढ़ना अनुमेय नहीं है [SWS_Dcm_00797]।
यदि फ़ंक्शन E_NOT_OK लौटाता है, तो DCM मॉड्यूल उस त्रुटि कोड के साथ एक नकारात्मक प्रतिक्रिया (Negative Response) भेजता है जिसे एप्लिकेशन ने आउटपुट पैरामीटर ErrorCode (प्रकार Dcm_NegativeResponseCodeType*) के माध्यम से पास किया था [SWS_Dcm_00797]।
समवर्तीता के संबंध में, फ़ंक्शन को गैर-री-एंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसे सर्विस ID 0x49 के साथ सिंक्रोनस रूप से निष्पादित किया जाता है [SWS_Dcm_00797]। इसलिए सिंक्रोनस DCM कॉलर के विलंब से बचने के लिए, एप्लिकेशन पक्ष पर बिना किसी ब्लॉकिंग प्रतीक्षा समय के जाँच का तुरंत मूल्यांकन किया जाना चाहिए। प्रश्न Q-ada29c78c29d961e (खुला)
इस सिंक्रोनस ऑपरेशन के विपरीत, [SWS_Dcm_91011] सर्विस ID 0x37 के तहत एक एसिंक्रोनस संस्करण को परिभाषित करता है। यह अतिरिक्त रूप से इनपुट पैरामीटर OpStatus (प्रकार Dcm_OpStatusType) का उपयोग करता है और E_OK और E_NOT_OK के अलावा DCM_E_PENDING भी लौटा सकता है, यदि जाँच को पूरा करने के लिए अनुवर्ती कदम आवश्यक हों [SWS_Dcm_91011]।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
उपयोग और सिमेंटिक्स
फ़ंक्शन Xxx_ConditionCheckRead हेडर फ़ाइल Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसका उपयोग एप्लिकेशन सॉफ़्टवेयर से यह क्वेरी करने के लिए किया जाता है कि क्या डायग्नोस्टिक डेटा पढ़ने की शर्तें पूरी होती हैं [SWS_Dcm_91011]। निष्पादन सर्विस ID 0x37 के तहत एसिंक्रोनस रूप से होता है [SWS_Dcm_91011]। इनपुट पैरामीटर OpStatus (प्रकार Dcm_OpStatusType) के माध्यम से चालू ऑपरेशन की वर्तमान स्थिति पास की जाती है [SWS_Dcm_91011]।
रिटर्न मान और त्रुटि प्रबंधन
रिटर्न मान के रूप में, फ़ंक्शन प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_Dcm_91011]:
E_OK: अनुरोध सफल रहा और पढ़ने की शर्तें पूरी हुईं [SWS_Dcm_91011]।E_NOT_OK: जाँच विफल रही [SWS_Dcm_91011]। इस स्थिति में, एप्लिकेशन को आउटपुट पैरामीटरErrorCodeके माध्यम से प्रकारDcm_NegativeResponseCodeTypeका एक नकारात्मक प्रतिक्रिया कोड (NRC) सेट करना होगा; इसके बाद DCM मॉड्यूल इस NRC के साथ एक नकारात्मक प्रतिक्रिया भेजता है [SWS_Dcm_91011]।DCM_E_PENDING: जाँच अभी पूरी नहीं हुई है, इसलिए इसे पूरा करने के लिए आगे के कॉल आवश्यक हैं [SWS_Dcm_91011]।
समवर्तीता और अंतर
इंटरफ़ेस को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_91011]। इस एसिंक्रोनस संस्करण के विपरीत, [SWS_Dcm_00797] सर्विस ID 0x49 के तहत बिना OpStatus पैरामीटर के एक सिंक्रोनस हस्ताक्षर को परिभाषित करता है, जो केवल E_OK या E_NOT_OK लौटाता है [SWS_Dcm_00797]।
यह उपयोग नोट AUTOSAR R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
फ़ंक्शन 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.
एसिंक्रोनस इंटरफ़ेस Xxx_GetScalingInformation हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसका उपयोग एप्लिकेशन से किसी डेटा एलिमेंट की स्केलिंग जानकारी का अनुरोध करने के लिए किया जाता है [SWS_Dcm_91012]। DCM मॉड्यूल इस फ़ंक्शन को तब कॉल करता है जब UDS सेवा ReadScalingByIdentifier के लिए एक निदान अनुरोध प्राप्त होता है, और यह अनुरोधित DID के लिए कॉन्फ़िगर किए गए प्रत्येक डेटा के लिए किया जाता है [SWS_Dcm_00394]।
पैरामीटर और रिटर्न मान
फ़ंक्शन निम्नलिखित पैरामीटर और सेमेंटिक्स को परिभाषित करता है [SWS_Dcm_91012]:
OpStatus(in): चालू ऑपरेशन की वर्तमान स्थिति पास करता है।ScalingInfo(out): स्केलिंग जानकारी (scalingByteऔरscalingByteExtension) संग्रहीत करने के लिए बफ़र।ErrorCode(out): यदि ऑपरेशन विफल हो जाता है, तो नकारात्मक प्रतिक्रिया कोड प्राप्त करता है।
रिटर्न मानों के रूप में, सफल समापन पर E_OK, त्रुटि की स्थिति में E_NOT_OK, और यदि प्रोसेसिंग अभी पूरी नहीं हुई है तथा इसे पूरा करने के लिए आगे के कॉलों की आवश्यकता है तो DCM_E_PENDING निर्दिष्ट किया गया है [SWS_Dcm_91012]।
त्रुटि हैंडलिंग और समवर्तीता
यदि कॉल E_NOT_OK लौटाता है, तो DCM मॉड्यूल को एक नकारात्मक प्रतिक्रिया भेजनी होगी, जिसका NRC आउटपुट पैरामीटर ErrorCode के माध्यम से प्रदान किए गए मान से मेल खाता हो [SWS_Dcm_91012]। फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_91012]। व्याख्या: क्या यह एसिंक्रोनस फ़ंक्शन OpStatus के साथ कॉल किया जाता है या बिना OpStatus [SWS_Dcm_00798] वाला वैकल्पिक रूप से निर्दिष्ट सिंक्रोनस संस्करण, संभवतः संबंधित DID के कॉन्फ़िगरेशन पर निर्भर करता है। प्रश्न Q-c4054a798f17a52c (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था; जानकारी की सटीकता और पूर्णता की गारंटी नहीं दी जा सकती।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
फ़ंक्शन Xxx_ReturnControlToECU हेडर Dcm_Externals.h के माध्यम से उपलब्ध कराया जाता है और एप्लिकेशन से इनपुट/आउटपुट नियंत्रण (IOControl) का नियंत्रण ECU को वापस सौंपने का अनुरोध करता है [SWS_Dcm_01285]। यह कॉल सिंक्रोनस रूप से होती है और इसे नॉन-रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Dcm_01285]।
पैरामीटर्स और वेरिएंट्स
फ़ंक्शन सिग्नेचर बाहरी नियंत्रण मास्क के कॉन्फ़िगरेशन पर निर्भर करता है [SWS_Dcm_01285]:
- यदि
DcmDspDidControlMaskकोDCM_CONTROLMASK_EXTERNALपर सेट किया गया है और मास्क का आकार चार बाइट तक है (DcmDspDidControlMaskSize <= 0x04), तो प्रकारDcm_ControlMask_{DID}Typeका इनपुट पैरामीटरcontrolMaskपास किया जाता है [SWS_Dcm_01285]। - यदि मास्क का आकार पाँच या अधिक बाइट्स है (
DcmDspDidControlMaskSize >= 0x05), तो इसके बजाय प्रकारuint8*के पॉइंटरcontrolMask2का उपयोग किया जाता है [SWS_Dcm_01285]। - आउटपुट पैरामीटर
ErrorCode(प्रकारDcm_NegativeResponseCodeType*) के माध्यम से, फ़ंक्शन त्रुटि के मामले में DCM को विशिष्ट नेगेटिव रिस्पॉन्स कोड (NRC) भेजता है [SWS_Dcm_01285]।
रिटर्न मान और त्रुटि प्रबंधन
यह फ़ंक्शन स्थिति Std_ReturnType लौटाता है। नियंत्रण के सफल प्रत्यावर्तन पर, एप्लिकेशन E_OK की रिपोर्ट करता है [SWS_Dcm_01285]। यदि ऑपरेशन विफल हो जाता है, तो फ़ंक्शन को E_NOT_OK लौटाना होगा; इस स्थिति में DCM मॉड्यूल ErrorCode में संग्रहीत NRC के साथ डायग्नोस्टिक टेस्टर को एक नेगेटिव रिस्पॉन्स भेजता है [SWS_Dcm_01285]।
परस्पर क्रिया और कॉल संदर्भ
जब DcmDspDataUsePort को USE_DATA_SYNCH_FNC, USE_DATA_ASYNCH_FNC या USE_DATA_ASYNCH_FNC_ERROR पर कॉन्फ़िगर किया जाता है, तो DCM कॉन्फ़िगर किए गए फ़ंक्शन इंटरफ़ेस (पैरामीटर DcmDspDataReturnControlToEcuFnc) को कॉल करता है [SWS_Dcm_01435]। नियमित डायग्नोस्टिक कार्रवाइयों के अलावा, DCM द्वारा Xxx_ReturnControlToECU को विशेष रूप से तब कॉल किया जाता है जब किसी सक्रिय IO नियंत्रण अनुक्रम को निरस्त किया जाना हो [SWS_Dcm_01435]।
यह उपयोग नोट विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
सिंक्रोनस फ़ंक्शन इंटरफ़ेस Xxx_ResetToDefault हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसका उपयोग किसी एप्लिकेशन से I/O नियंत्रण (IOControl) को डिफ़ॉल्ट मान पर रीसेट करने का अनुरोध करने के लिए किया जाता है [SWS_Dcm_01286]।
कॉल संदर्भ और पैरामीटर
फ़ंक्शन की सर्विस ID 0x4d है, यह सिंक्रोनस रूप से कार्य करता है और इसे नॉन-रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Dcm_01286]। बाहरी नियंत्रण मास्क के कॉन्फ़िगर किए गए आकार के आधार पर, दो वैकल्पिक इनपुट पैरामीटरों में से एक पास किया जाता है:
controlMask(प्रकारDcm_ControlMask_{DID}Type) का उपयोग तब किया जाता है जबDcmDspDataUsePortकोUSE_DATA_SYNCH_FNCपर कॉन्फ़िगर किया गया हो,DcmDspDidControlMaskDCM_CONTROLMASK_EXTERNALपर सेट हो औरDcmDspDidControlMaskSizeअधिकतम0x04हो [SWS_Dcm_01286]।controlMask2(प्रकारuint8*) का उपयोग तब किया जाता है जब समान सीमाओं के तहतDcmDspDidControlMaskSizeको0x05से अधिक या उसके बराबर कॉन्फ़िगर किया गया हो [SWS_Dcm_01286]।
रिटर्न मान और त्रुटि प्रबंधन
यदि रीसेट सफलतापूर्वक निष्पादित किया जा सका, तो फ़ंक्शन E_OK लौटाता है [SWS_Dcm_01286]। यदि ऑपरेशन विफल रहता है, तो E_NOT_OK लौटाया जाना चाहिए। इस स्थिति में, एप्लिकेशन आउटपुट पैरामीटर ErrorCode (प्रकार Dcm_NegativeResponseCodeType*) में संगत नकारात्मक प्रतिक्रिया कोड (NRC) असाइन करता है, जिसे DCM मॉड्यूल टेस्टर को नकारात्मक प्रतिक्रिया के रूप में प्रसारित करता है [SWS_Dcm_01286]।
परस्पर क्रिया और विभेदन
यदि सिस्टम USE_DATA_ASYNCH_FNC या USE_DATA_ASYNCH_FNC_ERROR के माध्यम से एसिंक्रोनस इंटरफ़ेस हैंडलिंग के लिए डिज़ाइन किया गया है, तो इस सिंक्रोनस फ़ंक्शन के स्थान पर अतिरिक्त पैरामीटर OpStatus और सर्विस ID 0x3c वाला एसिंक्रोनस संस्करण उपयोग में लाया जाता है [SWS_Dcm_01314]।
यह पाठ AI द्वारा उत्पन्न किया गया है और AUTOSAR Classic R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
एसिंक्रोनस फ़ंक्शन [SWS_Dcm_01314] किसी इनपुट/आउटपुट नियंत्रण (IOControl) को उसके डिफ़ॉल्ट मान पर रीसेट करने के लिए एप्लिकेशन से अनुरोध करता है। यह Dcm_Externals.h में घोषित है और इसकी सर्विस ID 0x3c है। पैरामीटर OpStatus के माध्यम से ऑपरेशन की प्रगति को नियंत्रित किया जाता है। अपूर्ण प्रोसेसिंग की स्थिति में, फ़ंक्शन DCM_E_PENDING लौटाता है, जबकि सफल समापन की पुष्टि E_OK के साथ की जाती है।
कॉन्फ़िगरेशन और मास्क आकार (DcmDspDidControlMaskSize से 4 बाइट या 5 बाइट से अधिक) के आधार पर, बाहरी मास्किंग के मामले में अतिरिक्त रूप से controlMask या controlMask2 पास किया जाता है [SWS_Dcm_01314]। यदि रीसेट विफल रहता है, तो फ़ंक्शन E_NOT_OK लौटाता है। इस स्थिति में, आउटपुट पैरामीटर ErrorCode के माध्यम से एक नकारात्मक प्रतिक्रिया कोड (NRC) पास किया जाना चाहिए, जिसे DCM मॉड्यूल टेस्टर को नकारात्मक प्रतिक्रिया के रूप में भेजता है [SWS_Dcm_01314]।
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) निर्दिष्ट किया गया है [SWS_Dcm_01314]। इसका उपयोग तब किया जाता है जब DcmDspDataUsePort को USE_DATA_ASYNCH_FNC या USE_DATA_ASYNCH_FNC_ERROR पर सेट किया गया हो। सिंक्रोनस इंटरफ़ेस कॉन्फ़िगरेशन (USE_DATA_SYNCH_FNC) के लिए, OpStatus के बिना वैकल्पिक सिंक्रोनस संस्करण मौजूद है [SWS_Dcm_01286]।
यह पाठ AI द्वारा तैयार किया गया है और AUTOSAR R20-11 की विनिर्देश स्थिति पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग
सिंक्रोनस फ़ंक्शन Xxx_FreezeCurrentState (एलिमेंट कैटलॉग में Xxx_FreezeCurrentStateManager के रूप में सूचीबद्ध) का उद्देश्य इनपुट या आउटपुट नियंत्रण (IOControl) की वर्तमान स्थिति को फ़्रीज़ करने के लिए किसी एप्लिकेशन से अनुरोध करना है [SWS_Dcm_01290]। यह फ़ंक्शन हेडर फ़ाइल Dcm_Externals.h के माध्यम से उपलब्ध है और इसकी सर्विस ID 0x4a है AUTOSAR_SWS_DiagnosticCommunicationManager पृ. 279। (व्याख्या: उपसर्ग Xxx संभवतः संबंधित एप्लिकेशन मॉड्यूल के लिए एक प्लेसहोल्डर के रूप में कार्य करता है।)" प्रश्न Q-f8c864cda732acc2 (खुला)
इंटरफ़ेस पैरामीटर्स बाहरी नियंत्रण मास्क के कॉन्फ़िगरेशन (DCM_CONTROLMASK_EXTERNAL पर DcmDspDidControlMask) पर निर्भर करते हैं [SWS_Dcm_01290]:
controlMask(इनपुट, प्रकारDcm_ControlMask_{DID}Type): तब पास किया जाता है जब मास्क का आकारDcmDspDidControlMaskSize4 बाइट्स (<= 0x04) से कम या उसके बराबर कॉन्फ़िगर किया गया हो।controlMask2(इनपुट, प्रकारuint8*): इसके बजाय तब उपयोग में आता है जब मास्क के आकार में कम से कम 5 बाइट्स (=> 0x05) शामिल हों।ErrorCode(आउटपुट, प्रकारDcm_NegativeResponseCodeType*): त्रुटियों के मामले में नेगेटिव रिस्पॉन्स कोड प्राप्त करने के लिए पॉइंटर।
त्रुटि प्रबंधन और रिटर्न मान
यह फ़ंक्शन Std_ReturnType के रूप में या तो सफल निष्पादन पर E_OK देता है या अनुरोध सफल न होने पर E_NOT_OK देता है [SWS_Dcm_01290]। यदि कोई त्रुटि होती है और E_NOT_OK लौटाया जाता है, तो एप्लिकेशन को पैरामीटर ErrorCode में एक विशिष्ट नेगेटिव रिस्पॉन्स कोड (NRC) दर्ज करना होगा; इसके बाद DCM मॉड्यूल इस NRC कोड के साथ एक नेगेटिव डायग्नोस्टिक रिस्पॉन्स भेजता है AUTOSAR_SWS_DiagnosticCommunicationManager पृ. 279।
समवर्तीता और प्रतिबंध
इस ऑपरेशन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_01290]। कॉलर्स को यह सुनिश्चित करना चाहिए कि समान इंस्टेंस के लिए कॉल्स सिंक्रोनस रूप से और बिना किसी समवर्ती ओवरलैप के संसाधित किए जाएं।
यह पाठ एक AI द्वारा तैयार किया गया था और केवल मार्गदर्शन के लिए है। केवल AUTOSAR विनिर्देश ही बाध्यकारी है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
उपयोग और कॉल संदर्भ
एसिंक्रोनस फ़ंक्शन Xxx_FreezeCurrentState को DCM मॉड्यूल द्वारा एप्लिकेशन सॉफ़्टवेयर से इनपुट/आउटपुट नियंत्रण (IOControl) की वर्तमान स्थिति को फ़्रीज़ करने का अनुरोध करने के लिए कॉल किया जाता है [SWS_Dcm_01315]। इसकी घोषणा हेडर Dcm_Externals.h के माध्यम से उपलब्ध कराई जाती है [SWS_Dcm_01315]।
पैरामीटर्स और नियंत्रण मास्क
कॉल निम्नलिखित पैरामीटर्स के साथ किया जाता है [SWS_Dcm_01315]:
OpStatus: एसिंक्रोनस ऑपरेशन की वर्तमान स्थिति को प्रेषित करता है (Dcm_OpStatusType)।controlMaskयाcontrolMask2: यदि नियंत्रण मास्क को बाह्य रूप से कॉन्फ़िगर किया गया है (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL) और एसिंक्रोनस फ़ंक्शन इंटरफ़ेस का उपयोग किया जाता है, तो DCMDcmDspDidControlMaskSizeके आधार पर 4 बाइट्स तक पैरामीटरcontrolMask(प्रकारDcm_ControlMask_{DID}Typeका) और 5 बाइट्स से पॉइंटरcontrolMask2(uint8*) पास करता है।ErrorCode: त्रुटि कोड लौटाने के लिएDcm_NegativeResponseCodeTypeका पॉइंटर।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_Dcm_01315]:
E_OK: स्थिति को फ़्रीज़ करना सफलतापूर्वक पूरा हुआ।DCM_E_PENDING: अनुरोध अभी भी प्रोसेस हो रहा है और आगे फ़ीड करने की आवश्यकता है।E_NOT_OK: ऑपरेशन विफल रहा। इस मामले में, DCMErrorCodeके माध्यम से सेट किए गए NRC मान के साथ एक नेगेटिव डायग्नोस्टिक रिस्पॉन्स भेजता है।
संगामिति
इंटरफ़ेस को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित किया गया है और इसलिए प्रति नियंत्रण इंस्टेंस एक सिंक्रोनाइज़्ड प्रोसेसिंग की आवश्यकता होती है [SWS_Dcm_01315]।
यह टेक्स्ट एक AI द्वारा तैयार किया गया था और संपादकीय दिशानिर्देशों के अनुसार क्यूरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
सिंक्रोनस फ़ंक्शन Xxx_ShortTermAdjustment एप्लिकेशन से किसी विशिष्ट I/O सिग्नल को अस्थायी रूप से समायोजित करने का अनुरोध करता है [SWS_Dcm_00802]। यह हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसकी सर्विस ID 0x50 है [SWS_Dcm_00802]।
पॉइंटर ControlStateInfo के माध्यम से, फ़ंक्शन डायग्नोस्टिक अनुरोध InputOutputControlByIdentifier के पैरामीटर ControlOptionRecord से नियंत्रण स्थिति जानकारी प्राप्त करता है [SWS_Dcm_00802]। यदि कोई बाहरी नियंत्रण मास्क कॉन्फ़िगर किया गया है (DcmDspDidControlMask == DCM_CONTROLMASK_EXTERNAL), तो DcmDspDidControlMaskSize के आधार पर अतिरिक्त रूप से या तो प्रकार Dcm_ControlMask_{DID}Type का controlMask (4 बाइट तक) या uint8* के रूप में controlMask2 (5 बाइट से) पास किया जाता है [SWS_Dcm_00802]।
ऑपरेशन रिटर्न मान के रूप में Std_ReturnType प्रदान करता है [SWS_Dcm_00802]:
E_OK: I/O सिग्नल का समायोजन सफलतापूर्वक निष्पादित किया गया [SWS_Dcm_00802]।E_NOT_OK: समायोजन विफल रहा [SWS_Dcm_00802]। इस मामले में, एप्लिकेशन को आउटपुट पैरामीटरErrorCodeके माध्यम से एक विशिष्ट नकारात्मक प्रतिक्रिया कोड (Dcm_NegativeResponseCodeType) सेट करना होगा, जिसे DCM मॉड्यूल टेस्टर को नकारात्मक डायग्नोस्टिक प्रतिक्रिया में वापस भेजता है [SWS_Dcm_00802]।
फ़ंक्शन गैर-reentrant (Non Reentrant) है और इसे सिंक्रोनस रूप से कॉल किया जाता है [SWS_Dcm_00802]। यह सिंक्रोनस संस्करण तब उपयोग किया जाता है जब डेटा तत्व सिंक्रोनस फ़ंक्शन कॉल के लिए कॉन्फ़िगर किया गया हो (DcmDspDataUsePort == USE_DATA_SYNCH_FNC) [SWS_Dcm_00802]। दूसरी ओर, एसिंक्रोनस रूप से कॉन्फ़िगर किए गए पोर्ट (USE_DATA_ASYNCH_FNC या USE_DATA_ASYNCH_FNC_ERROR) के लिए, सर्विस ID 0x55 और OpStatus व DataLength सहित विस्तारित पैरामीटर सेट वाला एसिंक्रोनस संस्करण मौजूद है [SWS_Dcm_01316]।
यह पाठ AI द्वारा तैयार किया गया था और AUTOSAR R20-11 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग और कॉल संदर्भ
फ़ंक्शन [SWS_Dcm_01316] को Diagnostic Communication Manager (DCM) द्वारा कॉल किया जाता है और Dcm_Externals.h के माध्यम से प्रदान किया जाता है। यह निदान सेवा InputOutputControlByIdentifier के भाग के रूप में किसी IO सिग्नल को अनुकूलित करने के लिए एप्लिकेशन से एसिंक्रोनस रूप से अनुरोध करता है। नियंत्रण डेटा पॉइंटर ControlStateInfo (पैरामीटर ControlOptionRecord से) के माध्यम से बाइट लंबाई DataLength के साथ पास किया जाता है। प्रक्रिया को OpStatus द्वारा नियंत्रित किया जाता है: जब तक अनुकूलन जारी रहता है, एप्लिकेशन DCM_E_PENDING लौटाता है; सफल समापन के बाद, यह E_OK की रिपोर्ट करता है।
संस्करण और मास्क पैरामीटर
नियंत्रण मास्क (DCM_CONTROLMASK_EXTERNAL) के बाहरी कॉन्फ़िगरेशन के मामले में, अतिरिक्त पैरामीटर पास किए जाते हैं [SWS_Dcm_01316]:
- यदि मास्क का आकार 4 बाइट से कम या उसके बराबर है, तो प्रकार
Dcm_ControlMask_{DID}TypeकाcontrolMaskपास किया जाता है। - यदि मास्क का आकार कम से कम 5 बाइट है, तो इसके बजाय
uint8के पॉइंटर के रूप मेंcontrolMask2पास किया जाता है।
त्रुटि हैंडलिंग और समवर्तीता
यदि सिग्नल नियंत्रण विफल हो जाता है, तो फ़ंक्शन E_NOT_OK लौटाता है और पॉइंटर ErrorCode के माध्यम से नकारात्मक प्रतिक्रिया कोड (NRC) सेट करता है, जिसे DCM नकारात्मक प्रतिक्रिया में प्रसारित करता है [SWS_Dcm_01316]। फ़ंक्शन को नॉन-रीएंट्रेंट के रूप में निर्दिष्ट किया गया है।
परस्पर क्रिया और विभेदन
इंटरफ़ेस का उपयोग तब किया जाता है जब DID डेटा पोर्ट को USE_DATA_ASYNCH_FNC या USE_DATA_ASYNCH_FNC_ERROR पर और डेटा प्रकार को UINT8_DYN पर कॉन्फ़िगर किया गया हो [SWS_Dcm_01316]। यह सिंक्रोनस संस्करण [SWS_Dcm_00802] से भिन्न है, जो न तो OpStatus और न ही DataLength का उपयोग करता है और स्थिर डेटा प्रकारों के साथ सिंक्रोनस पोर्ट्स के लिए अभिप्रेत है।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI क्यूरेशन असिस्टेंट द्वारा स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
फ़ंक्शन Xxx_IsDidAvailable एसिंक्रोनस रूप से यह जाँचने का काम करता है कि क्या कोई अनुरोधित Diagnostic Identifier (DID) किसी परिभाषित DID सीमा के भीतर उपलब्ध है [SWS_Dcm_00803]। यह हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसकी सर्विस ID 0x53 है [SWS_Dcm_00803]।
उपयोग और पैरामीटर
कॉल निम्नलिखित पैरामीटर्स के साथ किया जाता है [SWS_Dcm_00803]:
DID(In): DID का क्वेरी किया जाने वाला पहचानकर्ता मान [SWS_Dcm_00803]।OpStatus(In): एसिंक्रोनस वर्कफ़्लो को नियंत्रित करने के लिए ऑपरेशन की वर्तमान स्थिति [SWS_Dcm_00803]।supported(Out): इंगित करता है कि क्या DID सीमा में उपलब्ध है;DCM_DID_SUPPORTEDका अर्थ समर्थन है, जबकिDCM_DID_NOT_SUPPORTEDअसमर्थन को इंगित करता है [SWS_Dcm_00803]।
एसिंक्रोनस सिमेंटिक्स और रिटर्न मान
चूँकि फ़ंक्शन एसिंक्रोनस रूप से निष्पादित होता है, इसलिए निर्धारण के लिए कई कॉल चरणों की आवश्यकता हो सकती है [SWS_Dcm_00803]। रिटर्न मान DCM_E_PENDING संकेत देता है कि अनुरोध अभी तक पूरा नहीं हुआ है और पूरा करने के लिए आगे के कॉलों की आवश्यकता है [SWS_Dcm_00803]। जाँच पूरी होने पर रिटर्न मान E_OK रिपोर्ट किया जाता है [SWS_Dcm_00803] (व्याख्या: संभवतः E_OK क्वेरी को पूरा करता है, जिसके बाद पैरामीटर supported में वैध परिणाम होता है)। प्रश्न Q-22c62d306a7ac4f1 (खुला)
समवर्तीता और प्रतिबंध
इंटरफ़ेस को गैर-reentrant (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_00803]। इसलिए समान इंस्टेंस के भीतर समान या अन्य DID के लिए समानांतर कॉल अस्वीकार्य हैं।
यह पाठ AI द्वारा तैयार किया गया था और पूरी तरह से AUTOSAR Classic R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
उपयोग और पैरामीटर इंटरफ़ेस
फ़ंक्शन Xxx_ReadDidData (सर्विस-ID 0x40) Dcm_Externals.h के माध्यम से उपलब्ध है और एप्लिकेशन से डायग्नोस्टिक आइडेंटिफ़ायर (DID) के डेटा मानों का अनुरोध करता है [SWS_Dcm_00804]। पासिंग और फीडबैक निम्नलिखित मापदंडों के माध्यम से होता है:
DID: अनुरोधित Data Identifier का पहचानकर्ता [SWS_Dcm_00804]।Data: उस बफ़र का पॉइंटर जिसमें पढ़े गए पेलोड डेटा को कॉपी किया जाना चाहिए [SWS_Dcm_00804]।OpStatus: वर्तमान अनुरोध की प्रगति या संचालन स्थिति [SWS_Dcm_00804]।DataLength: पढ़े जाने वाले डेटा की लंबाई [SWS_Dcm_00804]।ErrorCode: नकारात्मक प्रतिक्रिया कोड (NRC) प्राप्त करने के लिए आउटपुट पैरामीटर [SWS_Dcm_00804]।
एसिंक्रोनस सिमेंटिक्स और रिटर्न मान
फ़ंक्शन को एसिंक्रोनस (Asynchronous) के रूप में परिभाषित किया गया है और यह प्रकार Std_ReturnType का एक स्टेटस लौटाता है [SWS_Dcm_00804]:
E_OK: डेटा पढ़ना सफल रहा [SWS_Dcm_00804]।DCM_E_PENDING: अनुरोध अभी पूरा नहीं हुआ है; पूरा करने के लिए आगे के कॉल्स की आवश्यकता है [SWS_Dcm_00804]।E_NOT_OK: ऑपरेशन सफल नहीं रहा [SWS_Dcm_00804]।
त्रुटि हैंडलिंग और समवर्तीता
यदि एप्लिकेशन Xxx_ReadDidData के लिए रिटर्न मान E_NOT_OK प्रदान करता है, तो DCM मॉड्यूल डायग्नोस्टिक परीक्षक को पैरामीटर ErrorCode के माध्यम से सेट NRC कोड के साथ एक नकारात्मक प्रतिक्रिया भेजता है [SWS_Dcm_00804]। फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_00804]। व्याख्या: DCM_E_PENDING के साथ एसिंक्रोनस निष्पादन के कारण, कॉल आमतौर पर DCM के चक्रीय कार्य संदर्भ (cyclic task context) में होना चाहिए। प्रश्न Q-5e41e9fb7dc261b9 (खुला)
यह उपयोग नोट SWS_Dcm_00804 में विनिर्देश के आधार पर स्वचालित रूप से उत्पन्न हुआ था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
DID के डेटा मान को लिखने के लिए एप्लिकेशन से अनुरोध करने के लिए DCM मॉड्यूल द्वारा फ़ंक्शन Xxx_WriteDidData को कॉल किया जाता है [SWS_Dcm_00805]। घोषणा हेडर Dcm_Externals.h के माध्यम से उपलब्ध है [SWS_Dcm_00805]।
कॉल और सिमेंटिक्स
कॉल एसिंक्रोनस रूप से किया जाता है और इसे नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Dcm_00805]। कॉल करते समय निम्नलिखित पैरामीटर पास किए जाते हैं [SWS_Dcm_00805]:
DID: लिखे जाने वाले डेटा पहचानकर्ता का पहचानकर्ता।Data: लिखे जाने वाले डेटा वाले बफ़र का पॉइंटर।OpStatus: वर्तमान ऑपरेशन की स्थिति।DataLength: लिखे जाने वाले डेटा की बाइट्स में लंबाई।ErrorCode: नकारात्मक प्रतिक्रिया कोड (NRC) के लिए आउटपुट पैरामीटर।
रिटर्न मान और त्रुटि प्रबंधन
रिटर्न मान के रूप में फ़ंक्शन Std_ReturnType निम्नलिखित अर्थों के साथ प्रदान करता है [SWS_Dcm_00805]:
E_OK: लेखन कार्य सफलतापूर्वक निष्पादित किया गया।DCM_E_PENDING: ऑपरेशन अभी पूर्ण नहीं हुआ है; पूर्ण होने के लिए आगे के कॉल्स आवश्यक हैं।E_NOT_OK: ऑपरेशन सफल नहीं रहा। इस मामले में, DCM मॉड्यूल आउटपुट पैरामीटरErrorCodeमें पास किए गए NRC मान के साथ एक नकारात्मक प्रतिक्रिया भेजता है।
यह पाठ AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
फ़ंक्शन Xxx_ReadDidRangeDataLength का उपयोग एप्लिकेशन सॉफ़्टवेयर से DID रेंज (DID Range) के लिए डेटा लंबाई लौटाने का अनुरोध करने के लिए किया जाता है [SWS_Dcm_01271]। यह AUTOSAR मॉड्यूल Dcm का हिस्सा है, इसकी सर्विस ID 0x5e है और इसे हेडर फ़ाइल Dcm_Externals.h के माध्यम से उपलब्ध कराया गया है [SWS_Dcm_01271]।
यह कॉल निम्नलिखित इंटरफ़ेस पैरामीटर्स के माध्यम से एसिंक्रोनस सिमेंटिक्स (Asynchronous) के साथ की जाती है [SWS_Dcm_01271]:
DID(IN,uint16): अनुरोधित DID रेंज के ठोस डेटा आइडेंटिफ़ायर (Data ID value) को चिह्नित करता है [SWS_Dcm_01271]।OpStatus(IN,Dcm_OpStatusType): चल रहे ऑपरेशन की वर्तमान प्रोसेसिंग स्थिति को इंगित करता है [SWS_Dcm_01271]।DataLength(OUT,uint16*): पढ़े या लिखे जाने वाले डेटा की लंबाई का पॉइंटर [SWS_Dcm_01271]।
प्रकार Std_ReturnType का रिटर्न मान लंबाई क्वेरी के परिणाम का संकेत देता है [SWS_Dcm_01271]:
E_OK: अनुरोध सफल रहा और निर्धारित की गई लंबाई उपलब्ध है [SWS_Dcm_01271]।E_NOT_OK: अनुरोध सफल नहीं रहा [SWS_Dcm_01271]।DCM_E_PENDING: निष्पादन अभी पूरा नहीं हुआ है और इसे पूरा करने के लिए आगे के अनुवर्ती कॉल्स की आवश्यकता है [SWS_Dcm_01271]।
समवर्तीता के संबंध में, इंटरफ़ेस को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Dcm_01271]।
AUTOSAR Classic R20-11 में DCM के स्पेसिफ़िकेशन के आधार पर जनरेट किया गया उपयोग नोट।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
एसिंक्रोनस इंटरफ़ेस Xxx_GetInfotypeValueData को DCM मॉड्यूल द्वारा कॉल किया जाता है जैसे ही OBD Service $09 के लिए एक डायग्नोस्टिक अनुरोध प्राप्त होता है और अनुरोधित InfoType कोई उपलब्धता InfoType (\"availability InfoType\") नहीं होता है [SWS_Dcm_00423]। डेटा प्रदान करने के लिए, DCM इस InfoType के लिए कॉन्फ़िगर किए गए सभी फ़ंक्शंस को कॉल करता है और Service $09 के रिस्पॉन्स के रूप में मानों को संयोजित करता है [SWS_Dcm_00423]। घोषणा Dcm_Externals.h के माध्यम से उपलब्ध है [SWS_Dcm_91014]।
डेटा का स्थानांतरण और फ़ीडबैक परिभाषित बफ़र और स्थिति पैरामीटर्स [SWS_Dcm_91014] के माध्यम से होता है:
OpStatus(in): चल रहे ऑपरेशन की वर्तमान प्रगति स्थिति को दर्शाता है।DataValueBuffer(out): विशिष्ट InfoType पेलोड डेटा प्राप्त करने के लिए बफ़र।DataValueBufferSize(inout): कॉल के समय इसमें बाइट्स में अधिकतम लिखने योग्य बफ़र आकार होता है और कॉल किए गए फ़ंक्शन द्वारा इसे लिखे गए डेटा बाइट्स की वास्तविक संख्या के साथ असाइन किया जाता है।
एक एसिंक्रोनस फ़ंक्शन के रूप में, यह सफल समापन पर E_OK, त्रुटियों पर E_NOT_OK, या यदि ऑपरेशन अभी तक पूरा नहीं हुआ है और पूर्णता के लिए आगे के कॉल्स की आवश्यकता है तो DCM_E_PENDING प्रदान करता है [SWS_Dcm_91014]। चूँकि फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है, इसलिए एक ही फ़ंक्शन के लिए कोई समवर्ती कॉल नहीं होने चाहिए [SWS_Dcm_91014]।
यह पाठ AI द्वारा जनरेट किया गया है और मार्गदर्शन के रूप में कार्य करता है। आधिकारिक AUTOSAR विनिर्देश ही प्रामाणिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
फ़ंक्शन Xxx_Start हेडर फ़ाइल Dcm_Externals.h के माध्यम से घोषित किया जाता है और एप्लिकेशन सॉफ़्टवेयर से डायग्नोस्टिक रूटीन का निष्पादन प्रारंभ करने का अनुरोध करता है [SWS_Dcm_01203]। सब-फ़ंक्शन startRoutine के साथ RoutineControl (0x31) के लिए एक UDS सेवा अनुरोध प्राप्त होने और सफलतापूर्वक सत्यापित होने पर DCM मॉड्यूल इस फ़ंक्शन को कॉल करता है [SWS_Dcm_00400], या जब अनुपलब्धता OBDTestId के साथ RoutineControl अनुरोध आता है [SWS_Dcm_01392]।
इंटरफ़ेस निश्चित और परिवर्तनीय डेटा स्वरूपों का समर्थन करता है और एसिंक्रोनस रूप से संचालित होता है [SWS_Dcm_01203]:
- इनपुट पैरामीटर: निश्चित इनपुट सिग्नल
dataIn_1सेdataIn_nया बाइट फ़ील्डdataInVarके माध्यम से परिवर्तनीय डेटा, साथ ही ऑपरेशन स्थितिOpStatus[SWS_Dcm_01203]। - आउटपुट पैरामीटर: निश्चित आउटपुट सिग्नल
dataOut_1सेdataOut_nया परिवर्तनीय आउटपुट डेटाdataOutVar, साथ ही नकारात्मक प्रतिक्रिया संदेशों के लिए त्रुटि कोडErrorCode[SWS_Dcm_01203]। - लंबाई पैरामीटर: इनपुट और आउटपुट पैरामीटर
currentDataLengthपरिवर्तनीय डेटा लंबाई के मामले मेंdataInVarअथवाdataOutVarमें पेलोड बाइट्स की संख्या को स्थानांतरित करता है [SWS_Dcm_01203]। - रिटर्न मान:
E_OKसफल शुरुआत की पुष्टि करता है,E_NOT_OKविफलता की रिपोर्ट करता है,DCM_E_PENDINGअभी भी जारी प्रोसेसिंग चरणों का संकेत देता है औरDCM_E_FORCE_RCRRPपेंडिंग प्रतिक्रिया (NRC 0x78) को समय से पहले भेजने का अनुरोध करता है [SWS_Dcm_01203]।
कॉन्करेंसी के संबंध में, Xxx_Start को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Dcm_01203]। रिटर्न मान DCM_E_PENDING वाले एसिंक्रोनस अनुक्रमों में, DCM मॉड्यूल फ़ंक्शन को जारी रखे गए OpStatus के साथ चक्रीय रूप से तब तक फिर से कॉल करता है जब तक कि प्रक्रिया पूरी न हो जाए [SWS_Dcm_01203]।
यदि ऑपरेशन E_OK के साथ सफलतापूर्वक समाप्त होता है, तो DCM मॉड्यूल dataOut के माध्यम से प्रदान किए गए डेटा के साथ routineStatusRecord के रूप में एक सकारात्मक UDS प्रतिक्रिया वापस भेजता है [SWS_Dcm_00401]। यदि निष्पादन E_NOT_OK के साथ विफल हो जाता है, तो DCM पैरामीटर ErrorCode में निर्दिष्ट NRC के साथ एक नकारात्मक प्रतिक्रिया प्रसारित करता है [SWS_Dcm_01203]। OBD रूटीन्स के संदर्भ में, E_OK के अलावा कोई भी रिटर्न मान NRC 0x22 भेजे जाने का कारण बनता है [SWS_Dcm_01394]।
यह पाठ AI द्वारा उत्पन्न किया गया है और केवल मार्गदर्शन के लिए है। केवल AUTOSAR विनिर्देश ही प्रामाणिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
उपयोग
फ़ंक्शन Xxx_StartConfirmation [SWS_Dcm_91016] के अनुसार पूर्ववर्ती StartRoutine अनुरोध की प्रतिक्रिया के संचरण को बाध्यकारी रूप से इंगित करता है। इंटरफ़ेस हेडर फ़ाइल Dcm_Externals.h में घोषित है और इसमें सिंक्रोनस निष्पादन सेमेंटिक्स ([SWS_Dcm_91016]) हैं। एकमात्र इनपुट पैरामीटर के रूप में, प्रकार Dcm_ConfirmationStatusType का ConfirmationStatus पास किया जाता है, जो रूटीन संचरण की पुष्टिकरण स्थिति का वर्णन करता है। विनिर्देश के अनुसार कोई अतिरिक्त इनपुट और आउटपुट पैरामीटर मौजूद नहीं हैं ([SWS_Dcm_91016])।
त्रुटि प्रबंधन और रिटर्न मान
रिटर्न मान के रूप में, फ़ंक्शन प्रकार Std_ReturnType ([SWS_Dcm_91016]) का एक स्थिति मान प्रदान करता है। इसमें मान E_OK अनुरोध के सफल निष्पादन की पुष्टि करता है, जबकि E_NOT_OK असफल प्रोसेसिंग को संकेतित करता है। इस फ़ंक्शन के लिए पेलोड में डेवलपमेंट एरर ट्रेसर (DET) या Diagnostic Event Manager (DEM) के लिए विशिष्ट त्रुटि कोड या स्पष्ट संदेश परिभाषित नहीं हैं।
समवर्तीता और प्रतिबंध
कॉन्करेंसी के संबंध में, Xxx_StartConfirmation को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है ([SWS_Dcm_91016])। इसके लिए कॉलर को समवर्ती या ओवरलैपिंग निष्पादन से सख्ती से बचना आवश्यक है। व्याख्या: एप्लिकेशन-साइड रूटीन कार्यान्वयन को प्रेषण प्रक्रिया के पूरा होने के बारे में सूचित करने के लिए फ़ंक्शन को DCM द्वारा कॉल किए जाने की संभावना है। प्रश्न Q-be2dafd63bf2a9a5 (खुला)
यह पाठ AI द्वारा तैयार किया गया है और AUTOSAR मानक रिलीज़ R20-11 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
उपयोग
फ़ंक्शन [SWS_Dcm_01204] को DCM द्वारा एप्लिकेशन में चल रहे डायग्नोस्टिक रूटीन के निष्पादन को समाप्त करने के लिए कॉल किया जाता है। आवश्यक पूर्व-जाँच सफलतापूर्वक पूरी होते ही यह कॉल सब-फ़ंक्शन stopRoutine के साथ UDS सेवा RoutineControl (0x31) के तहत किया जाता है [SWS_Dcm_00402]। इस इंटरफ़ेस की सर्विस ID 0x5c है और इसे हेडर फ़ाइल Dcm_Externals.h के माध्यम से घोषित किया गया है [SWS_Dcm_01204]।
पैरामीटर और रिटर्न मान
रूटीन के कॉन्फ़िगरेशन के आधार पर, DCM निश्चित या परिवर्तनीय इनपुट डेटा (dataIn_1 से dataIn_n या dataInVar) और आउटपुट डेटा के लिए बफ़र संदर्भ (dataOut_1 से dataOut_n या dataOutVar) पास करता है [SWS_Dcm_01204], [SWS_Dcm_00402]। परिवर्तनीय डेटा लंबाई के मामले में, currentDataLength में इनपुट या आउटपुट डेटा की बाइट संख्या होती है [SWS_Dcm_01204]। Std_ReturnType के रिटर्न मान के रूप में निम्नलिखित निर्धारित हैं:
E_OK: रूटीन सफलतापूर्वक समाप्त हुआ; DCM जनरेट किए गए आउटपुट डेटा के साथ routineStatusRecord के रूप में एक पॉज़िटिव UDS रिस्पॉन्स भेजता है [SWS_Dcm_01204], [SWS_Dcm_00403]।E_NOT_OK: रूटीन का निरस्तीकरण विफल रहा; DCMErrorCodeमें संग्रहीत NRC के साथ एक नेगेटिव UDS रिस्पॉन्स भेजता है [SWS_Dcm_01204]।DCM_E_PENDING: ऑपरेशन अभी भी प्रगति पर है; DCM पूर्णता के लिए फ़ंक्शन को फिर से कॉल करता है [SWS_Dcm_01204]।DCM_E_FORCE_RCRRP: एप्लिकेशन DCM से पेंडिंग रिस्पॉन्स (NRC 0x78) ट्रांसमिट करने का अनुरोध करता है [SWS_Dcm_01204]।
समवर्तीता और प्रतिबंध
ऑपरेशन को एसिंक्रोनस और नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dcm_01204]। यदि निष्पादन के दौरान कोई त्रुटि होती है, तो एप्लिकेशन को उपयुक्त Dcm_NegativeResponseCodeType के साथ पैरामीटर ErrorCode लिखना होगा और E_NOT_OK लौटाना होगा [SWS_Dcm_01204]।
यह उपयोग संबंधी निर्देश AUTOSAR Classic R20-11 विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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
सिंक्रोनस फ़ंक्शन Xxx_StopConfirmation का उपयोग पिछले StopRoutine अनुरोध की प्रतिक्रिया के संचरण को इंगित करने के लिए किया जाता है [SWS_Dcm_91017]। कॉल के दौरान, सिस्टम प्रकार Dcm_ConfirmationStatusType के इनपुट पैरामीटर ConfirmationStatus के माध्यम से रूटीन समाप्ति की ठोस पुष्टिकरण स्थिति पास करता है [SWS_Dcm_91017]। रिटर्न मान के रूप में, इंटरफ़ेस प्रकार Std_ReturnType का एक मान प्रदान करता है: यहाँ E_OK इंगित करता है कि अनुरोध सफलतापूर्वक संसाधित किया गया था, जबकि E_NOT_OK एक असफल अनुरोध का संकेत देता है [SWS_Dcm_91017]।
कॉन्करेंसी और कॉल शर्तों के संबंध में, इंटरफ़ेस को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसकी सर्विस ID 0x69 है [SWS_Dcm_91017]। घोषणा हेडर फ़ाइल Dcm_Externals.h के माध्यम से उपलब्ध कराई गई है [SWS_Dcm_91017]। व्याख्या: Dcm_Externals.h के माध्यम से प्रावधान और अनुकूलन योग्य उपसर्ग Xxx_ के कारण, इस फ़ंक्शन को DCM मॉड्यूल द्वारा कॉल किए जाने और एप्लिकेशन-विशिष्ट सॉफ़्टवेयर घटक अथवा संबंधित रूटीन हैंडलर द्वारा कार्यान्वित किए जाने की संभावना है। प्रश्न Q-743e69ff8cf92321 (खुला)
आवश्यकताओं में डेवलपमेंट एरर मैनेजमेंट (DET) या Diagnostic Event Manager (DEM) के लिए विशिष्ट त्रुटि कोड या सूचनाएं निर्दिष्ट नहीं की गई हैं। त्रुटि की स्थिति में व्यवहार इस इंटरफ़ेस स्तर पर औपचारिक रूप से त्रुटि मान E_NOT_OK लौटाने तक सीमित है, यदि प्रोसेसिंग को सफलतापूर्वक पूरा नहीं किया जा सका [SWS_Dcm_91017]।
यह उपयोग नोट AUTOSAR Classic R20-11 विनिर्देश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
एप्लिकेशन से रूटीन निष्पादन के परिणाम की क्वेरी करने के लिए DCM मॉड्यूल द्वारा फ़ंक्शन [SWS_Dcm_91013] को कॉल किया जाता है। यह सब-फ़ंक्शन requestRoutineResults के साथ UDS सेवा RoutineControl (0x31) के तहत किया जाता है, जैसे ही सभी इनपुट-साइड जाँचें सफलतापूर्वक पूरी हो जाती हैं [SWS_Dcm_00404]। यह इंटरफ़ेस Dcm_Externals.h के माध्यम से उपलब्ध है, एसिंक्रोनस रूप से काम करता है और इसे नॉन-रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_Dcm_91013]।
पैरामीटर OpStatus के माध्यम से DCM मॉड्यूल ऑपरेशन के प्रवाह को नियंत्रित करता है। यह फ़ंक्शन निश्चित इनपुट डेटा (dataIn_1 से dataIn_n) या परिवर्तनीय डेटा (dataInVar) स्वीकार करता है, जो routineControlOptionRecord से प्राप्त होते हैं [SWS_Dcm_00404]। निश्चित आउटपुट पैरामीटर्स (dataOut_1 से dataOut_n) या परिवर्तनीय आउटपुट बफ़र्स (dataOutVar और variableDataLength) के माध्यम से एप्लिकेशन परिणाम डेटा DCM को पास करता है [SWS_Dcm_91013]।
यदि क्वेरी सफलतापूर्वक E_OK के साथ पूरी हो जाती है, तो DCM मॉड्यूल कॉन्फ़िगरेशन पैरामीटर DcmDspRequestRoutineResultsOut के आधार पर आउटपुट डेटा को एक routineStatusRecord में संयोजित करता है और एक पॉज़िटिव रिस्पॉन्स भेजता है [SWS_Dcm_00405]। यदि ऑपरेशन अभी भी जारी है, तो एप्लिकेशन बाद के कॉल्स के लिए DCM_E_PENDING या एक प्रारंभिक रिस्पॉन्स (NRC 0x78) भेजने के लिए DCM_E_FORCE_RCRRP लौटा सकता है [SWS_Dcm_91013]।
त्रुटि की स्थिति में, फ़ंक्शन E_NOT_OK लौटाता है और ErrorCode को उपयुक्त NRC मान पर सेट करता है, जिसके बाद DCM मॉड्यूल एक संगत नेगेटिव रिस्पॉन्स भेजता है [SWS_Dcm_91013]। चूँकि फ़ंक्शन रीएंट्रेंट नहीं है, इसलिए इसे एक ही रूटीन के लिए समानांतर में कॉल नहीं किया जाना चाहिए [SWS_Dcm_91013]।
AUTOSAR R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया उपयोग नोट।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
उपयोग और सिमेंटिक्स
फ़ंक्शन Xxx_RequestResultsConfirmation का उपयोग RequestRoutineResults अनुरोध पर प्रेषित निदान प्रतिक्रिया की पुष्टि करने के लिए किया जाता है [SWS_Dcm_91018]। यह हेडर फ़ाइल Dcm_Externals.h में घोषित है और इसकी सर्विस ID 0x70 है [SWS_Dcm_91018]। प्रकार Dcm_ConfirmationStatusType के इनपुट पैरामीटर ConfirmationStatus के माध्यम से, कार्यान्वयन को यह जानकारी प्राप्त होती है कि रूटीन परिणामों का संचरण किस स्थिति के साथ पूरा हुआ [SWS_Dcm_91018]। कॉल सिंक्रोनस रूप से निष्पादित होता है और एक Std_ReturnType लौटाता है, जिसमें E_OK सफल प्रोसेसिंग को इंगित करता है और E_NOT_OK विफलता का संकेत देता है [SWS_Dcm_91018]।
समवर्तीता और प्रतिबंध
विनिर्देश के अनुसार, फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है [SWS_Dcm_91018]। इसलिए, समान इंस्टेंस के लिए समवर्ती कॉल नहीं होने चाहिए। व्याख्या: DCM मॉड्यूल द्वारा कॉल प्रतिक्रिया पुष्टिकरण के संदर्भ में क्रमिक रूप से की जाती है, यही कारण है कि फ़ंक्शन को बिना किसी ब्लॉकिंग ऑपरेशन के निष्पादित किया जाना चाहिए। प्रश्न Q-935a06744e7b9af7 (खुला)
त्रुटि प्रबंधन और परस्पर क्रिया
त्रुटि प्रबंधन रिटर्न मान E_NOT_OK तक सीमित है, क्योंकि इस कॉल के लिए अलग से विकास त्रुटियां (DET) या उत्पादन त्रुटियां (DEM) निर्दिष्ट नहीं हैं [SWS_Dcm_91018]। व्याख्या: यह फ़ंक्शन DCM के लिए एक एप्लिकेशन-विशिष्ट पुष्टिकरण एंडपॉइंट (कॉलबैक) के रूप में कार्य करता है, ताकि रूटीन परिणाम भेजे जाने के बाद एप्लिकेशन स्तर पर निदान कार्य के पूरा होने को सिंक्रनाइज़ किया जा सके। प्रश्न Q-d3dd0142a30e1363 (खुला)
यह पाठ AI द्वारा तैयार किया गया था। विवरण AUTOSAR CP R20-11 पर आधारित हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
फ़ंक्शन Xxx_RequestControl TID-विशिष्ट नियंत्रण फ़ंक्शन के निष्पादन के लिए कार्य करता है और आमतौर पर OBD Service $08 को लागू करने के लिए उपयोग किया जाता है ([SWS_Dcm_01338])। DCM मॉड्यूल कॉन्फ़िगर किए गए फ़ंक्शन को सिंक्रोनस रूप से कॉल करता है जैसे ही एक OBD Service $08 अनुरोध प्राप्त होता है, जिसकी टेस्ट ID (TID) कोई उपलब्धता TID (\"availability TID\") नहीं होती है ([SWS_Dcm_00419])। इंटरफ़ेस की घोषणा हेडर फ़ाइल Dcm_Externals.h के माध्यम से प्रदान की जाती है ([SWS_Dcm_01338])।
पैरामीटर और बफ़र प्रबंधन
InBuffer: प्राप्त OBD अनुरोध के पेलोड डेटा का पॉइंटर। इस इनपुट डेटा की बाइट संख्या DCM मॉड्यूल में कॉन्फ़िगर किए गए आकार से पूरी तरह मेल खानी चाहिए ([SWS_Dcm_00419], [SWS_Dcm_01338])।OutBuffer: आउटपुट बफ़र का पॉइंटर, जिसमें कॉल किया गया नियंत्रण फ़ंक्शन अपने परिणाम संग्रहीत करता है। बफ़र का आकार निश्चित रूप से निर्दिष्ट होता है और इसे DCM मॉड्यूल के कॉन्फ़िगरेशन से लिया जाता है ([SWS_Dcm_00419], [SWS_Dcm_01338])।
रिटर्न मान और त्रुटि प्रबंधन
यह फ़ंक्शन स्थिति मान के रूप में Std_ReturnType लौटाता है: मान E_OK सफल प्रोसेसिंग का संकेत देता है, जबकि E_NOT_OK त्रुटि स्थिति को दर्शाता है ([SWS_Dcm_01338])। यदि Xxx_RequestControl E_OK के अलावा कोई अन्य परिणाम लौटाता है, तो DCM मॉड्यूल डायग्नोस्टिक टेस्टर के समक्ष नेगेटिव रिस्पॉन्स कोड NRC 0x22 (Conditions Not Correct) के साथ प्रतिक्रिया करता है ([SWS_Dcm_01192])।
समवर्तीता और प्रतिबंध
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसकी सर्विस ID 0x63 है ([SWS_Dcm_01338])।
AI-नोट: यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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.
कॉलबैक फ़ंक्शन Xxx_StartProtocol हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है और एप्लिकेशन को किसी निदान प्रोटोकॉल के पहले अनुरोध पर वर्तमान पर्यावरणीय स्थितियों की जाँच करने और आगे के प्रोटोकॉल प्रसंस्करण को स्वीकृत या अस्वीकार करने की अनुमति देता है [SWS_Dcm_01339]।
कॉल संदर्भ और पैरामीटर
कॉल DCM के DSL सबमॉड्यूल द्वारा सभी कॉन्फ़िगर किए गए फ़ंक्शंस [SWS_Dcm_00036], [SWS_Dcm_01339] के लिए सिंक्रोनस और नॉन-रीएंट्रेंट रूप से की जाती है। फ़ंक्शन में निम्नलिखित इनपुट पैरामीटर पास किए जाते हैं [SWS_Dcm_01339]:
ProtocolType: शुरू किए जाने वाले निदान प्रोटोकॉल का प्रकार,TesterSourceAddress: अनुरोध करने वाले टेस्टर का स्रोत पता,ConnectionId: कनेक्शन का विशिष्ट पहचानकर्ता।
रिटर्न मान और त्रुटि प्रबंधन
रिटर्न मान के रूप में, फ़ंक्शन सफल रिलीज़ पर E_OK, असफल जाँच पर E_NOT_OK, या प्रोटोकॉल अमान्य होने पर E_PROTOCOL_NOT_ALLOWED के साथ Std_ReturnType लौटाता है [SWS_Dcm_01339]। यदि कम से कम एक कॉन्फ़िगर किया गया Xxx_StartProtocol फ़ंक्शन E_OK नहीं लौटाता है, तो DCM प्रोटोकॉल प्रारंभ को रद्द कर देता है और NRC 0x22 के साथ प्रतिक्रिया देता है [SWS_Dcm_00674]।
सफल रिलीज़ के बाद इनिशियलाइज़ेशन
केवल तभी जब सभी कॉन्फ़िगर किए गए Xxx_StartProtocol कॉलबैक E_OK लौटाते हैं, DCM आगे के इनिशियलाइज़ेशन चरणों को निष्पादित करता है:
- डिफ़ॉल्ट सत्र कॉन्फ़िगरेशन से मानक टाइमिंग पैरामीटर लोड करना [SWS_Dcm_00144],
- सर्विस टेबल को सक्रिय करना [SWS_Dcm_00145],
- सुरक्षा स्थिति (Security State) को रीसेट करना [SWS_Dcm_00146],
- सत्र स्थिति को डिफ़ॉल्ट निदान सत्र में रीसेट करना और साथ ही
SchM_Switch_<bsnp>_DcmDiagnosticSessionControlके माध्यम सेRTE_MODE_DcmDiagnosticSessionControl_DEFAULT_SESSIONमें मोड परिवर्तन निष्पादित करना [SWS_Dcm_00147]।
यह उपयोग नोट AUTOSAR R20-11 की विनिर्देश आवश्यकताओं के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
सिंक्रोनस कॉलबैक फ़ंक्शन Xxx_StopProtocol किसी निदान प्रोटोकॉल ([SWS_Dcm_01340]) की समाप्ति के बारे में एप्लिकेशन को सूचित करता है। यह हेडर फ़ाइल Dcm_Externals.h के माध्यम से घोषित है और इसे नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_Dcm_01340])।
सभी कॉन्फ़िगर किए गए Xxx_StopProtocol फ़ंक्शंस (पैरामीटर DcmDslCallbackDCMRequestService के माध्यम से कॉन्फ़िगर किए गए) का कॉल DSL सबमॉड्यूल द्वारा निम्नलिखित प्रीएम्प्शन परिदृश्यों में ट्रिगर किया जाता है:
- एक चालू निदान अनुरोध किसी अन्य प्रोटोकॉल के उच्च प्राथमिकता वाले अनुरोध द्वारा प्रीएम्प्ट कर दिया जाता है ([SWS_Dcm_00459])।
- कम या समान प्राथमिकता वाला अनुरोध किसी उच्च प्राथमिकता वाले प्रोटोकॉल को प्रीएम्प्ट कर देता है, बशर्ते वह डिफ़ॉल्ट सत्र में हो और निष्पादन चरण में कोई सक्रिय अनुरोध न हो ([SWS_Dcm_00625])।
कॉल करते समय, प्रोटोकॉल प्रकार (ProtocolType), टेस्टर स्रोत पता (TesterSourceAddress) और कनेक्शन पहचानकर्ता (ConnectionId) पास किए जाते हैं ([SWS_Dcm_01340])। रिटर्न मान के रूप में, फ़ंक्शन सफल निष्पादन पर E_OK या E_NOT_OK लौटाता है ([SWS_Dcm_01340])। यदि फ़ंक्शन E_OK नहीं लौटाता है, तो DCM नकारात्मक प्रतिक्रिया कोड NRC 0x22 के साथ प्रतिक्रिया देता है ([SWS_Dcm_01190])।
यह पाठ स्वचालित रूप से उत्पन्न किया गया था और पूरी तरह से AUTOSAR Classic R20-11 के विनिर्देश दिशानिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन 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
सिंक्रोनस, गैर-री-एंट्रेंट फ़ंक्शन Xxx_Indication को हेडर Dcm_Externals.h के माध्यम से घोषित किया जाता है [SWS_Dcm_01341]। यह एप्लिकेशन को किसी डायग्नोस्टिक सेवा के आगामी निष्पादन का संकेत देता है और इसे सेवा अनुरोध के निष्पादन को अस्वीकार करने की अनुमति देता है [SWS_Dcm_01341]। यदि कॉन्फ़िगरेशन कंटेनर DcmDsdServiceRequestManufacturerNotification [SWS_Dcm_00218] या DcmDsdServiceRequestSupplierNotification [SWS_Dcm_00516] मौजूद हैं, तो कॉल DSD सबमॉड्यूल द्वारा सभी कॉन्फ़िगर किए गए ServiceRequestIndication पोर्ट पर सिंक्रोनस रूप से की जाती है।
इनपुट पैरामीटर के रूप में सर्विस ID (SID), बिना SID के अनुरोध डेटा (RequestData, DataSize), एड्रेसिंग प्रकार (ReqType), कनेक्शन ID (ConnectionId), प्रोटोकॉल प्रकार (ProtocolType) और टेस्टर का स्रोत पता (TesterSourceAddress) पास किए जाते हैं [SWS_Dcm_01341]।
प्रकार Std_ReturnType के रिटर्न मान के माध्यम से, एप्लिकेशन DSD सबमॉड्यूल की प्रतिक्रिया को नियंत्रित करता है [SWS_Dcm_01341]:
E_OK: अनुरोध सफल रहा और इसे नियमित रूप से आगे प्रोसेस किया जाता है [SWS_Dcm_01341]।E_REQUEST_NOT_ACCEPTED: अनुरोध स्वीकार नहीं किया जाता है। यदि कम से कम एक कॉल किया गया इंडिकेशन फ़ंक्शनE_REQUEST_NOT_ACCEPTEDलौटाता है, तो DSD सबमॉड्यूल टेस्टर को किसी भी प्रतिक्रिया को दबा देता है [SWS_Dcm_00462], [SWS_Dcm_00517]।E_NOT_OK: अनुरोध असफल रहा। इस मामले में एप्लिकेशन आउटपुट पैरामीटरErrorCodeमें एक नकारात्मक प्रतिक्रिया कोड लिखता है [SWS_Dcm_01341]। यदि कोई कॉलE_REQUEST_NOT_ACCEPTEDनहीं लौटाती है, तो DSD सबमॉड्यूल इस NRC के साथ एक नकारात्मक प्रतिक्रिया भेजता है [SWS_Dcm_00463], [SWS_Dcm_00518]।
यदि कई कॉन्फ़िगर की गई सूचनाओं के मामले में कई फ़ंक्शन E_NOT_OK लौटाते हैं और कोई भी फ़ंक्शन E_REQUEST_NOT_ACCEPTED नहीं लौटाता है, तो DSD सबमॉड्यूल नकारात्मक प्रतिक्रिया के लिए E_NOT_OK के साथ उत्तर देने वाले पहले फ़ंक्शन के ErrorCode का अनिवार्य रूप से उपयोग करता है [SWS_Dcm_01321], [SWS_Dcm_01322]।
यह पाठ AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
कॉलबैक फ़ंक्शन Xxx_Confirmation का उपयोग एप्लिकेशन को डायग्नोस्टिक ट्रांसमिशन के पूरा होने – या तो सफल प्रेषण या ट्रांसमिशन त्रुटि – को सिंक्रोनस रूप से सूचित करने के लिए किया जाता है ([SWS_Dcm_01342])। घोषणा हेडर Dcm_Externals.h के माध्यम से प्रदान की जाती है ([SWS_Dcm_01342])।
DCM सबमॉड्यूल DSD (Diagnostic Service Dispatcher) द्वारा कॉल किए जाने पर, डायग्नोस्टिक कार्य का आवश्यक संदर्भ डेटा पास किया जाता है ([SWS_Dcm_01342], [SWS_Dcm_00741]):
SID: डायग्नोस्टिक सेवा का पहचानकर्ता ([SWS_Dcm_01342])।ReqType: एड्रेसिंग प्रकार (भौतिक के लिए0, कार्यात्मक के लिए1) ([SWS_Dcm_01342])।ConnectionId,ProtocolTypeऔरTesterSourceAddress: विशिष्ट कनेक्शन और प्रोटोकॉल विशेषताएँ साथ ही टेस्टर का स्रोत पता ([SWS_Dcm_01342])।ConfirmationStatus: ट्रांसमिशन की सफलता या त्रुटि के बारे में स्थिति जानकारी ([SWS_Dcm_01342])।
रिटर्न मान के रूप में, ऑपरेशन Std_ReturnType लौटाता है (सफल पुष्टिकरण प्रसंस्करण पर E_OK, अन्यथा E_NOT_OK) ([SWS_Dcm_01342])। DSD फ़ंक्शन को उन सभी पोर्टों पर कॉल करता है जो इंटरफ़ेस ServiceRequestNotification का उपयोग करते हैं (क्रमशः DcmDsdServiceRequestManufacturerNotification या DcmDsdServiceRequestSupplierNotification के माध्यम से कॉन्फ़िगर किए गए) ([SWS_Dcm_00741])।
कॉल क्रम के संबंध में, Xxx_Confirmation नियमित रूप से सीधे DspInternal_DcmConfirmation() के बाद निष्पादित होता है ([SWS_Dcm_00742])। हालाँकि, यदि [SWS_Dcm_01172] के अनुसार विशेष स्थिति मौजूद है, तो DSD विशेष रूप से Xxx_Confirmation को कॉल करता है, जबकि आंतरिक कॉल छोड़ दी जाती है।
चूंकि Xxx_Confirmation को गैर-री-एंट्रेंट (Non Reentrant) और सिंक्रोनस निर्दिष्ट किया गया है ([SWS_Dcm_01342]), एप्लिकेशन-साइड कार्यान्वयन में कोई ब्लॉकिंग प्रक्रिया नहीं होनी चाहिए और DCM में कोई री-एंट्रेंट रीकॉल ट्रिगर नहीं होना चाहिए (व्याख्या)। प्रश्न Q-58ce3e44dc61540b (खुला)
यह पाठ एक AI द्वारा बनाया गया था। सभी जानकारी पूरी तरह से रिलीज़ R20-11 के AUTOSAR विनिर्देश दायरे पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
उपयोग
सिंक्रोनस कॉलआउट फ़ंक्शन Xxx_ClearDTCCheckFnc एप्लिकेशन के लिए हेडर फ़ाइल Dcm_Externals.h के माध्यम से उपलब्ध कराया जाता है [SWS_Dcm_01270]। यह डायग्नोस्टिक ट्रबल कोड के किसी अनुरोधित समूह (Group of DTC) को हटाने से पहले निर्माता- और आपूर्तिकर्ता-विशिष्ट स्थितियों की जाँच के लिए कार्य करता है। इनपुट पैरामीटर के रूप में इसे प्रकार uint32 का आइडेंटिफ़ायर GoDTC पास किया जाता है, जो हटाए जाने वाले ट्रबल कोड समूह को निर्दिष्ट करता है [SWS_Dcm_01270]।
त्रुटि प्रबंधन और रिटर्न मान
हटाने के अनुरोध की स्वीकृति आउटपुट पैरामीटर ErrorCode के संयोजन में प्रकार Std_ReturnType के रिटर्न मान के माध्यम से होती है [SWS_Dcm_01270]:
E_OK: एप्लिकेशन अनुरोधित ट्रबल कोड समूह को हटाने की अनुमति देता हैGoDTC[SWS_Dcm_01270]।E_NOT_OK: एप्लिकेशन समूह को हटाने से मना करता है। इस त्रुटि की स्थिति में, प्रकारDcm_NegativeResponseCodeType*के आउटपुट पैरामीटरErrorCodeके माध्यम से एक नेगेटिव रिस्पॉन्स कोड सेट किया जाना चाहिए। इसके बाद DCM मॉड्यूलErrorCodeमें निर्दिष्ट NRC मान के साथ एक नेगेटिव रिस्पॉन्स भेजता है [SWS_Dcm_01270]।
समवर्तीता और प्रतिबंध
फ़ंक्शन को सर्विस ID 0x5f दी गई है, यह सिंक्रोनस रूप से काम करता है और इसे नॉन-रीएंट्रेंट (Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Dcm_01270]। इसलिए कॉल संदर्भ को यह सुनिश्चित करना चाहिए कि कॉल क्रमिक रूप से और बिना किसी समवर्ती ओवरलैप के किए जाएं।
यह उपयोग नोट AUTOSAR R20-11 से स्पेसिफ़िकेशन SWS_Dcm_01270 के आधार पर एक AI द्वारा जनरेट किया गया था।
फ़ंक्शन 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.
कॉलआउट फ़ंक्शन Xxx_ProcessRequestDownload ([SWS_Dcm_00754]) को UDS सेवा RequestDownload के प्रसंस्करण के दौरान एक डाउनलोड प्रक्रिया शुरू करने के लिए मॉड्यूल Dcm द्वारा कॉल किया जाता है। इसे एसिंक्रोनस और गैर-री-एंट्रेंट के रूप में परिभाषित किया गया है और यह हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है ([SWS_Dcm_00754])।
उपयोग और पैरामीटर
कॉल पैरामीटर OpStatus के माध्यम से मान DCM_INITIAL, DCM_PENDING या DCM_CANCEL के साथ चरणबद्ध रूप से की जाती है ([SWS_Dcm_00754])। इनपुट पैरामीटर के रूप में कम्प्रेशन और एन्क्रिप्शन विधियाँ (DataFormatIdentifier), मेमोरी ब्लॉक (MemoryIdentifier), प्रारंभिक पता (MemoryAddress) और बाइट्स में अनकम्प्रेस्ड मेमोरी आकार (MemorySize) पास किए जाते हैं ([SWS_Dcm_00754])। कॉल से पहले, Dcm इनआउट पैरामीटर BlockLength को अधिकतम संभव बफर आकार के साथ लिखता है ([SWS_Dcm_01417])। फ़ंक्शन इस मान को बाद के राइट ऑपरेशनों के लिए अधिकतम अनुमेय ब्लॉक लंबाई के अनुसार अनुकूलित करता है ([SWS_Dcm_00754])।
रिटर्न मान और परस्पर क्रिया
फ़ंक्शन सफल निष्पादन पर E_OK, यदि प्रसंस्करण अभी भी जारी है तो DCM_E_PENDING, या किसी त्रुटि के मामले में E_NOT_OK लौटाता है ([SWS_Dcm_00754]):
- यदि कॉल
E_OKलौटाती है और बातचीत किया गया मानBlockLengthवर्तमान प्रोटोकॉल कनेक्शन के समर्थित बफर लंबाई से कम या उसके बराबर है, तोDcmइस मान के साथmaxNumberOfBlockLengthके रूप में एक सकारात्मक प्रतिक्रिया भेजता है ([SWS_Dcm_01419])। - यदि लौटाई गई बफर लंबाई प्रोटोकॉल कनेक्शन के समर्थित बफर आकार से अधिक हो जाती है, तो
DcmDET त्रुटिDCM_E_INTERFACE_BUFFER_OVERFLOWकी रिपोर्ट करता है ([SWS_Dcm_01418])। E_NOT_OKलौटने पर,Dcmआउटपुट पैरामीटरErrorCodeमें सेट किए गए मान के साथ एक नकारात्मक UDS प्रतिक्रिया (NRC) भेजता है ([SWS_Dcm_00754], [SWS_Dcm_00757])।
यह उपयोग निर्देश स्वचालित रूप से बनाया गया था और AUTOSAR विनिर्देश के लिए सहायता के रूप में कार्य करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
कॉलआउट फ़ंक्शन Xxx_ProcessRequestTransferExit को UDS सेवा RequestTransferExit के ढांचे में चल रही डाउनलोड या अपलोड प्रक्रिया को समाप्त करने के लिए DCM मॉड्यूल द्वारा कॉल किया जाता है [SWS_Dcm_00755]। इंटरफ़ेस की घोषणा हेडर Dcm_Externals.h के माध्यम से प्रदान की जाती है [SWS_Dcm_00755]।
उपयोग और सिमेंटिक्स
फ़ंक्शन एसिंक्रोनस रूप से संचालित होता है और इसे नॉन-रीएंट्रेंट के रूप में परिभाषित किया गया है [SWS_Dcm_00755]। कॉल वर्तमान निष्पादन स्थिति OpStatus (संभावित मान: DCM_INITIAL, DCM_PENDING या DCM_CANCEL) पास करके किया जाता है [SWS_Dcm_00755]। प्रकार Std_ReturnType के रिटर्न मान के रूप में निम्नलिखित निर्दिष्ट हैं:
E_OK: स्थानांतरण सफलतापूर्वक समाप्त कर दिया गया था [SWS_Dcm_00755]।DCM_E_PENDING: स्थानांतरण समाप्ति अभी पूरी नहीं हुई है और इसके लिए अनुवर्ती कॉल्स की आवश्यकता है [SWS_Dcm_00755]।E_NOT_OK: समाप्ति विफल रही या प्रतिक्रिया बफ़र बहुत छोटा है [SWS_Dcm_00755]।
त्रुटि प्रबंधन और परस्पर क्रिया
यदि ऑपरेशन Xxx_ProcessRequestTransferExit त्रुटि मान E_NOT_OK लौटाता है, तो आउटपुट पैरामीटर ErrorCode के माध्यम से एक नकारात्मक प्रतिक्रिया कोड पास किया जाना चाहिए। DCM मॉड्यूल तब डायग्नोस्टिक टेस्टर को बिल्कुल इसी त्रुटि कोड के साथ एक नकारात्मक UDS प्रतिक्रिया (NRC) भेजता है [SWS_Dcm_00759]। निरस्तीकरण कॉल की स्थिति में, DCM मॉड्यूल फ़ंक्शन को स्थिति DCM_CANCEL पास करता है [SWS_Dcm_00755]।
यह पाठ स्वचालित रूप से बनाया गया था। सभी विवरण पूरी तरह से AUTOSAR विनिर्देश पर आधारित हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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.
UDS सेवा RequestUpload को आरंभ करने के लिए DCM मॉड्यूल द्वारा कॉलआउट फ़ंक्शन Xxx_ProcessRequestUpload को कॉल किया जाता है ([SWS_Dcm_00756])। यह Dcm_Externals.h के माध्यम से प्रदान किया जाता है और इसे नॉन-रीएंट्रेंट तथा एसिंक्रोनस के रूप में निर्दिष्ट किया गया है ([SWS_Dcm_00756])। पैरामीटर OpStatus (स्थितियों DCM_INITIAL, DCM_PENDING, DCM_CANCEL या DCM_FORCE_RCRRP_OK के साथ) के माध्यम से DCM ऑपरेशन के प्रवाह को नियंत्रित करता है ([SWS_Dcm_00756])।
कॉल करते समय, DCM अन्य बातों के अलावा संपीड़न और एन्क्रिप्शन विधि (DataFormatIdentifier), मेमोरी ब्लॉक (MemoryIdentifier), प्रारंभिक पता (MemoryAddress) और साथ ही बाइट्स में असंपीड़ित मेमोरी आकार (MemorySize) पास करता है ([SWS_Dcm_00756])। इन/आउट पैरामीटर BlockLength बाद के Dcm_ReadMemory कॉल के लिए बाइट्स की अधिकतम संख्या को परिभाषित करता है; कॉल से पहले DCM इस पैरामीटर में अधिकतम संभव बफ़र आकार लिखता है ([SWS_Dcm_00756], [SWS_Dcm_01420])।
Xxx_ProcessRequestUpload के रिटर्न मान के रूप में, सफल अनुरोध पर E_OK, त्रुटियों पर E_NOT_OK और अभी तक पूर्ण न हुए प्रसंस्करण पर DCM_E_PENDING परिभाषित हैं ([SWS_Dcm_00756]):
- यदि फ़ंक्शन
E_NOT_OKलौटाता है, तो DCM मॉड्यूल आउटपुट पैरामीटरErrorCodeमें सेट NRC मान के साथ एक नकारात्मक UDS प्रतिक्रिया भेजता है ([SWS_Dcm_00756], [SWS_Dcm_00758])। - यदि फ़ंक्शन
BlockLengthमें एक अनुरोधित बफ़र मान लौटाता है जो वर्तमान प्रोटोकॉल कनेक्शन की समर्थित बफ़र लंबाई से छोटा या उसके बराबर है, तो DCM सकारात्मक प्रतिक्रिया में इस मान कोmaxNumberOfBlockLengthके रूप में उपयोग करता है ([SWS_Dcm_01422])। - यदि लौटाई गई बफ़र लंबाई प्रोटोकॉल कनेक्शन द्वारा समर्थित बफ़र लंबाई से अधिक हो जाती है, तो दूसरी ओर DCM DET त्रुटि
DCM_E_INTERFACE_BUFFER_OVERFLOWकी रिपोर्ट करता है ([SWS_Dcm_01421])।
यह पाठ एक AI द्वारा तैयार किया गया था। यह विशेष रूप से प्रदान किए गए AUTOSAR पेलोड के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
कॉलआउट फ़ंक्शन Xxx_ProcessTransferDataRead [SWS_Dcm_91070] के अनुसार प्रारंभिक पते (MemoryAddress) और लंबाई (MemorySize) के आधार पर ECU से मेमोरी डेटा को एसिंक्रोनस रूप से पढ़ने के लिए कार्य करता है। यह हेडर Dcm_Externals.h के माध्यम से प्रदान किया जाता है और UDS सेवाओं ReadMemoryByAddress, RequestUpload, TransferData के साथ-साथ मेमोरी पतों के माध्यम से गतिशील रूप से परिभाषित DIDs के मामले में ReadDataByIdentifier का समर्थन करता है [SWS_Dcm_91070]।
कॉल गैर-री-एंट्रेंट (Non Reentrant) होती है और पैरामीटर OpStatus द्वारा नियंत्रित की जाती है ([SWS_Dcm_91070]):
DCM_INITIAL: पढ़ने का ऑपरेशन शुरू करता है।DCM_PENDING: एक अपूर्ण पढ़ने की प्रक्रिया को जारी रखता है।DCM_CANCEL: चल रहे ऑपरेशन को निरस्त करता है।DCM_FORCE_RCRRP_OK: लंबित प्रतिक्रिया के ट्रांसमिशन की पुष्टि करता है।
एड्रेसिंग के लिए, MemoryIdentifier के माध्यम से एक मेमोरी ब्लॉक या क्षेत्र का चयन किया जा सकता है; यदि इस पैरामीटर का उपयोग नहीं किया जाता है, तो इसे अनिवार्य रूप से 0 पर सेट किया जाना चाहिए [SWS_Dcm_91070]। पढ़ा गया डेटा आउटपुट पैरामीटर MemoryData के माध्यम से लौटाया जाता है, जो सीधे DCM के डायग्नोस्टिक बफर को संदर्भित करता है [SWS_Dcm_91070]।
रिटर्न मान के रूप में, सफलता पर DCM_READ_OK, पढ़ने के अभी जारी रहने पर DCM_READ_PENDING, तथा DCM_READ_FORCE_RCRRP परिभाषित हैं यदि प्रक्रिया लंबित है और तुरंत एक Response-Pending संदेश भेजा जाना चाहिए [SWS_Dcm_91070]। यदि पढ़ना विफल हो जाता है, तो फ़ंक्शन DCM_READ_FAILED लौटाता है; इस मामले में पॉइंटर ErrorCode के माध्यम से एक नकारात्मक प्रतिक्रिया कोड (NRC) पास किया जाना चाहिए, जिसे DCM एक नकारात्मक प्रतिक्रिया में प्रसारित करता है [SWS_Dcm_91070]। (व्याख्या: ErrorCode पर विनिर्देश नोट में यद्यपि Dcm_ReadMemory का उल्लेख है, लेकिन यहां इसका संदर्भ इस कॉलआउट की विफलता से होना चाहिए।) प्रश्न Q-fe76e2599624baf7 (खुला)
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 पर आधारित है और स्वचालित रूप से बनाया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन 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
उपयोग और सिमेंटिक्स
एसिंक्रोनस कॉलआउट Xxx_ProcessTransferDataWrite (सर्विस ID 0x27) Dcm_Externals.h के माध्यम से उपलब्ध है और UDS सेवाओं WriteMemoryByAddress, RequestDownload और TransferData के लिए मेमोरी डेटा लिखने के लिए DCM मॉड्यूल द्वारा कॉल किया जाता है [SWS_Dcm_91071]। लिखने की प्रक्रिया का प्रवाह पैरामीटर OpStatus द्वारा मान DCM_INITIAL, DCM_PENDING, DCM_CANCEL या DCM_FORCE_RCRRP_OK के साथ नियंत्रित किया जाता है [SWS_Dcm_91071]।
पैरामीटर और रिटर्न मान
फ़ंक्शन निम्नलिखित पैरामीटर [SWS_Dcm_91071] को प्रोसेस करता है:
MemoryIdentifier: मेमोरी ब्लॉक का पहचानकर्ता; यदि इस पैरामीटर का उपयोग नहीं किया जाता है, तो इसे 0 पर सेट किया जाना चाहिए [SWS_Dcm_91071]।MemoryAddress: सर्वर मेमोरी का प्रारंभिक पता जिसमें डेटा कॉपी किया जाता है; उपयोग न किए जाने की स्थिति में (उदाहरण के लिए कम्प्रेस्ड डेटा के मामले में) मान 0 पास किया जाना चाहिए [SWS_Dcm_91071]।MemorySize:MemoryDataमें लिखे जाने वाले बाइट्स की संख्या [SWS_Dcm_91071]।MemoryData: DCM के डायग्नोस्टिक बफ़र में लिखे जाने वाले डेटा का पॉइंटर [SWS_Dcm_91071]।ErrorCode: त्रुटि की स्थिति में नेगेटिव रिस्पॉन्स कोड (NRC) के लिए आउटपुट पैरामीटर [SWS_Dcm_91071]।
प्रकार Dcm_ReturnWriteMemoryType का रिटर्न मान ऑपरेशन के परिणाम का संकेत देता है [SWS_Dcm_91071]:
DCM_WRITE_OK: राइट ऑपरेशन सफलतापूर्वक पूर्ण हुआ [SWS_Dcm_91071]।DCM_WRITE_PENDING: राइट प्रक्रिया अभी पूरी नहीं हुई है [SWS_Dcm_91071]।DCM_WRITE_FORCE_RCRRP: राइट प्रक्रिया अभी लंबित है; लंबित उत्तर (Response Pending) का ट्रांसमिशन तुरंत शुरू होता है [SWS_Dcm_91071]।DCM_WRITE_FAILED: राइट ऑपरेशन विफल हो गया है [SWS_Dcm_91071]।
त्रुटि हैंडलिंग और समवर्तीता
यदि कॉलआउट मान DCM_WRITE_FAILED लौटाता है, तो DCM मॉड्यूल पैरामीटर ErrorCode में पास किए गए NRC मान [SWS_Dcm_91071] के साथ एक नेगेटिव रिस्पॉन्स भेजता है। कॉलआउट को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसलिए इसे समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए [SWS_Dcm_91071]।
यह उपयोग नोट AUTOSAR विनिर्देश के आधार पर स्वचालित रूप से बनाया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप Dcm_StatusType [SWS_Dcm_00976] 📄 PDF
Base item type to transport status information.
प्रकार Dcm_StatusType मॉड्यूल Dcm के भीतर स्थिति जानकारी के प्रसारण के लिए एक मूलभूत स्थिति और रिटर्न प्रकार के रूप में कार्य करता है और हेडर फ़ाइल Dcm.h के माध्यम से प्रदान किया जाता है [SWS_Dcm_00976]। यह मानक प्रकार uint8 पर आधारित है और विशिष्ट DCM इंटरफेस के फीडबैक के लिए मानकीकृत स्थिति मानों को परिभाषित करता है [SWS_Dcm_00976]।
परिभाषित स्थिति मान और त्रुटि प्रबंधन
विनिर्देश Dcm_StatusType के लिए निम्नलिखित स्थिति और त्रुटि कोड परिभाषित करता है [SWS_Dcm_00976]:
DCM_E_OK(0x00): इंगित करता है कि अनुरोधित ऑपरेशन सफलतापूर्वक निष्पादित या स्वीकार किया गया था [SWS_Dcm_00976]।DCM_E_ROE_NOT_ACCEPTED(0x06): इंगित करता है कि DCM द्वारा ResponseOnOneEvent अनुरोध को अस्वीकार कर दिया गया था, उदाहरण के लिए क्योंकि पिछला ResponseOnOneEvent ऑपरेशन अभी तक पूरा नहीं हुआ है; यह मान इंटरफ़ेसDcm_ResponseOnOneEvent()पर उपयोग किया जाता है [SWS_Dcm_00976]।DCM_E_PERIODICID_NOT_ACCEPTED(0x07): संकेत देता है कि एक आवधिक ट्रांसमिशन अनुरोध DCM द्वारा स्वीकार नहीं किया गया था, उदाहरण के लिए क्योंकि एक चालू आवधिक ट्रांसमिशन अभी तक समाप्त नहीं हुआ है; इस स्थिति का उपयोग इंटरफ़ेसDcm_ResponseOnOneDataByPeriodicId()पर किया जाता है [SWS_Dcm_00976]।
प्रतिबंध और कॉल की शर्तें
उल्लिखित इंटरफेस के कॉल करने वालों को यह निर्धारित करने के लिए प्रकार Dcm_StatusType के रिटर्न मान का मूल्यांकन करना चाहिए कि क्या नए अनुरोध तुरंत स्वीकार किए जा सकते हैं या अभी भी चल रहे ट्रांसमिशन के कारण खारिज कर दिए गए थे [SWS_Dcm_00976]। पिछले इवेंट या ट्रांसमिशन संचालन पूरी तरह से समाप्त होने के बाद ही दोहराए गए अनुरोध के सफल होने की संभावना होगी [SWS_Dcm_00976]। प्रश्न Q-901ec7e3aac8901c (खुला)
यह टेक्स्ट एक AI द्वारा तैयार किया गया था और AUTOSAR विनिर्देश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dcm_CommunicationModeType [SWS_Dcm_00981] 📄 PDF
Manager
डेटा प्रकार Dcm_CommunicationModeType uint8 पर आधारित Dcm.h में घोषित एक गणना प्रकार (enumeration type) है ([SWS_Dcm_00981])। यह ट्रांसमिट (Tx) और रिसीव (Rx) पथों के चयनात्मक नियंत्रण के लिए संचार मोड को परिभाषित करता है। मान सीमा में सामान्य अनुप्रयोग डेटा (NORM), नेटवर्क प्रबंधन (NM) और साथ ही दोनों संचार शाखाओं के संयोजन (NORM_NM) के लिए 0x00 से 0x0B तक के मान शामिल हैं ([SWS_Dcm_00981])।
प्रकार का उपयोग BSW इंटरफ़ेस BswM_Dcm_CommunicationMode_CurrentState पर कॉल में एक पैरामीटर के रूप में किया जाता है। इसके माध्यम से, DCM एक UDS सेवा अनुरोध CommunicationControl (सर्विस 0x28) की पुष्टि (Sent Confirmation) के बाद वर्तमान मोड को BSW Mode Manager को रिपोर्ट करता है ([SWS_Dcm_00512], [SWS_Dcm_00785])। ठोस मोड मान प्राप्त डायग्नोस्टिक अनुरोध के पैरामीटर communicationType और controlType से मेल खाता है ([SWS_Dcm_00512])।
परस्पर क्रिया और प्रभावित नेटवर्क UDS अनुरोध के सबनेट पैरामीटर पर निर्भर करते हैं:
- सबनेट
0x00के लिए, अपडेटDcmDspComControlAllChannelमें कॉन्फ़िगर किए गए सभी नेटवर्क चैनलों के लिए किया जाता है ([SWS_Dcm_00512])। - सबनेट
0x0Fके लिए, वर्तमान डायग्नोस्टिक रिसेप्शन चैनल के संचार मोड की रिपोर्ट की जाती है ([SWS_Dcm_00785])। 0x01से0x0Eतक के सबनेट के लिए, समर्थन की जाँच की जाती है; असमर्थित सबनेट नकारात्मक प्रतिक्रिया कोड 0x31 के साथ अस्वीकार कर दिए जाते हैं ([SWS_Dcm_00786])।- विस्तारित एड्रेसिंग वाले उप-फ़ंक्शंस (जैसे
enableRxAndDisableTxWithEnhancedAddressInformationयाenableRxAndTxWithEnhancedAddressInformation) के लिए, कॉल सब-नोड ID के माध्यम से संदर्भित चैनल के लिए किया जाता है ([SWS_Dcm_01077], [SWS_Dcm_01079])।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप 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.
टाइप Dcm_ReturnReadMemoryType [SWS_Dcm_00985] 📄 PDF
Return values of Callout Dcm_ReadMemory
टाइप Dcm_ReturnWriteMemoryType [SWS_Dcm_00986] 📄 PDF
Return type of callout Dcm_WriteMemory
टाइप 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
डेटा प्रकार Dcm_EcuStartModeType uint8 से व्युत्पन्न है और हेडर Dcm.h के माध्यम से प्रदान किया जाता है [SWS_Dcm_00987]। यह स्टार्ट मोड निर्धारित करने के लिए Diagnostic Communication Manager (DCM) का काम करता है और संकेत देता है कि बूटलोडर से स्विच के बाद डायग्नोस्टिक प्रतिक्रिया प्रेषित की जानी चाहिए या नहीं [SWS_Dcm_00987]।
मान सीमा में दो परिभाषित स्थितियाँ शामिल हैं [SWS_Dcm_00987]:
DCM_COLD_START(0x00): ECU सामान्य ऑपरेशन में नियमित रूप से प्रारंभ होता है [SWS_Dcm_00987]।DCM_WARM_START(0x01): ECU बूटलोडर से जंप के परिणामस्वरूप प्रारंभ होता है [SWS_Dcm_00987]।
इंटरफेस के परस्पर क्रिया में, Dcm_EcuStartModeType कॉलआउट Dcm_GetProgConditions के सिंक्रोनस रिटर्न मान के रूप में कार्य करता है, जो Dcm_Externals.h के माध्यम से उपलब्ध है [SWS_Dcm_00544]। यह निर्धारित करने के लिए कि क्या एक सकारात्मक प्रतिक्रिया ($50 या $51) भेजी जानी चाहिए, DCM आरंभीकरण के दौरान यह फ़ंक्शन कॉल किया जाता है [SWS_Dcm_00544]। बूटलोडर जंप की विस्तृत बाधाएं आउटपुट पैरामीटर ProgConditions के माध्यम से DCM को पास की जाती हैं [SWS_Dcm_00544]।
निष्पादन और त्रुटि प्रबंधन के संबंध में, कॉल करने वाला कॉलआउट सिंक्रोनस और गैर-reentrant के रूप में परिभाषित है [SWS_Dcm_00544]। इस डेटा प्रकार के लिए कोई विशिष्ट त्रुटि कोड या DET या DEM को प्रत्यक्ष सूचनाएं निर्धारित नहीं हैं।
यह उपयोग संबंधी निर्देश AUTOSAR Classic R20-11 विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप 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.
संरचना Dcm_ProgConditionsType प्रोग्रामिंग अनुक्रमों या ECU रीसेट के दौरान एप्लिकेशन और बूटलोडर के बीच स्थिति और संदर्भ डेटा के आदान-प्रदान के लिए कार्य करती है [SWS_Dcm_00988]। यह ConnectionId और TesterAddress जैसी कनेक्शन जानकारी, Sid और SubFncId जैसे डायग्नोस्टिक पहचानकर्ता, साथ ही ReprogramingRequest, ApplUpdated और ResponseRequired जैसे नियंत्रण फ़्लैग को बंडल करती है [SWS_Dcm_00988]।
इसका उपयोग दो केंद्रीय इंटरफ़ेस के माध्यम से किया जाता है:
- बूटलोडर में जाने से पहले या रीसेट के समय, DCM संरचना को एसिंक्रोनस, गैर-री-एंट्रेंट फ़ंक्शन
Dcm_SetProgConditions()को पास करता है [SWS_Dcm_00543]। संभावित रिटर्न मानE_OK,E_NOT_OK,DCM_E_PENDINGतथा Response-Pending संदेश (NRC 0x78) का अनुरोध करते समयDCM_E_FORCE_RCRRPहैं [SWS_Dcm_00543]। - पुनरारंभ के बाद, DCM अपने आरंभीकरण के दौरान संग्रहीत स्थितियों को पढ़ने और
Dcm_EcuStartModeTypeनिर्धारित करने के लिए सिंक्रोनस, गैर-री-एंट्रेंट कॉलआउटDcm_GetProgConditions()को कॉल करता है [SWS_Dcm_00544]। इंटीग्रेटर द्वारा इस डेटा का भंडारण आमतौर पर रीसेट-प्रतिरोधी RAM या नॉन-वोलेटाइल मेमोरी के माध्यम से होना चाहिए (व्याख्या)। प्रश्न Q-026bc7bc93f5502c (खुला)
आगे की सिस्टम अंतःक्रिया में, DCM संरचना का मूल्यांकन करता है: जैसे ही ComM पूर्ण संचार क्षमता की रिपोर्ट करता है, DCM Sid में संग्रहीत सेवा पहचानकर्ता के लिए लंबित डायग्नोस्टिक प्रतिक्रिया भेजता है [SWS_Dcm_00767]। यदि बूटलोडर जंप के बाद ApplUpdated == True फ्लैश डाउनलोड के माध्यम से एक सफल अपडेट का संकेत देता है, तो DCM BswM_Dcm_ApplicationUpdated() के माध्यम से BswM को सूचित करता है [SWS_Dcm_00768]।
यह उपयोग निर्देश स्वचालित रूप से जनरेट किया गया था और विशेष रूप से AUTOSAR संस्करण R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dcm_MsgItemType [SWS_Dcm_00989] 📄 PDF
Base type for diagnostic message item
टाइप Dcm_MsgType [SWS_Dcm_00990] 📄 PDF
Base type for diagnostic message (request, positive or negative response)
उपयोग और प्रकार परिभाषा
डेटा प्रकार Dcm_MsgType Diagnostic Communication Manager में डायग्नोस्टिक संदेशों के लिए केंद्रीय पॉइंटर प्रकार है और हेडर Dcm.h के माध्यम से उपलब्ध है [SWS_Dcm_00990]। इसे Dcm_MsgItemType* के पॉइंटर के रूप में घोषित किया गया है और यह अनुरोधों के साथ-साथ सकारात्मक और नकारात्मक प्रतिक्रिया संदेशों को संदर्भित करने के लिए एक सामान्य आधार के रूप में कार्य करता है [SWS_Dcm_00990]। व्याख्या: चूँकि बेस प्रकार Dcm_MsgItemType विनिर्देश में विस्तार से वर्णित नहीं है, यह आमतौर पर एक एकल डेटा बाइट (जैसे uint8) का प्रतिनिधित्व कर सकता है, जिसके माध्यम से रैखिक संदेश बफ़र को क्रमिक रूप से एक्सेस किया जाता है। प्रश्न Q-2b6f46b51d3cb8e0 (खुला)
परस्पर क्रिया और संरचना संदर्भ
Dcm_MsgType का प्राथमिक उपयोग संदर्भ संरचना Dcm_MsgContextType के भीतर होता है [SWS_Dcm_00994]। वहाँ यह प्रकार दो अलग डेटा क्षेत्रों को संदर्भित करता है:
reqData: डायग्नोस्टिक अनुरोध के पेलोड को संदर्भित करता है, जो सीधे Service Identifier (SID) के बाद शुरू होता है, जो स्वयं इस डेटा का हिस्सा नहीं है [SWS_Dcm_00994]।resData: सकारात्मक प्रतिक्रिया के डेटा को संदर्भित करता है और सर्विस आइडेंटिफ़ायर के ठीक बाद से भी शुरू होता है [SWS_Dcm_00994]।
बफ़र सीमाएँ और प्रतिबंध
Dcm_MsgType के माध्यम से संबोधित प्रतिक्रिया बफ़र्स को संसाधित और भरते समय, उपयोगकर्ताओं को संबंधित बफ़र सीमाओं का कड़ाई से पालन करना चाहिए [SWS_Dcm_00994]। वास्तविक प्रतिक्रिया लंबाई resDataLen किसी भी स्थिति में resMaxDataLen द्वारा परिभाषित बफ़र क्षमता से अधिक नहीं होनी चाहिए, क्योंकि अधिकतम प्रतिक्रिया आकार निर्दिष्ट बफ़र के आवंटन द्वारा सख्ती से सीमित है [SWS_Dcm_00994]।
यह पाठ AUTOSAR Classic रिलीज़ R20-11 के विनिर्देश के आधार पर AI द्वारा जनरेट किया गया था।
टाइप 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.
डेटा प्रकार Dcm_MsgLenType हेडर Dcm.h के माध्यम से उपलब्ध है और आधार प्रकार uint32 से व्युत्पन्न है [SWS_Dcm_00991]। इसका उपयोग Diagnostic Communication Manager (DCM) में डायग्नोस्टिक संदेशों की लंबाई का वर्णन करने के लिए किया जाता है। इसमें डायग्नोस्टिक अनुरोध (Requests) के साथ-साथ सकारात्मक और नकारात्मक प्रतिक्रिया संदेश (Responses) दोनों शामिल हैं [SWS_Dcm_00991]।
मान सीमा सीमाओं के संबंध में, विनिर्देश यह निर्धारित करता है कि डायग्नोस्टिक संदेश की अधिकतम प्रेषणीय लंबाई संबंधित अंतर्निहित ट्रांसपोर्ट प्रोटोकॉल या ट्रांसमिशन माध्यम पर निर्भर करती है [SWS_Dcm_00991]। व्याख्या: यद्यपि अंतर्निहित डेटा प्रकार uint32 सॉफ्टवेयर पक्ष पर 4 GiB तक की संदेश लंबाई का प्रतिनिधित्व कर सकता है, व्यवहार में वास्तविक अधिकतम लंबाई हमेशा संचार माध्यम के साथ-साथ बफ़र आकारों द्वारा सीमित होने की संभावना है। प्रश्न Q-ac43639ecb32605d (खुला)
संरचना Dcm_MsgContextType में Dcm_MsgLenType एक केंद्रीय भूमिका निभाता है, जो डायग्नोस्टिक कार्य के संदर्भ को समाहित करती है [SWS_Dcm_00994]। इस संरचना के भीतर, यह कई मूलभूत लंबाई विनिर्देशों को टाइप करता है:
reqDataLen: अनुरोध डेटा (Request Data) की लंबाई का प्रतिनिधित्व करता है। गिनती सर्विस पहचानकर्ता के तुरंत बाद शुरू होती है, इसलिए यह लंबाई विनिर्देश में शामिल नहीं है [SWS_Dcm_00994]।resDataLen: सकारात्मक प्रतिक्रिया डेटा की लंबाई को निर्दिष्ट करता है, जो सर्विस पहचानकर्ता को भी छोड़कर है [SWS_Dcm_00994]।resMaxDataLen: किसी प्रतिक्रिया की अधिकतम संभव लंबाई निर्दिष्ट करता है, जो आवंटित बफ़र के आकार द्वारा सीमित होती है [SWS_Dcm_00994]।
इसलिए सर्विस-हैंडलर्स को लागू करते समय इस बात का कड़ाई से ध्यान रखा जाना चाहिए कि reqDataLen और resDataLen के लिए लंबाई की गणना हमेशा सर्विस आइडेंटिफ़ायर के बिना की जाए और रिस्पॉन्स डेटा resMaxDataLen द्वारा निर्दिष्ट बफ़र सीमा से अधिक न हो [SWS_Dcm_00994]।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
टाइप Dcm_MsgAddInfoType [SWS_Dcm_00992] 📄 PDF
Additional information on message request. Datastructure: Bitfield
डेटा प्रकार Dcm_MsgAddInfoType [SWS_Dcm_00992] के अनुसार एक बिटफ़ील्ड संरचना के रूप में परिभाषित है और किसी डायग्नोस्टिक संदेश के लिए पूरक स्थिति और नियंत्रण जानकारी प्रदान करने का कार्य करता है। यह प्रकार क्लासिक AUTOSAR में हेडर फ़ाइल Dcm.h के माध्यम से उपलब्ध कराया जाता है और सर्विस रिक्वेस्ट्स तथा संबंधित रिस्पॉन्स की अतिरिक्त जानकारी को सुसंगत रूप से बंडल करने के लिए उच्च-स्तरीय संदर्भ संरचना Dcm_MsgContextType ([SWS_Dcm_00994]) के भीतर एलिमेंट msgAddInfo के रूप में उपयोग में आता है।
यह बिटफ़ील्ड संरचना [SWS_Dcm_00992] के अनुसार सटीक रूप से परिभाषित बिट स्थिति वाले अलग-अलग नियंत्रण फ़्लैग्स निर्दिष्ट करती है:
reqType(स्थिति LSB+0): डायग्नोस्टिक रिक्वेस्ट के एड्रेसिंग प्रकार को चिह्नित करता है।0का मान एक फ़िज़िकल रिक्वेस्ट (physical request) का संकेत देता है, जबकि1का मान एक फ़ंक्शनल रिक्वेस्ट (functional request) को दर्शाता है।suppressPosResponse(स्थिति LSB+1): पॉज़िटिव रिस्पॉन्स के संबंध में व्यवहार निर्धारित करता है।0पर, पॉज़िटिव रिस्पॉन्स को दबाया नहीं जाता है (do not suppress), जबकि1का मान यह निर्धारित करता है कि कोई भी पॉज़िटिव रिस्पॉन्स नहीं भेजा जाना चाहिए (no positive response will be sent)।
चूँकि Dcm_MsgAddInfoType पैरामीटर और संदर्भ पास करने के लिए एक विशुद्ध डेटा संरचना है, इसलिए इस प्रकार के लिए स्वयं कोई सिंक्रोनस या एसिंक्रोनस कॉल सिमेंटिक्स, रिटर्न मान, रीएंट्रेंसी नियम या DET अथवा DEM के लिए अपने स्वयं के एरर संदेश मौजूद नहीं हैं। आगे के निष्पादन में सेट किए गए बिट्स का ठोस मूल्यांकन और विचार संभवतः Diagnostic Communication Manager के आंतरिक प्रोसेसिंग रूटीन्स के अधीन होता है, जब वे [SWS_Dcm_00994] से संदेश संदर्भ तक पहुँचते हैं। प्रश्न Q-b27248cc452ba1b1 (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था और यह AUTOSAR परिवेश में मार्गदर्शन के रूप में कार्य करता है।
टाइप Dcm_IdContextType [SWS_Dcm_00993] 📄 PDF
This message context identifier can be used to determine the relation between request and response confirmation.
टाइप 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.
डेटा संरचना Dcm_MsgContextType डायग्नोस्टिक अनुरोध को प्रोसेसिंग से लेकर प्रतिक्रिया और पुष्टि तक नियंत्रित करने के लिए आवश्यक सभी जानकारी प्रदान करती है [SWS_Dcm_00994]। इसे इनपुट/आउटपुट पैरामीटर pMsgContext के रूप में एसिंक्रोनस और रीएंट्रेंट सर्विस रूटीन्स को पास किया जाता है [SWS_Dcm_00763], [SWS_Dcm_00764]। इस दौरान, पेलोड पॉइंटर्स reqData और resData हमेशा सीधे सर्विस आइडेंटिफ़ायर (SID) के बाद इंगित करते हैं, और लंबाई विनिर्देश reqDataLen और resDataLen में SID शामिल नहीं होता है [SWS_Dcm_00994]। DSD सबमॉड्यूल ट्रांसमिट बफ़र में कॉपी करते समय रिस्पॉन्स SID को पहली स्थिति में फिर से सम्मिलित करता है [SWS_Dcm_00223], [SWS_Dcm_00224]।
उपयोग करते समय निम्नलिखित पहलुओं पर विचार किया जाना चाहिए:
- प्रतिक्रिया लंबाई और विफलता की स्थिति: यदि जनरेट की गई प्रतिक्रिया लंबाई प्रोटोकॉल-निर्भर फ़ील्ड
resMaxDataLenद्वारा परिभाषित बफ़र सीमा से अधिक हो जाती है औरDcmPagedBufferEnabled == FALSEहै, तो DCM नकारात्मक रिस्पॉन्स कोड 0x14 (DCM_E_RESPONSETOOLONG) के साथ उत्तर देता है [SWS_Dcm_01059]। यदि सर्विस हैंडलर में प्रोसेसिंग विफल हो जाती है, तो एप्लिकेशन त्रुटि कोड के साथE_NOT_OKरिपोर्ट करता है [SWS_Dcm_00763]। - अतिरिक्त जानकारी और प्रतिक्रिया का दमन:
msgAddInfoके माध्यम से अन्य बातों के साथ-साथsuppressPosRspMsgIndicationBitस्थानांतरित किया जाता है; यदि यह सेट है, तो DSD सकारात्मक प्रतिक्रियाओं को दबा देता है [SWS_Dcm_00202], [SWS_Dcm_00231]। - लाइफ़टाइम और संदर्भ असाइनमेंट: पुष्टि मिलने पर संरचना अपनी वैधता खो देती है और सभी संदेश डेटा खो जाते हैं [SWS_Dcm_00994]। मूल अनुरोध के साथ बाद की पुष्टि को संबद्ध करने के लिए एप्लिकेशन को अनुरोध शुरू होते ही पहचानकर्ता
idContextको सुरक्षित करना चाहिए [SWS_Dcm_00994]। - प्रोटोकॉल संदर्भ: फ़ील्ड
dcmRxPduIdप्राप्त PDU की पहचान करता है और डायग्नोस्टिक प्रोटोकॉल के आधार पर विभेदित प्रबंधन की अनुमति देता है, उदाहरण के लिए OBD और विस्तारित डायग्नोस्टिक्स के बीच [SWS_Dcm_00994]।
Interpretation: चूँकि संदर्भ पुष्टि पर अमान्य हो जाता है, इसलिए अंतर्निहित मेमोरी बफ़र को प्रतिक्रिया भेजने के तुरंत बाद बाद के संचार के लिए DSL द्वारा जारी या अधिलेखित (overwrite) कर दिया जाना संभावित है। प्रश्न Q-88e3cf2f3d8f6076 (खुला)
यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप Dcm_ExtendedOpStatusType [SWS_Dcm_91015] 📄 PDF
प्रकार Dcm_ExtendedOpStatusType uint8 पर आधारित है और हेडर फ़ाइल Dcm.h के माध्यम से प्रदान किया जाता है [SWS_Dcm_91015]। यह इनपुट पैरामीटर OpStatus के रूप में एसिंक्रोनस निदान और सब-सर्विस फ़ंक्शंस जैसे कि <Module>_<DiagnosticService> [SWS_Dcm_00763] और <Module>_<DiagnosticService>_<SubService> [SWS_Dcm_00764] में निष्पादन चरणों और पुष्टियों को नियंत्रित करता है।
परिभाषित स्थिति मान ऑपरेशन की प्रगति और DCM की प्रतिक्रियाओं को संकेतित करते हैं [SWS_Dcm_91015]:
DCM_INITIAL(0x00): ऑपरेशन का पहला कॉल।DCM_PENDING(0x01): पिछले कॉल में रिपोर्ट की गई मध्यवर्ती स्थिति (Pending) के बाद अनुवर्ती कॉल।DCM_CANCEL(0x02): चल रहे ऑपरेशन को निरस्त करने के लिए DCM द्वारा अनुरोध।DCM_FORCE_RCRRP_OK(0x03): लंबित प्रतिक्रिया (Response Pending) के संचरण की पुष्टि।DCM_POS_RESPONSE_SENT(0x04) औरDCM_POS_RESPONSE_FAILED(0x05): सकारात्मक प्रतिक्रिया के सफल अथवा असफल प्रेषण की पावती।DCM_NEG_RESPONSE_SENT(0x06) औरDCM_NEG_RESPONSE_FAILED(0x07): नकारात्मक प्रतिक्रिया के सफल अथवा असफल प्रेषण की पावती।
कॉन्करेंसी के संबंध में, कॉल किए गए डायग्नोस्टिक इंटरफेस को रीएंट्रेंट और एसिंक्रोनस के रूप में निर्दिष्ट किया गया है [SWS_Dcm_00763] [SWS_Dcm_00764]। त्रुटियों के मामले में, सर्विस फ़ंक्शन रिटर्न मान E_NOT_OK प्रदान करता है और आउटपुट पैरामीटर ErrorCode को एक नकारात्मक प्रतिक्रिया कोड (NRC) असाइन करता है, जिसके बाद DCM मॉड्यूल इस कोड के साथ एक नकारात्मक प्रतिक्रिया भेजता है [SWS_Dcm_00763] [SWS_Dcm_00764]।
यह पाठ विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप Dcm_OpStatusType [SWS_Dcm_00984] 📄 PDF
प्रकार Dcm_OpStatusType uint8 पर आधारित है और हेडर फ़ाइल Rte_Dcm_Type.h के माध्यम से प्रदान किया जाता है [SWS_Dcm_00984]। यह Diagnostic Communication Manager (DCM) के एसिंक्रोनस डायग्नोस्टिक संचालन, जैसे कि Dcm_ReadMemory [SWS_Dcm_00539], Dcm_WriteMemory [SWS_Dcm_00540] या Dcm_SetProgConditions [SWS_Dcm_00543] की निष्पादन और जीवनचक्र स्थिति को नियंत्रित करता है।
ऑपरेशन वर्कफ़्लो के नियंत्रण के लिए चार स्थिति मान परिभाषित हैं [SWS_Dcm_00984]:
DCM_INITIAL(0x00): DCM द्वारा किसी ऑपरेशन के पहले कॉल को इंगित करता है [SWS_Dcm_00527]।DCM_PENDING(0x01): किसी लंबित स्थिति के पूर्व रिटर्न के बाद फ़ॉलो-अप कॉल का संकेत देता है [SWS_Dcm_00984]। यदि कोई ऑपरेशन त्रुटि मानDCM_E_PENDINGलौटाता है, तो DCM इस ऑपरेशन कोDcm_MainFunctionके प्रत्येक बाद के चक्र मेंOpStatus = DCM_PENDINGके साथ फिर से कॉल करता है, जब तक कि प्रसंस्करण पूरा नहीं हो जाता [SWS_Dcm_00530]।DCM_CANCEL(0x02): कॉल की गई इकाई से किसी अभी भी लंबित एसिंक्रोनस ऑपरेशन को रद्द करने का स्पष्ट रूप से अनुरोध करता है [SWS_Dcm_00984]।DCM_FORCE_RCRRP_OK(0x03): Response-Pending संदेश (NRC 0x78) के सफल ट्रांसमिशन की पुष्टि करता है [SWS_Dcm_00984]। यदि ऑपरेशनDCM_E_FORCE_RCRRPके साथ उत्तर देता है, तो DCM RCR-RP भेजना आरंभ करता है और ट्रांसमिशन पूरा होने तक ऑपरेशन के आगे के कॉलों को निलंबित कर देता है [SWS_Dcm_00528]।
समवर्तीता और बाधाओं के संबंध में, जो ऑपरेशन Dcm_OpStatusType को पासिंग पैरामीटर के रूप में स्वीकार करते हैं, वे एसिंक्रोनस रूप से डिज़ाइन किए गए हैं और गैर-reentrant के रूप में निर्दिष्ट हैं [SWS_Dcm_00539] [SWS_Dcm_00754]।
यह पाठ AI द्वारा जनरेट किया गया था और विनिर्देश के लिए एक मार्गदर्शन के रूप में कार्य करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप Dcm_ConfirmationStatusType [SWS_Dcm_00983] 📄 PDF
उपयोग और मान श्रेणी
डेटा प्रकार Dcm_ConfirmationStatusType uint8 से व्युत्पन्न एक एन्यूमिरेशन प्रकार है, जो हेडर फ़ाइल Rte_Dcm_Type.h के माध्यम से उपलब्ध कराया जाता है [SWS_Dcm_00983]। इसका उपयोग भेजी गई डायग्नोस्टिक प्रतिक्रिया की स्थिति—सफल ट्रांसमिशन और ट्रांसमिशन त्रुटियों दोनों के मामले में—एप्लिकेशन या आंतरिक सर्विस हैंडलर को रिपोर्ट करने के लिए किया जाता है [SWS_Dcm_01342]। मान सीमा में चार असतत स्थितियाँ शामिल हैं [SWS_Dcm_00983]:
DCM_RES_POS_OK(0x00): व्याख्या: सकारात्मक डायग्नोस्टिक प्रतिक्रिया सफलतापूर्वक प्रेषित की गई थी। प्रश्न (खुला)DCM_RES_POS_NOT_OK(0x01): व्याख्या: सकारात्मक डायग्नोस्टिक प्रतिक्रिया के ट्रांसमिशन के दौरान एक त्रुटि हुई। प्रश्न (खुला)DCM_RES_NEG_OK(0x02): व्याख्या: नकारात्मक डायग्नोस्टिक प्रतिक्रिया (NRC) सफलतापूर्वक प्रेषित की गई थी। प्रश्न (खुला)DCM_RES_NEG_NOT_OK(0x03): व्याख्या: नकारात्मक डायग्नोस्टिक प्रतिक्रिया के ट्रांसमिशन के दौरान एक त्रुटि हुई। प्रश्न (खुला)
परस्पर क्रिया और इंटरफ़ेस
पुष्टि स्थिति को सिंक्रोनस कॉलबैक फ़ंक्शनों में इनपुट पैरामीटर (IN) के रूप में पास किया जाता है। जेनेरिक पुष्टि इंटरफ़ेस Xxx_Confirmation में, पैरामीटर को सर्विस पहचानकर्ता (SID), एड्रेसिंग प्रकार (ReqType), कनेक्शन ID (ConnectionId), प्रोटोकॉल प्रकार और टेस्टर स्रोत पते के साथ प्रेषित किया जाता है [SWS_Dcm_01342]। इसी प्रकार, इंटरफ़ेस ServiceRequestNotification ऑपरेशन Confirmation के माध्यम से इस स्थिति को एकीकृत करता है [SWS_Dcm_00694]।
रूटीन सेवाओं के निष्पादन में, व्यक्तिगत रूटीन संचालन के पूरा होने के बाद ट्रांसमिशन स्थिति की रिपोर्ट करने के लिए इस प्रकार का विशेष रूप से उपयोग किया जाता है। इसके लिए Dcm_Externals.h में घोषित कॉलबैक Xxx_StartConfirmation [SWS_Dcm_91016], Xxx_StopConfirmation [SWS_Dcm_91017] और Xxx_RequestResultsConfirmation [SWS_Dcm_91018] कार्य करते हैं।
समवर्तीता और निष्पादन
पुष्टि के लिए फ़ंक्शन एक Std_ReturnType लौटाते हैं (उदा. E_OK या E_NOT_OK) [SWS_Dcm_01342], [SWS_Dcm_91016]। सभी उल्लिखित इंटरफ़ेस कॉल सिंक्रोनस रूप से निष्पादित होते हैं और इन्हें नॉन-रीएंट्रेंट (Non Reentrant) घोषित किया गया है [SWS_Dcm_01342], [SWS_Dcm_91016], [SWS_Dcm_91017], [SWS_Dcm_91018]।
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
टाइप Dcm_SecLevelType [SWS_Dcm_00977] 📄 PDF
Security Level type definition
टाइप Dcm_SesCtrlType [SWS_Dcm_00978] 📄 PDF
Session type definition. 0, 127 and all values above 127 are reserved by ISO.
टाइप Dcm_ProtocolType [SWS_Dcm_00979] 📄 PDF
Type Dcm_ProtocolType.
टाइप Dcm_NegativeResponseCodeType [SWS_Dcm_00980] 📄 PDF
Type Dcm_NegativeResponseCodeType.
टाइप Dcm_DataArrayType [SWS_Dcm_01121] 📄 PDF
टाइप Dcm_InfoType [SWS_Dcm_01013] 📄 PDF
टाइप Dcm_RequestDataArrayType [SWS_Dcm_01165] 📄 PDF
टाइप Dcm_InputOutputControlParameterType [SWS_Dcm_01305] 📄 PDF
टाइप Dcm_IOOperationResponseType [SWS_Dcm_01307] 📄 PDF
टाइप Dcm_DidSupportedType [SWS_Dcm_01138] 📄 PDF
टाइप Dcm_FileAndDirNameType [SWS_Dcm_91066] 📄 PDF
टाइप Dcm_ResponseDataArrayType [SWS_Dcm_91064] 📄 PDF
टाइप Dcm_AuthenticationRoleType [SWS_Dcm_91068] 📄 PDF
डेटा प्रकार Dcm_AuthenticationRoleType एक बाइट ऐरे (uint8) के रूप में निर्दिष्ट है, जिसका आकार कॉन्फ़िगरेशन पैरामीटर DcmDspAuthenticationRoleSize द्वारा निर्धारित होता है [SWS_Dcm_91068]। यह हेडर फ़ाइल Rte_Dcm_Type.h के माध्यम से प्रदान किया जाता है और DCM मॉड्यूल में प्रमाणीकरण भूमिकाओं के औपचारिक प्रतिनिधित्व के लिए कार्य करता है [SWS_Dcm_91068]।
व्यावहारिक अनुप्रयोग में, यह प्रकार गैर-प्रमाणीकृत डायग्नोस्टिक कनेक्शनों के लिए भूमिकाएं निर्धारित करने हेतु एक इनपुट पैरामीटर के रूप में कार्य करता है:
- उपयोग और सिमेंटिक्स: प्रकार को C-फ़ंक्शन
Dcm_SetDeauthenticatedRole(Dcm.hके माध्यम से उपलब्ध) [SWS_Dcm_91069] के साथ-साथ सर्विस इंटरफ़ेसAuthentication[SWS_Dcm_91072] के ऑपरेशनSetDeauthenticatedRoleमें इनपुट पैरामीटरdeauthenticatedRoleके रूप में पास किया जाता है। इसके साथ,connectionIdके माध्यम से पहचाने जाने वाले एक कनेक्शन को एक डी-ऑथेंटिकेटेड भूमिका समकालिक रूप से (synchronously) सौंपी जाती है [SWS_Dcm_91069]। - समवर्तीता और वैधता: C-API
Dcm_SetDeauthenticatedRoleरीएंट्रेंट के रूप में निर्दिष्ट है [SWS_Dcm_91069]। एक निर्दिष्ट भूमिका संबंधित कनेक्शन के लिए तब तक सक्रिय रहती है जब तक कि वह प्रमाणीकृत स्थिति में परिवर्तित न हो जाए या ECU रीसेट न हो जाए [SWS_Dcm_91069], [SWS_Dcm_91072]। - त्रुटि प्रबंधन: प्रकार और संबंधित ऑपरेशनों के लिए कोई विशिष्ट त्रुटि कोड मौजूद नहीं हैं; फ़ंक्शन डिफ़ॉल्ट रूप से हमेशा
E_OKलौटाता है [SWS_Dcm_91069], [SWS_Dcm_91072]।
यह पाठ विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप DiagnosticSessionControlModeSwitchInterface [SWS_Dcm_91033] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Diagnostic Session
उपयोग
इंटरफ़ेस तत्व DiagnosticSessionControlModeSwitchInterface, [SWS_Dcm_91033] के अनुसार DCM मॉड्यूल के एक प्रदान किए गए पोर्ट (PPortPrototype या ProvidedPort) के रूप में घोषित है और इंटरफ़ेस Dcm_DiagnosticSessionControlModeSwitchInterface का उपयोग करता है। [SWS_Dcm_91033] में विनिर्देश के अनुसार, यह पोर्ट सॉफ़्टवेयर घटकों (SW-Cs) को सक्रिय डायग्नोस्टिक सत्र (Diagnostic Session) के परिवर्तन और वर्तमान स्थिति के बारे में सूचित करने का कार्य करता है।
Interpretation: DCM मॉड्यूल संभवतः यहाँ प्रेषक (sender) की भूमिका निभाता है, जो डायग्नोस्टिक सत्र के स्थिति परिवर्तनों को RTE के माध्यम से इच्छुक सॉफ़्टवेयर घटकों को अग्रेषित करता है। प्रश्न Q-6af0e97b6910087d (खुला) कनेक्टेड SW-Cs इन मोड परिवर्तनों को कॉन्फ़िगर किए गए Mode-Switch इवेंट्स के माध्यम से प्राप्त और संसाधित कर सकते हैं, ताकि आंतरिक प्रक्रियाओं, अनुमतियों या अपने कार्यात्मक व्यवहार को संबंधित सक्रिय डायग्नोस्टिक सत्र के अनुसार अनुकूलित किया जा सके।
त्रुटि प्रबंधन और सीमा शर्तें
इस पोर्ट के लिए [SWS_Dcm_91033] में कोई विशिष्ट त्रुटि कोड (error codes), रिटर्न मान या DET अथवा DEM को सूचनाएं परिभाषित नहीं हैं। Interpretation: इसलिए ट्रांसमिशन के दौरान संभावित त्रुटि स्थितियों की पूरी तरह से AUTOSAR-RTE और DCM बेस मॉड्यूल के सामान्य तंत्रों द्वारा निगरानी और निपटारा किए जाने की संभावना है। प्रश्न Q-a8055458432174f6 (खुला) रीएंट्रेंसी या कॉल संदर्भ के संबंध में कोई विशेष प्रतिबंध विनिर्देश डेटा में शामिल नहीं हैं और इसलिए उन पर आगे विचार नहीं किया गया है।
यह पाठ AUTOSAR R20-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप EcuResetModeSwitchInterface [SWS_Dcm_91034] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about an upcoming ECU Reset and its type
पोर्ट तत्व EcuResetModeSwitchInterface, [SWS_Dcm_91034] के अनुसार DCM मॉड्यूल के एक प्रदान किए गए पोर्ट (ProvidedPort या PPortPrototype) के रूप में निर्दिष्ट है। यह इंटरफ़ेस Dcm_EcuResetModeSwitchInterface का उपयोग करता है और सॉफ़्टवेयर घटकों (SW-Cs) को ECU के आगामी रीसेट के साथ-साथ सटीक रीसेट प्रकार के बारे में सूचित करने का कार्य करता है [SWS_Dcm_91034]।
सिस्टम में उपयोग और परस्पर क्रिया (interaction) के लिए निम्नलिखित पहलू लागू होते हैं:
- संचार भूमिका: DCM मोड परिवर्तन के प्रेषक के रूप में कार्य करता है। इच्छुक SW-Cs अधिसूचना पर प्रतिक्रिया देने के लिए संगत रिसीवर पोर्ट्स (R-Ports) के माध्यम से बाइंड होते हैं [SWS_Dcm_91034]।
- मोड परिवर्तन सिमेंटिक्स:
ModeSwitchInterfaceके रूप में यहाँ कोई क्लाइंट-सर्वर रिटर्न मान या डेटा पैरामीटर प्रेषित नहीं किए जाते हैं, बल्कि RTE के माध्यम से स्थिति परिवर्तन संकेतित किए जाते हैं [SWS_Dcm_91034]। इस प्रकार अधिसूचना इंटरफ़ेस के Mode घोषणाओं के माध्यम से होती है। - घटकों की प्रतिक्रिया: सूचित किए गए रीसेट प्रकार के माध्यम से SW-Cs आगामी पुनरारंभ (restart) के प्रकार के बारे में जानकारी प्राप्त करते हैं [SWS_Dcm_91034]। यह संभवतः अनुप्रयोगों (applications) को गैर-वाष्पशील मेमोरी (non-volatile memory) में अस्थिर रनटाइम डेटा को व्यवस्थित रूप से संग्रहीत करने या पुनरारंभ से पहले परिधीय हार्डवेयर को एक सुरक्षित स्थिति में लाने में सक्षम बनाता है (Interpretation)। प्रश्न Q-4dcf9314d84b53a0 (खुला)
- त्रुटि प्रबंधन: इंटरफ़ेस परिभाषा में स्वयं SW-Cs की त्रुटि स्थितियों के लिए कोई त्रुटि संदेश या रिटर्न चैनल शामिल नहीं हैं [SWS_Dcm_91034]।
यह पाठ AI द्वारा जनरेट किया गया था और AUTOSAR रिलीज़ R20-11 पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप ModeRapidPowerShutDownModeSwitchInterface [SWS_Dcm_91035] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the rapid power shut down mode
इंटरफ़ेस ModeRapidPowerShutDownModeSwitchInterface, [SWS_Dcm_91035] के अनुसार मॉड्यूल Dcm में इंटरफ़ेस Dcm_ModeRapidPowerShutDownModeSwitchInterface के लिए PPortPrototype (ProvidedPort) के रूप में निर्दिष्ट है। यह सॉफ़्टवेयर घटकों (SW-Cs) को तीव्र पावर शटडाउन मोड (Rapid Power Shut Down Mode) के बारे में सूचित करने का कार्य करता है।
उपयोग, व्यवहार और परस्पर क्रिया के संबंध में निम्नलिखित पहलू प्रासंगिक हैं:
- उपयोग और सिमेंटिक्स:
ModeSwitchInterfaceके माध्यम से DCM कनेक्टेड SW-Cs को मोड परिवर्तनों का संकेत देता है। कॉल संदर्भ DCM मॉड्यूल के भीतर होता है, जो मोड परिवर्तन का कारण बनता है; प्राप्तकर्ताओं को ट्रांसमिशन RTE के माध्यम से अतुल्यकालिक रूप से (asynchronously) होता है [SWS_Dcm_91035]। - त्रुटि प्रबंधन: पोर्ट परिभाषा में कोई विशिष्ट त्रुटि कोड, रिटर्न मान या DET/DEM इवेंट शामिल नहीं हैं। इसलिए मोड ट्रांसमिशन में त्रुटियों को संभवतः Mode-Switch पोर्ट्स के लिए AUTOSAR-RTE के मानक तंत्रों द्वारा पूरी तरह से रोक लिया जाता है। प्रश्न Q-16537a6a4e19e40b (खुला)
- समवर्तीता और सीमाएँ: अधिसूचना DCM के निष्पादन संदर्भ (execution context) में होती है। प्राप्त करने वाले SW-Cs संभवतः मोड-ट्रिगर्ड Runnables के माध्यम से सक्रिय होते हैं और उन्हें इस तरह से डिज़ाइन किया जाना चाहिए कि वे बिना किसी ब्लॉकिंग विलंब के तीव्र शटडाउन के लिए क्रियाएं निष्पादित करें। प्रश्न Q-20f196c7af208288 (खुला)
यह पाठ AUTOSAR विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप ControlDTCSettingModeSwitchInterface [SWS_Dcm_91037] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the DTC Setting mode
उपयोग और उद्देश्य
तत्व ControlDTCSettingModeSwitchInterface, [SWS_Dcm_91037] के अनुसार Diagnostic Communication Manager (DCM) का एक Provided-Port (PPortPrototype) के रूप में प्रदान किया गया ModeSwitchInterface है। इसका प्राथमिक कार्य कनेक्टेड सॉफ़्टवेयर घटकों (SW-Cs) को DTC सेटिंग मोड (DTC Setting mode) की वर्तमान स्थिति के बारे में सूचित करना है।
यहाँ पोर्ट इंटरफ़ेस के रूप में Dcm_ControlDTCSettingModeSwitchInterface का उपयोग किया जाता है [SWS_Dcm_91037]। चूँकि DCM इस पोर्ट को एक Provided-Port के रूप में घोषित करता है, इसलिए डायग्नोस्टिक मॉड्यूल मोड मैनेजर या प्रेषक की भूमिका निभाता है। एप्लिकेशन घटक स्थिति परिवर्तनों को प्राप्त करने और अपने आंतरिक व्यवहार को अनुकूलित करने के लिए संगत Required-Ports के माध्यम से बाइंड हो सकते हैं।
परस्पर क्रिया और सिस्टम एकीकरण
सिस्टम संयोजन में परस्पर क्रिया डायग्नोस्टिक कमांड्स और एप्लिकेशन लॉजिक के डीकपलिंग (अलगाव) पर केंद्रित है:
- मोड प्रसार: प्रदान किए गए पोर्ट के माध्यम से DCM, SW-Cs को सूचित करता है कि डायग्नोस्टिक त्रुटि कोड का भंडारण और अद्यतनीकरण सक्रिय है या अक्षम (locked) है [SWS_Dcm_91037]। AUTOSAR रनटाइम परिवेश में SW-Cs की अधिसूचना संभवतः RTE के मानक Mode-Switch-Events के माध्यम से होती है। प्रश्न Q-8c0918099f2aa797 (खुला)
- डायग्नोस्टिक उत्पत्ति: DTC-Setting मोड का स्विचिंग संभवतः सीधे ControlDTCSetting (Service 0x85) जैसी UDS डायग्नोस्टिक सेवाओं के संदर्भ में होता है, जिसके माध्यम से कोई बाहरी परीक्षक (external tester) अस्थायी रूप से त्रुटि-लॉगिंग को रोक सकता है। प्रश्न Q-f2555e0641476955 (खुला)
त्रुटि प्रबंधन और सीमा शर्तें
चूँकि [SWS_Dcm_91037] में विनिर्देश न तो विशिष्ट त्रुटि कोड और न ही DET संदेश या रिटर्न मान परिभाषित करता है, मोड ट्रांसमिशन विशुद्ध रूप से RTE के तंत्रों के माध्यम से घोषणात्मक रूप से होता है। पोर्ट घोषणा के लिए विशेष कॉल संदर्भ या रीएंट्रेंसी आवश्यकताएं निर्दिष्ट नहीं हैं।
यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप SecurityAccessModeSwitchInterface [SWS_Dcm_91039] 📄 PDF
A ModeSwitchInterface PPortPrototype used to notify SW-Cs about the current Security Level
पोर्ट तत्व SecurityAccessModeSwitchInterface, DCM मॉड्यूल में इंटरफ़ेस Dcm_SecurityAccessModeSwitchInterface के आधार पर एक Provided-Port (PPortPrototype) प्रदान करता है [SWS_Dcm_91039]। इस इंटरफ़ेस का उद्देश्य सॉफ़्टवेयर घटकों (SW-Cs) को वर्तमान में सक्रिय सुरक्षा स्तर (Security Level) के बारे में सूचित करना है [SWS_Dcm_91039]।
उपयोग और अंतःक्रिया
अधिसूचना DCM के पोर्ट के माध्यम से कनेक्टेड घटकों को भेजी जाती है [SWS_Dcm_91039]। यह प्रावधान संभवतः AUTOSAR-RTE के माध्यम से Mode-Switch संचार के रूप में कार्यान्वित होता है, जिससे कनेक्टेड SW-Cs Mode-Switch इवेंट्स के माध्यम से Security Level के स्थिति परिवर्तनों पर प्रतिक्रिया कर सकें (Interpretation)। प्रश्न Q-d86dacdb91979b87 (खुला) पोर्ट विवरण में पैरामीटर, रिटर्न मान या विशिष्ट सिंक्रोनस फ़ंक्शन कॉल परिभाषित नहीं हैं [SWS_Dcm_91039]; इसलिए ट्रांसमिशन संभवतः एक मोड मैनेजर के एसिंक्रोनस ब्रॉडकास्ट सिमेंटिक्स से मेल खाता है (Interpretation)। प्रश्न Q-9d750df4f73b1634 (खुला)
त्रुटि प्रबंधन और सीमाएँ
चूँकि यह विशुद्ध रूप से एक मोड स्विचिंग है, इसलिए विनिर्देश में किसी विशिष्ट त्रुटि कोड, पैरामीटर जांच या DET अथवा DEM को संदेशों का उल्लेख नहीं है [SWS_Dcm_91039]। इंटरफ़ेस में अधिसूचना के समय प्रत्यक्ष त्रुटि प्रबंधन प्रदान नहीं किए जाने की संभावना है (Interpretation)। प्रश्न (खुला) पोर्ट तत्व के लिए रीएंट्रेंसी या भिन्न वेरिएंट्स के संबंध में कोई प्रतिबंध निर्दिष्ट नहीं हैं [SWS_Dcm_91039]।
यह उपयोग निर्देश स्वचालित रूप से जनरेट किया गया था और AUTOSAR रिलीज़ R20-11 की आवश्यकताओं पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप DcmDiagnosticSessionControl [SWS_Dcm_91019] 📄 PDF
ModeDeclarationGroup representing the different diagnostic sessions Further modes to be added: {ecuc(Dcm/DcmConfigSet/DcmDsp/DcmDspSession/ DcmDspSessionRow.SHORT-NAME)}
टाइप DcmEcuReset [SWS_Dcm_91021] 📄 PDF
ModeDeclarationGroup representing the different ECU reset types
टाइप DcmModeRapidPowerShutDown [SWS_Dcm_91023] 📄 PDF
ModeDeclarationGroup representing the enable/disable state of rapid power shutdown
ModeDeclarationGroup DcmModeRapidPowerShutDown ECU में रैपिड पावर शटडाउन (Rapid Power Shutdown) के एक्टिवेशन स्थिति के प्रतिनिधित्व के लिए कार्य करता है [SWS_Dcm_91023]। यह एलिमेंट श्रेणी EXPLICIT_ORDER को सौंपा गया है और दो ठोस मोड्स को परिभाषित करता है: संख्यात्मक मान 0 के साथ प्रारंभिक मोड DCM_ENABLE_RAPIDPOWERSHUTDOWN और मान 1 के साथ DCM_DISABLE_RAPIDPOWERSHUTDOWN [SWS_Dcm_91023]। मोड ट्रांज़िशन्स के लिए ट्रांज़िशन मान 255 (On transition value) निर्दिष्ट किया गया है [SWS_Dcm_91023]।
पारस्परिक क्रिया और मोड प्रबंधन
संपूर्ण सिस्टम में, DCM मॉड्यूल कई डायग्नोस्टिक मोड्स के लिए Mode Manager के रूप में कार्य करता है, जिसमें डायग्नोस्टिक सेवा 0x11 (ECU Reset) के संदर्भ में DcmModeRapidPowerShutDown भी शामिल है [SWS_Dcm_00775]। इसके लिए, बेसिक सॉफ़्टवेयर के भीतर DCM इस ModeDeclarationGroup [SWS_Dcm_00807] के आधार पर अपने BSW मॉड्यूल इंस्टेंस में provided-ModeGroup के रूप में ModeDeclarationGroupPrototype DcmModeRapidPowerShutDown को परिभाषित करता है।
एप्लिकेशन घटक (SW-Cs), जिन्हें रैपिड पावर शटडाउन की वर्तमान एक्टिवेशन स्थिति के बारे में सूचित किया जाना आवश्यक है, मानकीकृत सर्विस इंटरफ़ेस Dcm_ModeRapidPowerShutDownModeSwitchInterface को [SWS_Dcm_91024] से कनेक्ट करते हैं। इसके मोड ग्रुप modeRapidPowerShutDown के माध्यम से, वे रनटाइम पर DCM के संबंधित मोड परिवर्तनों को प्राप्त करते हैं [SWS_Dcm_91024]।
यह उपयोग नोट AUTOSAR R20-11 की विनिर्देश आवश्यकताओं के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप DcmCommunicationControl [SWS_Dcm_91025] 📄 PDF
ModeDeclarationGroup representing the different communication control states
टाइप DcmControlDTCSetting [SWS_Dcm_91027] 📄 PDF
ModeDeclarationGroup representing the enable/disable state for DTC storage
टाइप DcmResponseOnEvent [SWS_Dcm_91029] 📄 PDF
ModeDeclarationGroup representing the state of a Response On Event
टाइप 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)}
श्रेणी EXPLICIT_ORDER का ModeDeclarationGroup DcmSecurityAccess UDS सेवा 0x27 (SecurityAccess) के लिए किसी ECU के विभिन्न डायग्नोस्टिक सुरक्षा स्तरों का प्रतिनिधित्व करता है [SWS_Dcm_91031], [SWS_Dcm_00775]। प्रारंभिक मोड के रूप में, डिफ़ॉल्ट रूप से निश्चित मान 0 के साथ DCM_SEC_LEV_LOCKED निर्दिष्ट है [SWS_Dcm_91031], [SWS_Dcm_01327]। DCM_SEC_LEV_1 से DCM_SEC_LEV_63 तक के अतिरिक्त सुरक्षा स्तरों को DcmDspSecurityRow के तहत सुरक्षा पंक्तियों के कॉन्फ़िगरेशन के माध्यम से प्रोजेक्ट- और एप्लिकेशन-विशिष्ट रूप से जोड़ा जाता है [SWS_Dcm_91031], [SWS_Dcm_01327]।
DCM मॉड्यूल इस डायग्नोस्टिक मोड के लिए Mode Manager के रूप में केंद्रीय भूमिका निभाता है [SWS_Dcm_00775]। सुरक्षा स्तर में प्रत्येक परिवर्तन पर, DCM नव-गृहीत सुरक्षा स्थिति के साथ मोड ग्रुप DcmSecurityAccess को अपडेट करता है [SWS_Dcm_01329]। अलग-अलग मोड्स के बीच चल रहे स्थिति परिवर्तन के दौरान, सिस्टम परिभाषित ट्रांज़िशन मान 255 (On transition value) का संकेत देता है [SWS_Dcm_91031]।
सॉफ़्टवेयर घटकों को वर्तमान सुरक्षा स्थिति का प्रेषण सर्विस इंटरफ़ेस Dcm_SecurityAccessModeSwitchInterface के माध्यम से होता है [SWS_Dcm_91032]:
- DCM इसके लिए इंटरफ़ेस के माध्यम से प्रदत्त मोड ग्रुप (provided-ModeGroup) के रूप में
ModeDeclarationGroupPrototypeDcmSecurityAccessउपलब्ध कराता है [SWS_Dcm_01327], [SWS_Dcm_91032]। - प्रत्येक सॉफ़्टवेयर घटक (SW-C), जिसे वर्तमान Security Level के बारे में सूचित किया जाना आवश्यक है, ModeSwitch इंटरफ़ेस
Dcm_SecurityAccessModeSwitchInterfaceपर एक निर्भरता घोषित करता है और इसे Required-Port के रूप में एकीकृत करता है [SWS_Dcm_91032]। - इंटरफ़ेस में अलग-अलग मोड्स की उपलब्धता उन्हीं कॉन्फ़िगरेशन वेरिएंट्स के अधीन होती है जो अंतर्निहित सुरक्षा पंक्तियों [SWS_Dcm_91032] के लिए हैं।
यह पाठ AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता 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#f3141ff6- Content hash
f3141ff6- 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 · जर्मन मूल