Diagnostic Event Manager (DEM)
The DEM is responsible for processing and storing diagnostic events, fault memories, DTC statuses, and associated freeze frame data.
Funktionen — Übersicht
void Dem_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.void Dem_PreInit (void);Initializes the internal states necessary to process events reported by BSW-modules.void Dem_Init (const Dem_ConfigType* ConfigPtr);Initializes or reinitializes this module.void Dem_Shutdown (void);Shuts down this module.Std_ReturnType Dem_ClearDTC (uint8 ClientId);Clears single DTCs, as well as groups of DTCs.Std_ReturnType Dem_ClearPrestoredFreezeFrame (Dem_EventIdType EventId);Clears a prestored freeze frame of a specific event.Std_ReturnType Dem_GetComponentFailed (Dem_ComponentIdType ComponentId, boolean* ComponentFailed);Gets the failed status of a DemComponent.Std_ReturnType Dem_GetDTCSelectionResult (uint8 ClientId);Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs.Std_ReturnType Dem_GetDTCSelectionResultForClearDTC (uint8 ClientId);Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs, respecting the settings if...Std_ReturnType Dem_GetEventUdsStatus (Dem_EventIdType EventId, Dem_UdsStatusByteType* UDSStatusByte);Gets the current UDS status byte assigned to the DTC for the eventStd_ReturnType Dem_GetMonitorStatus (Dem_EventIdType EventID, Dem_MonitorStatusType* MonitorStatus);Gets the current monitor status for an event.Std_ReturnType Dem_GetDebouncingOfEvent (Dem_EventIdType EventId, Dem_DebouncingStateType* DebouncingState);Gets the debouncing status of an event.Std_ReturnType Dem_GetDTCOfEvent (Dem_EventIdType EventId, Dem_DTCFormatType DTCFormat, uint32* DTCOfEvent);Gets the DTC of an event.Std_ReturnType Dem_GetDTCSuppression (uint8 ClientId, boolean* SuppressionStatus);Returns the suppression status of a specific DTC.Std_ReturnType Dem_GetEventAvailable (Dem_EventIdType EventId, boolean* AvailableStatus);Get the Event's availability.Std_ReturnType Dem_GetFaultDetectionCounter (Dem_EventIdType EventId, sint8* FaultDetectionCounter);Gets the fault detection counter of an event.Std_ReturnType Dem_GetIndicatorStatus (uint8 IndicatorId, Dem_IndicatorStatusType* IndicatorStatus);Gets the indicator status derived from the UDS status.Std_ReturnType Dem_GetEventFreezeFrameDataEx (Dem_EventIdType EventId, uint8 RecordNumber, uint16 DataId, uint8* DestBuffer, uint16* BufSize);Gets the data of a freeze frame by event.Std_ReturnType Dem_GetEventExtendedDataRecordEx (Dem_EventIdType EventId, uint8 RecordNumber, uint8* DestBuffer, uint16* BufSize);Gets the data of an extended data record by event.Std_ReturnType Dem_GetEventMemoryOverflow (uint8 ClientId, Dem_DTCOriginType DTCOrigin, boolean* OverflowIndication);Gets the event memory overflow indication status.Std_ReturnType Dem_GetNumberOfEventMemoryEntries (uint8 ClientId, Dem_DTCOriginType DTCOrigin, uint8* NumberOfEventMemoryEntries);Returns the number of entries currently stored in the requested event memory.Std_ReturnType Dem_ResetEventDebounceStatus (Dem_EventIdType EventId, Dem_DebounceResetStatusType DebounceResetStatus);Control the internal debounce counter/timer by BSW modules and SW-Cs.Std_ReturnType Dem_ResetEventStatus (Dem_EventIdType EventId);Resets the event failed status.Std_ReturnType Dem_RestartOperationCycle (uint8 OperationCycleId);Sets an operation cycle state.Std_ReturnType Dem_PrestoreFreezeFrame (Dem_EventIdType EventId);Captures the freeze frame data for a specific event.Std_ReturnType Dem_SelectDTC (uint8 ClientId, uint32 DTC, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin);Selects a DTC or DTC group as target for further operations.Std_ReturnType Dem_SetComponentAvailable (Dem_ComponentIdType ComponentId, boolean AvailableStatus);Set the availability of a specific DemComponent.Std_ReturnType Dem_SetDTCSuppression (uint8 ClientId, boolean SuppressionStatus);Set the suppression status of a specific DTC.Std_ReturnType Dem_SetEnableCondition (uint8 EnableConditionID, boolean ConditionFulfilled);Sets an enable condition.Std_ReturnType Dem_SetEventAvailable (Dem_EventIdType EventId, boolean AvailableStatus);Set the available status of a specific Event.Std_ReturnType Dem_SetEventConfirmationThresholdCounter (Dem_EventIdType EventId, uint8 FailureCycleCounterThreshold);Set the failure confirmation threshold of an event.Std_ReturnType Dem_SetEventStatus (Dem_EventIdType EventId, Dem_EventStatusType EventStatus);Called by SW-Cs or BSW modules to report monitor status information to the Dem.Std_ReturnType Dem_SetEventStatusWithMonitorData (Dem_EventIdType EventId, Dem_EventStatusType EventStatus, Dem_MonitorDataType monitorData0, Dem_MonitorDataType monitorData1);This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEvent ReportingType} ==...Std_ReturnType Dem_SetStorageCondition (uint8 StorageConditionID, boolean ConditionFulfilled);Sets a storage condition.Std_ReturnType Dem_SetWIRStatus (Dem_EventIdType EventId, boolean WIRStatus);Sets the WIR status bit via failsafe SW-Cs.void Dem_SetEventFailedWithSyncFreezeFrame (Dem_EventIdType EventId);If called the Dem sets the event to failed and this failed event requires that a snapshot record is captured, the Dem...Dem_DTCTranslationFormatType Dem_GetTranslationType (uint8 ClientId);Gets the supported DTC formats of the ECU.Std_ReturnType Dem_GetDTCStatusAvailabilityMask (uint8 ClientId, Dem_UdsStatusByteType* DTCStatusMask, Dem_DTCOriginType DTCOrigin);Gets the DTC Status availability mask of the selected fault memory.Std_ReturnType Dem_GetStatusOfDTC (uint8 ClientId, uint8* DTCStatus);Gets the status of a DTC.Std_ReturnType Dem_GetSeverityOfDTC (Dem_DTCSeverityType* DTCSeverity, uint8 ClientId);Gets the severity of the requested DTC.Std_ReturnType Dem_GetFunctionalUnitOfDTC (uint8 ClientId, uint8* DTCFunctionalUnit);Gets the functional unit of the requested DTC.Std_ReturnType Dem_SetDTCFilter (uint8 ClientId, uint8 DTCStatusMask, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin, boolean FilterWithSeverity, Dem_DTCSeverityType DTCSeverityMask, boolean FilterForFaultDetectionCounter);Sets the DTC Filter.Std_ReturnType Dem_GetNumberOfFilteredDTC (uint8 ClientId, uint16* NumberOfFilteredDTC);Gets the number of a filtered DTC.Std_ReturnType Dem_GetNextFilteredDTC (uint8 ClientId, uint32* DTC, uint8* DTCStatus);Gets the next filtered DTC matching the filter criteria.Std_ReturnType Dem_GetNextFilteredDTCAndFDC (uint8 ClientId, uint32* DTC, sint8* DTCFaultDetectionCounter);Gets the next filtered DTC and its associated Fault Detection Counter (FDC) matching the filter criteria.Std_ReturnType Dem_GetNextFilteredDTCAndSeverity (uint8 ClientId, uint32* DTC, uint8* DTCStatus, Dem_DTCSeverityType* DTCSeverity, uint8* DTCFunctionalUnit);Gets the next filtered DTC and its associated Severity matching the filter criteria.Std_ReturnType Dem_SetFreezeFrameRecordFilter (uint8 ClientId, Dem_DTCFormatType DTCFormat);Sets a freeze frame record filter.Std_ReturnType Dem_GetNextFilteredRecord (uint8 ClientId, uint32* DTC, uint8* RecordNumber);Gets the next freeze frame record number and its associated DTC stored in the event memory.Std_ReturnType Dem_GetDTCByOccurrenceTime (uint8 ClientId, Dem_DTCRequestType DTCRequest, uint32* DTC);Gets the DTC by occurrence time.Std_ReturnType Dem_DisableDTCRecordUpdate (uint8 ClientId);Disables the event memory update of a specific DTC (only one at one time).Std_ReturnType Dem_EnableDTCRecordUpdate (uint8 ClientId);Enables the event memory update of the DTC disabled by Dem_DisableDTCRecordUpdate() before.Std_ReturnType Dem_GetSizeOfExtendedDataRecordSelection (uint8 ClientId, uint32* SizeOfExtendedDataRecord);Gets the size of Extended Data Record by DTC selected by the call of Dem_SelectExtended DataRecord.Std_ReturnType Dem_GetSizeOfFreezeFrameSelection (uint8 ClientId, uint32* SizeOfFreezeFrame);Gets the size of freeze frame data by DTC selected by the call of Dem_SelectFreezeFrame Data.Std_ReturnType Dem_GetNextExtendedDataRecord (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);Gets extended data record for the DTC selected by Dem_SelectExtendedDataRecord.Std_ReturnType Dem_GetNextFreezeFrameData (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);Gets freeze frame data by the DTC selected by Dem_SelectFreezeFrameData.Std_ReturnType Dem_SelectExtendedDataRecord (uint8 ClientId, uint8 ExtendedDataNumber);Sets the filter to be used by Dem_GetNextExtendedDataRecord and Dem_GetSizeOfExtended DataRecordSelection.Std_ReturnType Dem_SelectFreezeFrameData (uint8 ClientId, uint8 RecordNumber);Sets the filter to be used by Dem_GetNextFreezeFrameData and Dem_GetSizeOfFreezeFrame Selection.Std_ReturnType Dem_GetNumberOfFreezeFrameRecords (uint8 ClientId, uint16* NumberOfFilteredRecords);This function returns the number of all freeze frame records currently stored in the primary event memoryStd_ReturnType Dem_DisableDTCSetting (uint8 ClientId);Disables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.Std_ReturnType Dem_EnableDTCSetting (uint8 ClientId);(Re)-Enables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.Std_ReturnType Dem_DcmGetInfoTypeValue08 (Dcm_OpStatusType OpStatus, uint8* Iumprdata08, uint8* Iumprdata08BufferSize);Service is used for requesting IUMPR data according to InfoType $08.Std_ReturnType Dem_DcmGetInfoTypeValue0B (Dcm_OpStatusType OpStatus, uint8* Iumprdata0B, uint8* Iumprdata0BBufferSize);Service is used for requesting IUMPR data according to InfoType $0B.Std_ReturnType Dem_DcmReadDataOfPID01 (uint8* PID01value);Service to report the value of PID $01 computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID1C (uint8* PID1Cvalue);Service to report the value of PID $1C computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID21 (uint8* PID21value);Service to report the value of PID $21 computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID30 (uint8* PID30value);Service to report the value of PID $30 computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID31 (uint8* PID31value);Service to report the value of PID $31 computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID41 (uint8* PID41value);Service to report the value of PID $41 computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID4D (uint8* PID4Dvalue);Service to report the value of PID $4D computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID4E (uint8* PID4Evalue);Service to report the value of PID $4E computed by the Dem.Std_ReturnType Dem_DcmReadDataOfPID91 (uint8* PID91value);Service to report the value of PID $91 computed by the Dem.Std_ReturnType Dem_DcmReadDataOfOBDFreezeFrame (uint8 PID, uint8 DataElementIndexOfPID, uint8* DestBuffer, uint16* BufSize);Gets data element per PID and index of the most important freeze frame being selected for the output of service $02.Std_ReturnType Dem_DcmGetDTCOfOBDFreezeFrame (uint8 FrameNumber, uint32* DTC, Dem_DTCFormatType DTCFormat);Gets DTC by freeze frame record number.Std_ReturnType Dem_DcmGetAvailableOBDMIDs (uint8 Obdmid, uint32* Obdmidvalue);Reports the value of a requested "availability-OBDMID" to the DCM upon a Service $06 request.Std_ReturnType Dem_DcmGetNumTIDsOfOBDMID (uint8 Obdmid, uint8* numberOfTIDs);Gets the number of TIDs per (functional) OBDMID.Std_ReturnType Dem_DcmGetDTRData (uint8 Obdmid, uint8 TIDindex, uint8* TIDvalue, uint8* UaSID, uint16* Testvalue, uint16* Lowlimvalue, uint16* Upplimvalue);Reports a DTR data along with TID-value, UaSID, test result with lower and upper limit.Std_ReturnType Dem_J1939DcmSetDTCFilter (Dem_J1939DcmDTCStatusFilterType DTCStatusFilter, Dem_DTCKindType DTCKind, Dem_DTCOriginType DTCOrigin, uint8 ClientId, Dem_J1939DcmLampStatusType* LampStatus);The function sets the DTC filter for a specific node and returns the composite lamp status of the filtered DTCs.Std_ReturnType Dem_J1939DcmGetNumberOfFilteredDTC (uint16* NumberOfFilteredDTC, uint8 ClientId);Gets the number of currently filtered DTCs set by the function Dem_J1939DcmSetDTCFilter.Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);Gets the next filtered J1939 DTC.void Dem_J1939DcmFirstDTCwithLampStatus (uint8 ClientId);The function sets the filter to the first applicable DTC for the DM31 response for a specific node.Std_ReturnType Dem_J1939DcmGetNextDTCwithLampStatus (Dem_J1939DcmLampStatusType* LampStatus, uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);Gets the next filtered J1939 DTC for DM31 including current LampStatus.Std_ReturnType Dem_J1939DcmClearDTC (Dem_J1939DcmSetClearFilterType DTCTypeFilter, Dem_DTCOriginType DTCOrigin, uint8 ClientId);Clears the status of all event(s) related to the specified DTC(s), as well as all associated event memory entries for these...Std_ReturnType Dem_J1939DcmSetFreezeFrameFilter (Dem_J1939DcmSetFreezeFrameFilterType FreezeFrameKind, uint8 ClientId);The function sets the FreezeFrame filter for a specific node.Std_ReturnType Dem_J1939DcmGetNextFreezeFrame (uint32* J1939DTC, uint8* OccurenceCounter, uint8* DestBuffer, uint16* BufSize, uint8 ClientId);Gets next freeze frame data.Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);Gets next SPN.Std_ReturnType Dem_J1939DcmSetRatioFilter (uint16* IgnitionCycleCounter, uint16* OBDMonitoringConditionsEncountered, uint8 ClientId);The function sets the Ratio filter for a specific node and returns the corresponding Ignition Cycle Counter and General...Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);Gets the next filtered Ratio.Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness (Dem_J1939DcmDiagnosticReadiness1Type* DataValue, uint8 ClientId);Service to report the value of Diagnostic Readiness 1 (DM05) computed by the Dem.Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness (Dem_J1939DcmDiagnosticReadiness2Type* DataValue, uint8 ClientId);Service to report the value of Diagnostic Readiness 2 (DM21) computed by the Dem.Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness (Dem_J1939DcmDiagnosticReadiness3Type* DataValue, uint8 ClientId);Service to report the value of Diagnostic Readiness 3 (DM26) computed by the Dem.Std_ReturnType Dem_SetEventDisabled (Dem_EventIdType EventId);Service for reporting the event as disabled to the Dem for the PID $41 computation.Std_ReturnType Dem_RepIUMPRFaultDetect (Dem_RatioIdType RatioID);Service for reporting that faults are possibly found because all conditions are fullfilled.Std_ReturnType Dem_SetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType ConditionStatus);In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to...Std_ReturnType Dem_GetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType* ConditionStatus);In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to...Std_ReturnType Dem_RepIUMPRDenRelease (Dem_RatioIdType RatioID);Service is used to release a denominator of a specific monitor.Std_ReturnType Dem_SetPtoStatus (boolean PtoStatus);API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.Std_ReturnType Dem_ReadDataOfPID01 (uint8* PID01value);Service to report the value of PID $01 computed by the Dem.Std_ReturnType Dem_GetDataOfPID21 (uint8* PID21value);Service to get the value of PID $21 from the Dem by a software component.Std_ReturnType Dem_SetDataOfPID21 (const uint8* PID21value);Service to set the value of PID $21 in the Dem by a software component.Std_ReturnType Dem_SetDataOfPID31 (const uint8* PID31value);Service to set the value of PID $31 in the Dem by a software component.Std_ReturnType Dem_SetDataOfPID4D (const uint8* PID4Dvalue);Service to set the value of PID $4D in the Dem by a software component.Std_ReturnType Dem_SetDataOfPID4E (const uint8* PID4Evalue);Service to set the value of PID $4E in the Dem by a software component.Std_ReturnType Dem_GetCycleQualified (uint8 OperationCycleId, boolean* isQualified);Returns the qualification state of the dependent operation cycle.Std_ReturnType Dem_SetCycleQualified (uint8 OperationCycleId);Sets a dependent operation cycle as qualified, so it may be processed along with its leading cycle.Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);Gets the DTC Severity availability mask.Std_ReturnType Dem_GetB1Counter (uint16* B1Counter);Service to report the value of the B1 counter computed by the Dem.Std_ReturnType Dem_SetDTR (uint16 DTRId, sint32 TestResult, sint32 LowerLimit, sint32 UpperLimit, Dem_DTRControlType Ctrlval);Reports a DTR result with lower and upper limit.Std_ReturnType Dem_CallbackEventSyncStorageProcessed (void);Called by the Dem after the internal processing of Dem_SetEventFailedWithSyncFreezeFrame is done and a further call of...void Dem_MainFunction (void);Processes all not event based Dem internal functions.
Typen — Übersicht
Dem_ComponentIdTypeIdentification of a DemComponent by assigned ComponentId.struct Dem_ConfigTypeThis type of the external data structure shall contain the post build initialization data for the Dem.Dem_DTCKindTypeThis type is used to filter DTCs for their kind.Dem_DTCRequestTypeThis type is used to request a DTC with specific attributes.Dem_DTCTranslationFormatTypeDTC translation format as defined in ISO14229-1.Dem_J1939DcmDTCStatusFilterTypeThe type to distinguish which DTCs should be filtered.Dem_J1939DcmSetClearFilterTypeThe type to distinguish which DTCs gets clearedDem_J1939DcmSetFreezeFrameFilterTypeThe type to distinguish which DTCs gets clearedenum Dem_J1939DcmLampStatusTypeFor details refer SAE J1939-73struct Dem_J1939DcmDiagnosticReadiness1TypeThis structure represents all data elemets of the DM05 message.struct Dem_J1939DcmDiagnosticReadiness2TypeThis structure represents all data elemets of the DM21 message.struct Dem_J1939DcmDiagnosticReadiness3TypeThis structure represents all data elemets of the DM26 message.Dem_DataTypeData type definition for external data elementsDem_DataPrimitiveTypeDem_DataArrayTypeArray data type definition for external data elementsenum Dem_DTCOriginTypeThis enum is used to define the location of the events.enum Dem_DebounceResetStatusTypeThis type contains all definitions to control an internal debounce counter/timer via the function Dem_ResetEventDebounceStatus().Dem_DTRControlTypeControl parameter for the interpretation of the reported test results.Dem_EventIdTypeIdentification of an event by assigned EventId.enum Dem_EventStatusTypeThis type contains all monitor test result values, which can be reported via Dem_SetEventStatus().Dem_DTCFormatTypeThis type is used to select the format of the DTC value.enum Dem_InitMonitorReasonType(Re-)Initialization reason returned by the callback _DemInitMonitorFor().Dem_IumprDenomCondIdTypeThis type contains all possible additional IUMPR denominator conditions to be broadcasted among OBD-relevant ECUs.enum Dem_IumprDenomCondStatusTypeThis type contains all possible states of an additional IUMPR denominator condition to be broadcasted among OBD-relevant ECUs.Dem_MaxDataValueTypeDem_MonitorDataTypeThis type is used to pass monitoring data to the Dem.enum Dem_IndicatorStatusTypeIndicator mode used by Dem_GetIndicatorStatus().Dem_PID21valueTypeDem_PID31valueTypeDem_RatioIdTypeOBD specific ratio Id (related to a specific event, a FID, and an IUMPR group).Dem_PID4DvalueTypeDem_PID4EvalueType
Funktionen & Typen — Detailansicht
फ़ंक्शन Dem_GetVersionInfo [SWS_Dem_00177] 📄 PDF
void Dem_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemVersionInfoApi)} == true)
फ़ंक्शन Dem_PreInit [SWS_Dem_00179] 📄 PDF
void Dem_PreInit (void);
Initializes the internal states necessary to process events reported by BSW-modules.
फ़ंक्शन Dem_PreInit सिस्टम स्टार्टअप के दौरान DEM मॉड्यूल की आंतरिक स्थितियों के पूर्व-आरंभीकरण (pre-initialization) के लिए कार्य करता है, जो BSW मॉड्यूल से इवेंट संदेशों के प्रारंभिक प्रसंस्करण के लिए आवश्यक हैं ([SWS_Dem_00179], [SWS_Dem_00180])। कॉल समकालिक होता है, नॉन-रीएंट्रेंट है और इसमें न तो कोई पास किया गया पैरामीटर है और न ही कोई रिटर्न मान है ([SWS_Dem_00179])।
Dem_PreInit के कॉल के साथ, काउंटर और टाइमर सहित आंतरिक डीबाउंस तंत्र आरंभ किए जाते हैं ([SWS_Dem_01213])। यदि कोई DEM-आंतरिक डीबाउंसिंग कॉन्फ़िगर की गई है, तो मॉड्यूल संबंधित डीबाउंस एल्गोरिदम को रीसेट करता है ([SWS_Dem_00438])।
Dem_PreInit के सफल समापन के बाद और Dem_Init के कॉल से पहले, चयनित इंटरफ़ेस और व्यवहार सक्षम होते हैं:
- इवेंट स्थिति और डीबाउंसिंग:
Dem_SetEventStatusके कॉलDEM_EVENT_STATUS_PREPASSEDऔरDEM_EVENT_STATUS_PREFAILEDस्थितियों के साथ डीबाउंसिंग के लिए समर्थित हैं ([SWS_Dem_01212])। हालाँकि,Dem_Initसे पहले रिपोर्ट किए गए सभी इवेंट मॉनिटर की स्थिति परिवर्तन के लिए कॉलबैक को ट्रिगर नहीं करते हैं ([SWS_Dem_01289])। - डीबाउंस स्थिति नियंत्रित करना: डीबाउंस काउंटरों को रीसेट करने या फ़्रीज़ करने के लिए फ़ंक्शन
Dem_ResetEventDebounceStatus,Dem_PreInitके पूरा होने के बाद BSW मॉड्यूल के लिए उपलब्ध होता है ([SWS_Dem_00180], [SWS_Dem_00683])। - पुष्टि सीमाएँ और परिचालन चक्र: DEM,
Dem_PreInitके बादDem_SetEventConfirmationThresholdCounterके कॉलों का समर्थन करता है ([SWS_Dem_01242])।Dem_RestartOperationCycleका कॉल भी केवल इसी समय से अनुमेय है; यदि कोई परिचालन चक्र (operation cycle)Dem_Initसे पहले पुनः प्रारंभ किया जाता है, तो पुनरारंभ का वास्तविक प्रसंस्करणDem_Initके बाद ही होता है ([SWS_Dem_01318])।
यह पाठ विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_Init [SWS_Dem_00181] 📄 PDF
void Dem_Init (const Dem_ConfigType* ConfigPtr);
Initializes or reinitializes this module.
सिंक्रोनस, गैर-पुनःप्रवेशी फ़ंक्शन Dem_Init [SWS_Dem_00181] के अनुसार Diagnostic Event Manager (DEM) मॉड्यूल को पूरी तरह से प्रारंभ या पुन: प्रारंभ करता है। इस कॉल के पूरा होने के बाद, DEM पूरी तरह से परिचालन के लिए तैयार होता है ([SWS_Dem_00340])। इनपुट पैरामीटर ConfigPtr के माध्यम से VARIANT-POST-BUILD में पोस्ट-बिल्ड कॉन्फ़िगरेशन डेटासेट का एक पॉइंटर पास किया जाता है ([SWS_Dem_00181])।
प्रारंभीकरण प्रक्रिया के भाग के रूप में, Dem_Init आवश्यक पुनर्प्राप्ति और सिंक्रोनाइज़ेशन चरणों को निष्पादित करता है:
- स्थिति और मॉनिटर प्रारंभीकरण: मॉनिटर और घटक स्थितियाँ प्रारंभ की जाती हैं ([SWS_Dem_01324])। जबकि प्रारंभीकरण पूर्ण होने से पहले
Dem_GetMonitorStatusके कॉल्सE_NOT_OKप्रदान करते हैं ([SWS_Dem_01326]),Dem_GetMonitorStatusऔरDem_GetComponentFailedइस समय के बादE_OKलौटाते हैं ([SWS_Dem_01324])। - गैर-वाष्पशील मेमोरी (NVM): यदि कॉन्फ़िगर किया गया हो (
DemDebounceCounterStorage == True), तो DEM नवीनतम रूप सेDem_Initमें आंतरिक डिबाउंस काउंटर को पुनर्स्थापित करता है ([SWS_Dem_00675])। इसी प्रकार, फ़ंक्शन की वापसी से पहले NVM से पूर्व-कॉन्फ़िगर फ़्रीज़-फ़्रेम डेटा लोड किया जाता है ([SWS_Dem_01322]), जिसके लिए DEMNvM_ReadBlockजैसे NvM-APIs का उपयोग करता है ([SWS_Dem_00164])। इसके अतिरिक्त,Dem_Initको कॉल करने से पिछलेDem_Shutdownके बाद इवेंट मेमोरी का लॉक हटा दिया जाता है ([SWS_Dem_00102])। - परस्पर क्रिया और बफ़रिंग: यदि
DemTriggerFiMReportsकोTrueपर सेट किया गया है, तोDem_InitFunction Inhibition Manager में अनुमतियों को प्रारंभ करने के लिए विशेष रूप से इस समयFiM_DemInitको कॉल करता है ([SWS_Dem_01189])। वे इवेंट्स, जोDem_Initसे पहले बफ़र किए गए थे ([SWS_Dem_00167], [SWS_Dem_01079]),Dem_Initसे पहले मॉनिटर स्थिति परिवर्तन कॉलबैक ट्रिगर नहीं करते हैं ([SWS_Dem_01289])।Dem_Initसे पहलेDem_RestartOperationCycleके माध्यम से अनुरोधित चक्र का पुनरारंभ केवलDem_Initके बाद ही संसाधित किया जाता है ([SWS_Dem_01318])।
त्रुटि प्रबंधन के संबंध में: यदि Dem_Shutdown को कॉल किया गया है, तो विकास पहचान (development detection) सक्रिय होने पर DEM अधिकांश API के कॉल को त्रुटि DEM_E_UNINIT के साथ तब तक पावती (acknowledge) देता है, जब तक कि Dem_Init को पुनः निष्पादित नहीं किया जाता ([SWS_Dem_00368])।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_Shutdown [SWS_Dem_00182] 📄 PDF
void Dem_Shutdown (void);
Shuts down this module.
सिंक्रोनस और नॉन-रीएंट्रेंट फ़ंक्शन Dem_Shutdown Diagnostic Event Manager ([SWS_Dem_00182]) मॉड्यूल के व्यवस्थित शटडाउन के लिए कार्य करता है। इसमें न तो कोई इनपुट पैरामीटर है और न ही कोई रिटर्न पैरामीटर ([SWS_Dem_00182])। कॉल संदर्भ संभवतः केंद्रीय ECU शटडाउन अनुक्रम के ढांचे के भीतर स्थित हो सकता है। प्रश्न Q-a0e6a5700c49d786 (खुला)
कॉल किए जाने पर, Dem_Shutdown DEM मॉड्यूल के सभी लंबित ऑपरेशनों को पूरा करता है ताकि आंतरिक स्थितियों और डेटा को NVRAM में ट्रांसफर के लिए तैयार किया जा सके ([SWS_Dem_00102])। संशोधित नॉन-वोलेटाइल डेटा के लिए, DEM Dem_Shutdown से पहले या उसके दौरान NVRAM में स्टोरेज को ट्रिगर करता है ([SWS_Dem_00341])। जहां आवश्यक हो, मॉड्यूल Dem_Init और Dem_Shutdown के बीच डेटा को सुरक्षित करने और पुनर्स्थापित करने के लिए NVRAM Manager ([SWS_Dem_00164]) के इंटरफ़ेस NvM_WriteBlock और NvM_ReadBlock का उपयोग करता है। यदि DEM को इस तरह कॉन्फ़िगर किया गया था कि पूर्व-सहेजे गए फ्रीज़-फ़्रेम डेटा को नॉन-वोलेटाइल रूप से संग्रहीत किया जाए, तो यह स्टोरेज एक बार और अधिक से अधिक Dem_Shutdown के दौरान होता है ([SWS_Dem_01321])।
शटडाउन के निष्पादन के साथ ही इवेंट मेमोरी लॉक हो जाती है और Dem_Init के पुनः कॉल होने तक इसे संशोधित नहीं किया जा सकता ([SWS_Dem_00102])। इसके अलावा, सक्रिय डेवलपमेंट एरर डिटेक्शन (Development Error Detection) के साथ निम्नलिखित त्रुटि स्थितियाँ लागू होती हैं:
- यदि
Dem_Shutdownके बाद किसी DEM API को कॉल किया जाता है –Dem_SetEventStatus,Dem_ResetEventDebounceStatus,Dem_GetVersionInfoऔरDem_MainFunctionको छोड़कर – तो मॉड्यूल अगलेDem_Initतक त्रुटि कोडDEM_E_UNINITसेट करता है ([SWS_Dem_00368])। - यदि
Dem_Shutdownके बाद ऐसे इवेंट्स के लिएDem_SetEventStatusयाDem_ResetEventDebounceStatusको कॉल किया जाता है, जिनमेंDemDebounceCounterStorageकोTrueपर सेट किया गया है, तो DEM त्रुटि कोडDEM_E_WRONG_CONDITIONरिपोर्ट करता है ([SWS_Dem_00676])।
यह पाठ AI द्वारा उत्पन्न किया गया था और यह केवल मार्गदर्शन के रूप में कार्य करता है। संबंधित AUTOSAR विनिर्देश के प्रावधान बाध्यकारी हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_ClearDTC [SWS_Dem_00665] 📄 PDF
Std_ReturnType Dem_ClearDTC (uint8 ClientId);
Clears single DTCs, as well as groups of DTCs.
अतुल्यकालिक फ़ंक्शन Dem_ClearDTC Diagnostic Event Manager में अलग-अलग नैदानिक त्रुटि कोड (DTCs) या पूरे DTC समूहों को साफ़ करने के काम आता है [SWS_Dem_00665]। कॉल करने से पहले, संबंधित ClientId के लिए Dem_SelectDTC का उपयोग करके DTC, फ़ॉर्मेट और मेमोरी स्थान का लक्ष्य चयन निर्धारित किया जाना चाहिए [SWS_Dem_01253]। यह फ़ंक्शन भिन्न ClientId मानों के लिए रीएंट्रेंट है, लेकिन समान क्लाइंट के लिए रीएंट्रेंट नहीं है [SWS_Dem_00665]।
सफलतापूर्वक पूरा होते ही विलोपन प्रक्रिया की पुष्टि E_OK के साथ की जाती है [SWS_Dem_00665]। जब तक सफ़ाई जारी रहती है, API DEM_PENDING लौटाती है, जिसके बाद कॉलर को बाद में फ़ंक्शन को फिर से कॉल करना पड़ता है [SWS_Dem_00665]। यदि उसी क्लाइंट के लिए समानांतर में Dem_SelectDTC पर निर्भर कोई अन्य ऑपरेशन सक्रिय है, तो DEM_BUSY की सूचना दी जाती है [SWS_Dem_00665]। DEM आंतरिक रूप से कई समानांतर क्लाइंट अनुरोधों को संसाधित करता है [SWS_Dem_00661], जहाँ चल रही विलोपन प्रक्रिया के दौरान समवर्ती कॉल्स DEM_PENDING [SWS_Dem_00664] या DEM_CLEAR_BUSY [SWS_Dem_00665] प्राप्त कर सकते हैं।
त्रुटिपूर्ण कॉल्स का उत्तर API विशिष्ट रिटर्न मानों के साथ देती है:
E_NOT_OK: पहले कोई DTC नहीं चुना गया था [SWS_Dem_00665]।DEM_WRONG_DTC: DTC मौजूद नहीं है [SWS_Dem_00665], दबा हुआ है [SWS_Dem_01100] या कॉन्फ़िगरेशनDemClearDTCLimitationबाध्य करता हैDEM_ONLY_CLEAR_ALL_DTCS[SWS_Dem_00670]।DEM_WRONG_DTCORIGIN: चुना गया मेमोरी स्थान मौजूद नहीं है [SWS_Dem_00665]।DEM_CLEAR_FAILEDयाDEM_CLEAR_MEMORY_ERROR: विलोपन विफल रहा या नॉन-वोलेटाइल मेमोरी में विलोपन के दौरान कोई त्रुटि आई [SWS_Dem_00665]।
विलोपन के संदर्भ में, संयुक्त DTCs के मामले में सभी लिंक किए गए इवेंट्स को साफ़ किया जाता है [SWS_Dem_00440] और DEM_INIT_MONITOR_CLEAR के साथ InitMonitorForEvent के माध्यम से उनका मॉनिटर इनिशियलाइज़ेशन ट्रिगर किया जाता है [SWS_Dem_00680]। DemTriggerMonitorInitBeforeClearOk सेट होने पर, E_OK का रिटर्न केवल इस ट्रिगर के बाद होता है [SWS_Dem_00573]। यदि किसी इवेंट मेमोरी के सभी DTCs हटा दिए जाते हैं, तो DEM उसके ओवरफ़्लो इंडिकेटर को रीसेट कर देता है [SWS_Dem_00399]; इसके अलावा, OBD सर्विस $04 के मामले में असाइन नहीं किए गए DTR डेटा को रीसेट किया जाता है [SWS_Dem_00764] और गैर-मेमोरी-बाउंड इवेंट्स को साफ़ किया जाता है [SWS_Dem_01249]।
यह पाठ AI द्वारा जनरेट किया गया था और तकनीकी मार्गदर्शन के लिए है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_ClearPrestoredFreezeFrame [SWS_Dem_00193] 📄 PDF
Std_ReturnType Dem_ClearPrestoredFreezeFrame (Dem_EventIdType EventId);
Clears a prestored freeze frame of a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(Dem/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)
उपयोग और कॉल संदर्भ
सिंक्रोनस फ़ंक्शन Dem_ClearPrestoredFreezeFrame किसी विशिष्ट निदान ईवेंट ([SWS_Dem_00193]) से संबंधित पूर्व में बफ़र किए गए फ़्रीज़-फ़्रेम को हटाता है। कॉल विशेष रूप से RTE के माध्यम से की जाती है; हेडर फ़ाइल Dem.h में कोई घोषणा प्रदान नहीं की गई है ([SWS_Dem_00193])। API सिस्टम में केवल तभी कार्यान्वित होता है जब कम से कम एक ईवेंट को पूर्व-संग्रहण के लिए कॉन्फ़िगर किया गया हो (कॉन्फ़िगरेशन पैरामीटर DemFFPrestorageSupported) ([SWS_Dem_00193], [SWS_Dem_00334])। फ़ंक्शन सफल निष्कासन पर E_OK और ऑपरेशन विफल होने पर E_NOT_OK लौटाता है ([SWS_Dem_00193])।
समवर्तीता और प्रतिबंध
इंटरफ़ेस विभिन्न ईवेंट ID के लिए रीएंट्रेंट है (EventId), लेकिन इसे समान EventId के लिए समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए ([SWS_Dem_00193])। स्लेव ईवेंट्स (DemMultiEventTriggeringSlaveEventRef) या प्रतिस्थापन ईवेंट्स (DemStorageConditionReplacementEventRef) के रूप में कॉन्फ़िगर किए गए ईवेंट्स के साथ कॉल समर्थित नहीं है; इसमें DEM का व्यवहार अपरिभाषित है ([SWS_Dem_01339])। यदि कोई ईवेंट अनुपलब्ध के रूप में सेट है, तो इसे गैर-कॉन्फ़िगर किए गए ईवेंट की तरह माना जाता है ([SWS_Dem_01108]); व्याख्या: इस स्थिति में कॉल को E_NOT_OK के साथ अस्वीकार किए जाने की संभावना है। प्रश्न Q-d8ebaf6883138fdf (खुला)
मल्टी-ईवेंट ट्रिगरिंग में परस्पर क्रिया
यदि DemMultiEventTriggering कॉन्फ़िगर किया गया है और फ़ंक्शन किसी मास्टर ईवेंट (DemMultiEventTriggeringMasterEventRef) के लिए कॉल किया जाता है, तो DEM सभी असाइन किए गए स्लेव ईवेंट्स (DemMultiEventTriggeringSlaveEventRef) के लिए समान पैरामीटरों के साथ डिलीट कॉल को स्वचालित रूप से ट्रिगर करता है ([SWS_Dem_01250])।
यह उपयोग संबंधी निर्देश AUTOSAR Classic Release R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_GetComponentFailed [SWS_Dem_01115] 📄 PDF
Std_ReturnType Dem_GetComponentFailed (Dem_ComponentIdType ComponentId, boolean* ComponentFailed);
Gets the failed status of a DemComponent.
फ़ंक्शन Dem_GetDTCSelectionResult [SWS_Dem_91023] 📄 PDF
Std_ReturnType Dem_GetDTCSelectionResult (uint8 ClientId);
Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs.
फ़ंक्शन Dem_GetDTCSelectionResultForClearDTC [SWS_Dem_91020] 📄 PDF
Std_ReturnType Dem_GetDTCSelectionResultForClearDTC (uint8 ClientId);
Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs, respecting the settings if the Dem shall clear only all DTCs.
फ़ंक्शन Dem_GetEventUdsStatus [SWS_Dem_91008] 📄 PDF
Std_ReturnType Dem_GetEventUdsStatus (Dem_EventIdType EventId, Dem_UdsStatusByteType* UDSStatusByte);
Gets the current UDS status byte assigned to the DTC for the event
फ़ंक्शन Dem_GetMonitorStatus [SWS_Dem_91007] 📄 PDF
Std_ReturnType Dem_GetMonitorStatus (Dem_EventIdType EventID, Dem_MonitorStatusType* MonitorStatus);
Gets the current monitor status for an event.
फ़ंक्शन Dem_GetDebouncingOfEvent [SWS_Dem_00730] 📄 PDF
Std_ReturnType Dem_GetDebouncingOfEvent (Dem_EventIdType EventId, Dem_DebouncingStateType* DebouncingState);
Gets the debouncing status of an event. This function shall not be used for EventId with native debouncing within their functions. It is rather for EventIds using debouncing within the Dem.
फ़ंक्शन Dem_GetDTCOfEvent [SWS_Dem_00198] 📄 PDF
Std_ReturnType Dem_GetDTCOfEvent (Dem_EventIdType EventId, Dem_DTCFormatType DTCFormat, uint32* DTCOfEvent);
Gets the DTC of an event.
फ़ंक्शन Dem_GetDTCSuppression [SWS_Dem_91025] 📄 PDF
Std_ReturnType Dem_GetDTCSuppression (uint8 ClientId, boolean* SuppressionStatus);
Returns the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemSuppressionSupport)} == DEM_DTC_SUPPRESSION)
फ़ंक्शन Dem_GetEventAvailable [SWS_Dem_91040] 📄 PDF
Std_ReturnType Dem_GetEventAvailable (Dem_EventIdType EventId, boolean* AvailableStatus);
Get the Event's availability.
फ़ंक्शन Dem_GetFaultDetectionCounter [SWS_Dem_00203] 📄 PDF
Std_ReturnType Dem_GetFaultDetectionCounter (Dem_EventIdType EventId, sint8* FaultDetectionCounter);
Gets the fault detection counter of an event. This API can only be used through the RTE, and therefore no declaration is exported via Dem.h.
फ़ंक्शन Dem_GetIndicatorStatus [SWS_Dem_00205] 📄 PDF
Std_ReturnType Dem_GetIndicatorStatus (uint8 IndicatorId, Dem_IndicatorStatusType* IndicatorStatus);
Gets the indicator status derived from the UDS status. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemEventMemory Set/DemIndicator)} != NULL)
फ़ंक्शन Dem_GetEventFreezeFrameDataEx [SWS_Dem_01191] 📄 PDF
Std_ReturnType Dem_GetEventFreezeFrameDataEx (Dem_EventIdType EventId, uint8 RecordNumber, uint16 DataId, uint8* DestBuffer, uint16* BufSize);
Gets the data of a freeze frame by event.
फ़ंक्शन Dem_GetEventExtendedDataRecordEx [SWS_Dem_01190] 📄 PDF
Std_ReturnType Dem_GetEventExtendedDataRecordEx (Dem_EventIdType EventId, uint8 RecordNumber, uint8* DestBuffer, uint16* BufSize);
Gets the data of an extended data record by event.
फ़ंक्शन Dem_GetEventMemoryOverflow [SWS_Dem_00559] 📄 PDF
Std_ReturnType Dem_GetEventMemoryOverflow (uint8 ClientId, Dem_DTCOriginType DTCOrigin, boolean* OverflowIndication);
Gets the event memory overflow indication status.
फ़ंक्शन Dem_GetNumberOfEventMemoryEntries [SWS_Dem_00652] 📄 PDF
Std_ReturnType Dem_GetNumberOfEventMemoryEntries (uint8 ClientId, Dem_DTCOriginType DTCOrigin, uint8* NumberOfEventMemoryEntries);
Returns the number of entries currently stored in the requested event memory.
फ़ंक्शन Dem_ResetEventDebounceStatus [SWS_Dem_00683] 📄 PDF
Std_ReturnType Dem_ResetEventDebounceStatus (Dem_EventIdType EventId, Dem_DebounceResetStatusType DebounceResetStatus);
Control the internal debounce counter/timer by BSW modules and SW-Cs. The event qualification will not be affected by these debounce state changes. This API is available for BSW modules as soon as Dem_PreInit has been completed (refer to SWS_Dem_00438 and SWS_Dem_00167).
सिंक्रोनस फ़ंक्शन Dem_ResetEventDebounceStatus BSW मॉड्यूल और सॉफ़्टवेयर घटकों (SW-Cs) द्वारा इवेंट योग्यता को प्रभावित किए बिना डायग्नोस्टिक इवेंट के आंतरिक डिबाउंस काउंटर या टाइमर को लक्षित रूप से फ्रीज करने या रीसेट करने के लिए कार्य करता है [SWS_Dem_00683]।
उपयोग और पैरामीटर
वांछित क्रिया को पैरामीटर DebounceResetStatus के माध्यम से नियंत्रित किया जाता है: मान DEM_DEBOUNCE_STATUS_FREEZE आंतरिक डिबाउंस टाइमर को फ्रीज करता है [SWS_Dem_00685], जबकि DEM_DEBOUNCE_STATUS_RESET संबंधित दोष पहचान काउंटर (Fault Detection Counter) को रीसेट करता है [SWS_Dem_00684] [SWS_Dem_00927]। फ़ंक्शन सफल निष्पादन पर E_OK लौटाता है और विशेष रूप से विकास त्रुटि के मामले में E_NOT_OK लौटाता है [SWS_Dem_00683]।
त्रुटि प्रबंधन और लाइफ़साइकिल
API BSW मॉड्यूल के लिए Dem_PreInit के पूरा होने के तुरंत बाद उपलब्ध होती है और इसलिए पूर्ण इनिशियलाइज़ेशन से पहले सामान्य इनिशियलाइज़ेशन जाँच से मुक्त होती है [SWS_Dem_00124] [SWS_Dem_00683]। विकास पहचान सक्रिय होने पर निम्नलिखित शर्तें लागू होती हैं:
- यदि फ़ंक्शन को प्री-इनिशियलाइज़ेशन से पहले कॉल किया जाता है, तो DEM त्रुटि
DEM_E_UNINITरिपोर्ट करता है [SWS_Dem_00364]। - यदि लगातार डिबाउंस काउंटर वाले इवेंट्स (
DemDebounceCounterStorageTrue पर) के लिए कॉलDem_Initसे पहले याDem_Shutdownके बाद की जाती है, तोDEM_E_WRONG_CONDITIONसेट किया जाता है [SWS_Dem_00676]। - यदि किसी इवेंट को अनुपलब्ध के रूप में चिह्नित किया गया है, तो इसे गैर-कॉन्फ़िगर किए गए इवेंट की तरह माना जाता है [SWS_Dem_01108]।
समवर्तीता और प्रतिबंध
Dem_ResetEventDebounceStatus अलग-अलग EventId मानों के लिए रीएंट्रेंट है, लेकिन समान इवेंट के लिए रीएंट्रेंट नहीं है [SWS_Dem_00683]। जब DemMultiEventTriggering कॉन्फ़िगर किया गया हो, तो मास्टर इवेंट के साथ एक कॉल सभी संबद्ध स्लेव इवेंट्स के लिए समान कॉल्स ट्रिगर करता है [SWS_Dem_01250]। विशुद्ध रूप से आंतरिक स्लेव इवेंट्स या DemStorageConditionReplacementEventRef के माध्यम से संदर्भित इवेंट्स के लिए सीधे कॉल्स समर्थित नहीं हैं और अपरिभाषित व्यवहार का कारण बनते हैं [SWS_Dem_01339]।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_ResetEventStatus [SWS_Dem_00185] 📄 PDF
Std_ReturnType Dem_ResetEventStatus (Dem_EventIdType EventId);
Resets the event failed status. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.
फ़ंक्शन Dem_ResetEventStatus डायग्नोस्टिक इवेंट की त्रुटि स्थिति को रीसेट करने के लिए कार्य करता है और यह केवल RTE के माध्यम से उपलब्ध है [SWS_Dem_00185]। कॉल EventId के साथ किया जाता है और इसमें एसिंक्रोनस सिमेंटिक्स होते हैं: अनुरोध की सफल स्वीकृति पर, फ़ंक्शन E_OK लौटाता है [SWS_Dem_00185]। इसके बाद DEM मॉड्यूल समय में विलंबित होकर स्टेटस बिट 0 (TestFailed) को वापस 0 पर रीसेट करता है और संबंधित कॉन्फ़िगरेशन के मामले में आंतरिक डिबाउंस एल्गोरिदम को उसके प्रारंभिक मानों पर रीसेट करता है [SWS_Dem_00187]।
यदि वर्तमान ऑपरेटिंग चक्र में इवेंट का पहले ही परीक्षण किया जा चुका है (UDS स्टेटस बिट 6 का मान 0 है) [SWS_Dem_00185], [SWS_Dem_00638], या यदि इवेंट को अनुपलब्ध के रूप में कॉन्फ़िगर या सेट किया गया है [SWS_Dem_01108], तो अनुरोध रिटर्न मान E_NOT_OK के साथ विफल हो जाता है। DEM के पूर्ण इनिशियलाइज़ेशन से पहले कॉल करने पर, डेवलपमेंट एरर डिटेक्शन (DemDevErrorDetect) सक्रिय होने पर भी त्रुटि DEM_E_UNINIT की रिपोर्टिंग नहीं होती है [SWS_Dem_00124]।
समवर्ती निष्पादन के संबंध में, Dem_ResetEventStatus भिन्न EventId मानों के लिए रीएंट्रेंट है, जबकि समान EventId के लिए नॉन-रीएंट्रेंट है [SWS_Dem_00185]। यदि DemMultiEventTriggering कॉन्फ़िगर किया गया है और फ़ंक्शन को मास्टर इवेंट के साथ कॉल किया जाता है, तो DEM सभी लिंक किए गए स्लेव इवेंट्स के लिए उसी कॉल को स्वचालित रूप से ट्रिगर करता है [SWS_Dem_01250]। ऐसी EventId के साथ सीधे कॉल, जिसे स्लेव इवेंट या DemStorageConditionReplacementEventRef के रूप में कॉन्फ़िगर किया गया है, समर्थित नहीं हैं और अपरिभाषित व्यवहार की ओर ले जाते हैं [SWS_Dem_01339]।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_RestartOperationCycle [SWS_Dem_00194] 📄 PDF
Std_ReturnType Dem_RestartOperationCycle (uint8 OperationCycleId);
Sets an operation cycle state. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. The interface has an asynchronous behavior to avoid exceeding of typical timing requirements on APIs if a large number of events has to be processed and during the re-initializations of the related monitors. The asynchronous acknowledgements are the related InitMonitorForEvent callbacks.
फ़ंक्शन Dem_RestartOperationCycle एक परिचालन चक्र ([SWS_Dem_00194]) को पुनरारंभ करने का कार्य करता है। कॉल विशेष रूप से RTE के माध्यम से होता है, यही कारण है कि Dem.h के माध्यम से कोई घोषणा निर्यात नहीं की जाती है ([SWS_Dem_00194])।
सिमेंटिक्स और पैरामीटर
इनपुट पैरामीटर OperationCycleId के माध्यम से पुनः प्रारंभ किए जाने वाले परिचालन चक्र की पहचान की जाती है (उदा. Power Cycle या Driving Cycle) ([SWS_Dem_00194])। फ़ंक्शन रीएंट्रेंट तथा एसिंक्रोनस रूप से काम करता है ([SWS_Dem_00194]):
E_OK: परिचालन चक्र की सेटिंग स्वीकार कर ली गई है और इसे एसिंक्रोनस रूप से आगे संसाधित किया जाएगा ([SWS_Dem_00194])।E_NOT_OK: चक्र सेट करने का अनुरोध अस्वीकार कर दिया गया था ([SWS_Dem_00194])।
परस्पर क्रिया और एसिंक्रोनस अनुक्रम
एसिंक्रोनस व्यवहार विशिष्ट समय आवश्यकताओं के उल्लंघनों को रोकता है जब बड़ी संख्या में इवेंट्स को संसाधित किया जाना हो और मॉनिटरों को पुनः आरंभ किया जाना हो ([SWS_Dem_00194])। संबंधित कॉलबैक InitMonitorForEvent एसिंक्रोनस फीडबैक के रूप में कार्य करते हैं ([SWS_Dem_00194])। पुनरारंभ के दौरान, DEM सभी प्रभावित इवेंट्स के डायग्नोस्टिक मॉनिटरों को उनके कॉलबैक InitMonitorForEvent को पैरामीटर InitMonitorReason को DEM_INIT_MONITOR_RESTART पर सेट करके कॉल करके पुनः आरंभ करता है ([SWS_Dem_00679])।
यदि Dem_RestartOperationCycle के माध्यम से किसी ऑपरेशन साइकिल (operation cycle) को पुनः प्रारंभ किया जाता है, तो उस पर निर्भर सभी ऑपरेशन साइकिलों को भी पुनः प्रारंभ किया जाना चाहिए, बशर्ते वे योग्य (qualified) हों ([SWS_Dem_01224])।
यह पाठ AI द्वारा जनरेट किया गया था और मार्गदर्शन के रूप में कार्य करता है। AUTOSAR विनिर्देश ही प्रामाणिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_PrestoreFreezeFrame [SWS_Dem_00188] 📄 PDF
Std_ReturnType Dem_PrestoreFreezeFrame (Dem_EventIdType EventId);
Captures the freeze frame data for a specific event. This API can only be used through the RTE and therefore no declaration is exported via Dem.h. API Availability: This API will be available only if ({ecuc(Dem/DemConfigSet/DemEvent Parameter.DemFFPrestorageSupported)} == true)
यह फ़ंक्शन किसी विशिष्ट निदान ईवेंट के लिए फ़्रीज़-फ़्रेम डेटा को सिंक्रोनस रूप से कैप्चर करने और बफ़र करने का कार्य करता है [SWS_Dem_00188]। इंटरफ़ेस विशेष रूप से RTE के माध्यम से उपलब्ध कराया जाता है और इसे Dem.h के माध्यम से निर्यात नहीं किया जाता है [SWS_Dem_00188]। यह मॉड्यूल में केवल तभी मौजूद होता है जब कम से कम एक ईवेंट के लिए प्री-स्टोरेज कॉन्फ़िगर किया गया हो (DemFFPrestorageSupported) [SWS_Dem_00334]।
रिटर्न मान और त्रुटि प्रबंधन:
E_OK: फ़्रीज़-फ़्रेम को सफलतापूर्वक बफ़र किया गया [SWS_Dem_00188]।E_NOT_OK: बफ़रिंग विफल रहती है [SWS_Dem_00188], विशेष रूप से तब जब कोई बफ़र खाली न बचा हो (DemMaxNumberPrestoredFFद्वारा सीमित) [SWS_Dem_00808] या निर्दिष्ट ईवेंट अनुपलब्ध के रूप में सेट हो [SWS_Dem_01108]।
कॉन्करेंसी और कॉल शर्तें: फ़ंक्शन अलग-अलग ईवेंट ID के लिए रीएंट्रेंट है, लेकिन समान EventId के लिए नहीं [SWS_Dem_00188]।
मल्टी-ईवेंट ट्रिगरिंग में परस्पर क्रिया: यदि फ़ंक्शन को किसी कॉन्फ़िगर किए गए मास्टर ईवेंट (DemMultiEventTriggeringMasterEventRef) के साथ कॉल किया जाता है, तो DEM स्वचालित रूप से सभी संबंधित स्लेव ईवेंट्स (DemMultiEventTriggeringSlaveEventRef) के लिए समान कॉल ट्रिगर करता है [SWS_Dem_01250]। किसी स्लेव ईवेंट ID के साथ या स्टोरेज स्थितियों के लिए प्रतिस्थापन ईवेंट (DemStorageConditionReplacementEventRef) के साथ सीधे कॉल समर्थित नहीं हैं और अपरिभाषित व्यवहार की ओर ले जाते हैं [SWS_Dem_01339]।
यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_SelectDTC [SWS_Dem_91016] 📄 PDF
Std_ReturnType Dem_SelectDTC (uint8 ClientId, uint32 DTC, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin);
Selects a DTC or DTC group as target for further operations.
सिंक्रोनस फ़ंक्शन Dem_SelectDTC बाद के ऑपरेशनों के लक्ष्य के रूप में एक विशिष्ट ClientId के लिए निर्धारित प्रारूप (DTCFormat) और इवेंट मेमोरी (DTCOrigin) में एक DTC या एक DTC समूह का चयन करता है [SWS_Dem_91016]। यह इस ClientId को सौंपी गई इवेंट मेमोरी पर DEM की आंतरिक चयन प्रक्रिया को ट्रिगर करता है [SWS_Dem_01254]।
समवर्ती निष्पादन और कॉल संदर्भ के संबंध में, फ़ंक्शन विभिन्न ClientIds के लिए रीएंट्रेंट है, लेकिन समान ClientId के लिए नॉन-रीएंट्रेंट है [SWS_Dem_91016]। रिटर्न मानों के रूप में परिभाषित हैं [SWS_Dem_91016]:
E_OK: DTC या समूह को सफलतापूर्वक चुना गया [SWS_Dem_91016]।DEM_BUSY: इस क्लाइंट काDem_SelectDTCका एक और कॉल या उस पर निर्भर ऑपरेशन वर्तमान में पहले से निष्पादित किया जा रहा है [SWS_Dem_91016]।
चयन का परिणाम बाद के API कॉल्स के रिटर्न मानों में परिलक्षित होता है [SWS_Dem_01254]। DEM चयनित DTC या DTC समूह का उपयोग उसी क्लाइंट के बाद के फ़ंक्शन कॉल्स के लक्ष्य के रूप में करता है जैसे कि अन्य बातों के अलावा Dem_ClearDTC, Dem_DisableDTCRecordUpdate, Dem_GetFunctionalUnitOfDTC, Dem_GetSeverityOfDTC, Dem_GetStatusOfDTC, Dem_SelectFreezeFrameData, Dem_SelectExtendedDataRecord और साथ ही Dem_SetDTCSuppression [SWS_Dem_01253]। इसके अलावा, Dem_SelectFreezeFrameData और Dem_SelectExtendedDataRecord इस चयनित DTC पर आधारित हैं [SWS_Dem_01268], [SWS_Dem_01272]।
यदि आश्रित APIs में से किसी एक को पहले से कोई वैध चयन किए बिना कॉल किया जाता है या यदि पास किया गया DTC निर्दिष्ट प्रारूप में अमान्य है, तो DEM DEM_WRONG_DTC लौटाता है [SWS_Dem_01261]। यदि अनुरोधित मेमोरी क्षेत्र (DTCOrigin) मौजूद नहीं है या अमान्य है, तो बाद के कॉल DEM_WRONG_DTCORIGIN की रिपोर्ट करते हैं [SWS_Dem_01258], [SWS_Dem_01262]। Dem_GetDTCSelectionResult के माध्यम से स्पष्ट रूप से यह जांचा जा सकता है कि क्या E_OK के साथ चयन सफल रहा और क्या DTC आगे की प्रक्रिया के लिए तैयार है [SWS_Dem_01256], [SWS_Dem_01257]।
यह उपयोग नोट AI द्वारा तैयार किया गया था और यह पूरी तरह से AUTOSAR Classic R20-11 के विनिर्देश डेटा पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_SetComponentAvailable [SWS_Dem_01117] 📄 PDF
Std_ReturnType Dem_SetComponentAvailable (Dem_ComponentIdType ComponentId, boolean AvailableStatus);
Set the availability of a specific DemComponent.
फ़ंक्शन Dem_SetDTCSuppression [SWS_Dem_01047] 📄 PDF
Std_ReturnType Dem_SetDTCSuppression (uint8 ClientId, boolean SuppressionStatus);
Set the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemSuppression Support)} == DEM_DTC_SUPPRESSION)
फ़ंक्शन Dem_SetEnableCondition [SWS_Dem_00201] 📄 PDF
Std_ReturnType Dem_SetEnableCondition (uint8 EnableConditionID, boolean ConditionFulfilled);
Sets an enable condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemEnable Condition)} != NULL)
फ़ंक्शन Dem_SetEventAvailable [SWS_Dem_01080] 📄 PDF
Std_ReturnType Dem_SetEventAvailable (Dem_EventIdType EventId, boolean AvailableStatus);
Set the available status of a specific Event.
फ़ंक्शन Dem_SetEventConfirmationThresholdCounter [SWS_Dem_91004] 📄 PDF
Std_ReturnType Dem_SetEventConfirmationThresholdCounter (Dem_EventIdType EventId, uint8 FailureCycleCounterThreshold);
Set the failure confirmation threshold of an event.
फ़ंक्शन Dem_SetEventStatus [SWS_Dem_00183] 📄 PDF
Std_ReturnType Dem_SetEventStatus (Dem_EventIdType EventId, Dem_EventStatusType EventStatus);
Called by SW-Cs or BSW modules to report monitor status information to the Dem. BSW modules calling Dem_SetEventStatus can safely ignore the return value. This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEventReportingType} == STANDARD_REPORTING)
फ़ंक्शन Dem_SetEventStatus SW-Cs और BSW मॉड्यूल द्वारा DEM को मॉनिटर परीक्षण परिणाम संप्रेषित करने का कार्य करता है [SWS_Dem_00183], [SWS_Dem_00330]। यह तब उपलब्ध होता है, जब इवेंट के लिए STANDARD_REPORTING कॉन्फ़िगर किया गया हो [SWS_Dem_00183]। स्थिति मानों के रूप में योग्य परिणाम (DEM_EVENT_STATUS_PASSED, DEM_EVENT_STATUS_FAILED), DEM-आंतरिक डिबाउंसिंग के लिए पूर्व-योग्यताएं (DEM_EVENT_STATUS_PREPASSED, DEM_EVENT_STATUS_PREFAILED) या डिबाउंस थ्रेशोल्ड DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED पर पहुँचना [SWS_Dem_00926] पास किए जाते हैं।
समवर्तीता (concurrency) के संबंध में, API विभिन्न EventId मानों के लिए रीएंट्रेंट (reentrant) है, लेकिन समान EventId के लिए रीएंट्रेंट नहीं है [SWS_Dem_00183]। Dem_PreInit के माध्यम से पूर्व-प्रारंभीकरण से पहले, विकास पहचान सक्रिय होने पर एक कॉल त्रुटि DEM_E_UNINIT की ओर ले जाता है [SWS_Dem_00364]। इसके विपरीत, Dem_PreInit के बाद लेकिन Dem_Init से पहले कॉल की अनुमति है [SWS_Dem_00124], [SWS_Dem_00180]; क्वालिफाइंग इवेंट्स को एक कतार (queue) में बफ़र किया जाता है, जिसका आकार DemBswErrorBufferSize के माध्यम से निर्धारित होता है, जबकि FDC थ्रेशोल्ड को बफ़र नहीं किया जाता है [SWS_Dem_00167], [SWS_Dem_00207]। Dem_Shutdown के बाद भी फ़ंक्शन कोई DEM_E_UNINIT त्रुटि उत्पन्न नहीं करता है [SWS_Dem_00368]।
सफल स्वीकृति पर रिटर्न मान E_OK होता है या त्रुटियों की स्थिति में अथवा जब इवेंट को अनुपलब्ध पर सेट किया गया हो, तो E_NOT_OK होता है [SWS_Dem_00183], [SWS_Dem_01108]। BSW मॉड्यूल रिटर्न मान को अनदेखा कर सकते हैं [SWS_Dem_00183]। निर्दिष्ट Enable-Conditions पूरी होते ही रिपोर्ट स्वीकार कर ली जाती हैं [SWS_Dem_00450]; यदि DTC-Setting निष्क्रिय है, तो DEM UDS स्थिति के लिए रिपोर्ट को अनदेखा कर देता है [SWS_Dem_00626]।
कॉल संदर्भ में तुल्यकालिक (synchronous) कार्रवाइयाँ शुरू की जा सकती हैं:
FiM_DemTriggerOnEventStatusके माध्यम से स्थिति परिवर्तन पर FiM की अधिसूचना, बशर्तेDemTriggerFiMReportsसक्रिय हो [SWS_Dem_00029]।- कॉन्फ़िगर किए गए विकल्प
DEM_CAPTURE_SYNCHRONOUS_TO_REPORTINGके तहत तुल्यकालिक फ़्रीज़-फ़्रेम डेटा और Extended-Data-Records का अधिग्रहण [SWS_Dem_00805], [SWS_Dem_01082]। - सक्रिय
DemMultiEventTriggeringकॉन्फ़िगरेशन के तहत कॉन्फ़िगर किए गए स्लेव इवेंट्स के लिए कैस्केडिंग कॉल्स [SWS_Dem_01250]।
यह निर्देश AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_SetEventStatusWithMonitorData [SWS_Dem_91037] 📄 PDF
Std_ReturnType Dem_SetEventStatusWithMonitorData (Dem_EventIdType EventId, Dem_EventStatusType EventStatus, Dem_MonitorDataType monitorData0, Dem_MonitorDataType monitorData1);
This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEvent ReportingType} == STANDARD_REPORTING_WITH_MONITOR_DATA)
फ़ंक्शन Dem_SetEventStatusWithMonitorData किसी विशिष्ट डायग्नोस्टिक इवेंट (EventId) के लिए मॉनिटर-विशिष्ट अतिरिक्त डेटा (monitorData0 और monitorData1) के साथ मॉनिटर परीक्षण परिणाम (EventStatus) को DEM को रिपोर्ट करने के लिए कार्य करता है [SWS_Dem_91037]। इसमें Dem_SetEventStatus के समान कार्यक्षमता है, लेकिन यह इवेंट-संबंधित डेटा में भंडारण के लिए अतिरिक्त पैरामीटर पास करता है [SWS_Dem_01333]।
रीड ऑपरेशनों के साथ परस्पर क्रिया में यह लागू होता है: यदि कोई रीड-डेटा ऑपरेशन monitorData0 प्रदान करने के लिए कॉन्फ़िगर किया गया है, तो DEM Dem_SetEventStatusWithMonitorData से पास की गई monitorData0 को इस रीड-डेटा ऑपरेशन के पैरामीटर monitorData0 में जोड़ता है [SWS_Dem_01330]।
उपयोग और समवर्ती निष्पादन के लिए निम्नलिखित शर्तें लागू होती हैं:
- उपलब्धता: यह API
Dem.hके माध्यम से केवल तभी उपलब्ध है जबDemEventReportingTypeकोSTANDARD_REPORTING_WITH_MONITOR_DATAपर कॉन्फ़िगर किया गया हो [SWS_Dem_91037]। - निष्पादन और रीएंट्रेंसी: निष्पादन सिंक्रोनस/एसिंक्रोनस है। फ़ंक्शन भिन्न
EventIdके लिए रीएंट्रेंट है, लेकिन समानEventIdके लिए नॉन-रीएंट्रेंट है [SWS_Dem_91037]। - रिटर्न मान: यह इवेंट स्थिति की सफल सेटिंग पर
E_OKलौटाता है और यदि सेटिंग या प्रोसेसिंग विफल हो जाती है या स्वीकार नहीं की जा सकी तोE_NOT_OKलौटाता है [SWS_Dem_91037]।
यह उपयोग नोट विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_SetStorageCondition [SWS_Dem_00556] 📄 PDF
Std_ReturnType Dem_SetStorageCondition (uint8 StorageConditionID, boolean ConditionFulfilled);
Sets a storage condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemStorage Condition)} != NULL)
फ़ंक्शन Dem_SetWIRStatus [SWS_Dem_00839] 📄 PDF
Std_ReturnType Dem_SetWIRStatus (Dem_EventIdType EventId, boolean WIRStatus);
Sets the WIR status bit via failsafe SW-Cs. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.
उपयोग और कॉल संदर्भ
अतुल्यकालिक फ़ंक्शन Dem_SetWIRStatus का उपयोग फेल-सेफ सॉफ़्टवेयर घटकों (failsafe SW-Cs) द्वारा किसी नैदानिक इवेंट के Warning-Indicator-Requested स्टेटस बिट (WIR बिट) का लक्षित अनुरोध करने के लिए किया जाता है [SWS_Dem_00839], [SWS_Dem_01303]। चूँकि कॉल केवल RTE के माध्यम से की जाती है, हेडर फ़ाइल Dem.h में कोई घोषणा मौजूद नहीं है [SWS_Dem_00839]।
कार्यात्मक व्यवहार और अंतःक्रिया
बिट का सेटिंग और रीसेटिंग पास किए गए पैरामीटर WIRStatus और कॉन्फ़िगर किए गए संकेतकों की स्थिति पर निर्भर करता है:
- यदि
WIRStatus = TRUEपास किया जाता है, तो DEM संबंधित इवेंट के WIR बिट को 1 पर सेट करता है [SWS_Dem_00833]। WIRStatus = FALSEके मामले में, WIR बिट को केवल तभी 0 पर रीसेट किया जाता है जब कोई संदर्भित DEM संकेतक सेट न हो [SWS_Dem_00834]।Dem_SetWIRStatusके माध्यम से सेट किया गया WIR बिट DEM को डिबाउंस या हीलिंग चक्रों तक पहुँचने पर UDS स्टेटस बिट 7 (WarningIndicatorRequested) को स्वचालित रूप से 0 पर रीसेट करने से भी रोकता है [SWS_Dem_00503], [SWS_Dem_01233]।
समवर्तीता और त्रुटि प्रबंधन
API विभिन्न इवेंट्स के लिए रीएंट्रेंट है, लेकिन समान EventId के लिए रीएंट्रेंट नहीं है [SWS_Dem_00839]। सफल स्वीकृति पर, फ़ंक्शन E_OK लौटाता है [SWS_Dem_00839]। रिटर्न मान E_NOT_OK संकेत देता है कि अनुरोध अस्वीकार कर दिया गया था और इसे दोहराया जाना चाहिए; यह विशेष रूप से तब होता है जब DTC सेटिंग अक्षम हो (disabled ControlDTCSetting) या इवेंट को अनुपलब्ध के रूप में चिह्नित किया गया हो [SWS_Dem_00836], [SWS_Dem_01108], [SWS_Dem_00839]।
यह उपयोग निर्देश AUTOSAR R20-11 स्पेसिफिकेशन के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_SetEventFailedWithSyncFreezeFrame [SWS_Dem_91041] 📄 PDF
void Dem_SetEventFailedWithSyncFreezeFrame (Dem_EventIdType EventId);
If called the Dem sets the event to failed and this failed event requires that a snapshot record is captured, the Dem synchronously retrieves the data within the call of this API. Tags: atp.Status=draft
फ़ंक्शन Dem_GetTranslationType [SWS_Dem_00230] 📄 PDF
Dem_DTCTranslationFormatType Dem_GetTranslationType (uint8 ClientId);
Gets the supported DTC formats of the ECU.The supported formats are configured via Dem TypeOfDTCSupported.
फ़ंक्शन Dem_GetDTCStatusAvailabilityMask [SWS_Dem_00213] 📄 PDF
Std_ReturnType Dem_GetDTCStatusAvailabilityMask (uint8 ClientId, Dem_UdsStatusByteType* DTCStatusMask, Dem_DTCOriginType DTCOrigin);
Gets the DTC Status availability mask of the selected fault memory.
फ़ंक्शन Dem_GetStatusOfDTC [SWS_Dem_00212] 📄 PDF
Std_ReturnType Dem_GetStatusOfDTC (uint8 ClientId, uint8* DTCStatus);
Gets the status of a DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments). The DTCs of OBD Events Suppression shall be reported as Dem_WRONG_DTC.
फ़ंक्शन Dem_GetSeverityOfDTC [SWS_Dem_00232] 📄 PDF
Std_ReturnType Dem_GetSeverityOfDTC (Dem_DTCSeverityType* DTCSeverity, uint8 ClientId);
Gets the severity of the requested DTC. For large configurations and DTC-calibration, the interface behavior can be asynchronous (splitting the DTC-search into segments).
फ़ंक्शन Dem_GetFunctionalUnitOfDTC [SWS_Dem_00594] 📄 PDF
Std_ReturnType Dem_GetFunctionalUnitOfDTC (uint8 ClientId, uint8* DTCFunctionalUnit);
Gets the functional unit of the requested DTC.
फ़ंक्शन Dem_SetDTCFilter [SWS_Dem_00208] 📄 PDF
Std_ReturnType Dem_SetDTCFilter (uint8 ClientId, uint8 DTCStatusMask, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin, boolean FilterWithSeverity, Dem_DTCSeverityType DTCSeverityMask, boolean FilterForFaultDetectionCounter);
Sets the DTC Filter. The server shall perform a bit-wise logical AND-ing operation between the parameter DTCStatusMask and the current UDS status in the server. In addition to the DTCStatus AvailabilityMask, the server shall return all DTCs for which the result of the AND-ing operation is non-zero [i.e. (statusOfDTC & DTCStatusMask) != 0]. The server shall process only the DTC Status bits that it is supporting. OBD Events Suppression shall be ignored for this computation. If no DTCs within the server match the masking criteria specified in the clients request, no DTC or status information shall be provided following the DTCStatusAvailabilityMask byte in the positive response message (((statusOfDTC & DTCStatusMask) != 0) && ((severity & DTCSeverityMask) != 0)) == TRUE
फ़ंक्शन Dem_GetNumberOfFilteredDTC [SWS_Dem_00214] 📄 PDF
Std_ReturnType Dem_GetNumberOfFilteredDTC (uint8 ClientId, uint16* NumberOfFilteredDTC);
Gets the number of a filtered DTC.
फ़ंक्शन Dem_GetNextFilteredDTC [SWS_Dem_00215] 📄 PDF
Std_ReturnType Dem_GetNextFilteredDTC (uint8 ClientId, uint32* DTC, uint8* DTCStatus);
Gets the next filtered DTC matching the filter criteria. For UDS services, the interface has an asynchronous behavior, because a large number of DTCs has to be processed.
फ़ंक्शन Dem_GetNextFilteredDTCAndFDC [SWS_Dem_00227] 📄 PDF
Std_ReturnType Dem_GetNextFilteredDTCAndFDC (uint8 ClientId, uint32* DTC, sint8* DTCFaultDetectionCounter);
Gets the next filtered DTC and its associated Fault Detection Counter (FDC) matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed and the FDC might be received asynchronously from a SW-C, too.
फ़ंक्शन Dem_GetNextFilteredDTCAndSeverity [SWS_Dem_00281] 📄 PDF
Std_ReturnType Dem_GetNextFilteredDTCAndSeverity (uint8 ClientId, uint32* DTC, uint8* DTCStatus, Dem_DTCSeverityType* DTCSeverity, uint8* DTCFunctionalUnit);
Gets the next filtered DTC and its associated Severity matching the filter criteria. The interface has an asynchronous behavior, because a large number of DTCs has to be processed.
फ़ंक्शन Dem_SetFreezeFrameRecordFilter [SWS_Dem_00209] 📄 PDF
Std_ReturnType Dem_SetFreezeFrameRecordFilter (uint8 ClientId, Dem_DTCFormatType DTCFormat);
Sets a freeze frame record filter.
फ़ंक्शन Dem_GetNextFilteredRecord [SWS_Dem_00224] 📄 PDF
Std_ReturnType Dem_GetNextFilteredRecord (uint8 ClientId, uint32* DTC, uint8* RecordNumber);
Gets the next freeze frame record number and its associated DTC stored in the event memory. The interface has an asynchronous behavior, because NvRAM access might be required.
फ़ंक्शन Dem_GetDTCByOccurrenceTime [SWS_Dem_00218] 📄 PDF
Std_ReturnType Dem_GetDTCByOccurrenceTime (uint8 ClientId, Dem_DTCRequestType DTCRequest, uint32* DTC);
Gets the DTC by occurrence time. There is no explicit parameter for the DTC-origin as the origin always is DEM_DTC_ORIGIN_PRIMARY_MEMORY.
फ़ंक्शन Dem_DisableDTCRecordUpdate [SWS_Dem_00233] 📄 PDF
Std_ReturnType Dem_DisableDTCRecordUpdate (uint8 ClientId);
Disables the event memory update of a specific DTC (only one at one time).
उपयोग और अनुक्रम
एसिंक्रोनस फ़ंक्शन Dem_DisableDTCRecordUpdate ([SWS_Dem_00233]) Dem_SelectDTC के माध्यम से पहले परिभाषित DTC ([SWS_Dem_01253]) के लिए इवेंट मेमोरी के अद्यतन को निष्क्रिय करता है। इस कॉल का उद्देश्य संबंधित DTCOrigin में चयनित त्रुटि के इवेंट-संबंधित डेटा को अधिलेखित (overwrite) या हटाए जाने से सुरक्षित रखना है, ताकि फ्रीज फ्रेम डेटा और Extended Data Records तक बाद के सुसंगत रीड एक्सेस को सुनिश्चित किया जा सके ([SWS_Dem_00270])। पैरामीटर ClientId के माध्यम से कॉल करने वाले मॉड्यूल इंस्टेंस की पहचान की जाती है ([SWS_Dem_00233])।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन विशिष्ट रिटर्न मानों ([SWS_Dem_00233]) के माध्यम से प्रोसेसिंग स्थिति का संकेत देता है:
E_OK: इवेंट मेमोरी का अद्यतन सफलतापूर्वक निष्क्रिय कर दिया गया है।DEM_PENDING: निष्क्रियकरण एसिंक्रोनस रूप से निष्पादित किया जाता है; कॉलर को बाद में इस फ़ंक्शन को फिर से कॉल करना होगा।DEM_BUSY: इस क्लाइंट के लिएDem_SelectDTCपर निर्भर एक अन्य ऑपरेशन पहले से ही प्रक्रियाधीन है।E_NOT_OK: पहले से कोई DTC चयनित नहीं किया गया था।DEM_WRONG_DTC: चयनित DTC चुने गए प्रारूप में मौजूद नहीं है या अमान्य रूप से एक DTC समूह चुना गया था।DEM_WRONG_DTCORIGIN: निर्दिष्ट मूल (DTCOrigin) मौजूद नहीं है।
समवर्तीता और प्रतिबंध
Dem_DisableDTCRecordUpdate अलग-अलग ClientId वाले कॉल्स के लिए पुन: प्रवेशी (reentrant) है, लेकिन समान ClientId ([SWS_Dem_00233]) के लिए पुन: प्रवेशी नहीं है। एक ही समय में केवल ठीक एक DTC के लिए अद्यतन को लॉक किया जा सकता है ([SWS_Dem_00233])। डायग्नोस्टिक डेटा पढ़ने के बाद, Dem_EnableDTCRecordUpdate के माध्यम से डेटा रिकॉर्ड के अद्यतन को फिर से सक्षम किया जाना चाहिए ([SWS_Dem_00234], [SWS_Dem_00270])।
यह उपयोग निर्देश AUTOSAR स्पेसिफिकेशन के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_EnableDTCRecordUpdate [SWS_Dem_00234] 📄 PDF
Std_ReturnType Dem_EnableDTCRecordUpdate (uint8 ClientId);
Enables the event memory update of the DTC disabled by Dem_DisableDTCRecordUpdate() before. Note: As the call to Dem_EnableDTCRecordUpdate is the last action in the sequence of disabling/enabling a DTC, the caller is not interested in the return value. Therefore E_OK should be returned even if the DTC is enabled asynchronously.
एसिंक्रोनस फ़ंक्शन Dem_EnableDTCRecordUpdate ([SWS_Dem_00234]) पहले लॉक किए गए DTC के लिए ईवेंट मेमोरी अद्यतनीकरण को रिलीज़ करने का काम करता है। [SWS_Dem_00271] के अनुसार, फ़ंक्शन वर्तमान में Dem_DisableDTCRecordUpdate द्वारा संरक्षित DTC को पुनः रिलीज़ करता है, ताकि इसके डेटा को DEM में फिर से अपडेट किया जा सके।
ट्रांसफर पैरामीटर के रूप में, फ़ंक्शन ClientId की अपेक्षा करता है, जो कॉलिंग मॉड्यूल के इंस्टेंस की विशिष्ट पहचान करता है ([SWS_Dem_00234])। चूंकि Dem_EnableDTCRecordUpdate का कॉल किसी DTC को निष्क्रिय और सक्रिय करने के क्रम में अंतिम क्रिया का प्रतिनिधित्व करता है, इसलिए कॉलर को वास्तविक रिटर्न मान में कोई रुचि नहीं होती है; अतः [SWS_Dem_00234] के अनुसार, एसिंक्रोनस रिलीज़ में भी E_OK वापस किया जाना चाहिए।
त्रुटि प्रबंधन और रिटर्न मानों के संबंध में, निम्नलिखित स्थितियाँ परिभाषित हैं ([SWS_Dem_00234]):
E_OK: DTC डेटा रिकॉर्ड का अद्यतनीकरण सफलतापूर्वक रिलीज़ किया गया।E_NOT_OK: कोई DTC चयनित नहीं है।
कॉन्करेंसी और प्रतिबंधों के संबंध में, Dem_EnableDTCRecordUpdate विभिन्न क्लाइंट ID वाले कॉलों के लिए रीएंट्रेंट है, लेकिन समान ClientId के लिए नॉन-रीएंट्रेंट है ([SWS_Dem_00234])।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_GetSizeOfExtendedDataRecordSelection [SWS_Dem_00240] 📄 PDF
Std_ReturnType Dem_GetSizeOfExtendedDataRecordSelection (uint8 ClientId, uint32* SizeOfExtendedDataRecord);
Gets the size of Extended Data Record by DTC selected by the call of Dem_SelectExtended DataRecord.
फ़ंक्शन Dem_GetSizeOfFreezeFrameSelection [SWS_Dem_00238] 📄 PDF
Std_ReturnType Dem_GetSizeOfFreezeFrameSelection (uint8 ClientId, uint32* SizeOfFreezeFrame);
Gets the size of freeze frame data by DTC selected by the call of Dem_SelectFreezeFrame Data.
फ़ंक्शन Dem_GetNextExtendedDataRecord [SWS_Dem_00239] 📄 PDF
Std_ReturnType Dem_GetNextExtendedDataRecord (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);
Gets extended data record for the DTC selected by Dem_SelectExtendedDataRecord. The function stores the data in the provided DestBuffer.
फ़ंक्शन Dem_GetNextFreezeFrameData [SWS_Dem_00236] 📄 PDF
Std_ReturnType Dem_GetNextFreezeFrameData (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);
Gets freeze frame data by the DTC selected by Dem_SelectFreezeFrameData. The function stores the data in the provided DestBuffer.
फ़ंक्शन Dem_SelectExtendedDataRecord [SWS_Dem_91017] 📄 PDF
Std_ReturnType Dem_SelectExtendedDataRecord (uint8 ClientId, uint8 ExtendedDataNumber);
Sets the filter to be used by Dem_GetNextExtendedDataRecord and Dem_GetSizeOfExtended DataRecordSelection.
अतुल्यकालिक फ़ंक्शन Dem_SelectExtendedDataRecord पहले Dem_SelectDTC के साथ निर्धारित किए गए DTC के विस्तारित नैदानिक डेटा को पढ़ने के लिए फ़िल्टर को इनिशियलाइज़ करता है [SWS_Dem_91017] [SWS_Dem_01253]। यह क्लाइंट की संबद्ध इवेंट मेमोरी में आंतरिक चयन प्रक्रिया को ट्रिगर करता है [SWS_Dem_01273] और Dem_GetSizeOfExtendedDataRecordSelection और Dem_GetNextExtendedDataRecord के माध्यम से बाद की क्वेरीज़ के लिए लक्ष्य रिकॉर्ड निर्धारित करता है [SWS_Dem_01272]।
पैरामीटराइजेशन और प्रक्रिया के संबंध में निम्नलिखित प्रावधान लागू होते हैं:
- पैरामीटर: विशिष्ट रिकॉर्ड संख्याओं के अलावा,
ExtendedDataNumberमान0xFE(सभी OBD रिकॉर्ड्स का कुल आकार) और0xFF(सभी रिकॉर्ड्स का कुल आकार) को स्वीकार करता है [SWS_Dem_91017]। पठन के दौरान डेटा विसंगतियों से बचने के लिए, रिकॉर्ड को पहले सेDem_DisableDTCRecordUpdateके साथ सुरक्षित किया जा सकता है [SWS_Dem_00270]। - रिटर्न मान और त्रुटियाँ: सफल चयन पर
E_OKलौटाया जाता है [SWS_Dem_91017]। यह तब भी लागू होता है जब किसी मान्य रिकॉर्ड नंबर का अनुरोध किया जाता है जिसके लिए कोई प्रविष्टि संग्रहीत नहीं है; इस स्थिति में, बाद का पठन 0 का बफ़र आकार प्रदान करता है [SWS_Dem_00631]। यदिDem_SelectDTCके माध्यम से कोई एकल त्रुटि कोड नहीं बल्कि एक DTC समूह चुना गया था, या यदि DTC मौजूद नहीं है, तो कॉलDEM_WRONG_DTCके साथ विफल हो जाता है [SWS_Dem_91017] [SWS_Dem_01349]। यदि मेमोरी स्थान मौजूद नहीं है, तोDEM_WRONG_DTCORIGINकी सूचना दी जाती है [SWS_Dem_91017]। - समवर्ती निष्पादन: यदि चयन अभी भी प्रगति पर है, तो
DEM_PENDINGपुनः कॉल करने की आवश्यकता का संकेत देता है [SWS_Dem_91017]। स्थितिDEM_BUSYइंगित करती है कि इसClientIdके लिए एक अन्य DTC-निर्भर ऑपरेशन अभी भी सक्रिय है [SWS_Dem_91017]। यह फ़ंक्शन भिन्नClientIdमानों के लिए रीएंट्रेंट है, लेकिन समान इंस्टेंस के लिए रीएंट्रेंट नहीं है [SWS_Dem_91017]।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_SelectFreezeFrameData [SWS_Dem_91015] 📄 PDF
Std_ReturnType Dem_SelectFreezeFrameData (uint8 ClientId, uint8 RecordNumber);
Sets the filter to be used by Dem_GetNextFreezeFrameData and Dem_GetSizeOfFreezeFrame Selection.
उपयोग और सिमेंटिक्स
अतुल्यकालिक फ़ंक्शन Dem_SelectFreezeFrameData Dem_GetSizeOfFreezeFrameSelection और Dem_GetNextFreezeFrameData के माध्यम से फ़्रीज़-फ़्रेम डेटा के बाद के पठन के लिए फ़िल्टर सेट करता है [SWS_Dem_91015], [SWS_Dem_01268]। पैरामीटर ClientId के माध्यम से कॉलिंग मॉड्यूल इंस्टेंस की पहचान की जाती है, जबकि RecordNumber ISO 14229-1 के अनुसार स्नैपशॉट रिकॉर्ड संख्या निर्दिष्ट करता है; यहाँ 0xFF DTC के सभी स्नैपशॉट रिकॉर्ड्स के लिए है और 0x00 DTC-विशिष्ट WWH-OBD स्नैपशॉट के लिए है [SWS_Dem_91015]। यह कॉल संबंधित इवेंट मेमोरी में आंतरिक चयन को ट्रिगर करता है [SWS_Dem_01269]।
रिटर्न मान और त्रुटि प्रबंधन
यदि चयन प्रक्रिया सफलतापूर्वक आरंभ हो गई थी, तो फ़ंक्शन E_OK लौटाता है [SWS_Dem_91015]। यदि चयन अभी भी प्रगति पर है, तो DEM_PENDING संकेत देता है कि कॉलर को बाद में फ़ंक्शन को फिर से कॉल करना होगा [SWS_Dem_91015]। यदि क्लाइंट के लिए कोई अन्य निर्भर ऑपरेशन पहले से ही सक्रिय है, तो API DEM_BUSY लौटाती है [SWS_Dem_91015], [SWS_Dem_01253]। यदि लक्ष्य DTC वांछित फ़ॉर्मेट में मौजूद नहीं है, या Dem_SelectDTC के माध्यम से एकल DTC के स्थान पर कोई DTC समूह चुना गया था, तो DEM_WRONG_DTC लौटाया जाता है [SWS_Dem_91015], [SWS_Dem_01348]। अमान्य मेमोरी स्थान होने पर DEM_WRONG_DTCORIGIN प्राप्त होता है [SWS_Dem_91015]। यदि पूर्व चयन के बिना निर्भर रीड फ़ंक्शन्स को कॉल किया जाता है, तो DEM एक DET त्रुटि की रिपोर्ट करता है [SWS_Dem_01270], [SWS_Dem_01271]।
अनुक्रम और समवर्तीता (Concurrency)
यह फ़ंक्शन भिन्न कॉलर्स (ClientId) के लिए रीएंट्रेंट है, लेकिन समान क्लाइंट के लिए रीएंट्रेंट नहीं है [SWS_Dem_91015]। लक्ष्य DTC और मेमोरी स्थान निर्धारित करने के लिए Dem_SelectDTC का पूर्व कॉल अनिवार्य आवश्यकता है [SWS_Dem_01253]। सुसंगत पठन सुनिश्चित करने के लिए, इवेंट-संबंधित डेटा को परिवर्तनों या विलोपन से बचाने के लिए Dem_DisableDTCRecordUpdate को कॉल किया जा सकता है [SWS_Dem_00270]।
यह उपयोग नोट विनिर्देश के आधार पर AI द्वारा स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_GetNumberOfFreezeFrameRecords [SWS_Dem_91191] 📄 PDF
Std_ReturnType Dem_GetNumberOfFreezeFrameRecords (uint8 ClientId, uint16* NumberOfFilteredRecords);
This function returns the number of all freeze frame records currently stored in the primary event memory
फ़ंक्शन Dem_DisableDTCSetting [SWS_Dem_00242] 📄 PDF
Std_ReturnType Dem_DisableDTCSetting (uint8 ClientId);
Disables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.
उपयोग और सिमेंटिक्स
फ़ंक्शन Dem_DisableDTCSetting उन सभी डायग्नोस्टिक इवेंट्स के लिए DTC सेटिंग को निष्क्रिय करता है जो कॉलिंग क्लाइंट के DemEventMemorySet को असाइन किए गए हैं [SWS_Dem_00242], [SWS_Dem_01290]। यह कॉल एसिंक्रोनस रूप से निष्पादित होता है और इसके लिए एक अद्वितीय ClientId [SWS_Dem_00242] पास करने की आवश्यकता होती है। E_OK के माध्यम से सफल समापन के अलावा, रिटर्न मान DEM_PENDING यह संकेत देता है कि ऑपरेशन अभी भी प्रक्रियाधीन है; इस स्थिति में कॉलर को बाद में फ़ंक्शन को फिर से कॉल करना होगा [SWS_Dem_00242]।
कार्यात्मक प्रभाव
यदि Dem_DisableDTCSetting को कॉल किया जाता है, तो DEM संबंधित इवेंट्स के संग्रहण के साथ-साथ UDS स्थिति बाइट्स के अद्यतन को रोकता है [SWS_Dem_00079]। यदि इसके अतिरिक्त कॉन्फ़िगरेशन पैरामीटर DemDebounceBehavior को DEM_DEBOUNCE_RESET पर सेट किया गया है, तो यह कॉल संबंधित फॉल्ट डिटेक्शन काउंटरों (Fault Detection Counters) [SWS_Dem_00677] को रीसेट करने का कारण भी बनता है।
समवर्तीता और प्रतिबंध
यह फ़ंक्शन अलग-अलग क्लाइंट-IDs वाले कॉल्स के लिए पुन: प्रवेशी है, लेकिन समान ClientId [SWS_Dem_00242] के लिए पुन: प्रवेशी नहीं है। यह निष्क्रियकरण केवल ClientId द्वारा संदर्भित DemEventMemorySet के इवेंट्स और UDS स्थिति बाइट्स को प्रभावित करता है; इस मेमोरी क्षेत्र से बाहर के DTCs प्रभावित नहीं होते हैं [SWS_Dem_01290]।
यह उपयोग नोट AUTOSAR विनिर्देश की आवश्यकताओं पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_EnableDTCSetting [SWS_Dem_00243] 📄 PDF
Std_ReturnType Dem_EnableDTCSetting (uint8 ClientId);
(Re)-Enables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.
एसिंक्रोनस फ़ंक्शन Dem_EnableDTCSetting संबोधित क्लाइंट के DemEventMemorySet को असाइन किए गए सभी DTCs के लिए DTC सेटिंग को सक्रिय या पुनः सक्रिय करता है [SWS_Dem_00243]। कॉल के दौरान, कॉलिंग मॉड्यूल इंस्टेंस का अद्वितीय पहचानकर्ता ClientId पास किया जाता है [SWS_Dem_00243]।
रिटर्न मानों के रूप में निम्नलिखित परिभाषित हैं [SWS_Dem_00243]:
E_OK: ऑपरेशन सफलतापूर्वक पूरा हुआ।DEM_PENDING: प्रक्रिया एसिंक्रोनस रूप से निष्पादित की जाती है; कॉलर को बाद में फ़ंक्शन को फिर से कॉल करना होगा।
समवर्तीता (concurrency) के संबंध में, Dem_EnableDTCSetting विभिन्न ClientId-मानों के लिए पुन: प्रवेशी है, लेकिन समान ClientId [SWS_Dem_00243] के लिए इसे समवर्ती रूप से कॉल नहीं किया जाना चाहिए।
इवेंट प्रोसेसिंग के साथ संयोजन में, यह फ़ंक्शन सुनिश्चित करता है कि DEM संबंधित इवेंट्स और UDS स्थिति बाइट के संग्रहण को सक्षम करता है [SWS_Dem_00080]। यदि इवेंट्स के लिए DTC सेटिंग फिर से सक्रिय हो जाती है, तो Dem_EnableDTCSetting DEM_INIT_MONITOR_REENABLED पर पैरामीटर InitMonitorReason के साथ प्रभावित इवेंट्स के कॉलबैक फ़ंक्शन InitMonitorForEvent को ट्रिगर करता है [SWS_Dem_00682]।
यह पाठ AI द्वारा जनरेट किया गया था और केवल मार्गदर्शन के लिए है। केवल संबंधित AUTOSAR रिलीज़ के विनिर्देश ही बाध्यकारी हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmGetInfoTypeValue08 [SWS_Dem_00316] 📄 PDF
Std_ReturnType Dem_DcmGetInfoTypeValue08 (Dcm_OpStatusType OpStatus, uint8* Iumprdata08, uint8* Iumprdata08BufferSize);
Service is used for requesting IUMPR data according to InfoType $08. This interface is derived from the prototype
उपयोग
OBD सेवा $09 के भाग के रूप में InfoType $08 के लिए IUMPR (In-Use Monitor Performance Ratio) डेटा क्वेरी करने के लिए DCM द्वारा सिंक्रोनस फ़ंक्शन Dem_DcmGetInfoTypeValue08 ([SWS_Dem_00316]) को कॉल किया जाता है ([SWS_Dem_00298])। चूँकि प्रोसेसिंग सिंक्रोनस रूप से होती है, DCM पैरामीटर OpStatus के लिए केवल मान DCM_INITIAL पास करता है ([SWS_Dem_00316])। पेलोड डेटा और ISO-15031-5 के अनुसार डेटा तत्वों की संख्या DCM द्वारा प्रदान किए गए बफ़र Iumprdata08 में लिखी जाती है; अधिकतम लिखने योग्य बफ़र आकार इनआउट पैरामीटर Iumprdata08BufferSize ([SWS_Dem_00316]) के माध्यम से निर्दिष्ट किया जाता है।
त्रुटि प्रबंधन
फ़ंक्शन हमेशा रिटर्न मान के रूप में E_OK प्रदान करता है ([SWS_Dem_00316])। इस कॉल के लिए विशिष्ट त्रुटि कोड या विकास त्रुटि संदेश (DET) निर्दिष्ट नहीं हैं।
समवर्तीता और कॉन्फ़िगरेशन
यह इंटरफ़ेस पुन: प्रवेशी नहीं है (Non Reentrant) और Dem_Dcm.h के माध्यम से घोषित किया गया है ([SWS_Dem_00316])। यह केवल सक्रिय OBD समर्थन (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) ([SWS_Dem_00316]) वाले OBD-प्रासंगिक नियंत्रण इकाइयों में मौजूद है और तब प्रदान किया जाता है जब DemOBDEngineType को ओटो इंजन के लिए DEM_IGNITION_SPARK पर कॉन्फ़िगर किया गया हो ([SWS_Dem_00357])।
इंटरैक्शन
दबाए गए त्रुटि कोड (suppressed DTCs) क्वेरी के दौरान दृश्यमान नहीं होने चाहिए और उन्हें इस प्रकार माना जाना चाहिए जैसे कि फ़िल्टर लागू नहीं होता है ([SWS_Dem_01101])। Dem_DcmGetInfoTypeValue0B के साथ मिलकर, यह फ़ंक्शन सेवा $09 में डेटा अनुरोधों का समर्थन करने का काम करता है ([SWS_Dem_00298])।
यह उपयोग निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_DcmGetInfoTypeValue0B [SWS_Dem_00317] 📄 PDF
Std_ReturnType Dem_DcmGetInfoTypeValue0B (Dcm_OpStatusType OpStatus, uint8* Iumprdata0B, uint8* Iumprdata0BBufferSize);
Service is used for requesting IUMPR data according to InfoType $0B. This interface is derived from the prototype
उपयोग और पैरामीटर इंटरफ़ेस
सिंक्रोनस फ़ंक्शन Dem_DcmGetInfoTypeValue0B (सर्विस-ID 0x6c, Dem_Dcm.h के माध्यम से उपलब्ध) का उपयोग DCM द्वारा OBD सेवा $09 [SWS_Dem_00317] [SWS_Dem_00298] के भाग के रूप में InfoType $0B के अनुसार IUMPR (In-Use Performance Ratio) डेटा क्वेरी करने के लिए किया जाता है। फ़ंक्शन इंटरफ़ेस DCM प्रोटोटाइप <Module>_GetInfotypeValueData() से लिया गया है, यही कारण है कि यह Dcm_OpStatusType और Std_ReturnType का उपयोग करता है [SWS_Dem_00317]:
OpStatus(in): चूँकि फ़ंक्शन सिंक्रोनस व्यवहार प्रदर्शित करता है, इसलिए कॉल के समय केवल स्थितिDCM_INITIALही उत्पन्न होती है [SWS_Dem_00317]।Iumprdata0BBufferSize(inout): डेटा बाइट्स की अधिकतम संख्या को परिभाषित करता है जिन्हें बफ़र में लिखा जा सकता है [SWS_Dem_00317]।Iumprdata0B(out): DCM द्वारा प्रदान किया गया एक बफ़र, जो ISO-15031-5 के अनुसार डेटा तत्वों की संख्या और InfoType $0B की सामग्री को प्राप्त करता है [SWS_Dem_00317]।
रिटर्न मान के रूप में हमेशा E_OK लौटाया जाता है [SWS_Dem_00317]।
त्रुटि हैंडलिंग और समवर्तीता
विनिर्देश में इस फ़ंक्शन के लिए कोई विशिष्ट त्रुटि कोड या त्रुटि प्रतिक्रियाएं (जैसे DET संदेश) परिभाषित नहीं हैं; कॉल औपचारिक रूप से हमेशा E_OK वापस रिपोर्ट करता है [SWS_Dem_00317]। API को गैर-पुन: प्रवेशी (Non Reentrant) के रूप में वर्गीकृत किया गया है [SWS_Dem_00317]। इसलिए संभवतः कॉलर (DCM) को समानांतर में कई डायग्नोस्टिक अनुरोधों के लिए समवर्ती रूप से इस सेवा को निष्पादित करने की अनुमति नहीं है। प्रश्न Q-636518c23ec3801a (खुला)
कॉन्फ़िगरेशन निर्भरता और परस्पर क्रिया
API विशेष रूप से OBD-प्रासंगिक नियंत्रण इकाइयों में मौजूद है जिसके लिए कॉन्फ़िगरेशन पैरामीटर DemOBDSupport DEM_OBD_NO_OBD_SUPPORT के असमान कॉन्फ़िगर किया गया है [SWS_Dem_00317]। इसके अतिरिक्त, यह तब प्रदान किया जाता है जब DemOBDEngineType को DEM_IGNITION_COMPRESSION पर सेट किया जाता है [SWS_Dem_00358]। DTC सप्रेशन के साथ परस्पर क्रिया में, यह लागू होता है कि दबाए गए DTCs इस क्वेरी फ़ंक्शन के लिए अदृश्य हैं और उन्हें ऐसे माना जाना चाहिए जैसे कि फ़िल्टर लागू नहीं होता है [SWS_Dem_01101]।
यह पाठ AI द्वारा तैयार किया गया था; दिशानिर्देशों के अनुसार उपयोगकर्ता द्वारा AUTOSAR विनिर्देश के आधार पर सत्यापन आवश्यक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_DcmReadDataOfPID01 [SWS_Dem_00318] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID01 (uint8* PID01value);
Service to report the value of PID $01 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID01 OBD पैरामीटर PID $01 की DEM द्वारा परिकलित सामग्री को DCM को सौंपने के लिए कार्य करता है [SWS_Dem_00318]। इंटरफ़ेस हेडर फ़ाइल Dem_Dcm.h में घोषित है और यह विशेष रूप से OBD-प्रासंगिक ECU में उपलब्ध है जिनमें DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT पर सेट नहीं किया गया है [SWS_Dem_00318]।
आउटपुट पैरामीटर PID01value के माध्यम से, DCM लक्ष्य बफ़र का एक पॉइंटर पास करता है, जिसमें DEM डेटा लिखता है [SWS_Dem_00318]। DCM इस बफ़र को पर्याप्त आकार के साथ प्रदान करने के लिए ज़िम्मेदार है; PIDBuffer की स्थापना के लिए कॉन्फ़िगरेशन के दौरान सबसे बड़ी घटित होने वाली PID के आधार पर आयाम तय किया जाता है [SWS_Dem_00318]।
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निष्पादित किया गया है [SWS_Dem_00318]। रिटर्न मान के रूप में हमेशा E_OK प्रदान किया जाता है, क्योंकि विनिर्देश के अनुसार E_NOT_OK वाली त्रुटि स्थिति कभी उत्पन्न नहीं होती [SWS_Dem_00318]।
त्रुटि प्रश्नों (fault queries) के साथ परस्पर क्रिया में, यह लागू होता है कि दबाए गए त्रुटि कोड (suppressed DTC) Dem_DcmReadDataOfPID01 के लिए दृश्यमान नहीं होने चाहिए [SWS_Dem_01101]। मूल्यांकन करते समय DEM को suppressed DTCs को इस तरह संभालना चाहिए मानो फ़िल्टर लागू नहीं होता [SWS_Dem_01101]।
नोट: यह दस्तावेज़ AUTOSAR Classic R20-11 विनिर्देश के आधार पर एक AI सिस्टम द्वारा स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmReadDataOfPID1C [SWS_Dem_00325] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID1C (uint8* PID1Cvalue);
Service to report the value of PID $1C computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
उपयोग और कॉल संदर्भ
फ़ंक्शन Dem_DcmReadDataOfPID1C Diagnostic Event Manager की एक सिंक्रोनस सर्विस प्रदान करता है, जिसके माध्यम से Diagnostic Communication Module (DCM) OBD PID $1C की परिकलित सामग्री को पढ़ता है [SWS_Dem_00325]।
-
पैरामीटर: आउटपुट पैरामीटर
PID1Cvalue(uint8का पॉइंटर) के माध्यम से DEM डेटा को DCM के एक बफ़र में लिखता है। DCM के कॉन्फ़िगरेशन के समय उपयुक्तPIDBufferप्रदान करने के लिए सबसे बड़े PID के आधार पर आवश्यक बफ़र आकार निर्धारित किया जाता है [SWS_Dem_00325]। -
रिटर्न मान: सर्विस हमेशा स्थिति मान
E_OKलौटाती है। विनिर्देश के अनुसारE_NOT_OKवाली त्रुटि स्थिति कभी उत्पन्न नहीं होती [SWS_Dem_00325]।
कार्यात्मक सामग्री और अंतःक्रिया
[SWS_Dem_00748] के अनुसार, इंटरफ़ेस उन OBD आवश्यकताओं की रिपोर्ट करता है जिनके अनुसार वाहन या इंजन प्रमाणित है (उदाहरण के लिए OBD, OBDII या JOBD)। PID1Cvalue में आउटपुट किया जाने वाला मान कॉन्फ़िगरेशन पैरामीटर DemOBDCompliancy के माध्यम से निर्धारित किया जाता है [SWS_Dem_00325] [SWS_Dem_00748]।
समवर्तीता और उपलब्धता
फ़ंक्शन को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dem_00325]। यह हेडर फ़ाइल Dem_Dcm.h में घोषित है और विशेष रूप से सक्रिय OBD समर्थन वाले ECU में उपलब्ध है, जहाँ DemGeneral.DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT पर सेट नहीं किया गया है [SWS_Dem_00325]।
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmReadDataOfPID21 [SWS_Dem_00319] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID21 (uint8* PID21value);
Service to report the value of PID $21 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID21 (सर्विस-ID 0x64) का उपयोग Diagnostic Communication Manager (DCM) द्वारा DEM द्वारा परिकलित OBD पैरामीटर PID $21 के वर्तमान मान को क्वेरी करने के लिए किया जाता है [SWS_Dem_00319], [SWS_Dem_01098]। इंटरफ़ेस हेडर Dem_Dcm.h के माध्यम से घोषित किया गया है और केवल OBD संदर्भ वाले नियंत्रण इकाइयों में उपलब्ध है, बशर्ते कि कॉन्फ़िगरेशन पैरामीटर DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT पर सेट न किया गया हो [SWS_Dem_00319]।
उपयोग और परिचालन परस्पर क्रिया के लिए निम्नलिखित निर्धारण लागू होते हैं:
- बफ़र प्रावधान: आउटपुट पैरामीटर के रूप में पॉइंटर
PID21valueपास किया जाता है [SWS_Dem_00319]। कॉलर (DCM) को यह बफ़र प्रदान करना होगा और कॉन्फ़िगरेशन के दौरान सबसे बड़े कॉन्फ़िगर किए गए PID के अनुरूप इसका आकार निर्धारित करना होगा [SWS_Dem_00319]। कॉल किए जाने पर, DEM इस बफ़र में PID $21 का वर्तमान मान लिखता है [SWS_Dem_01098]। - रिटर्न मान: फ़ंक्शन हमेशा
E_OKलौटाता है, क्योंकि विनिर्देश के अनुसारE_NOT_OKजैसा त्रुटि मान कभी नहीं होता है [SWS_Dem_00319]। - प्रारंभिक स्थिति / त्रुटि प्रबंधन: यदि
Dem_DcmReadDataOfPID21कोDem_SetDataOfPID21के माध्यम से मान सेट किए जाने से पहले कॉल किया जाता है, तो DEM PID $21 की सामग्री के रूप में प्रतिस्थापन मान0xFFFFलौटाता है [SWS_Dem_01099]। - समवर्तीता: फ़ंक्शन को गैर-पुन: प्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dem_00319]। इसलिए एकाधिक संदर्भों द्वारा समवर्ती कॉल्स की अनुमति नहीं है।
यह उपयोग निर्देश AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmReadDataOfPID30 [SWS_Dem_00320] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID30 (uint8* PID30value);
Service to report the value of PID $30 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID30 का उपयोग DEM द्वारा परिकलित पैरामीटर PID $30 की डेटा सामग्री को DCM को स्थानांतरित करने के लिए किया जाता है [SWS_Dem_00320]। यह हेडर फ़ाइल Dem_Dcm.h के माध्यम से घोषित किया गया है और केवल OBD प्रासंगिकता वाले नियंत्रण इकाइयों में उपलब्ध है, यदि कॉन्फ़िगरेशन पैरामीटर DemOBDSupport DEM_OBD_NO_OBD_SUPPORT के असमान हो [SWS_Dem_00320]।
इंटरफ़ेस के उपयोग के लिए निम्नलिखित निर्धारण लागू होते हैं:
- हस्तांतरण पैरामीटर: आउटपुट पैरामीटर
PID30valueके माध्यम से कॉलर एक बफ़र प्रदान करता है, जिसमें DEM PID $30 का परिकलित डेटा लिखता है [SWS_Dem_00320]। इस बफ़र को उपयुक्त आकार में प्रदान करने के लिए DCM ज़िम्मेदार है; DCM सबसे बड़े PID के आधार पर कॉन्फ़िगरेशन के दौरान आकार निर्धारित करता है [SWS_Dem_00320]। - रिटर्न मान और त्रुटि प्रबंधन: इंटरफ़ेस हमेशा
Std_ReturnTypeके रूप मेंE_OKलौटाता है [SWS_Dem_00320]। विनिर्देश के अनुसार त्रुटि मानE_NOT_OKकभी नहीं होता है, और कोई विशिष्ट त्रुटि कोड या अलग त्रुटि प्रबंधन रूटीन प्रदान नहीं किए गए हैं [SWS_Dem_00320]। - समवर्तीता: फ़ंक्शन को गैर-पुन: प्रवेशी (
Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Dem_00320]। चूँकि विनिर्देश कोई आंतरिक तुल्यकालन तंत्र (synchronization mechanisms) प्रदान नहीं करता है, संभवतः प्रतिस्पर्धी कॉल्स को बाहर करने के लिए कॉलर ज़िम्मेदार होगा [SWS_Dem_00320]। प्रश्न Q-976bc8dc189021a1 (खुला)
यह उपयोग नोट AUTOSAR Classic R20-11 विनिर्देश के आधार पर एक AI द्वारा उत्पन्न किया गया था।
फ़ंक्शन Dem_DcmReadDataOfPID31 [SWS_Dem_00321] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID31 (uint8* PID31value);
Service to report the value of PID $31 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID31 का उपयोग DEM द्वारा परिकलित OBD पैरामीटर PID $31 के मान को DCM को स्थानांतरित करने के लिए किया जाता है [SWS_Dem_00321]। यह इंटरफ़ेस हेडर फ़ाइल Dem_Dcm.h के माध्यम से प्रदान किया जाता है और इसकी सर्विस-ID 0x66 [SWS_Dem_00321] है।
उपयोग और पैरामीटर
कॉल सिंक्रोनस रूप से निष्पादित होता है और इसे गैर-पुन: प्रवेशी के रूप में परिभाषित किया गया है [SWS_Dem_00321]:
- PID31value (आउटपुट पैरामीटर): एक बफ़र (
uint8*) का पॉइंटर, जो PID $31 के लिए परिकलित डेटा प्राप्त करता है [SWS_Dem_00321]। उपयुक्त आकार में बफ़र का प्रावधान कॉलिंग DCM की ज़िम्मेदारी है; यहPIDBuffer[SWS_Dem_00321] को डिज़ाइन करने के लिए सबसे बड़े PID के आधार पर कॉन्फ़िगरेशन के दौरान आवश्यक बफ़र आकार निर्धारित करता है। - रिटर्न मान: सेवा हमेशा
Std_ReturnTypeके रूप मेंE_OKलौटाती है; विनिर्देश के अनुसार त्रुटि मानE_NOT_OKकभी नहीं होता है [SWS_Dem_00321]।
प्रतिबंध और कॉन्फ़िगरेशन
API विशेष रूप से OBD-प्रासंगिक नियंत्रण इकाइयों के लिए अभीष्ट है [SWS_Dem_00321]। यह केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन पैरामीटर DemGeneral.DemOBDSupport मान DEM_OBD_MASTER_ECU पर सेट हो [SWS_Dem_00321]। चूँकि फ़ंक्शन पुन: प्रवेशी नहीं है, इसलिए DCM द्वारा समानांतर कॉल नहीं किए जाने चाहिए [SWS_Dem_00321]।
यह उपयोग नोट स्वचालित रूप से जनरेट किया गया था और विशेष रूप से रिलीज़ R20-11 के विनिर्देश डेटा पर आधारित है।
फ़ंक्शन Dem_DcmReadDataOfPID41 [SWS_Dem_00322] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID41 (uint8* PID41value);
Service to report the value of PID $41 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID41 का उपयोग DEM द्वारा परिकलित PID $41 की सामग्री को DCM को स्थानांतरित करने के लिए किया जाता है [SWS_Dem_00322]। यह हेडर Dem_Dcm.h के माध्यम से घोषित किया गया है और इसकी सर्विस-ID 0x67 [SWS_Dem_00322] है।
उपयोग और पैरामीटर
कॉल सिंक्रोनस रूप से निष्पादित होता है और इसे गैर-पुन: प्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dem_00322]। आउटपुट पैरामीटर के रूप में, इंटरफ़ेस पॉइंटर PID41value (uint8*) की अपेक्षा करता है:
PID41valuePID $41 के परिकलित डेटा को प्राप्त करता है [SWS_Dem_00322]।- बफ़र DCM द्वारा उपयुक्त आकार में उपलब्ध कराया जाना चाहिए; इसके लिए DCM कॉन्फ़िगरेशन के दौरान ही आने वाले सबसे बड़े PID के आधार पर
PIDBuffer[SWS_Dem_00322] के कॉन्फ़िगरेशन हेतु आवश्यक आकार निर्धारित करता है।
रिटर्न मान और त्रुटि प्रबंधन
रिटर्न मान के रूप में यह फ़ंक्शन हमेशा E_OK लौटाता है, क्योंकि विनिर्देश के अनुसार त्रुटि मान E_NOT_OK कभी उत्पन्न नहीं होता [SWS_Dem_00322]। इस इंटरफ़ेस के लिए कोई विशिष्ट त्रुटि कोड या त्रुटि प्रतिक्रियाएँ निर्धारित नहीं हैं [SWS_Dem_00322]।
कॉन्फ़िगरेशन निर्भरता और उपलब्धता
यह API केवल OBD-प्रासंगिक ECU में आवश्यक होती है [SWS_Dem_00322]। यह केवल तभी उपलब्ध होती है, जब DemGeneral में कॉन्फ़िगरेशन पैरामीटर DemOBDSupport DEM_OBD_NO_OBD_SUPPORT के अतिरिक्त कॉन्फ़िगर किया गया हो [SWS_Dem_00322]।
यह पाठ AI द्वारा तैयार किया गया था और यह पूरी तरह से विनिर्देश R20-11 पर आधारित है।
फ़ंक्शन Dem_DcmReadDataOfPID4D [SWS_Dem_00323] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID4D (uint8* PID4Dvalue);
Service to report the value of PID $4D computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)
उपयोग और कॉल संदर्भ
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID4D का उपयोग DEM द्वारा परिकलित OBD पैरामीटर PID $4D के मान को DCM तक प्रेषित करने के लिए किया जाता है [SWS_Dem_00323]। यह सर्विस हेडर Dem_Dcm.h के माध्यम से सर्विस-ID 0x68 के साथ उपलब्ध कराई जाती है [SWS_Dem_00323]।
एकमात्र इनपुट पैरामीटर के रूप में आउटपुट पॉइंटर PID4Dvalue कार्य करता है, जो DCM द्वारा प्रदान किए गए लक्ष्य बफ़र को संदर्भित करता है [SWS_Dem_00323]। DCM उपयुक्त आकार के साथ यह बफ़र उपलब्ध कराता है, जिसके लिए वह कॉन्फ़िगरेशन के दौरान ही सबसे बड़े आने वाले PID के आधार पर PIDBuffer के लिए आवश्यक आकार निर्धारित करता है [SWS_Dem_00323]।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन का रिटर्न प्रकार Std_ReturnType है और यह बिना किसी अपवाद के E_OK लौटाता है [SWS_Dem_00323]। E_NOT_OK का रिटर्न मान विनिर्देश के अनुसार वर्जित है और कभी उत्पन्न नहीं होता [SWS_Dem_00323]। इस कॉल के लिए कोई विशेष त्रुटि प्रबंधन या विशिष्ट त्रुटि कोड मौजूद नहीं हैं।
कनकरेन्सी और कॉन्फ़िगरेशन निर्भरता
इंटरफ़ेस को गैर-पुनःप्रवेशी (Non Reentrant) के रूप में घोषित किया गया है और इसलिए इसे समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए [SWS_Dem_00323]।
इसके अतिरिक्त, यह फ़ंक्शन केवल OBD-प्रासंगिक ECU में आवश्यक है [SWS_Dem_00323]। यह केवल तभी उपलब्ध होता है, जब कॉन्फ़िगरेशन में DemGeneral के अंतर्गत पैरामीटर DemOBDSupport को मान DEM_OBD_MASTER_ECU पर सेट किया गया हो [SWS_Dem_00323]।
यह उपयोग नोट AUTOSAR CP R20-11 में Diagnostic Event Manager के विनिर्देश पर आधारित है।
फ़ंक्शन Dem_DcmReadDataOfPID4E [SWS_Dem_00324] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID4E (uint8* PID4Evalue);
Service to report the value of PID $4E computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} == DEM_OBD_MASTER_ECU)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID4E का उपयोग DEM द्वारा परिकलित OBD पैरामीटर ID PID $4E की सामग्री को DCM तक प्रेषित करने के लिए किया जाता है [SWS_Dem_00324]। फ़ंक्शन में सर्विस-ID 0x69 होती है और इसे हेडर फ़ाइल Dem_Dcm.h के माध्यम से घोषित किया जाता है [SWS_Dem_00324]।
कॉल और बफ़र प्रबंधन
यह कॉल सिंक्रोनस रूप से होता है और इसे गैर-पुनःप्रवेशी (Non Reentrant) के रूप में परिभाषित किया गया है [SWS_Dem_00324]। आउटपुट पैरामीटर के रूप में, फ़ंक्शन पॉइंटर PID4Evalue (प्रकार uint8*) स्वीकार करता है, जिसके माध्यम से DEM परिकलित डेटा संग्रहीत करता है [SWS_Dem_00324]। कॉलिंग DCM को इसके लिए उपयुक्त आकार का एक बफ़र प्रदान करना होगा [SWS_Dem_00324]। साझा PIDBuffer को तदनुसार आयाम देने के लिए DCM कॉन्फ़िगरेशन के दौरान सबसे बड़े आने वाले PID के आधार पर आवश्यक बफ़र आकार निर्धारित करता है [SWS_Dem_00324]।
रिटर्न मान और त्रुटि प्रबंधन
यह इंटरफ़ेस हमेशा प्रकार Std_ReturnType का E_OK लौटाता है, क्योंकि विनिर्देश के अनुसार रिटर्न मान E_NOT_OK कभी उत्पन्न नहीं होता [SWS_Dem_00324]। विनिर्देश के दायरे में त्रुटि की स्थिति के लिए कोई विशिष्ट त्रुटि कोड और कोई DET या DEM त्रुटि संदेश निर्दिष्ट नहीं हैं [SWS_Dem_00324]।
सीमाएं और उपलब्धता
यह API केवल OBD-प्रासंगिक ECU में आवश्यक होती है [SWS_Dem_00324]। इसकी उपलब्धता कॉन्फ़िगरेशन शर्त DemGeneral.DemOBDSupport == DEM_OBD_MASTER_ECU से बंधी है; अन्य कॉन्फ़िगरेशन में यह फ़ंक्शन उपलब्ध नहीं होता है [SWS_Dem_00324]।
यह पाठ AI द्वारा तैयार किया गया था; यह AUTOSAR विनिर्देश के अध्ययन का स्थान नहीं लेता है।
फ़ंक्शन Dem_DcmReadDataOfPID91 [SWS_Dem_01187] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfPID91 (uint8* PID91value);
Service to report the value of PID $91 computed by the Dem. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfPID91 (सर्विस ID 0x6a) DEM द्वारा परिकलित OBD पैरामीटर PID $91 के डेटा को DCM को स्थानांतरित करने का कार्य करता है [SWS_Dem_01187]। इंटरफ़ेस को हेडर Dem_Dcm.h के माध्यम से घोषित किया जाता है और यह केवल उन OBD-प्रासंगिक ECU में उपलब्ध होता है जहाँ DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT पर कॉन्फ़िगर नहीं किया गया है [SWS_Dem_01187]।
आउटपुट पैरामीटर के रूप में, फ़ंक्शन को पॉइंटर PID91value की आवश्यकता होती है, जो DCM द्वारा प्रदान किए गए बफ़र को संदर्भित करता है [SWS_Dem_01187]। उपयुक्त आकार में यह बफ़र प्रदान करने के लिए DCM ज़िम्मेदार है; बफ़र PIDBuffer बनाने के लिए आवश्यक आकार कॉन्फ़िगरेशन के दौरान सबसे बड़े PID के आधार पर पहले ही निर्धारित कर लिया जाता है [SWS_Dem_01187]।
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसे सिंक्रोनस रूप से संसाधित किया जाना चाहिए [SWS_Dem_01187]। इसलिए विभिन्न संदर्भों से समानांतर कॉल अस्वीकार्य है। कोई त्रुटि रिटर्न मान मौजूद नहीं है: फ़ंक्शन Std_ReturnType के रूप में हमेशा E_OK लौटाता है, क्योंकि विनिर्देश के अनुसार त्रुटि मान E_NOT_OK कभी नहीं होता है [SWS_Dem_01187]।
यह उपयोग संबंधी नोट स्वचालित रूप से जनरेट किया गया था और पूरी तरह से AUTOSAR Classic R20-11 के विनिर्देश डेटा पर आधारित है।
फ़ंक्शन Dem_DcmReadDataOfOBDFreezeFrame [SWS_Dem_00327] 📄 PDF
Std_ReturnType Dem_DcmReadDataOfOBDFreezeFrame (uint8 PID, uint8 DataElementIndexOfPID, uint8* DestBuffer, uint16* BufSize);
Gets data element per PID and index of the most important freeze frame being selected for the output of service $02. The function stores the data in the provided DestBuffer. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस फ़ंक्शन Dem_DcmReadDataOfOBDFreezeFrame सबसे महत्वपूर्ण फ़्रीज़-फ़्रेम के लिए एक PID से संबंधित डेटा तत्व का डेटा पढ़ता है, जिसे OBD सर्विस $02 के आउटपुट के लिए चुना गया है [SWS_Dem_00327]।
कॉल संदर्भ और पैरामीटर
यह कॉल DCM द्वारा हेडर Dem_Dcm.h के माध्यम से किया जाता है [SWS_Dem_00327]। फ़ंक्शन को निम्नलिखित पैरामीटर पास किए जाते हैं:
PID: ISO 15031-5 के अनुसार PID की पहचान [SWS_Dem_00327]।DataElementIndexOfPID: PID के भीतर डेटा तत्व का शून्य-आधारित, क्रमिक इंडेक्स। यह क्रम DCM कॉन्फ़िगरेशन के PID लेआउट में डेटा तत्वों की स्थिति से सीधे प्राप्त होता है [SWS_Dem_00327], [SWS_Dem_00597]।DestBuffer: बफ़र का पॉइंटर, जिसमें डेटा तत्व हेडर जानकारी के बिना हेक्साडेसिमल रॉ प्रारूप में लिखा जाता है [SWS_Dem_00327]।BufSize: इनपुट और आउटपुट पैरामीटर के रूप में कार्य करता है; कॉल के समय अधिकतम बफ़र क्षमता समाहित रखता है और वास्तव में लिखे गए डेटा बाइट्स की संख्या लौटाता है [SWS_Dem_00327]।
प्रतिबंध और त्रुटि प्रबंधन
फ़ंक्शन गैर-पुनःप्रवेशी (Non Reentrant) है और केवल सक्रिय OBD समर्थन (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) वाले ECU में उपलब्ध है [SWS_Dem_00327]। सफल डेटा प्रावधान पर E_OK लौटाया जाता है, अन्यथा E_NOT_OK लौटाया जाता है [SWS_Dem_00327]। एक दबाया हुआ DTC इस क्वेरी फ़ंक्शन के लिए दृश्यमान नहीं होता है [SWS_Dem_01101]; संभवतः ऐसे मामले में फ़ंक्शन E_NOT_OK लौटाता है। प्रश्न Q-09c77cdccc138247 (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था; संदर्भित विनिर्देश आधिकारिक है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmGetDTCOfOBDFreezeFrame [SWS_Dem_00624] 📄 PDF
Std_ReturnType Dem_DcmGetDTCOfOBDFreezeFrame (uint8 FrameNumber, uint32* DTC, Dem_DTCFormatType DTCFormat);
Gets DTC by freeze frame record number. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
तुल्यकालिक, गैर-रीएंट्रेंट फ़ंक्शन Dem_DcmGetDTCOfOBDFreezeFrame किसी दिए गए फ़्रीज़-फ़्रेम रिकॉर्ड संख्या के संगत DTC को पढ़ता है [SWS_Dem_00624]। यह मुख्य रूप से DCM द्वारा OBD सर्विस $02 (PID $02) के अंतर्गत सबसे प्रासंगिक चयनित फ़्रीज़-फ़्रेम के DTC को निर्धारित करने के लिए उपयोग किया जाता है [SWS_Dem_00623]।
कॉल और पैरामीटर
FrameNumber(IN): ISO 15031-5 के अनुसार फ़्रीज़-फ़्रेम रिकॉर्ड का अद्वितीय पहचानकर्ता। मान0x00पूर्ण OBD फ़्रीज़-फ़्रेम को दर्शाता है, अन्य मान आरक्षित हैं [SWS_Dem_00624]।DTCFormat(IN): DTC मान का वांछित आउटपुट फ़ॉर्मेट [SWS_Dem_00624]।DTC(OUT): OBD फ़ॉर्मेट में निर्धारित त्रुटि कोड के संग्रहण स्थान का पॉइंटर [SWS_Dem_00624]।
रिटर्न मान और त्रुटि प्रबंधन
यदि DTC को सफलतापूर्वक निर्धारित किया जा सका, तो फ़ंक्शन E_OK लौटाता है। यदि कोई उपयुक्त DTC उपलब्ध नहीं है, तो कॉल E_NOT_OK लौटाता है; इस स्थिति में आउटपुट पैरामीटर DTC में कोई मान्य डेटा शामिल नहीं होता है [SWS_Dem_00624]।
शर्तें और अंतःक्रिया
यह इंटरफ़ेस हेडर Dem_Dcm.h के माध्यम से उपलब्ध है और केवल OBD समर्थन वाली नियंत्रण इकाइयों (कॉन्फ़िगरेशन DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) में मौजूद होता है [SWS_Dem_00624]। दबे हुए DTCs (suppressed DTCs) को फ़ंक्शन द्वारा इस तरह माना जाता है मानो कोई मिलान नहीं मिला हो, और वे इस क्वेरी के लिए दिखाई नहीं देते हैं [SWS_Dem_01101]।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmGetAvailableOBDMIDs [SWS_Dem_00766] 📄 PDF
Std_ReturnType Dem_DcmGetAvailableOBDMIDs (uint8 Obdmid, uint32* Obdmidvalue);
Reports the value of a requested "availability-OBDMID" to the DCM upon a Service $06 request. Derived from that the tester displays the supported tests a mechanic can select from. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
तुल्यकालिक और रीएंट्रेंट फ़ंक्शन Dem_DcmGetAvailableOBDMIDs (सर्विस ID 0xa3) को DCM द्वारा OBD सर्विस $06 अनुरोध के हिस्से के रूप में अनुरोधित उपलब्धता-OBDMID के मान को पढ़ने के लिए कॉल किया जाता है [SWS_Dem_00766]। इनपुट पैरामीटर Obdmid (प्रकार uint8) के माध्यम से, कॉलर एक मानकीकृत उपलब्धता पहचानकर्ता जैसे कि $00, $20 या $40 पास करता है। DEM 32-बिट आउटपुट पॉइंटर Obdmidvalue के माध्यम से बिट-कोडित जानकारी के रूप में समर्थित टेस्ट पहचानकर्ताओं की रिपोर्ट वापस देता है [SWS_Dem_00766]। इस डेटा से, नैदानिक परीक्षक (diagnostic tester) यह निष्कर्ष निकालता है कि कार्यशाला कर्मियों को चयन के लिए कौन से परीक्षण प्रदर्शित किए जाने हैं [SWS_Dem_00766]।
फ़ंक्शन को हेडर Dem_Dcm.h के माध्यम से घोषित किया गया है। यह विशेष रूप से OBD-प्रासंगिक नियंत्रण इकाइयों के लिए अभिप्रेत है और मॉड्यूल में केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन विकल्प DemGeneral.DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT के असमान सेट किया गया हो [SWS_Dem_00766]।
DTR उपलब्धता के त्रुटिरहित संचरण पर, इंटरफ़ेस E_OK लौटाता है [SWS_Dem_00766]। यदि फ़ंक्शन को DEM के पूरी तरह से इनिशियलाइज़ होने से पहले या इसके शटडाउन होने के बाद कॉल किया जाता है, तो त्रुटि कोड DEM_E_UNINIT लागू होता है [SWS_Dem_00173]। इसी प्रकार, अमान्य पॉइंटर (DEM_E_PARAM_POINTER) के साथ या गलत पैरामीटर मानों (DEM_E_PARAM_DATA) के साथ किए गए कॉल्स [SWS_Dem_00173] के अनुसार डेवलपमेंट एरर का कारण बनते हैं। ऐसे त्रुटि मामलों में, रिटर्न मान के रूप में संभवतः E_NOT_OK प्रदान किया जाएगा। प्रश्न Q-b42d268116fb8df7 (खुला)
यह उपयोग निर्देश AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmGetNumTIDsOfOBDMID [SWS_Dem_00767] 📄 PDF
Std_ReturnType Dem_DcmGetNumTIDsOfOBDMID (uint8 Obdmid, uint8* numberOfTIDs);
Gets the number of TIDs per (functional) OBDMID. This can be used by the DCM to iteratively request for OBD/TID result data within a loop from 0....numberOfTIDs-1 API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस और पुनःप्रवेशी फ़ंक्शन Dem_DcmGetNumTIDsOfOBDMID (सर्विस-ID 0xa4) हेडर फ़ाइल Dem_Dcm.h के माध्यम से घोषित किया जाता है [SWS_Dem_00767]। यह Diagnostic Communication Manager (DCM) को अनुरोध पर किसी निर्दिष्ट कार्यात्मक OBDMID से संबद्ध टेस्ट आइडेंटिफ़ायर्स (TIDs) की संख्या क्वेरी करने का कार्य करता है [SWS_Dem_00761]।
कॉल के दौरान, DCM इनपुट पैरामीटर Obdmid में संबंधित OBDMID की पहचान पास करता है और पॉइंटर numberOfTIDs के माध्यम से असाइन किए गए TIDs की संख्या प्राप्त करता है [SWS_Dem_00767]। यह आउटपुट मान DCM के लिए 0 से numberOfTIDs - 1 तक के काउंट लूप हेतु ऊपरी सीमा के रूप में कार्य करता है, जिसमें बाद में Dem_DcmGetDTRData के माध्यम से व्यक्तिगत DTR परिणाम मान, परीक्षण परिणाम और सीमा मान क्रमिक रूप से क्वेरी किए जाते हैं [SWS_Dem_00761] [SWS_Dem_00768]।
यदि TID की संख्या सफलतापूर्वक निर्धारित की जा सकी, तो फ़ंक्शन रिटर्न मान E_OK लौटाता है, और यदि क्वेरी विफल हो जाती है तो E_NOT_OK लौटाता है [SWS_Dem_00767]। त्रुटि की स्थिति के लिए विशिष्ट विकास त्रुटियाँ (DET) या विस्तृत त्रुटि कारण विनिर्देश में अलग से नहीं दर्शाए गए हैं।
यह कॉल विशेष रूप से OBD-प्रासंगिक ECU के लिए अभिप्रेत है। DEM में यह इंटरफ़ेस केवल तभी उपलब्ध होता है, जब कॉन्फ़िगरेशन पैरामीटर DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT पर सेट नहीं किया गया हो [SWS_Dem_00767]।
यह उपयोग नोट एक AI द्वारा जनरेट किया गया था और यह पूरी तरह से AUTOSAR Classic R20-11 के विनिर्देश दस्तावेज़ों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_DcmGetDTRData [SWS_Dem_00768] 📄 PDF
Std_ReturnType Dem_DcmGetDTRData (uint8 Obdmid, uint8 TIDindex, uint8* TIDvalue, uint8* UaSID, uint16* Testvalue, uint16* Lowlimvalue, uint16* Upplimvalue);
Reports a DTR data along with TID-value, UaSID, test result with lower and upper limit. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
सिंक्रोनस और रीएंट्रेंट फ़ंक्शन Dem_DcmGetDTRData का उपयोग Diagnostic Communication Manager (DCM) द्वारा TID मान, UaSID और निचली व ऊपरी सीमा के साथ वर्तमान परीक्षण परिणाम सहित DTR डेटा (Diagnostic Test Results) को क्वेरी करने के लिए किया जाता है [SWS_Dem_00768]। यह केवल OBD समर्थन वाले ECU में उपलब्ध है यदि DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT कॉन्फ़िगर किया गया हो [SWS_Dem_00768]।
उपयोग और अंतःक्रिया
DCM किसी विशिष्ट Obdmid और TIDindex के लिए उपलब्ध DTR डेटा को पुनः प्राप्त करने के लिए फ़ंक्शन को कॉल करता है [SWS_Dem_00762]। क्वेरी आमतौर पर इंडेक्स TIDindex पर 0 से numberOfTIDs - 1 तक पुनरावृत्त (iteratively) रूप से की जाती है, जिसमें कुल संख्या पहले Dem_DcmGetNumTIDsOfOBDMID() के माध्यम से निर्धारित की जाती है [SWS_Dem_00768], [SWS_Dem_00762]। आउटपुट पैरामीटर TIDvalue, UaSID, Testvalue, Lowlimvalue और Upplimvalue के माध्यम से टेस्टर प्रतिक्रिया के लिए मान प्रदान किए जाते हैं [SWS_Dem_00768]।
त्रुटि प्रबंधन और सीमा शर्तें
फ़ंक्शन DTR परिणामों के सफल निर्धारण पर E_OK लौटाता है और त्रुटि की स्थिति में E_NOT_OK लौटाता है [SWS_Dem_00768]। एक त्रुटि विशेष रूप से तब होती है जब संदर्भित डायग्नोस्टिक इवेंट उपलब्ध नहीं होता है:
- यदि किसी इवेंट को अनुपलब्ध के रूप में सेट किया गया है, तो इसे एक गैर-कॉन्फ़िगर किए गए इवेंट की तरह माना जाता है और
Dem_DcmGetDTRDataविफल हो जाता है [SWS_Dem_01108]। - यदि फ़ंक्शन को ऐसे DTR के लिए कॉल किया जाता है जिसका
DemDtrEventRefके माध्यम से संदर्भित इवेंटDemEventAvailable == FALSEके साथ कॉन्फ़िगर किया गया है, तो DEM अनिवार्य रूप सेE_NOT_OKलौटाता है [SWS_Dem_01336]। इस स्थिति में, सभी आउटपुट पैरामीटर अपरिभाषित होते हैं [SWS_Dem_01336]।
यह उपयोग नोट विनिर्देश आवश्यकताओं के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmSetDTCFilter [SWS_Dem_00970] 📄 PDF
Std_ReturnType Dem_J1939DcmSetDTCFilter (Dem_J1939DcmDTCStatusFilterType DTCStatusFilter, Dem_DTCKindType DTCKind, Dem_DTCOriginType DTCOrigin, uint8 ClientId, Dem_J1939DcmLampStatusType* LampStatus);
The function sets the DTC filter for a specific node and returns the composite lamp status of the filtered DTCs.
उपयोग
सिंक्रोनस फ़ंक्शन Dem_J1939DcmSetDTCFilter (सर्विस ID 0x90, Dem_J1939Dcm.h में घोषित) ClientId के माध्यम से संबोधित J1939 नोड के लिए J1939 DTCs के चयन हेतु फ़िल्टर मास्क विशेषताओं को सेट करता है [SWS_Dem_00970], [SWS_Dem_00855]। फ़िल्टर मानदंड के रूप में स्थिति फ़िल्टर DTCStatusFilter (संभावित मान: DEM_J1939DTC_ACTIVE, DEM_J1939DTC_PREVIOUSLY_ACTIVE, DEM_J1939DTC_PENDING, DEM_J1939DTC_PERMANENT या DEM_J1939DTC_CURRENTLY_ACTIVE), कार्यात्मक समूह DTCKind तथा Quellspeicher DTCOrigin कार्य करते हैं [SWS_Dem_00970]। आउटपुट पैरामीटर LampStatus के माध्यम से कॉल फ़िल्टर किए गए DTCs की वर्तमान संयुक्त लैंप स्थिति लौटाता है [SWS_Dem_00970], [SWS_Dem_00857]। इसके अलावा, एक आंतरिक काउंटर को पहली लागू घटना पर रीसेट किया जाता है [SWS_Dem_00855]। Interpretation: डायग्नोस्टिक रीड ऑपरेशन्स की तैयारी के लिए इंटरफ़ेस का कॉलर J1939Dcm मॉड्यूल होने की संभावना है। प्रश्न Q-5f25345851de686f (खुला)
त्रुटि प्रबंधन और रिटर्न मान
रिटर्न मान के रूप में, फ़ंक्शन फ़िल्टर के सफल कॉन्फ़िगरेशन पर E_OK लौटाता है, या यदि फ़िल्टर सेट नहीं किया जा सका तो E_NOT_OK लौटाता है [SWS_Dem_00970]। दबाए गए (suppressed) DTCs फ़िल्टरिंग में शामिल नहीं होते हैं और उनके साथ ऐसा व्यवहार किया जाता है जैसे कि फ़िल्टर मानदंड लागू नहीं होता है; वे प्रश्नों के लिए अदृश्य रहते हैं [SWS_Dem_01101]।
समवर्तीता और प्रतिबंध
फ़ंक्शन विभिन्न ClientId मानों के लिए रीएंट्रेंट है, लेकिन समान ClientId के लिए रीएंट्रेंट नहीं है [SWS_Dem_00970]। इसलिए समान J1939 इवेंट मेमोरी पर समवर्ती फ़िल्टर कॉल्स से बचा जाना चाहिए।
इंटरैक्शन
फ़िल्टर सेट करना बाद के प्रसंस्करण का आधार बनता है:
Dem_J1939DcmGetNumberOfFilteredDTCके माध्यम से मिलान करने वाले दोष पथों की संख्या निर्धारित करना [SWS_Dem_00855], [SWS_Dem_00874], [SWS_Dem_00972],Dem_J1939DcmGetNextFilteredDTCके माध्यम से मिलान करने वाली घटनाओं को पुनरावृत्ति (iteratively) से पढ़ना [SWS_Dem_00855], [SWS_Dem_00875] तथाDem_J1939DcmReadDiagnosticReadiness1के माध्यम से तत्परता संदेशों (DM05) के लिए सक्रिय या पहले सक्रिय DTCs की संख्या प्रदान करना [SWS_Dem_00909]।
यह उपयोग नोट विनिर्देश AUTOSAR Classic R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_J1939DcmGetNumberOfFilteredDTC [SWS_Dem_00972] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNumberOfFilteredDTC (uint16* NumberOfFilteredDTC, uint8 ClientId);
Gets the number of currently filtered DTCs set by the function Dem_J1939DcmSetDTCFilter.
फ़ंक्शन [SWS_Dem_00972] अतुल्यकालिक रूप से उन J1939 DTCs की संख्या निर्धारित करता है जो पास की गई ClientId की प्राथमिक इवेंट मेमोरी में पहले Dem_J1939DcmSetDTCFilter के साथ परिभाषित फ़िल्टर मानदंडों से मेल खाते हैं ([SWS_Dem_00874])। Dem_J1939DcmSetDTCFilter का पूर्ववर्ती कॉल आवश्यक है, क्योंकि यह फ़िल्टर मास्क विशेषताओं को सेट करता है और आंतरिक काउंटर को पहले इवेंट पर रीसेट करता है ([SWS_Dem_00855])।
गिनती का परिणाम आउटपुट पैरामीटर NumberOfFilteredDTC के माध्यम से प्रदान किया जाता है। प्रक्रिया और रिटर्न मानों के लिए निम्नलिखित नियम लागू होते हैं:
- सफलता: जैसे ही मेल खाने वाले DTCs की कुल संख्या पूरी तरह से निर्धारित हो जाती है, फ़ंक्शन
E_OKलौटाता है ([SWS_Dem_00874])। - व्यवधान: यदि आंतरिक सीमाओं के कारण खोज प्रक्रिया बाधित होनी चाहिए, तो फ़ंक्शन
DEM_PENDINGलौटाता है। इस स्थिति में, आउटपुट पैरामीटर का अभी मान्य होना आवश्यक नहीं है; बाद का कॉल बाधित तत्व के बाद से निर्धारण जारी रखता है ([SWS_Dem_00874])। - त्रुटि कोड: विनिर्देश इसके अतिरिक्त स्थिति मान
DEM_NO_SUCH_ELEMENTऔरDEM_BUFFER_TOO_SMALLका प्रावधान करता है ([SWS_Dem_00972])।
दृश्यता के संबंध में, [SWS_Dem_01101] यह निर्धारित करता है कि दबाई गई त्रुटियों (suppressed DTCs) को इस तरह माना जाना चाहिए मानो फ़िल्टर मानदंड लागू नहीं होता है। फ़ंक्शन को गैर-रीएंट्रेंट के रूप में परिभाषित किया गया है ([SWS_Dem_00972]), यही कारण है कि एक साथ कॉल्स से बचा जाना चाहिए।
यह उपयोग नोट AI द्वारा बनाया गया था और AUTOSAR विनिर्देश के मुख्य पहलुओं को सारांशित करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmGetNextFilteredDTC [SWS_Dem_00973] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);
Gets the next filtered J1939 DTC.
एसिंक्रोनस और non-reentrant फ़ंक्शन Dem_J1939DcmGetNextFilteredDTC (सर्विस ID 0x92) ClientId के माध्यम से संबोधित J1939 इवेंट मेमोरी से अगले फ़िल्टर किए गए J1939-DTC को पढ़ता है [SWS_Dem_00973]। यह हेडर Dem_J1939Dcm.h के माध्यम से घोषित है [SWS_Dem_00973]।
यदि फ़ंक्शन को फ़िल्टर मानदंड से मेल खाने वाला कोई इवेंट मिलता है, तो यह E_OK लौटाता है और आउटपुट पैरामीटर्स के माध्यम से संबंधित J1939DTC और संबद्ध OccurenceCounter प्रदान करता है [SWS_Dem_00877], [SWS_Dem_00973]। यदि अकरेंस काउंटर 126 (0x7E) से अधिक है, तो लौटाया गया मान 126 (0x7E) पर स्थिर रूप से सीमित होता है [SWS_Dem_00877]।
यदि आंतरिक सीमाओं या कार्यान्वयन विवरणों के कारण खोज प्रक्रिया को बाधित किया जाना चाहिए, तो फ़ंक्शन DEM_PENDING लौटाता है [SWS_Dem_00877], [SWS_Dem_00973]। इस स्थिति में, आउटपुट पैरामीटर्स में कोई मान्य डेटा नहीं होता है; अगला कॉल बाधित तत्व के तुरंत बाद खोज जारी रखता है [SWS_Dem_00877]। यदि कोई अन्य मिलान तत्व मौजूद नहीं है, तो रिटर्न मान DEM_NO_SUCH_ELEMENT होता है; यदि बफ़र बहुत छोटा है, तो DEM_BUFFER_TOO_SMALL रिपोर्ट किया जाता है [SWS_Dem_00973]।
दबाए गए डायग्नोस्टिक इवेंट्स (suppressed DTCs) क्वेरी फ़ंक्शन के लिए दृश्यमान नहीं होते हैं; उन्हें Dem_J1939DcmGetNextFilteredDTC द्वारा इस तरह माना जाता है जैसे कि फ़िल्टर मानदंड लागू नहीं होता है [SWS_Dem_01101]।
यह पाठ एक AI द्वारा स्वचालित रूप से जनरेट किया गया था और आधिकारिक AUTOSAR विनिर्देश को प्रतिस्थापित नहीं करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmFirstDTCwithLampStatus [SWS_Dem_00974] 📄 PDF
void Dem_J1939DcmFirstDTCwithLampStatus (uint8 ClientId);
The function sets the filter to the first applicable DTC for the DM31 response for a specific node.
उपयोग
सिंक्रोनस इंटरफ़ेस Dem_J1939DcmFirstDTCwithLampStatus किसी विशिष्ट नोड [SWS_Dem_00974] की DM31 प्रतिक्रिया के लिए पहले लागू होने वाले Diagnostic Trouble Code (DTC) पर फ़िल्टरिंग को इनिशियलाइज़ करता है। प्रकार uint8 का ClientId एकमात्र इनपुट पैरामीटर के रूप में कार्य करता है, जिससे संबंधित J1939 इवेंट मेमोरी को संबोधित किया जाता है [SWS_Dem_00974]। फ़ंक्शन में न तो कोई इनपुट पैरामीटर है और न ही आउटपुट पैरामीटर, और यह कोई रिटर्न मान नहीं देता है (void) [SWS_Dem_00974]। इसे हेडर फ़ाइल Dem_J1939Dcm.h के माध्यम से सर्विस ID 0x93 के साथ घोषित किया गया है [SWS_Dem_00974]। व्याख्या: DM31 लैंप स्टेटस संदेशों के ट्रांसमिशन से पहले फ़िल्टरिंग को इनिशियलाइज़ करने के लिए फ़ंक्शन को मुख्य रूप से मॉड्यूल J1939Dcm द्वारा कॉल किया जाना चाहिए। प्रश्न Q-064513be4f06584b (खुला)
फ़िल्टर तर्क और इंटरैक्शन
फ़ंक्शन का प्रत्येक कॉल आंतरिक काउंटर को उस पहले इवेंट पर रीसेट करता है जिसे निर्दिष्ट ClientId के लिए एक J1939DTC सौंपा गया है [SWS_Dem_00880]। डायग्नोस्टिक इवेंट्स के स्टेटस के संबंध में, विनिर्देश यह निर्धारित करता है कि दबा हुआ DTC (suppressed DTC) DCM क्वेरी फ़ंक्शंस के लिए अदृश्य रहना चाहिए [SWS_Dem_01101]। तदनुसार, Dem_J1939DcmFirstDTCwithLampStatus दबाए गए DTCs को इस तरह मानता है मानो फ़िल्टर मानदंड पूरा नहीं हुआ हो [SWS_Dem_01101]।
समवर्तीता और प्रतिबंध
कॉनकरेंसी व्यवहार के संबंध में, इंटरफ़ेस विभिन्न ClientId मानों वाले कॉल्स के लिए reentrant है, लेकिन समान ClientId मान के लिए reentrant नहीं है [SWS_Dem_00974]। परिणामस्वरूप, समान J1939 इवेंट मेमोरी पर समान क्लाइंट IDs के माध्यम से समानांतर क्वेरीज़ की अनुमति नहीं है।
यह पाठ एक AI क्यूरेशन सहायक द्वारा स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmGetNextDTCwithLampStatus [SWS_Dem_00975] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextDTCwithLampStatus (Dem_J1939DcmLampStatusType* LampStatus, uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);
Gets the next filtered J1939 DTC for DM31 including current LampStatus.
उपयोग और कॉल संदर्भ
फ़ंक्शन Dem_J1939DcmGetNextDTCwithLampStatus तुल्यकालिक रूप से निष्पादित होता है और गैर-रीएंट्रेंट है ([SWS_Dem_00975])। यह J1939 नैदानिक संचार (DM31) के संदर्भ में, ClientId के माध्यम से संबोधित इवेंट मेमोरी से संबंधित लैंप स्थिति और इवेंट काउंटर (OccurenceCounter) के साथ अगले फ़िल्टर किए गए J1939 DTC को पुनरावृत्ति से क्वेरी करने के लिए कार्य करता है ([SWS_Dem_00975])। इस पुनरावृत्ति के लिए आवश्यक है कि इवेंट मेमोरी को पहले Dem_J1939DcmFirstDTCwithLampStatus द्वारा तैयार किया गया हो ([SWS_Dem_00881])।
प्रक्रिया और रिटर्न मान
प्रत्येक कॉल मेमोरी में असाइन किए गए J1939 DTC वाले अगले इवेंट के लिए खोज करता है ([SWS_Dem_00881])। दबाए गए DTCs (suppressed DTC) को गैर-मिलान वाले इवेंट्स की तरह माना जाता है और छोड़ दिया जाता है ([SWS_Dem_01101])।
-
E_OK: एक मेल खाने वाला इवेंट मिला। पैरामीटरLampStatus,J1939DTCऔरOccurenceCounterमें मान्य मान शामिल हैं ([SWS_Dem_00882])। व्याख्या: पैरामीटर विनिर्देश में उल्लिखित शर्तDEM_FILTERED_OKसंभवतःE_OKको संदर्भित करती है, क्योंकिDEM_FILTERED_OKको इस फ़ंक्शन के लिए रिटर्न मान के रूप में घोषित नहीं किया गया है ([SWS_Dem_00975])। प्रश्न Q-5284fb30b98babf6 (खुला) -
DEM_PENDING: कार्यान्वयन सीमाओं के कारण आंतरिक खोज को बाधित करना पड़ा। आउटपुट पैरामीटरों में कोई मान्य डेटा नहीं है, और अगला कॉल बाधित तत्व के बाद से खोज जारी रखता है ([SWS_Dem_00882])। -
DEM_NO_SUCH_ELEMENT: मेमोरी में कोई अन्य मेल खाने वाले इवेंट मौजूद नहीं हैं; आउटपुट पैरामीटर अमान्य हैं ([SWS_Dem_00881])। -
DEM_BUFFER_TOO_SMALL: पास किया गया बफ़र बहुत छोटा है ([SWS_Dem_00975])।
लैंप स्थिति और मान सीमा
लैंप स्थिति निर्धारित करने के लिए, DEM UDS स्थिति बिट 7 (WarningIndicator) और संबंधित संकेतक संदर्भ की जाँच करता है: Malfunction Indicator Lamp ([SWS_Dem_00883]), Red Stop Lamp ([SWS_Dem_00887]) और Amber Warning Lamp ([SWS_Dem_00891]) प्रत्येक को Lamp On पर सेट किया जाता है यदि बिट सक्रिय है और संदर्भ असाइन किया गया है; अन्यथा वे Lamp Off होते हैं। 126 (0x7F) से अधिक की काउंटर गणनाओं पर OccurenceCounter को ठीक 126 तक सीमित किया जाता है ([SWS_Dem_00882])।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_J1939DcmClearDTC [SWS_Dem_00976] 📄 PDF
Std_ReturnType Dem_J1939DcmClearDTC (Dem_J1939DcmSetClearFilterType DTCTypeFilter, Dem_DTCOriginType DTCOrigin, uint8 ClientId);
Clears the status of all event(s) related to the specified DTC(s), as well as all associated event memory entries for these event(s).
उपयोग
फ़ंक्शन Dem_J1939DcmClearDTC ([SWS_Dem_00976]) हेडर Dem_J1939Dcm.h के माध्यम से J1939Dcm मॉड्यूल को प्रदान किया जाता है ताकि इवेंट मेमोरी से सभी सक्रिय या पहले सक्रिय डायग्नोस्टिक फॉल्ट कोड्स (DTCs) को हटाया जा सके ([SWS_Dem_00878])। कॉल एसिंक्रोनस रूप से कार्य करता है। इनपुट पैरामीटर के रूप में इंटरफ़ेस हटाए जाने वाले DTCs के निर्धारण के लिए फ़िल्टर प्रकार DTCTypeFilter, स्रोत मेमोरी के चयन के लिए DTCOrigin और J1939 इवेंट मेमोरी को संबोधित करने के लिए ClientId की अपेक्षा करता है।
त्रुटि प्रबंधन और रिटर्न मान
निष्पादन का परिणाम रिटर्न प्रकार Std_ReturnType के माध्यम से संकेतित किया जाता है:
E_OK: हटाने की प्रक्रिया सफलतापूर्वक पूरी हो गई थी।DEM_PENDING: सफ़ाई प्रगति पर है; कॉलर को बाद में फ़ंक्शन को फिर से कॉल करना होगा।DEM_CLEAR_BUSY: कोई अन्य क्लाइंट एक ही समय में हटाने का कार्य निष्पादित कर रहा है; ऑपरेशन शुरू नहीं किया जाता है और इसे बाद में दोहराया जाना चाहिए।DEM_WRONG_DTC: चयनित DTC चुने गए प्रारूप में मौजूद नहीं है या हटाना कॉन्फ़िगरेशन द्वारा समूहों तक सीमित है।DEM_WRONG_DTCORIGIN: निर्दिष्ट स्रोत मेमोरी मौजूद नहीं है।DEM_CLEAR_FAILEDयाDEM_CLEAR_MEMORY_ERROR: हटाना विफल रहा या किसी मेमोरी क्षेत्र को हटाने के दौरान कोई त्रुटि हुई (उदाहरण के लिए, नॉन-वोलेटाइल मेमोरी के अपूर्ण विलोपन पर)।
समवर्तीता और प्रतिबंध
[SWS_Dem_00976] के अनुसार, फ़ंक्शन अलग-अलग क्लाइंट IDs के लिए रीएंट्रेंट है, लेकिन समान ClientId के लिए रीएंट्रेंट नहीं है। इसलिए समान क्लाइंट्स के माध्यम से समानांतर विलोपन कॉल अस्वीकार्य हैं।
इंटरैक्शन
[SWS_Dem_00879] के अनुसार, विलोपन सभी प्रभावित घटनाओं की स्थिति को रीसेट करता है और संबंधित इवेंट मेमोरी प्रविष्टियों को हटा देता है। इसके अलावा, विलोपन प्रक्रिया [SWS_Dem_00878] के अनुसार [SWS_Dem_00003] के बाद प्रभावित SW-Cs और BSW मॉड्यूल के पुनः आरंभीकरण (re-initialization) को ट्रिगर करती है।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmSetFreezeFrameFilter [SWS_Dem_00977] 📄 PDF
Std_ReturnType Dem_J1939DcmSetFreezeFrameFilter (Dem_J1939DcmSetFreezeFrameFilterType FreezeFrameKind, uint8 ClientId);
The function sets the FreezeFrame filter for a specific node.
तुल्यकालिक फ़ंक्शन Dem_J1939DcmSetFreezeFrameFilter हेडर Dem_J1939Dcm.h [SWS_Dem_00977] के माध्यम से किसी विशिष्ट नोड के लिए फ़्रीज़-फ़्रेम फ़िल्टर सेट करने का कार्य करता है। यह Dem_J1939DcmGetNextFreezeFrame का उपयोग करके बाद की क्वेरीज़ के लिए फ़िल्टर मास्क विशेषताओं को कॉन्फ़िगर करता है और आंतरिक काउंटर को पहले फ़्रीज़-फ़्रेम पर रीसेट करता है [SWS_Dem_00899]।
पैरामीटर और रिटर्न मान
FreezeFrameKind: फ़िल्टर प्रकार निर्धारित करता है [SWS_Dem_00977]। उपलब्ध प्रकारDEM_J1939DCM_FREEZEFRAME(DemJ1939FreezeFrameClassRefमें डेटा का फ़िल्टरिंग),DEM_J1939DCM_EXPANDED_FREEZEFRAME(DemJ1939ExpandedFreezeFrameClassRefमें डेटा का फ़िल्टरिंग) और साथ हीDEM_J1939DCM_SPNS_IN_EXPANDED_FREEZEFRAME([SWS_Dem_00977], [SWS_Dem_00899]) हैं।ClientId: J1939 इवेंट मेमोरी को संबोधित करने के लिए पहचानकर्ता पास करता है [SWS_Dem_00977]।- रिटर्न मान: सफल निष्पादन पर
E_OKलौटाता है या यदि फ़िल्टर सेट नहीं किया जा सका तोE_NOT_OK[SWS_Dem_00977]।
संगामिति और वैधता
समवर्ती निष्पादन के संबंध में, यह फ़ंक्शन ClientId के भिन्न मानों के लिए रीएंट्रेंट है, लेकिन समान ClientId मानों के लिए रीएंट्रेंट नहीं है [SWS_Dem_00977]। सेट की गई फ़िल्टर मास्क विशेषताएँ कॉल के बाद तब तक प्रभावी रहती हैं जब तक कि Dem_J1939DcmSetFreezeFrameFilter का एक नया कॉल नहीं किया जाता है या DEM मॉड्यूल को फिर से इनिशियलाइज़ नहीं किया जाता है [SWS_Dem_00899]।
यह पाठ विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmGetNextFreezeFrame [SWS_Dem_00978] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextFreezeFrame (uint32* J1939DTC, uint8* OccurenceCounter, uint8* DestBuffer, uint16* BufSize, uint8 ClientId);
Gets next freeze frame data. The function stores the data in the provided DestBuffer.
उपयोग
एसिंक्रोनस और non-reentrant फ़ंक्शन Dem_J1939DcmGetNextFreezeFrame किसी विशिष्ट इवेंट मेमोरी के लिए फ़्रीज़-फ़्रेम डेटा को क्रमिक रूप से पढ़ता है [SWS_Dem_00978]। पुनरावृत्ति पहले Dem_J1939DcmSetFreezeFrameFilter के माध्यम से सेट किए गए फ़िल्टर मानदंडों FreezeFrameKind और ClientId [SWS_Dem_00900] पर आधारित होती है। पेलोड डेटा को बफ़र DestBuffer में कॉपी किया जाता है (SPN जानकारी के बिना और अप्रयुक्त बिट्स 0 से भरे हुए विस्तारित फ़्रीज़-फ़्रेम्स के लिए), जबकि BufSize बफ़र आकार पास करता है और वास्तव में लिखी गई बाइट्स की संख्या रिपोर्ट करता है [SWS_Dem_00978], [SWS_Dem_00903]। इसके अतिरिक्त, कॉल संबंधित J1939DTC और OccurenceCounter प्रदान करता है, जिसे 126 से अधिक मानों के लिए 0x7F पर सीमित किया जाता है [SWS_Dem_00903]।
रिटर्न मान और त्रुटि प्रबंधन
रिटर्न मान पुनरावृत्ति के प्रवाह को नियंत्रित करते हैं:
E_OK: एक डेटा रिकॉर्ड सफलतापूर्वक पाया गया और स्थानांतरित किया गया [SWS_Dem_00978], [SWS_Dem_00903]। पैरामीटर विवरण मेंDEM_FILTERED_OKका उल्लेख संभवतःE_OKके संपादकीय पर्यायवाची के रूप में समझा जाना चाहिए। प्रश्न Q-e941066640c694b9 (खुला)DEM_NO_SUCH_ELEMENT: फ़िल्टर मानदंडों से मेल खाने वाले कोई अन्य डेटा रिकॉर्ड मौजूद नहीं हैं [SWS_Dem_00900]।DEM_PENDING: आंतरिक खोज बाधित हो गई थी; अगला कॉल बाधित स्थान से खोज फिर से शुरू करता है [SWS_Dem_00902]।DEM_BUFFER_TOO_SMALLअथवाDEM_FILTERED_BUFFER_TOO_SMALL: बफ़र पर्याप्त नहीं है; ऑपरेशन बिना डेटा अधिग्रहण के निरस्त हो जाता है [SWS_Dem_00978], [SWS_Dem_00903]।
यदि कोई असमर्थित फ़िल्टर प्रकार पास किया जाता है, तो फ़ंक्शन DET त्रुटि DEM_E_WRONG_CONDITION रिपोर्ट करता है; केवल DEM_J1939DCM_FREEZEFRAME और DEM_J1939DCM_EXPANDED_FREEZEFRAME ही मान्य हैं [SWS_Dem_00901]। जब तक कि रिटर्न मान सफलता के बराबर न हो, आउटपुट पैरामीटरों में कोई मान्य डेटा नहीं होता है [SWS_Dem_00978], [SWS_Dem_00900], [SWS_Dem_00902], [SWS_Dem_00903]।
सीमाएं और परस्पर क्रिया
दबाए गए (suppressed) DTCs को क्वेरी द्वारा अनदेखा किया जाता है और उनके साथ ऐसे व्यवहार किया जाता है जैसे फ़िल्टर मानदंड लागू नहीं होते [SWS_Dem_01101]।
यह उपयोग संबंधी नोट स्वचालित रूप से जनरेट किया गया था और पूरी तरह से AUTOSAR CP R20-11 विनिर्देश पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmGetNextSPNInFreezeFrame [SWS_Dem_00979] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);
Gets next SPN.
उपयोग और सिमेंटिक्स
फ़ंक्शन Dem_J1939DcmGetNextSPNInFreezeFrame विस्तारित Freeze Frame ([SWS_Dem_00979]) से अगली SPN (Suspect Parameter Number) को क्रमिक रूप से पढ़ता है। प्रत्येक कॉल ClientId के माध्यम से संबोधित इवेंट मेमोरी ([SWS_Dem_00904]) के लिए SPN परिभाषा के अगले तत्व पर पुनरावृत्ति करता है। सफलतापूर्वक मिलने पर, कॉल E_OK लौटाता है तथा खोजी गई SPN को SPNSupported के माध्यम से और उसकी डेटा लंबाई को SPNDataLength के माध्यम से वापस करता है ([SWS_Dem_00979], [SWS_Dem_00907])।
एसिंक्रोनस प्रोसेसिंग और रिटर्न मान
ऑपरेशन को एसिंक्रोनस के रूप में निर्दिष्ट किया गया है ([SWS_Dem_00979])। यदि आंतरिक सीमाओं के कारण खोज को बाधित करना पड़ता है, तो फ़ंक्शन DEM_PENDING लौटाता है; इस मामले में, आउटपुट पैरामीटर अनिवार्य रूप से मान्य नहीं होते हैं और बाद का कॉल बाधित स्थान से खोज फिर से शुरू करता है ([SWS_Dem_00905])। यदि परिभाषा में कोई और SPN मौजूद नहीं है, तो DEM_NO_SUCH_ELEMENT रिपोर्ट किया जाता है, जिसमें आउटपुट पैरामीटर भी मान्य होना आवश्यक नहीं है ([SWS_Dem_00904])। यदि प्रदान किया गया बफ़र अपर्याप्त है, तो इंटरफ़ेस DEM_BUFFER_TOO_SMALL रिपोर्ट करता है ([SWS_Dem_00979])।
त्रुटि हैंडलिंग और समवर्तीता
यदि कोई असमर्थित Freeze-Frame प्रकार अनुरोधित किया जाता है, तो मॉड्यूल DET त्रुटि DEM_E_WRONG_CONDITION ट्रिगर करता है; विशेष रूप से केवल Dem_SPNsInExpandedFreezeFrame मान्य है ([SWS_Dem_00906])। चूँकि फ़ंक्शन को नॉन-रीएंट्रेंट के रूप में परिभाषित किया गया है ([SWS_Dem_00979]), इसे समान संदर्भ के लिए समवर्ती रूप से कॉल नहीं किया जाना चाहिए। हेडर फ़ाइल Dem_J1939Dcm.h इंटरफ़ेस प्रदान करती है ([SWS_Dem_00979])।
यह उपयोग नोट विनिर्देश AUTOSAR CP R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmSetRatioFilter [SWS_Dem_00980] 📄 PDF
Std_ReturnType Dem_J1939DcmSetRatioFilter (uint16* IgnitionCycleCounter, uint16* OBDMonitoringConditionsEncountered, uint8 ClientId);
The function sets the Ratio filter for a specific node and returns the corresponding Ignition Cycle Counter and General Denominator.
सिंक्रोनस फ़ंक्शन Dem_J1939DcmSetRatioFilter एक विशिष्ट J1939 नोड के लिए Ratio-फ़िल्टर सेट करता है और [SWS_Dem_00980] के अनुसार IUMPR अनुपातों के फ़िल्टरिंग को इनिशियलाइज़ करता है। ऐसा करते समय, यह Dem_J1939DcmGetNextFilteredRatio के माध्यम से बाद की क्रमिक क्वेरी तैयार करने के लिए एक आंतरिक काउंटर को परिभाषित DemRatioId वाली पहली मान्य SPN पर रीसेट करता है [SWS_Dem_00912]।
आउटपुट पैरामीटरों के माध्यम से, फ़ंक्शन उच्च-स्तरीय काउंटर मान प्रदान करता है:
IgnitionCycleCounter: SAE J1939-73 (अध्याय 5.7.20.1) के अनुसार इग्निशन साइकिल काउंटर प्रदान करता है [SWS_Dem_00912]।OBDMonitoringConditionsEncountered: SAE J1939-73 (अध्याय 5.7.20.2) के अनुसार घटित OBD निगरानी स्थितियों के लिए काउंटर प्रदान करता है, जिसे CARB द्वारा General Denominator के रूप में परिभाषित किया गया है [SWS_Dem_00912]।ClientId: J1939 इवेंट मेमोरी को संबोधित करने के लिए कॉलिंग क्लाइंट की पहचान करता है [SWS_Dem_00980]।
कनकरेन्सी के संबंध में, फ़ंक्शन विभिन्न ClientId मानों के लिए रीएंट्रेंट है, लेकिन समान ClientId के लिए रीएंट्रेंट नहीं है [SWS_Dem_00980]। व्याख्या: IUMPR डायग्नोस्टिक डेटा को क्वेरी करने के लिए कॉल आम तौर पर J1939-Diagnostic-Communication-Manager (J1939Dcm) के अनुक्रम से सिंक्रोनस रूप से होना चाहिए। प्रश्न Q-e577651b88f64132 (खुला) फ़िल्टर को सफलतापूर्वक सेट करने पर, फ़ंक्शन E_OK लौटाता है; यदि सेटिंग विफल हो जाती है, तो E_NOT_OK रिपोर्ट किया जाता है [SWS_Dem_00980]।
डायग्नोस्टिक इवेंट्स के साथ संयोजन में, यह नियम लागू होता है कि दबाए गए DTCs Dem_J1939DcmSetRatioFilter जैसे क्वेरी फ़ंक्शनों के लिए दृश्यमान नहीं होने चाहिए और उनके साथ ऐसा व्यवहार किया जाना चाहिए मानो फ़िल्टर मेल नहीं खाता हो [SWS_Dem_01101]।
यह उपयोग नोट AUTOSAR R20-11 के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00981] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);
Gets the next filtered Ratio.
उपयोग
सिंक्रोनस और नॉन-रीएंट्रेंट फ़ंक्शन Dem_J1939DcmGetNextFilteredRatio ([SWS_Dem_00981]) अगले फ़िल्टर किए गए IUMPR अनुपात (Ratio) को पुनरावृत्त रूप से पढ़ने का कार्य करता है। संबंधित J1939 इवेंट मेमोरी को पैरामीटर ClientId के माध्यम से संबोधित किया जाता है। सफल कॉल पर, फ़ंक्शन आउटपुट पैरामीटरों SPN, Numerator और Denominator के माध्यम से Suspect Parameter Number के साथ-साथ लागू सिस्टम मॉनिटर का अंश (numerator) और हर (denominator) लौटाता है ([SWS_Dem_00981])।
प्रक्रिया और इंटरैक्शन
सही पुनरावृत्ति के लिए, फ़िल्टर को पहले Dem_J1939DcmSetRatioFilter के माध्यम से इनिशियलाइज़ किया जाना चाहिए ([SWS_Dem_00912])। यह कॉल एक आंतरिक काउंटर को परिभाषित DemRatioId वाली पहली मान्य SPN पर रीसेट करता है, जिस पर Dem_J1939DcmGetNextFilteredRatio के बाद के कॉल आधारित होते हैं। दबाया गया DTC क्वेरी के लिए दृश्यमान नहीं होता है और उसके साथ ऐसा व्यवहार किया जाता है मानो फ़िल्टर लागू नहीं होता है ([SWS_Dem_01101])।
रिटर्न मान और त्रुटि प्रबंधन
[SWS_Dem_00981] के अनुसार निम्नलिखित रिटर्न मान परिभाषित हैं:
E_OK: ऑपरेशन सफल रहा। केवल इसी स्थिति मेंSPN,NumeratorऔरDenominatorमें मान्य डेटा शामिल होता है (पैरामीटर विवरण मेंDEM_FILTERED_OKका उल्लेखE_OKकी व्याख्या माना जा सकता है)। प्रश्न Q-57774bbc88fe3c0b (खुला)DEM_NO_SUCH_ELEMENT: कोई अन्य मेल खाता तत्व मौजूद नहीं है।DEM_PENDING: ऑपरेशन सफल रहा, लेकिन परिणाम अभी भी लंबित है।DEM_BUFFER_TOO_SMALL: पास किया गया बफ़र बहुत छोटा है।
संगामिति
चूँकि फ़ंक्शन को नॉन-रीएंट्रेंट घोषित किया गया है ([SWS_Dem_00981]), इसे समान ClientId के लिए समवर्ती रूप से कॉल नहीं किया जाना चाहिए।
यह पाठ एक AI द्वारा उत्पन्न किया गया था और एक दिशानिर्देश के रूप में कार्य करता है। संदर्भित AUTOSAR विनिर्देश आधिकारिक हैं।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_J1939DcmReadDiagnosticReadiness [SWS_Dem_00982] 📄 PDF
Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness1 (Dem_J1939DcmDiagnosticReadiness1Type* DataValue, uint8 ClientId);
Service to report the value of Diagnostic Readiness 1 (DM05) computed by the Dem.
तुल्यकालिक इंटरफ़ेस Dem_J1939DcmReadDiagnosticReadiness1 (क्लासिक मानक में Dem_J1939DcmReadDiagnosticReadiness के अंतर्गत सूचीबद्ध) का उपयोग Diagnostic Event Manager द्वारा परिकलित Diagnostic Readiness 1 (DM05) के मान को क्वेरी करने के लिए किया जाता है [SWS_Dem_00982]। इसे हेडर फ़ाइल Dem_J1939Dcm.h के माध्यम से घोषित किया गया है और इसकी सर्विस ID 0x9b है [SWS_Dem_00982]।
उपयोग और पैरामीटर
यह कॉल तुल्यकालिक रूप से की जाती है और निम्नलिखित फ़ंक्शन पैरामीटरों का उपयोग करती है [SWS_Dem_00982]:
ClientId(IN,uint8): संबोधित की जाने वाली J1939 इवेंट मेमोरी (J1939 event memory) की पहचान करता है [SWS_Dem_00982]।DataValue(OUT,Dem_J1939DcmDiagnosticReadiness1Typeका पॉइंटर): 8 बाइट के बफ़र की ओर इंगित करता है, जिसमें DEM Diagnostic Readiness 1 (DM05) की परिकलित सामग्री लिखता है [SWS_Dem_00982]।
रिटर्न मान और त्रुटि प्रबंधन
फ़ंक्शन प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_Dem_00982]:
E_OK: सर्विस सफलतापूर्वक निष्पादित हुई और रेडीनेस डेटा आउटपुट बफ़र में संग्रहीत किया गया [SWS_Dem_00982]।E_NOT_OK: ऑपरेशन विफल रहा [SWS_Dem_00982]। फ़ंक्शन विनिर्देश में विशिष्ट त्रुटि कोड, DEM इवेंट्स या DET संदेश नहीं दिखाए गए हैं [SWS_Dem_00982]।
समवर्तीता और प्रतिबंध
समवर्ती एक्सेस के संबंध में, सर्विस भिन्न ClientIds के लिए रीएंट्रेंट निर्दिष्ट है, लेकिन समान ClientId के लिए स्पष्ट रूप से गैर-रीएंट्रेंट के रूप में परिभाषित है [SWS_Dem_00982]।
यह उपयोग नोट AUTOSAR R20-11 विनिर्देश डेटा के आधार पर स्वचालित रूप से तैयार किया गया था।
फ़ंक्शन Dem_J1939DcmReadDiagnosticReadiness [SWS_Dem_00983] 📄 PDF
Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness2 (Dem_J1939DcmDiagnosticReadiness2Type* DataValue, uint8 ClientId);
Service to report the value of Diagnostic Readiness 2 (DM21) computed by the Dem.
तुल्यकालिक फ़ंक्शन Dem_J1939DcmReadDiagnosticReadiness2 (सर्विस ID 0x9c) का उपयोग DEM द्वारा परिकलित Diagnostic Readiness 2 (DM21) के मान को क्वेरी करने के लिए किया जाता है [SWS_Dem_00983]। यह इंटरफ़ेस हेडर फ़ाइल Dem_J1939Dcm.h के माध्यम से उपलब्ध कराया जाता है [SWS_Dem_00983]।
कॉल के लिए दो पैरामीटर परिभाषित हैं [SWS_Dem_00983]:
ClientId(इनपुट): संबंधित J1939 इवेंट मेमोरी को संबोधित करता है [SWS_Dem_00983]।DataValue(आउटपुट): परिकलित DM21 डेटा प्राप्त करने के लिएDem_J1939DcmDiagnosticReadiness2Typeप्रकार के 8-बाइट बफ़र का पॉइंटर [SWS_Dem_00983]।
रिटर्न मान के रूप में, फ़ंक्शन Std_ReturnType लौटाता है; सफल क्वेरी पर E_OK लौटाया जाता है, जबकि त्रुटि होने पर E_NOT_OK की सूचना दी जाती है [SWS_Dem_00983]। त्रुटि के विशिष्ट कारणों को अलग से नहीं दिखाया गया है; E_NOT_OK पर कॉलर को यह मान लेना पड़ सकता है कि बफ़र में कोई मान्य डेटा नहीं है। प्रश्न Q-97b94d15a8634712 (खुला)
समवर्ती निष्पादन के संबंध में, यह सर्विस भिन्न ClientId मानों के लिए रीएंट्रेंट है, लेकिन समान ClientId के लिए रीएंट्रेंट नहीं है [SWS_Dem_00983]। इसलिए समान ClientId के लिए एक साथ कॉल्स को कॉलिंग संदर्भ में क्रमबद्ध (serialized) किया जाना चाहिए।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा जनरेट किया गया था।
फ़ंक्शन Dem_J1939DcmReadDiagnosticReadiness [SWS_Dem_00770] 📄 PDF
Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness3 (Dem_J1939DcmDiagnosticReadiness3Type* DataValue, uint8 ClientId);
Service to report the value of Diagnostic Readiness 3 (DM26) computed by the Dem.
सर्विस Dem_J1939DcmReadDiagnosticReadiness (हस्ताक्षर में Dem_J1939DcmReadDiagnosticReadiness3 के रूप में निर्दिष्ट) का उपयोग DEM द्वारा Diagnostic Readiness 3 (DM26) के लिए निर्धारित डेटा को तुल्यकालिक रूप से पढ़ने के लिए किया जाता है [SWS_Dem_00770]। यह घोषणा हेडर फ़ाइल Dem_J1939Dcm.h के माध्यम से प्रदान की जाती है [SWS_Dem_00770]। इंटरफ़ेस के नाम के अनुसार, यह कॉल मुख्य रूप से J1939Dcm मॉड्यूल द्वारा की जानी चाहिए। प्रश्न Q-dc204541dfc23d6b (खुला)
इंटरफ़ेस दो पैरामीटरों की अपेक्षा करता है [SWS_Dem_00770]:
ClientId(in): संबंधित J1939 इवेंट मेमोरी को संबोधित करता है [SWS_Dem_00770]।DataValue(out): गणना किए गए DM26 डेटा को प्राप्त करने के लिएDem_J1939DcmDiagnosticReadiness3Typeप्रकार के 8-बाइट बफ़र का पॉइंटर [SWS_Dem_00770]।
रिटर्न मान के रूप में, फ़ंक्शन E_OK लौटाता है यदि ऑपरेशन सफल रहा, या निष्पादन के दौरान त्रुटि होने पर E_NOT_OK [SWS_Dem_00770]।
समवर्ती निष्पादन के संबंध में, यह फ़ंक्शन ClientId के भिन्न मानों के लिए रीएंट्रेंट है, लेकिन समान ClientId मानों के लिए रीएंट्रेंट नहीं है [SWS_Dem_00770]। इसलिए समान क्लाइंट के लिए समानांतर कॉल्स को कॉलर द्वारा बहिष्कृत या सिंक्रनाइज़ किया जाना चाहिए।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
फ़ंक्शन Dem_SetEventDisabled [SWS_Dem_00312] 📄 PDF
Std_ReturnType Dem_SetEventDisabled (Dem_EventIdType EventId);
Service for reporting the event as disabled to the Dem for the PID $41 computation. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_RepIUMPRFaultDetect [SWS_Dem_00313] 📄 PDF
Std_ReturnType Dem_RepIUMPRFaultDetect (Dem_RatioIdType RatioID);
Service for reporting that faults are possibly found because all conditions are fullfilled. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
उपयोग
सिंक्रोनस फ़ंक्शन Dem_RepIUMPRFaultDetect यह रिपोर्ट करने का कार्य करता है कि एक OBD मॉनिटर ने सभी निष्पादन शर्तों को पूरा कर लिया है और इस प्रकार संभावित त्रुटियों का पता लगा सकता था [SWS_Dem_00313]। इंटरफ़ेस हेडर Dem.h के माध्यम से प्रदान किया जाता है और केवल OBD समर्थन वाले इलेक्ट्रॉनिक नियंत्रण इकाइयों (ECUs) में उपलब्ध होता है, बशर्ते DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT पर कॉन्फ़िगर न किया गया हो [SWS_Dem_00313], [SWS_Dem_00360]।
पैरामीटर के रूप में, प्रकार Dem_RatioIdType का पहचानकर्ता RatioID पास किया जाता है, जब इंटरफ़ेस विकल्प “API” चुना जाता है [SWS_Dem_00313]। IUMPR परिणाम के सफल अधिग्रहण पर, फ़ंक्शन स्थिति E_OK लौटाता है [SWS_Dem_00313]।
समवर्ती निष्पादन (Concurrency) और त्रुटि व्यवहार
समवर्ती निष्पादन के संदर्भ में, यह सर्विस भिन्न पहचानकर्ताओं RatioID के लिए रीएंट्रेंट (reentrant) है, लेकिन समान RatioID मान [SWS_Dem_00313] के लिए रीएंट्रेंट नहीं है। इसलिए कॉलर द्वारा समान पहचानकर्ता के साथ समवर्ती कॉल्स से बचा जाना चाहिए।
यदि किसी संगत इवेंट को अनुपलब्ध के रूप में सेट किया जाता है, तो DEM मॉड्यूल इसे इस तरह मानता है जैसे कि यह सिस्टम में कॉन्फ़िगर ही न किया गया हो [SWS_Dem_01108]। इस निष्क्रियकरण से Dem_RepIUMPRFaultDetect भी स्पष्ट रूप से प्रभावित होता है [SWS_Dem_01108]; व्याख्या: इस स्थिति में, अन्य प्रभावित स्टेटस APIs के अनुरूप, यह कॉल संभवतः E_NOT_OK लौटाएगी। प्रश्न Q-6d1775c9bff08f42 (खुला)
यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_SetIUMPRDenCondition [SWS_Dem_00733] 📄 PDF
Std_ReturnType Dem_SetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType ConditionStatus);
In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to forward the condition status to a Dem of a particular ECU. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_GetIUMPRDenCondition [SWS_Dem_00734] 📄 PDF
Std_ReturnType Dem_GetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType* ConditionStatus);
In order to communicate the status of the (additional) denominator conditions among the OBD relevant ECUs, the API is used to retrieve the condition status from the Dem of the ECU where the conditions are computed. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_RepIUMPRDenRelease [SWS_Dem_00315] 📄 PDF
Std_ReturnType Dem_RepIUMPRDenRelease (Dem_RatioIdType RatioID);
Service is used to release a denominator of a specific monitor. API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
तुल्यकालिक (synchronous) और रीएंट्रेंट फ़ंक्शन Dem_RepIUMPRDenRelease का उपयोग भौतिक कारणों, जैसे कि विशिष्ट तापमान स्थितियों तक पहुँचने या न्यूनतम गतिविधि होने पर, किसी विशिष्ट मॉनिटर के डिनोमिनेटर को सक्षम करने के लिए किया जाता है [SWS_Dem_00315]। DEM यह इंटरफ़ेस IUMPR-प्रासंगिक सॉफ़्टवेयर घटकों (SW-C) के लिए प्रदान करता है ताकि संबंधित RatioID से जुड़े डिनोमिनेटर को लक्षित रूप से नियंत्रित किया जा सके [SWS_Dem_00308]।
फ़ंक्शन का प्रावधान और व्यवहार निश्चित कॉन्फ़िगरेशन और रनटाइम स्थितियों के अधीन हैं:
- उपलब्धता और कॉन्फ़िगरेशन: यह API केवल OBD-प्रासंगिक नियंत्रण इकाइयों में तब उपलब्ध होती है जब
DemOBDSupportकोDEM_OBD_NO_OBD_SUPPORTके असमान कॉन्फ़िगर किया गया हो [SWS_Dem_00315]। इसके अतिरिक्त, यदिDemIUMPRDenGroupकोDEM_IUMPR_DEN_PHYS_APIके रूप में कॉन्फ़िगर किया गया हो, तो विशेष परिस्थितियों में सक्षमीकरण के लिए इंटरफ़ेस प्रदान किया जाता है [SWS_Dem_00362]। - पैरामीटर और रिटर्न मान: इनपुट पैरामीटर के रूप में पहचानकर्ता
RatioIDपास किया जाता है। यदि IUMPR डिनोमिनेटर की स्थिति सफलतापूर्वक रिपोर्ट कर दी जाती है, तो फ़ंक्शनE_OKलौटाता है, अन्यथाE_NOT_OK[SWS_Dem_00315]। - निष्क्रिय इवेंट्स पर त्रुटि व्यवहार: यदि कोई संगत इवेंट अनुपलब्ध के रूप में सेट है, तो इसे इस तरह माना जाता है जैसे कि यह सिस्टम में कॉन्फ़िगर ही नहीं है;
Dem_RepIUMPRDenReleaseका कॉल इससे सीधे प्रभावित होता है औरE_NOT_OKलौटाता है [SWS_Dem_01108]।
रीएंट्रेंट डिज़ाइन की बदौलत, आवश्यकता पड़ने पर फ़ंक्शन को विभिन्न SW-C संदर्भों से समवर्ती रूप से कॉल किया जा सकता है [SWS_Dem_00315]।
यह पाठ AI द्वारा तैयार किया गया था और यह आधिकारिक AUTOSAR विनिर्देश को प्रतिस्थापित नहीं करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_SetPtoStatus [SWS_Dem_00627] 📄 PDF
Std_ReturnType Dem_SetPtoStatus (boolean PtoStatus);
API is needed in OBD-relevant ECUs only API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
उपयोग
सिंक्रोनस फ़ंक्शन Dem_SetPtoStatus ([SWS_Dem_00627]) Diagnostic Event Manager (DEM) में पावर टेक-ऑफ़ (PTO) की स्थिति सेट करने के लिए कार्य करता है। यह इंटरफ़ेस हेडर Dem.h में घोषित है और इसकी सर्विस-ID 0x79 ([SWS_Dem_00627]) है।
- पैरामीटर: इनपुट पैरामीटर
PtoStatus(प्रकारboolean) पावर टेक-ऑफ़ की स्थिति पास करता है, जहाँTRUEसक्रिय के लिए औरFALSEनिष्क्रिय के लिए है ([SWS_Dem_00627])। इनपुट/आउटपुट पैरामीटर या आउटपुट पैरामीटर मौजूद नहीं हैं। - रिटर्न मान: रिटर्न प्रकार
Std_ReturnTypeहै। यदि नया PTO स्टेटस DEM द्वारा स्वीकार कर लिया गया है तो फ़ंक्शनE_OKलौटाता है, और अन्य सभी मामलों मेंE_NOT_OKलौटाता है ([SWS_Dem_00627])।
समवर्तीता और प्रतिबंध
फ़ंक्शन सिंक्रोनस रूप से कार्य करता है और इसे गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_Dem_00627])।
सिस्टम संदर्भ और कॉन्फ़िगरेशन
यह इंटरफ़ेस केवल OBD-प्रासंगिक ECU में आवश्यक होता है ([SWS_Dem_00627])। यह केवल तभी उपलब्ध होता है, जब कॉन्फ़िगरेशन पैरामीटर DemGeneral.DemOBDSupport को DEM_OBD_NO_OBD_SUPPORT पर सेट नहीं किया गया हो ([SWS_Dem_00627])।
यह पाठ एक AI द्वारा जनरेट किया गया था और यह AUTOSAR Classic R20-11 में मॉड्यूल DEM के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
फ़ंक्शन Dem_ReadDataOfPID01 [SWS_Dem_01167] 📄 PDF
Std_ReturnType Dem_ReadDataOfPID01 (uint8* PID01value);
Service to report the value of PID $01 computed by the Dem. API is needed in OBD relevant ECUs only
उपयोग और पैरामीटर
सिंक्रोनस फ़ंक्शन Dem_ReadDataOfPID01 (सर्विस ID 0xb3) का उपयोग Diagnostic Event Manager (DEM) द्वारा परिकलित PID $01 के मान को क्वेरी करने के लिए किया जाता है [SWS_Dem_01167]। इंटरफ़ेस हेडर Dem.h के माध्यम से प्रदान किया जाता है [SWS_Dem_01167]। आउटपुट पैरामीटर के रूप में, फ़ंक्शन PID01value की अपेक्षा करता है, जिसे बफ़र के पॉइंटर के रूप में पास किया जाता है [SWS_Dem_01167]। परिकलित डेटा प्राप्त करने के लिए कॉलिंग एप्लिकेशन द्वारा इस बफ़र को 4 बाइट के निश्चित आकार के साथ अनिवार्य रूप से आवंटित और प्रदान किया जाना चाहिए [SWS_Dem_01167]।
त्रुटि प्रबंधन और रिटर्न मान
रिटर्न प्रकार के रूप में इंटरफ़ेस औपचारिक रूप से Std_ReturnType प्रदान करता है, लेकिन विनिर्देश के अनुसार बिना किसी अपवाद के E_OK लौटाता है [SWS_Dem_01167]। त्रुटि मान E_NOT_OK कभी नहीं होता है [SWS_Dem_01167]। इस इंटरफ़ेस के लिए न तो विशिष्ट त्रुटि कोड और न ही DET या DEM को संदेश निर्दिष्ट किए गए हैं [SWS_Dem_01167]।
समवर्तीता और प्रतिबंध
फ़ंक्शन को नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dem_01167]। इसलिए कॉल करने वालों को यह सुनिश्चित करना चाहिए कि कोई समवर्ती कॉल न हो। इसके अतिरिक्त, API कार्यात्मक रूप से सीमित है और इसकी आवश्यकता केवल OBD-प्रासंगिकता वाले ECU में होती है [SWS_Dem_01167]।
यह उपयोग नोट AUTOSAR विनिर्देश R20-11 के आधार पर स्वचालित रूप से जनरेट किया गया था।
फ़ंक्शन Dem_GetDataOfPID21 [SWS_Dem_01093] 📄 PDF
Std_ReturnType Dem_GetDataOfPID21 (uint8* PID21value);
Service to get the value of PID $21 from the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemGeneral OBD.DemOBDCentralizedPID21Handling)} == true) && ({ecuc(Dem/DemGeneral.Dem OBDSupport)} == DEM_OBD_MASTER_ECU)
फ़ंक्शन Dem_SetDataOfPID21 [SWS_Dem_00735] 📄 PDF
Std_ReturnType Dem_SetDataOfPID21 (const uint8* PID21value);
Service to set the value of PID $21 in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_SetDataOfPID31 [SWS_Dem_00736] 📄 PDF
Std_ReturnType Dem_SetDataOfPID31 (const uint8* PID31value);
Service to set the value of PID $31 in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_SetDataOfPID4D [SWS_Dem_00737] 📄 PDF
Std_ReturnType Dem_SetDataOfPID4D (const uint8* PID4Dvalue);
Service to set the value of PID $4D in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_SetDataOfPID4E [SWS_Dem_00738] 📄 PDF
Std_ReturnType Dem_SetDataOfPID4E (const uint8* PID4Evalue);
Service to set the value of PID $4E in the Dem by a software component. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_GetCycleQualified [SWS_Dem_00740] 📄 PDF
Std_ReturnType Dem_GetCycleQualified (uint8 OperationCycleId, boolean* isQualified);
Returns the qualification state of the dependent operation cycle. API Availability: This API will be available only if any of the ({ecuc(Dem/DemGeneral/Dem OperationCycle.DemLeadingCycleRef)} != NULL)
फ़ंक्शन Dem_SetCycleQualified [SWS_Dem_91001] 📄 PDF
Std_ReturnType Dem_SetCycleQualified (uint8 OperationCycleId);
Sets a dependent operation cycle as qualified, so it may be processed along with its leading cycle.
फ़ंक्शन Dem_GetDTCSeverityAvailabilityMask [SWS_Dem_01168] 📄 PDF
Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);
Gets the DTC Severity availability mask.
फ़ंक्शन Dem_GetB1Counter [SWS_Dem_01169] 📄 PDF
Std_ReturnType Dem_GetB1Counter (uint16* B1Counter);
Service to report the value of the B1 counter computed by the Dem. API is needed in WWH-OBD relevant ECUs only
फ़ंक्शन Dem_SetDTR [SWS_Dem_00765] 📄 PDF
Std_ReturnType Dem_SetDTR (uint16 DTRId, sint32 TestResult, sint32 LowerLimit, sint32 UpperLimit, Dem_DTRControlType Ctrlval);
Reports a DTR result with lower and upper limit. The internal eventstatus serves as master whether the DTR values are forwarded or ignored, also taking the DTRUpdateKind into account. The EventId that is related to the DTR is assigned per configuration (and derived from ServiceNeeds). Processing takes enable/storage conditions into account. API is needed in OBD-relevant ECUs only. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemOBDSupport)} != DEM_OBD_NO_OBD_SUPPORT)
फ़ंक्शन Dem_CallbackEventSyncStorageProcessed [SWS_Dem_91042] 📄 PDF
Std_ReturnType Dem_CallbackEventSyncStorageProcessed (void);
Called by the Dem after the internal processing of Dem_SetEventFailedWithSyncFreezeFrame is done and a further call of Dem_SetEventFailedWithSyncFreezeFrame with the same event ID can be processed by the Dem. Tags: atp.Status=draft
जैसे ही Dem_SetEventFailedWithSyncFreezeFrame का आंतरिक प्रसंस्करण पूरा होता है ([SWS_Dem_91042]), कॉलबैक फ़ंक्शन Dem_CallbackEventSyncStorageProcessed को Diagnostic Event Manager (DEM) द्वारा तुल्यकालिक रूप से कॉल किया जाता है। यह कॉलिंग घटक को सूचित करता है कि समान इवेंट ID के लिए Dem_SetEventFailedWithSyncFreezeFrame का एक और कॉल DEM द्वारा संसाधित किया जा सकता है ([SWS_Dem_91042])।
उपयोग और एकीकरण के लिए निम्नलिखित इंटरफ़ेस और निष्पादन विशेषताएँ लागू होती हैं:
- पैरामीटर और रिटर्न मान: इंटरफ़ेस में कोई इनपुट, आउटपुट या इनपुट/आउटपुट पैरामीटर नहीं हैं ([SWS_Dem_91042])। रिटर्न प्रकार
Std_ReturnTypeहै, जहाँ RTE अनुकूलता कारणों से केवल रिटर्न मानE_OKस्वीकार्य है और प्रदान किया जाता है ([SWS_Dem_91042])। - समवर्ती निष्पादन: फ़ंक्शन को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है ([SWS_Dem_91042])।
- त्रुटि प्रबंधन: डेवलपमेंट एरर ट्रैकिंग (DET) के लिए कोई विशिष्ट त्रुटि कोड या संदेश प्रदान नहीं किए गए हैं ([SWS_Dem_91042])।
अंतःक्रिया और कॉन्फ़िगरेशन के संबंध में एक निश्चित पूर्वशर्त है: Dem_CallbackEventSyncStorageProcessed केवल उन नैदानिक इवेंट्स के लिए कॉन्फ़िगर किया जाना चाहिए जिनका पैरामीटर DemEventReportingType IMMEDIATE_FAIL_AND_SYNCHRONOUS_PROCESSING पर सेट है ([SWS_Dem_01356])। इसके अलावा, रिलीज़ R20-11 में इस तत्व को draft स्थिति के साथ एनोटेट किया गया है ([SWS_Dem_91042], [SWS_Dem_01356])।
यह उपयोग नोट विनिर्देश आवश्यकताओं के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I2)
फ़ंक्शन Dem_MainFunction [SWS_Dem_00266] 📄 PDF
void Dem_MainFunction (void);
Processes all not event based Dem internal functions.
बेस फ़ंक्शन Dem_MainFunction का सिग्नेचर void Dem_MainFunction(void) सर्विस-ID 0x55 के साथ है और यह हेडर फ़ाइल SchM_Dem.h के माध्यम से उपलब्ध कराया जाता है ([SWS_Dem_00266])। यह कोई पैरामीटर स्वीकार नहीं करता है, कोई रिटर्न मान प्रदान नहीं करता है और DEM मॉड्यूल की सभी गैर-इवेंट-आधारित आंतरिक प्रक्रियाओं को निष्पादित करने का काम करता है ([SWS_Dem_00266], [SWS_Dem_00125])।
कॉल संदर्भ और त्रुटि प्रबंधन के लिए मॉड्यूल के जीवन चक्र में विशेष अपवाद लागू होते हैं: यदि विकास त्रुटि का पता लगाना DemDevErrorDetect TRUE पर सेट है, तो पूर्ण इनिशियलाइज़ेशन से पहले नियमित DEM इंटरफेस को कॉल करने से त्रुटि DEM_E_UNINIT की रिपोर्टिंग होती है; हालाँकि Dem_MainFunction को स्पष्ट रूप से इस त्रुटि निर्माण से छूट दी गई है ([SWS_Dem_00124])। इसी प्रकार, Dem_Shutdown को कॉल करने के बाद यह फ़ंक्शन त्रुटि रिपोर्ट DEM_E_UNINIT से तब तक मुक्त रहता है जब तक कि Dem_Init को फिर से कॉल नहीं किया जाता ([SWS_Dem_00368])।
फॉल्ट मेमोरी के साथ परस्पर क्रिया में, यह फ़ंक्शन मुख्य रूप से डायग्नोस्टिक डेटा के अधिग्रहण और बफ़रिंग को नियंत्रित करता है:
- यदि
DemEnvironmentDataCaptureकोDEM_CAPTURE_ASYNCHRONOUS_TO_REPORTINGपर कॉन्फ़िगर किया गया है (DemPrimaryMemoryयाDemUserDefinedMemoryके संदर्भ में), तो इवेंट-विशिष्ट फ़्रीज़-फ़्रेम डेटा ([SWS_Dem_00461]) और Extended Data रिकॉर्ड ([SWS_Dem_01081])Dem_MainFunctionके अगले चक्र में नवीनतम रूप से अधिग्रहित किए जाने चाहिए। - यदि
DemEnvironmentDataCaptureकोDEM_CAPTURE_SYNCHRONOUS_TO_REPORTINGपर सेट किया गया है, तो DEM मॉड्यूलDem_MainFunctionके अगले कॉल तक एनवायरनमेंट डेटा को एक कतार में रखता है ([SWS_Dem_01083])। इस दौरान मॉड्यूलDemMaxNumberEventEntryEventBufferके अनुसार कम से कम कॉन्फ़िगर की गई संख्या को बफ़र करता है; यदि कतार भरी हुई है, तोDem_MainFunctionके भीतर इवेंट प्रोसेसिंग के दौरान डेटा अधिग्रहित किया जाता है ([SWS_Dem_01083])।
यह उपयोग नोट AUTOSAR Classic Release R20-11 के विनिर्देश के आधार पर स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_ComponentIdType [SWS_Dem_01114] 📄 PDF
Identification of a DemComponent by assigned ComponentId. The ComponentId is automatically assigned by the Dem.
टाइप Dem_ConfigType [SWS_Dem_00924] 📄 PDF
This type of the external data structure shall contain the post build initialization data for the Dem.
टाइप Dem_DTCKindType [SWS_Dem_00932] 📄 PDF
This type is used to filter DTCs for their kind.
टाइप Dem_DTCRequestType [SWS_Dem_00935] 📄 PDF
This type is used to request a DTC with specific attributes.
उपयोग और मान श्रेणी
डेटा प्रकार Dem_DTCRequestType uint8 से व्युत्पन्न है और हेडर Dem.h के माध्यम से उपलब्ध है [SWS_Dem_00935]। इसका उपयोग विशिष्ट समय संबंधी विशेषताओं के आधार पर Diagnostic Trouble Code (DTC) का अनुरोध करने के लिए किया जाता है [SWS_Dem_00935]।
स्वीकार्य मान सीमा में निम्नलिखित एन्यूमरेटर मान शामिल हैं [SWS_Dem_00935]:
DEM_FIRST_FAILED_DTC(0x01): समय के अनुसार सबसे पहले विफल हुए DTC का अनुरोध करता है।DEM_MOST_RECENT_FAILED_DTC(0x02): सबसे अंत में विफल हुए DTC का अनुरोध करता है।DEM_FIRST_DET_CONFIRMED_DTC(0x03): सबसे पहले पुष्ट के रूप में पहचाने गए DTC का अनुरोध करता है।DEM_MOST_REC_DET_CONFIRMED_DTC(0x04): सबसे अंत में पुष्ट के रूप में पहचाने गए DTC का अनुरोध करता है।
अंतःक्रिया, समवर्तीता और त्रुटि प्रबंधन
यह प्रकार सिंक्रोनस फ़ंक्शन Dem_GetDTCByOccurrenceTime के इनपुट पैरामीटर DTCRequest के रूप में पास किया जाता है [SWS_Dem_00218]। इस पैरामीटर के माध्यम से यह निर्धारित किया जाता है कि DTC को किस मानदंड के अनुसार क्वेरी किया जाना चाहिए [SWS_Dem_00218]। परिणाम आउटपुट पैरामीटर DTC के माध्यम से UDS प्रारूप में वापस लौटाया जाता है [SWS_Dem_00218]।
यह इंटरफ़ेस विभिन्न ClientId मानों के माध्यम से विभिन्न कॉलर्स के लिए पुनःप्रवेशी है, लेकिन समान ClientId के लिए पुनःप्रवेशी नहीं है [SWS_Dem_00218]। संभावित रिटर्न मान सफल क्वेरी पर E_OK, त्रुटियों पर E_NOT_OK, तथा कोई उपयुक्त प्रविष्टि संग्रहीत न होने पर DEM_NO_SUCH_ELEMENT हैं [SWS_Dem_00218]। यदि फ़ंक्शन परिणाम DEM_OCCURR_OK से भिन्न होता है, तो पैरामीटर DTC में कोई मान्य डेटा नहीं होता है [SWS_Dem_00218]।
यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
टाइप Dem_DTCTranslationFormatType [SWS_Dem_00936] 📄 PDF
DTC translation format as defined in ISO14229-1.
टाइप Dem_J1939DcmDTCStatusFilterType [SWS_Dem_00945] 📄 PDF
The type to distinguish which DTCs should be filtered.
उपयोग और मान श्रेणी
प्रकार Dem_J1939DcmDTCStatusFilterType, uint8 पर आधारित एक इनम्यूरेशन प्रकार है, जो हेडर फ़ाइल Dem.h के माध्यम से प्रदान किया जाता है [SWS_Dem_00945]। इसका उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि फ़िल्टरिंग ऑपरेशनों में डायग्नोस्टिक ट्रबल कोड्स (DTCs) को किस J1939 स्टेटस के अनुसार विभेदित और चयनित किया जाना चाहिए [SWS_Dem_00945]।
निम्नलिखित स्टेटस फ़िल्टर मान निर्दिष्ट हैं:
DEM_J1939DTC_ACTIVE(0): सक्रिय ट्रबल कोड्स के लिए फ़िल्टर करता है [SWS_Dem_00945]।DEM_J1939DTC_PREVIOUSLY_ACTIVE(1): पूर्व में सक्रिय ट्रबल कोड्स के लिए फ़िल्टर करता है [SWS_Dem_00945]।DEM_J1939DTC_PENDING(2): पेंडिंग ट्रबल कोड्स के लिए फ़िल्टर करता है [SWS_Dem_00945]।DEM_J1939DTC_PERMANENT(3): स्थायी ट्रबल कोड्स के लिए फ़िल्टर करता है [SWS_Dem_00945]।DEM_J1939DTC_CURRENTLY_ACTIVE(4): वर्तमान में सक्रिय ट्रबल कोड्स के लिए फ़िल्टर करता है [SWS_Dem_00945]।
परस्पर क्रिया और कॉल संदर्भ
फ़िल्टर प्रकार का उपयोग इंटरफ़ेस Dem_J1939DcmSetDTCFilter में पासिंग पैरामीटर DTCStatusFilter के रूप में किया जाता है [SWS_Dem_00970]। फ़ंक्शन सिंक्रोनस रूप से काम करता है और J1939 इवेंट मेमोरी के लिए दोष श्रेणी (DTCKind), मेमोरी मूल (DTCOrigin) और संबंधित ClientId को ध्यान में रखते हुए फ़िल्टर सेट करता है [SWS_Dem_00970]। व्याख्या के रूप में, यह कॉल आमतौर पर J1939 के लिए डायग्नोस्टिक कम्युनिकेशन मैनेजर से आना चाहिए। प्रश्न Q-898d508b7b341ef8 (खुला)
समवर्तीता और त्रुटि प्रबंधन
सर्विस Dem_J1939DcmSetDTCFilter विभिन्न ClientId मानों के लिए reentrant है, लेकिन समान ClientId [SWS_Dem_00970] के लिए स्पष्ट रूप से non-reentrant है। एक सफल फ़िल्टर कॉन्फ़िगरेशन को सर्विस द्वारा रिटर्न मान E_OK के साथ पावती दी जाती है [SWS_Dem_00970]।
यह पाठ विनिर्देश दस्तावेजों के आधार पर एक AI द्वारा तैयार किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_J1939DcmSetClearFilterType [SWS_Dem_00946] 📄 PDF
The type to distinguish which DTCs gets cleared
टाइप Dem_J1939DcmSetFreezeFrameFilterType [SWS_Dem_00947] 📄 PDF
The type to distinguish which DTCs gets cleared
टाइप Dem_J1939DcmLampStatusType [SWS_Dem_00948] 📄 PDF
For details refer SAE J1939-73
संरचना प्रकार Dem_J1939DcmLampStatusType को [SWS_Dem_00948] के अनुसार Dem.h में घोषित किया गया है और इसका उपयोग SAE J1939-73 के अनुसार J1939 लैंप स्टेटस को कैप्चर करने के लिए किया जाता है। डेटा संरचना uint8 तत्वों के रूप में दो स्टेटस सूचनाओं को बंडल करती है: वर्तमान लैंप स्थिति के लिए LampStatus और संबंधित ब्लिंक व्यवहार के लिए FlashLampStatus।
Diagnostic Event Manager की J1939-DTC फ़िल्टरिंग में, यह प्रकार दो सिंक्रोनस इंटरफ़ेस में एक पॉइंटर आउटपुट पैरामीटर के रूप में कार्य करता है:
Dem_J1939DcmSetDTCFilter([SWS_Dem_00970]) के माध्यम से, एक विशिष्ट J1939 इवेंट मेमोरी (ClientIdके माध्यम से संबोधित) के लिए DTC फ़िल्टर को इनिशियलाइज़ करते समय प्रारंभिक लैंप स्टेटस की क्वेरी की जाती है।Dem_J1939DcmGetNextDTCwithLampStatus([SWS_Dem_00975]) के माध्यम से, प्रत्येक मिलान प्रविष्टि के लिए संरचना को संबंधित लैंप स्टेटस के साथ पुनरावृत्त रूप से भरा जाता है।
दोष प्रबंधन में यह ध्यान रखना अनिवार्य है कि [SWS_Dem_00975] के अनुसार Dem_J1939DcmGetNextDTCwithLampStatus केवल तभी आउटपुट पैरामीटर में मान्य मान लिखता है जब फ़ंक्शन का रिटर्न मान DEM_FILTERED_OK हो। यदि कॉल कोई अन्य रिटर्न मान लौटाती है, तो संरचना में कोई मान्य डेटा नहीं होता है।
कॉनकरेंसी और कॉल शर्तों के संबंध में, संरचना में स्वयं कोई आंतरिक सुरक्षा नहीं होती है। Reentrancy संबंधित कॉल संदर्भ पर निर्भर करती है: Dem_J1939DcmSetDTCFilter विभिन्न क्लाइंट IDs के लिए reentrant है, लेकिन समान ClientId ([SWS_Dem_00970]) के लिए non-reentrant है। Dem_J1939DcmGetNextDTCwithLampStatus के माध्यम से पुनरावृत्त पुनर्प्राप्ति पूरी तरह से non-reentrant निर्दिष्ट है ([SWS_Dem_00975])।
यह पाठ एक AI द्वारा जनरेट किया गया था और यह AUTOSAR रिलीज़ R20-11 के विनिर्देशों पर आधारित है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_J1939DcmDiagnosticReadiness1Type [SWS_Dem_00949] 📄 PDF
This structure represents all data elemets of the DM05 message. The encoding shall be done acording SAE J1939-73
संरचना Dem_J1939DcmDiagnosticReadiness1Type J1939 डायग्नोस्टिक संदेश DM05 के सभी डेटा तत्वों को मैप करती है और [SWS_Dem_00949] के अनुसार हेडर फ़ाइल Dem.h में परिभाषित है। फ़ील्ड्स की कोडिंग SAE J1939-73 [SWS_Dem_00949] के अनुसार की जाती है।
संरचना में प्रकार uint8 के आठ डेटा फ़ील्ड शामिल हैं, जो एक साथ डायग्नोस्टिक रेडीनेस 1 (Diagnostic Readiness 1) के लिए 8-बाइट बफ़र का प्रतिनिधित्व करते हैं [SWS_Dem_00949], [SWS_Dem_00982]:
ActiveTroubleCodes: सक्रिय DTCs की संख्या [SWS_Dem_00949]।PreviouslyActiveDiagnosticTroubleCodes: पूर्व में सक्रिय DTCs की संख्या [SWS_Dem_00949]।OBDCompliance: OBD अनुपालन [SWS_Dem_00949]।ContinuouslyMonitoredSystemsSupport_Status: निरंतर मॉनिटर किए जाने वाले सिस्टम्स का समर्थन और स्टेटस [SWS_Dem_00949]।NonContinuouslyMonitoredSystemsSupport5औरNonContinuouslyMonitoredSystemsSupport6: गैर-निरंतर मॉनिटर किए जाने वाले सिस्टम्स का सिस्टम समर्थन (बाइट 5 और 6) [SWS_Dem_00949]।NonContinuouslyMonitoredSystemsStatus7औरNonContinuouslyMonitoredSystemsStatus8: गैर-निरंतर मॉनिटर किए जाने वाले सिस्टम्स का स्टेटस (बाइट 7 और 8) [SWS_Dem_00949]।
प्राथमिक इंटरैक्शन सिंक्रोनस API Dem_J1939DcmReadDiagnosticReadiness1 (Dem_J1939Dcm.h के माध्यम से उपलब्ध) के साथ होता है [SWS_Dem_00982]। कॉलर्स J1939 इवेंट मेमोरी के लिए संबंधित ClientId के साथ आउटपुट पैरामीटर DataValue के माध्यम से Dem_J1939DcmDiagnosticReadiness1Type के इंस्टेंस का एक पॉइंटर पास करते हैं [SWS_Dem_00982]।
कॉनकरेंसी और दोष प्रबंधन के संबंध में, रीड एक्सेस पर निम्नलिखित लागू होता है: क्वेरी करने वाला फ़ंक्शन DEM द्वारा DM05 मानों की सफल गणना और प्रावधान पर E_OK लौटाता है तथा त्रुटि के मामले में E_NOT_OK लौटाता है [SWS_Dem_00982]। एक्सेस विभिन्न ClientId मानों के लिए reentrant है, लेकिन समान ClientId [SWS_Dem_00982] के लिए reentrant नहीं है। इसलिए, समान क्लाइंट के संदर्भ में इस प्रकार के इंस्टेंस को समवर्ती कॉल्स से सुरक्षित करना आवश्यक हो सकता है। प्रश्न Q-7613ded1aa18fd2b (खुला)
यह पाठ एक AI द्वारा तैयार किया गया था। साक्ष्य विशेष रूप से रिलीज़ R20-11 के विनिर्देशों से आते हैं।
टाइप Dem_J1939DcmDiagnosticReadiness2Type [SWS_Dem_00950] 📄 PDF
This structure represents all data elemets of the DM21 message. The encoding shall be done acording SAE J1939-73
संरचना प्रकार Dem_J1939DcmDiagnosticReadiness2Type SAE J1939-73 के अनुसार डायग्नोस्टिक संदेश DM21 (Diagnostic Readiness 2) के डेटा तत्वों का प्रतिनिधित्व करता है और हेडर फ़ाइल Dem.h के माध्यम से घोषित किया जाता है [SWS_Dem_00950]। संरचना चार 16-बिट काउंटरों (uint16) को 8-बाइट बफ़र में समूहीकृत करती है [SWS_Dem_00950], [SWS_Dem_00983]:
DistanceTraveledWhileMILisActivated: सक्रिय खराबी संकेतक लैंप (MIL) के साथ किलोमीटर में संचित दूरी [SWS_Dem_00950]।DistanceSinceDTCsCleared: उत्सर्जन-संबंधी डायग्नोस्टिक ट्रबल कोड्स (DTCs) को रीसेट करने के बाद से संचित दूरी [SWS_Dem_00950]।MinutesRunbyEngineWhileMILisActivated: सक्रिय MIL के साथ मिनटों में संचित इंजन रनटाइम [SWS_Dem_00950]।TimeSinceDiagnosticTroubleCodesCleared: उत्सर्जन-संबंधी DTCs को साफ़ करने के बाद से संचित इंजन रनटाइम [SWS_Dem_00950]।
इस प्रकार का उपयोग सिंक्रोनस सर्विस Dem_J1939DcmReadDiagnosticReadiness2 के आउटपुट बफ़र DataValue के रूप में किया जाता है, जो Dem_J1939Dcm.h में परिभाषित है [SWS_Dem_00983]। कॉल करते समय, J1939-DCM, DEM [SWS_Dem_00983] में विशिष्ट इवेंट मेमोरी को संबोधित करने के लिए एक ClientId पास करता है। फ़ंक्शन वर्तमान काउंटर मानों को निर्धारित करता है और रिटर्न मान E_OK के साथ सफल प्रावधान की पुष्टि करता है या E_NOT_OK [SWS_Dem_00983] के साथ त्रुटियों का संकेत देता है।
कॉनकरेंसी के संबंध में, पढ़ने वाली सर्विस विभिन्न ClientId मानों के लिए reentrant है, लेकिन समान ClientId मानों के लिए reentrant नहीं है [SWS_Dem_00983]।
यह उपयोग संबंधी नोट एक AI द्वारा स्वचालित रूप से जनरेट किया गया था। सभी कथन विशेष रूप से AUTOSAR R20-11 के प्रदत्त विनिर्देश दायरे पर आधारित हैं।
टाइप Dem_J1939DcmDiagnosticReadiness3Type [SWS_Dem_00951] 📄 PDF
This structure represents all data elemets of the DM26 message. The encoding shall be done acording SAE J1939-73
संरचना प्रकार Dem_J1939DcmDiagnosticReadiness3Type [SWS_Dem_00951] के अनुसार डायग्नोस्टिक संदेश DM26 (Diagnostic Readiness 3) के सभी डेटा तत्वों को मैप करता है। शामिल फ़ील्ड्स की कोडिंग अनिवार्य रूप से SAE J1939-73 [SWS_Dem_00951] का पालन करती है।
संरचना में 8 बाइट्स का एक डेटा बफ़र शामिल है और यह निम्नलिखित अलग-अलग फ़ील्ड्स से बनी है [SWS_Dem_00951]:
TimeSinceEngineStart(uint16): इग्निशन चालू होने के बाद से इंजन रनटाइम।NumberofWarmupsSinceDTCsCleared(uint8): सभी ट्रबल कोड साफ़ करने के बाद से OBD वार्म-अप चक्रों की संख्या।ContinuouslyMonitoredSystemsEnableCompletedStatus(uint8): निरंतर मॉनिटर किए जाने वाले सिस्टम्स का सक्षमीकरण और पूर्णता स्टेटस।NonContinuouslyMonitoredSystemsEnableStatus5औरNonContinuouslyMonitoredSystemsEnableStatus6(प्रत्येकuint8): वर्तमान चक्र में गैर-निरंतर मॉनिटरों का सक्षमीकरण स्टेटस (बाइट 5 और 6)।NonContinuouslyMonitoredSystems7औरNonContinuouslyMonitoredSystems8(प्रत्येकuint8): वर्तमान चक्र में गैर-निरंतर मॉनिटरों का पूर्णता स्टेटस (बाइट 7 और 8)।
उपयोग और इंटरैक्शन: इस प्रकार का एक इंस्टेंस आउटपुट पैरामीटर DataValue के रूप में सिंक्रोनस फ़ंक्शन Dem_J1939DcmReadDiagnosticReadiness3 को पास किया जाता है [SWS_Dem_00770]। DEM J1939 इवेंट मेमोरी के पास किए गए ClientId के लिए DM26 मान निर्धारित करता है और सफल निष्पादन पर रिटर्न मान E_OK या त्रुटि पर E_NOT_OK प्रदान करता है [SWS_Dem_00770]।
कॉनकरेंसी और सीमाएं: पढ़ने वाला फ़ंक्शन कॉल विभिन्न ClientId मानों के लिए reentrant है, लेकिन समान ClientId के लिए समवर्ती रूप से निष्पादित नहीं होना चाहिए [SWS_Dem_00770]। प्राथमिक कॉलर के रूप में मॉड्यूल J1939Dcm कार्य कर सकता है। प्रश्न Q-e001ad1880fee789 (खुला) प्रकार Dem.h में घोषित है [SWS_Dem_00951], जबकि संबंधित रीड सर्विस Dem_J1939Dcm.h के माध्यम से प्रदान की जाती है [SWS_Dem_00770]।
यह उपयोग संबंधी नोट Diagnostic Event Manager के लिए AUTOSAR विनिर्देश के प्रावधानों पर आधारित है।
टाइप Dem_DataType [SWS_Dem_91026] 📄 PDF
Data type definition for external data elements
टाइप Dem_DataPrimitiveType [SWS_Dem_91033] 📄 PDF
टाइप Dem_DataArrayType [SWS_Dem_91034] 📄 PDF
Array data type definition for external data elements
टाइप Dem_DTCOriginType [SWS_Dem_00934] 📄 PDF
This enum is used to define the location of the events. The definition and use of the different memory types is OEM-specific.
टाइप Dem_DebounceResetStatusType [SWS_Dem_00927] 📄 PDF
This type contains all definitions to control an internal debounce counter/timer via the function Dem_ResetEventDebounceStatus().
डेटा प्रकार Dem_DebounceResetStatusType Diagnostic Event Manager में आंतरिक डिबाउंस काउंटरों और डिबाउंस टाइमरों के व्यवहार को नियंत्रित करता है [SWS_Dem_00927]। इसे uint8 के रूप में परिभाषित किया गया है, यह हेडर फ़ाइल Rte_Dem_Type.h के माध्यम से उपलब्ध है और दो परिभाषित नियंत्रण स्थितियाँ प्रदान करता है [SWS_Dem_00927]:
DEM_DEBOUNCE_STATUS_FREEZE(0x00): संबोधित इवेंट के आंतरिक डिबाउंस काउंटर या डिबाउंस टाइमर को फ़्रीज़ करता है [SWS_Dem_00927]।DEM_DEBOUNCE_STATUS_RESET(0x01): आंतरिक डिबाउंस काउंटर या डिबाउंस टाइमर को रीसेट करता है [SWS_Dem_00927]।
0x02 से 0xFF की सीमा के मान आरक्षित हैं [SWS_Dem_00927]। इस प्रकार को सर्विस फ़ंक्शन Dem_ResetEventDebounceStatus() में पैरामीटर DebounceResetStatus के रूप में पास किया जाता है [SWS_Dem_00683]। यह कॉल तुल्यकालिक रूप से की जाती है और संबंधित इवेंट के क्वालिफिकेशन को सीधे प्रभावित किए बिना आंतरिक डिबाउंस स्थिति को नियंत्रित करती है [SWS_Dem_00683]।
समवर्ती निष्पादन के संबंध में, Dem_ResetEventDebounceStatus() भिन्न EventId मानों के लिए रीएंट्रेंट है, लेकिन समान EventId के लिए इसे समवर्ती रूप से कॉल नहीं किया जाना चाहिए [SWS_Dem_00683]। BSW मॉड्यूल बुनियादी इनिशियलाइज़ेशन Dem_PreInit पूरा होते ही इंटरफ़ेस का उपयोग कर सकते हैं [SWS_Dem_00683]। सॉफ़्टवेयर घटकों के लिए, प्रावधान DiagnosticMonitor जैसे पोर्ट-विशिष्ट इंटरफ़ेस के माध्यम से होने की संभावना है, जो इवेंट जानकारी के संशोधन की अनुमति देते हैं [SWS_Dem_00598]। प्रश्न Q-32468003718a4933 (खुला) त्रुटि की स्थिति में, कॉलिंग फ़ंक्शन E_NOT_OK लौटाता है, जो विनिर्देश के अनुसार केवल डेवलपमेंट त्रुटियों के मामले में होता है [SWS_Dem_00683]।
यह उपयोग नोट विनिर्देश आवश्यकताओं के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_DTRControlType [SWS_Dem_00941] 📄 PDF
Control parameter for the interpretation of the reported test results.
टाइप Dem_EventIdType [SWS_Dem_00925] 📄 PDF
Identification of an event by assigned EventId. The EventId is assigned by the Dem. Example: 1 refers to monitor x, 2 refers to monitor y, etc.
टाइप Dem_EventStatusType [SWS_Dem_00926] 📄 PDF
This type contains all monitor test result values, which can be reported via Dem_SetEventStatus().
डेटा प्रकार Dem_EventStatusType, uint8 से व्युत्पन्न है और हेडर Rte_Dem_Type.h के माध्यम से उपलब्ध है ([SWS_Dem_00926])। यह Software-Components (SW-Cs) और BSW मॉड्यूल द्वारा डायग्नोस्टिक मॉनिटर के परीक्षण परिणामों को DEM को रिपोर्ट करने के लिए उपयोग किया जाता है ([SWS_Dem_00926], [SWS_Dem_00183])।
प्रकार निम्नलिखित मॉनिटर परिणाम मानों ([SWS_Dem_00926]) को परिभाषित करता है:
DEM_EVENT_STATUS_PASSED(0x00) औरDEM_EVENT_STATUS_FAILED(0x01): योग्य परीक्षण परिणामों का ट्रांसमिशन (उत्तीर्ण या विफल)।DEM_EVENT_STATUS_PREPASSED(0x02) औरDEM_EVENT_STATUS_PREFAILED(0x03): अनंतिम, अयोग्य मॉनिटर परीक्षण परिणाम, जिनकी डिबाउंसिंग DEM में आंतरिक रूप से की जाती है।DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED(0x04): FDC सीमा मान (ON_FDC_THRESHOLD) तक पहुँचने पर FreezeFrames और ExtendedDataRecords के स्टोरेज को ट्रिगर करता है।- मान श्रेणियां 0x05 से 0xFF आरक्षित हैं।
इस प्रकार का उपयोग BSW APIs Dem_SetEventStatus() ([SWS_Dem_00183]) और Dem_SetEventStatusWithMonitorData() ([SWS_Dem_91037]) में इनपुट पैरामीटर EventStatus के रूप में और इंटरफेस DiagnosticMonitor ([SWS_Dem_00598]) और DiagnosticMonitor_MonitorData ([SWS_Dem_91038]) के माध्यम से किया जाता है। कॉल सिंक्रोनस या एसिंक्रोनस रूप से होता है ([SWS_Dem_00183], [SWS_Dem_91037])।
फ़ंक्शन Std_ReturnType लौटाते हैं (सफलता पर E_OK, त्रुटियों या अस्वीकृति पर E_NOT_OK), जिससे कॉलिंग BSW मॉड्यूल Dem_SetEventStatus() के रिटर्न मान को अनदेखा कर सकते हैं ([SWS_Dem_00183])। समवर्ती निष्पादन के संबंध में, कॉल भिन्न EventId के लिए रीएंट्रेंट हैं, लेकिन समान EventId के लिए रीएंट्रेंट नहीं हैं ([SWS_Dem_00183], [SWS_Dem_91037])। इसके अलावा, लक्ष्य APIs की उपलब्धता पैरामीटर DemEventReportingType के कॉन्फ़िगरेशन पर निर्भर करती है ([SWS_Dem_00183], [SWS_Dem_91037])।
यह पाठ एक AI द्वारा जनरेट किया गया था और मार्गदर्शन के रूप में कार्य करता है। AUTOSAR विनिर्देश बाध्यकारी है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_DTCFormatType [SWS_Dem_00933] 📄 PDF
This type is used to select the format of the DTC value.
टाइप Dem_InitMonitorReasonType [SWS_Dem_00942] 📄 PDF
(Re-)Initialization reason returned by the callback
उपयोग और मान श्रेणी
डेटा प्रकार Dem_InitMonitorReasonType uint8 पर आधारित है और Rte_Dem_Type.h के माध्यम से उपलब्ध है [SWS_Dem_00942]। यह डायग्नोस्टिक मॉनिटर के (पुनः) प्रारंभीकरण के विशिष्ट कारण की पहचान करता है, ताकि वह प्रभावित इवेंट के लिए उपयुक्त इनिशियलाइज़ेशन रूटीन का चयन और निष्पादन कर सके [SWS_Dem_00942] [SWS_Dem_00256]।
इस प्रकार के लिए निम्नलिखित मान परिभाषित हैं [SWS_Dem_00942]:
DEM_INIT_MONITOR_CLEAR(0x01): डायग्नोस्टिक इवेंट हटा दिया गया है; सभी आंतरिक मान और स्थितियाँ रीसेट हो जाती हैं।DEM_INIT_MONITOR_RESTART(0x02): इवेंट का ऑपरेशन चक्र पुनः प्रारंभ कर दिया गया है।DEM_INIT_MONITOR_REENABLED(0x03): सक्षमीकरण शर्तें (Enable Conditions) या DTC सेटिंग्स पुनः सक्रिय कर दी गई हैं।DEM_INIT_MONITOR_STORAGE_REENABLED(0x04): एक भंडारण शर्त (Storage Condition) पुनः सक्रिय कर दी गई है।
कॉल संदर्भ और इंटरफेस
यह मान सिंक्रोनस और पुनःप्रवेशी रूप से इनपुट पैरामीटर InitMonitorReason के रूप में इवेंट-विशिष्ट C-कॉलबैक <Module>_DemInitMonitorFor<EventName>() के माध्यम से पास किया जाता है, जो Dem_Externals.h में घोषित है [SWS_Dem_00256]। यदि सॉफ़्टवेयर घटक के लिए कोई पोर्ट इंटरफ़ेस मौजूद है, तो सर्विस इंटरफ़ेस CallbackInitMonitorForEvent के ऑपरेशन InitMonitorForEvent को यह मान सौंपा जाता है [SWS_Dem_00613]।
त्रुटि प्रबंधन और रिटर्न मान
C-कॉलबैक में, प्रकार Std_ReturnType का रिटर्न मान अप्रयुक्त होता है और केवल संबंधित RTE ऑपरेशन [SWS_Dem_00256] के साथ संगतता के लिए कार्य करता है। यदि इंटरफ़ेस को RTE के माध्यम से कॉल किया जाता है, तो ऑपरेशन InitMonitorForEvent त्रुटि मान E_OK (सफल) या E_NOT_OK (विफल) लौटाता है [SWS_Dem_00613]। इस डेटा प्रकार के लिए कोई विशिष्ट त्रुटि कोड या DET/DEM संदेश परिभाषित नहीं हैं।
यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_IumprDenomCondIdType [SWS_Dem_00943] 📄 PDF
This type contains all possible additional IUMPR denominator conditions to be broadcasted among OBD-relevant ECUs.
टाइप Dem_IumprDenomCondStatusType [SWS_Dem_00944] 📄 PDF
This type contains all possible states of an additional IUMPR denominator condition to be broadcasted among OBD-relevant ECUs.
उपयोग
प्रकार Dem_IumprDenomCondStatusType uint8 पर आधारित है और OBD-प्रासंगिक ECU के बीच वितरण के लिए एक अतिरिक्त IUMPR भाजक शर्त की संभावित स्थितियों को परिभाषित करता है [SWS_Dem_00944]। यह प्रकार Rte_Dem_Type.h के माध्यम से उपलब्ध है और इसमें निम्नलिखित मान शामिल हैं [SWS_Dem_00944]:
DEM_IUMPR_DEN_STATUS_NOT_REACHED(0x00): शर्त (अभी) पूरी नहीं हुई है।DEM_IUMPR_DEN_STATUS_REACHED(0x01): शर्त पूरी हो गई है।DEM_IUMPR_DEN_STATUS_INHIBITED(0x02): शर्त अवरुद्ध है और इसे प्राप्त नहीं किया जा सकता है।
0x03 से 0xFF की सीमा के मान आरक्षित हैं [SWS_Dem_00944]।
इंटरैक्शन और सर्विस इंटरफेस
सर्विस इंटरफ़ेस IUMPRDenominatorCondition के दायरे में, General Denominator, Cold start, EVAP या 500mi जैसी स्थितियों के लिए स्टेटस प्रेषित किया जाता है [SWS_Dem_00733] [SWS_Dem_00742]। दो केंद्रीय सर्विस फ़ंक्शन मौजूद हैं:
Dem_SetIUMPRDenCondition: इनपुट पैरामीटरConditionStatusके माध्यम से स्टेटस को किसी ECU के DEM को सिंक्रोनस या एसिंक्रोनस रूप से अग्रेषित करता है [SWS_Dem_00733]।Dem_GetIUMPRDenCondition: उस ECU से, जिस पर स्थितियाँ परिकलित की जाती हैं, पॉइंटर आउटपुट पैरामीटरConditionStatusके माध्यम से स्टेटस को सिंक्रोनस रूप से क्वेरी करता है [SWS_Dem_00734]।
त्रुटि हैंडलिंग और समवर्तीता
दोनों फ़ंक्शन reentrant के रूप में निर्दिष्ट हैं [SWS_Dem_00733] [SWS_Dem_00734]। सफल निष्पादन पर APIs E_OK लौटाते हैं; यदि सेट करना या पुनर्प्राप्त करना विफल रहता है या स्थिति स्वीकार नहीं की जा सकती है, तो वे E_NOT_OK [SWS_Dem_00733] [SWS_Dem_00734] लौटाते हैं।
यह उपयोग संबंधी नोट AUTOSAR CP R20-11 विनिर्देश के आधार पर एक AI द्वारा स्वचालित रूप से जनरेट किया गया था।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_MaxDataValueType [SWS_Dem_01072] 📄 PDF
टाइप Dem_MonitorDataType [SWS_Dem_91036] 📄 PDF
This type is used to pass monitoring data to the Dem.
टाइप Dem_IndicatorStatusType [SWS_Dem_00930] 📄 PDF
Indicator mode used by Dem_GetIndicatorStatus().
डेटा प्रकार Dem_IndicatorStatusType uint8 पर आधारित है और Rte_Dem_Type.h के माध्यम से प्रदान किया जाता है [SWS_Dem_00930]। यह UDS स्थिति से प्राप्त चेतावनी डिस्प्ले के संचालन मोड का निरूपण करता है [SWS_Dem_00205]। स्थितियों का स्पेक्ट्रम DEM_INDICATOR_OFF (0x00) से लेकर DEM_INDICATOR_CONTINUOUS (0x01), DEM_INDICATOR_BLINKING (0x02), DEM_INDICATOR_BLINK_CONT (0x03), DEM_INDICATOR_SLOW_FLASH (0x04), DEM_INDICATOR_FAST_FLASH (0x05) और DEM_INDICATOR_ON_DEMAND (0x06) होते हुए DEM_INDICATOR_SHORT (0x07) तक विस्तृत है [SWS_Dem_00930]।
इस प्रकार का उपयोग तुल्यकालिक C फ़ंक्शन Dem_GetIndicatorStatus() [SWS_Dem_00205] में और सर्विस पोर्ट IndicatorStatus [SWS_Dem_00606] के ऑपरेशन GetIndicatorStatus में आउटपुट पैरामीटर के रूप में किया जाता है। प्रत्येक कॉन्फ़िगर किए गए संकेतक के लिए, DEM सर्विस घटक अपना स्वयं का पोर्ट प्रदान करता है, जहाँ संबंधित IndicatorId एक पोर्ट-परिभाषित तर्क के रूप में कार्य करता है [SWS_Dem_00606]। क्वेरी करने वाला सॉफ़्टवेयर घटक आमतौर पर ऑप्टिकल या ध्वनिक डिस्प्ले उपकरणों को नियंत्रित करने के लिए निर्धारित स्थिति का उपयोग कर सकता है। प्रश्न Q-6bfabb33805bd0e8 (खुला)
कॉलर्स को ध्यान देना चाहिए कि Dem_GetIndicatorStatus() को गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Dem_00205]। इसके अलावा, क्वेरी API केवल तभी उपलब्ध होती है जब कॉन्फ़िगरेशन में DemIndicator के अंतर्गत कम से कम एक संकेतक संग्रहीत हो [SWS_Dem_00205]। यह ऑपरेशन निष्पादन स्थिति की रिपोर्ट रिटर्न मान Std_ReturnType के माध्यम से सफल मूल्यांकन पर E_OK के साथ या त्रुटि की स्थिति में E_NOT_OK के साथ देता है [SWS_Dem_00205][SWS_Dem_00606]।
यह पाठ एक AI द्वारा तैयार किया गया था और यह AUTOSAR परिवेश में मार्गदर्शन के रूप में कार्य करता है।
इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)
टाइप Dem_PID21valueType [SWS_Dem_01073] 📄 PDF
टाइप Dem_PID31valueType [SWS_Dem_01074] 📄 PDF
टाइप Dem_RatioIdType [SWS_Dem_00940] 📄 PDF
OBD specific ratio Id (related to a specific event, a FID, and an IUMPR group). This type depends on the Dem configuration.
टाइप Dem_PID4DvalueType [SWS_Dem_91028] 📄 PDF
टाइप Dem_PID4EvalueType [SWS_Dem_91029] 📄 PDF
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Dem- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Dem@rel:R20-11#8400c9e2- Content hash
8400c9e2- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticEventManager.pdf#nameddest=SWS_Dem_00177
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल