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
functie 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)
functie Dem_PreInit [SWS_Dem_00179] 📄 PDF
void Dem_PreInit (void);
Initializes the internal states necessary to process events reported by BSW-modules.
De functie Dem_PreInit dient tijdens het opstarten van het systeem voor de voor-initialisatie van de interne toestanden van de DEM-module, die vereist zijn voor de vroege verwerking van gebeurtenismeldingen uit BSW-modules ([SWS_Dem_00179], [SWS_Dem_00180]). De aanroep vindt synchroon plaats, is niet-re-entrant en heeft noch overdrachtsparameters noch een retourwaarde ([SWS_Dem_00179]).
Met de aanroep van Dem_PreInit worden de interne ontdenderingsmechanismen inclusief tellers en timers geïnitialiseerd ([SWS_Dem_01213]). Als DEM-interne ontdendering is geconfigureerd, stelt de module het betreffende ontdenderingsalgoritme terug ([SWS_Dem_00438]).
Na succesvolle afronding van Dem_PreInit en vóór de aanroep van Dem_Init zijn geselecteerde interfaces en gedragingen vrijgegeven:
- Eventstatus en ontdendering: Aanroepen van
Dem_SetEventStatusworden ondersteund voor ontdendering met de toestandenDEM_EVENT_STATUS_PREPASSEDenDEM_EVENT_STATUS_PREFAILED([SWS_Dem_01212]). Alle vóórDem_Initgemelde events activeren echter geen callbacks voor statuswijziging van de monitor ([SWS_Dem_01289]). - Ontdenderingsstatus besturen: De functie
Dem_ResetEventDebounceStatusvoor het resetten of bevriezen van ontdenderingstellers staat na voltooiing vanDem_PreInitter beschikking van BSW-modules ([SWS_Dem_00180], [SWS_Dem_00683]). - Bevestigingsdrempels en bedrijfscycli: De DEM ondersteunt na
Dem_PreInitaanroepen vanDem_SetEventConfirmationThresholdCounter([SWS_Dem_01242]). Een aanroep vanDem_RestartOperationCycleis eveneens pas vanaf dit tijdstip toegestaan; wordt een bedrijfscyclus vóórDem_Initopnieuw gestart, dan vindt de daadwerkelijke verwerking van de herstart pas naDem_Initplaats ([SWS_Dem_01318]).
Deze tekst is gegenereerd door een AI op basis van de specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Dem_Init [SWS_Dem_00181] 📄 PDF
void Dem_Init (const Dem_ConfigType* ConfigPtr);
Initializes or reinitializes this module.
De synchrone, niet re-entrante functie Dem_Init initialiseert of herinitialiseert de Diagnostic Event Manager (DEM)-module volledig conform [SWS_Dem_00181]. Na afronding van deze aanroep is de DEM volledig operationeel ([SWS_Dem_00340]). Via de invoerparameter ConfigPtr wordt in VARIANT-POST-BUILD een pointer naar de post-build-configuratiedataset doorgegeven ([SWS_Dem_00181]).
In het kader van het initialisatieverloop voert Dem_Init wezenlijke herstel- en synchronisatiestappen uit:
- Status- en monitorinitialisatie: De monitor- en componentstatussen worden geïnitialiseerd ([SWS_Dem_01324]). Terwijl aanroepen van
Dem_GetMonitorStatusvóór afronding van de initialisatieE_NOT_OKleveren ([SWS_Dem_01326]), retournerenDem_GetMonitorStatusenDem_GetComponentFailedna dit tijdstipE_OK([SWS_Dem_01324]). - Niet-vluchtig geheugen (NVM): Voor zover geconfigureerd (
DemDebounceCounterStorage == True), herstelt de DEM uiterlijk inDem_Initde interne ontdenderingseller ([SWS_Dem_00675]). Evenzo worden voorgeconfigureerde freeze-frame-gegevens vóór terugkeer van de functie uit het NVM geladen ([SWS_Dem_01322]), waarvoor de DEM een beroep doet op NvM-API's zoalsNvM_ReadBlock([SWS_Dem_00164]). Door de aanroep vanDem_Initwordt bovendien de blokkering van het gebeurtenisgeheugen na een voorafgaandeDem_Shutdownopgeheven ([SWS_Dem_00102]). - Samenspel en buffering: Als
DemTriggerFiMReportsopTrueis ingesteld, roeptDem_Initexclusief op dit tijdstipFiM_DemInitaan om de bevoegdheden in de Function Inhibition Manager te initialiseren ([SWS_Dem_01189]). Gebeurtenissen die vóórDem_Initzijn gebufferd ([SWS_Dem_00167], [SWS_Dem_01079]), activeren vóórDem_Initgeen monitor-statuswijzigings-callbacks ([SWS_Dem_01289]). Een vóórDem_InitviaDem_RestartOperationCycleaangevraagde cyclus-herstart wordt pas naDem_Initafgehandeld ([SWS_Dem_01318]).
Wat betreft de foutafhandeling geldt: als Dem_Shutdown is aangeroepen, beantwoordt de DEM bij actieve ontwikkelingsdetectie aanroepen van de meeste API's met de fout DEM_E_UNINIT, totdat Dem_Init opnieuw wordt uitgevoerd ([SWS_Dem_00368]).
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dem_Shutdown [SWS_Dem_00182] 📄 PDF
void Dem_Shutdown (void);
Shuts down this module.
De synchrone en niet-reentrante functie Dem_Shutdown dient voor het gecontroleerd afsluiten van de module Diagnostic Event Manager ([SWS_Dem_00182]). Deze heeft noch ingangs- noch retourparameters ([SWS_Dem_00182]). De aanroepcontext bevindt zich vermoedelijk binnen de centrale uitschakelsequentie van het stuurapparaat. Vraag Q-a0e6a5700c49d786 (open)
Bij de aanroep voltooit Dem_Shutdown alle nog openstaande operaties van de DEM-module om de interne toestanden en gegevens voor te bereiden op de overdracht naar het NVRAM ([SWS_Dem_00102]). Voor gewijzigde niet-vluchtige gegevens initieert de DEM de opslag in het NVRAM vóór of tijdens Dem_Shutdown ([SWS_Dem_00341]). Voor zover vereist, gebruikt de module voor het opslaan en herstellen van gegevens tussen Dem_Init en Dem_Shutdown de interfaces NvM_WriteBlock en NvM_ReadBlock van de NVRAM Manager ([SWS_Dem_00164]). Is de DEM zo geconfigureerd dat vooraf opgeslagen Freeze Frame-gegevens niet-vluchtig worden opgeslagen, dan vindt deze opslag eenmalig en uiterlijk tijdens Dem_Shutdown plaats ([SWS_Dem_01321]).
Met de uitvoering van de shutdown wordt het gebeurtenissengeheugen vergrendeld en mag het tot een hernieuwde aanroep van Dem_Init niet meer worden gewijzigd ([SWS_Dem_00102]). Daarnaast gelden de volgende foutvoorwaarden bij geactiveerde ontwikkelingsfoutdetectie (Development Error Detection):
- Wordt na
Dem_Shutdowneen DEM-API aangeroepen – met uitzondering vanDem_SetEventStatus,Dem_ResetEventDebounceStatus,Dem_GetVersionInfoenDem_MainFunction–, dan stelt de module de foutcodeDEM_E_UNINITin tot aan de volgendeDem_Init([SWS_Dem_00368]). - Worden
Dem_SetEventStatusofDem_ResetEventDebounceStatusnaDem_Shutdownaangeroepen voor events waarbijDemDebounceCounterStorageopTrueis ingesteld, dan meldt de DEM de foutcodeDEM_E_WRONG_CONDITION([SWS_Dem_00676]).
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp. Bindend zijn de bepalingen van de desbetreffende AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie Dem_ClearDTC [SWS_Dem_00665] 📄 PDF
Std_ReturnType Dem_ClearDTC (uint8 ClientId);
Clears single DTCs, as well as groups of DTCs.
De asynchrone functie Dem_ClearDTC dient voor het wissen van individuele diagnosefoutcodes (DTC's) of gehele DTC-groepen in de Diagnostic Event Manager [SWS_Dem_00665]. Voorafgaand aan de aanroep moet de doelselectie van DTC, formaat en geheugenlocatie door middel van Dem_SelectDTC voor de desbetreffende ClientId zijn vastgelegd [SWS_Dem_01253]. De functie is re-entrant voor verschillende ClientId-waarden, maar niet re-entrant voor dezelfde client [SWS_Dem_00665].
Het wisproces wordt met E_OK bevestigd zodra het succesvol is voltooid [SWS_Dem_00665]. Zolang het opschonen loopt, levert de API DEM_PENDING terug, waarna de aanroeper de functie op een later tijdstip opnieuw moet aanroepen [SWS_Dem_00665]. Als voor dezelfde client parallel een andere van Dem_SelectDTC afhankelijke operatie actief is, wordt DEM_BUSY gemeld [SWS_Dem_00665]. Meerdere parallelle clientverzoeken worden door de DEM intern verwerkt [SWS_Dem_00661], waarbij concurrerende aanroepen tijdens een lopend wisproces DEM_PENDING [SWS_Dem_00664] of DEM_CLEAR_BUSY [SWS_Dem_00665] kunnen ontvangen.
Foutieve aanroepen worden door de API beantwoord met specifieke retourwaarden:
E_NOT_OK: Er is vooraf geen DTC geselecteerd [SWS_Dem_00665].DEM_WRONG_DTC: De DTC bestaat niet [SWS_Dem_00665], is onderdrukt [SWS_Dem_01100] of de configuratieDemClearDTCLimitationdwingtDEM_ONLY_CLEAR_ALL_DTCSaf [SWS_Dem_00670].DEM_WRONG_DTCORIGIN: De geselecteerde geheugenlocatie bestaat niet [SWS_Dem_00665].DEM_CLEAR_FAILEDrespectievelijkDEM_CLEAR_MEMORY_ERROR: Het wissen is mislukt of er is een fout opgetreden bij het wissen in het niet-vluchtige geheugen [SWS_Dem_00665].
In het kader van de wissing worden bij gecombineerde DTC's alle gekoppelde events opgeschoond [SWS_Dem_00440] en wordt de monitorinitialisatie daarvan via InitMonitorForEvent met DEM_INIT_MONITOR_CLEAR geïnitieerd [SWS_Dem_00680]. Bij een ingestelde DemTriggerMonitorInitBeforeClearOk volgt de teruggave van E_OK pas na deze trigger [SWS_Dem_00573]. Worden alle DTC's van een gebeurtenisgeheugen gewist, dan reset de DEM de overloopindicator daarvan [SWS_Dem_00399]; bovendien worden bij OBD-service $04 niet-toegewezen DTR-gegevens gereset [SWS_Dem_00764] en niet-geheugengebonden events opgeschoond [SWS_Dem_01249].
Deze tekst is gegenereerd door een AI en dient voor technische oriëntatie.
Implementer's Guide volgt (complexiteit I2)
functie 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)
Gebruik en aanroepcontext
De synchrone functie Dem_ClearPrestoredFreezeFrame wist een eerder gebufferd freeze-frame van een specifieke diagnosegebeurtenis ([SWS_Dem_00193]). De aanroep vindt uitsluitend plaats via de RTE; een declaratie in het headerbestand Dem.h wordt niet beschikbaar gesteld ([SWS_Dem_00193]). De API is alleen dan in het systeem geïmplementeerd als ten minste één gebeurtenis voor de vooropslag is geconfigureerd (configuratieparameter DemFFPrestorageSupported) ([SWS_Dem_00193], [SWS_Dem_00334]). De functie retourneert E_OK bij succesvol wissen en E_NOT_OK wanneer het proces mislukt ([SWS_Dem_00193]).
Gelijktijdigheid en beperkingen
De interface is re-entrant voor verschillende gebeurtenis-ID's (EventId), maar mag voor dezelfde EventId niet gelijktijdig worden uitgevoerd ([SWS_Dem_00193]). Een aanroep met gebeurtenissen die zijn geconfigureerd als slave-gebeurtenissen (DemMultiEventTriggeringSlaveEventRef) of als vervangende gebeurtenissen (DemStorageConditionReplacementEventRef) wordt niet ondersteund; het gedrag van de DEM is hierbij ongedefinieerd ([SWS_Dem_01339]). Als een gebeurtenis als niet beschikbaar is ingesteld, wordt deze behandeld als een niet-geconfigureerde gebeurtenis ([SWS_Dem_01108]); Interpretatie: de aanroep zal in dit geval vermoedelijk met E_NOT_OK worden afgewezen. Vraag Q-d8ebaf6883138fdf (open)
Samenspel bij multi-event-triggering
Voor zover DemMultiEventTriggering is geconfigureerd en de functie voor een master-gebeurtenis (DemMultiEventTriggeringMasterEventRef) wordt aangeroepen, triggert de DEM de wis-aanroep met identieke parameters automatisch voor alle toegewezen slave-gebeurtenissen (DemMultiEventTriggeringSlaveEventRef) ([SWS_Dem_01250]).
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic Release R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dem_GetComponentFailed [SWS_Dem_01115] 📄 PDF
Std_ReturnType Dem_GetComponentFailed (Dem_ComponentIdType ComponentId, boolean* ComponentFailed);
Gets the failed status of a DemComponent.
functie 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.
functie 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.
functie 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
functie Dem_GetMonitorStatus [SWS_Dem_91007] 📄 PDF
Std_ReturnType Dem_GetMonitorStatus (Dem_EventIdType EventID, Dem_MonitorStatusType* MonitorStatus);
Gets the current monitor status for an event.
functie 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.
functie Dem_GetDTCOfEvent [SWS_Dem_00198] 📄 PDF
Std_ReturnType Dem_GetDTCOfEvent (Dem_EventIdType EventId, Dem_DTCFormatType DTCFormat, uint32* DTCOfEvent);
Gets the DTC of an event.
functie 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)
functie Dem_GetEventAvailable [SWS_Dem_91040] 📄 PDF
Std_ReturnType Dem_GetEventAvailable (Dem_EventIdType EventId, boolean* AvailableStatus);
Get the Event's availability.
functie 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.
functie 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)
functie 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.
functie 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.
functie Dem_GetEventMemoryOverflow [SWS_Dem_00559] 📄 PDF
Std_ReturnType Dem_GetEventMemoryOverflow (uint8 ClientId, Dem_DTCOriginType DTCOrigin, boolean* OverflowIndication);
Gets the event memory overflow indication status.
functie 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.
functie 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).
De synchrone functie Dem_ResetEventDebounceStatus stelt BSW-modules en softwarecomponenten (SW-C's) in staat de interne debounceteller of -timer van een diagnose-event doelgericht te bevriezen of terug te zetten, zonder de eventkwalificatie te beïnvloeden [SWS_Dem_00683].
Gebruik en parameters
Via de parameter DebounceResetStatus wordt de gewenste actie bestuurd: de waarde DEM_DEBOUNCE_STATUS_FREEZE bevriest de interne debouncetimer [SWS_Dem_00685], terwijl DEM_DEBOUNCE_STATUS_RESET de bijbehorende foutdetectieteller (Fault Detection Counter) reset [SWS_Dem_00684] [SWS_Dem_00927]. De functie retourneert E_OK bij succesvolle uitvoering en E_NOT_OK uitsluitend in het geval van een ontwikkelingsfout [SWS_Dem_00683].
Foutafhandeling en levenscyclus
De API is voor BSW-modules reeds na afronding van Dem_PreInit beschikbaar en daarom uitgezonderd van de algemene initialisatiecontrole vóór volledige initialisatie [SWS_Dem_00124] [SWS_Dem_00683]. Bij geactiveerde ontwikkelingsdetectie gelden de volgende voorwaarden:
- Wordt de functie vóór de voorinitialisatie aangeroepen, dan meldt DEM de fout
DEM_E_UNINIT[SWS_Dem_00364]. - Vindt de aanroep voor events met persistente debounceteller (
DemDebounceCounterStorageop True) plaats vóórDem_Initof naDem_Shutdown, dan wordtDEM_E_WRONG_CONDITIONingesteld [SWS_Dem_00676]. - Als een event als niet beschikbaar is gemarkeerd, wordt dit behandeld als een niet-geconfigureerd event [SWS_Dem_01108].
Gelijktijdigheid en beperkingen
Dem_ResetEventDebounceStatus is reentrant voor verschillende EventId-waarden, maar niet-reentrant voor hetzelfde event [SWS_Dem_00683]. Bij een geconfigureerde DemMultiEventTriggering triggert een aanroep met een master-event identieke aanroepen voor alle toegewezen slave-events [SWS_Dem_01250]. Directe aanroepen voor zuiver interne slave-events of via DemStorageConditionReplacementEventRef gerefereerde events worden niet ondersteund en leiden tot ongedefinieerd gedrag [SWS_Dem_01339].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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.
De functie Dem_ResetEventStatus dient voor het resetten van de foutstatus van een diagnose-event en is uitsluitend beschikbaar via de RTE [SWS_Dem_00185]. De aanroep vindt plaats met de EventId en heeft een asynchrone semantiek: Bij succesvolle acceptatie van het verzoek levert de functie E_OK op [SWS_Dem_00185]. De DEM-module zet vervolgens tijdsvertraagd de statusbit 0 (TestFailed) terug op 0 en stelt bij overeenkomstige configuratie het interne ontdenderalgoritme in op de initiële waarden daarvan [SWS_Dem_00187].
Het verzoek mislukt met de retourwaarde E_NOT_OK als het event in de actuele bedrijfscyclus reeds is getest (UDS-statusbit 6 is 0) [SWS_Dem_00185], [SWS_Dem_00638], of als het event als niet beschikbaar is geconfigureerd resp. ingesteld [SWS_Dem_01108]. Een aanroep vóór de volledige initialisatie van de DEM leidt zelfs bij geactiveerde ontwikkelingsfoutdetectie (DemDevErrorDetect) niet tot het melden van de fout DEM_E_UNINIT [SWS_Dem_00124].
Wat betreft gelijktijdigheid is Dem_ResetEventStatus voor verschillende EventId-waarden reentrant, maar voor dezelfde EventId niet-reentrant [SWS_Dem_00185]. Is DemMultiEventTriggering geconfigureerd en wordt de functie aangeroepen met een master-event, dan triggert de DEM dezelfde aanroep automatisch voor alle gekoppelde slave-events [SWS_Dem_01250]. Directe aanroepen met een EventId die als slave-event of als DemStorageConditionReplacementEventRef is geconfigureerd, worden niet ondersteund en leiden tot ongedefinieerd gedrag [SWS_Dem_01339].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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.
De functie Dem_RestartOperationCycle dient voor de herstart van een bedrijfscyclus ([SWS_Dem_00194]). De aanroep vindt uitsluitend plaats via de RTE, waardoor er geen declaratie via de Dem.h wordt geëxporteerd ([SWS_Dem_00194]).
Semantiek en parameters
Via de invoerparameter OperationCycleId wordt de opnieuw te starten bedrijfscyclus geïdentificeerd (bijv. power cycle of driving cycle) ([SWS_Dem_00194]). De functie werkt zowel re-entrant als asynchroon ([SWS_Dem_00194]):
E_OK: Het instellen van de bedrijfscyclus is geaccepteerd en wordt asynchroon verder verwerkt ([SWS_Dem_00194]).E_NOT_OK: Het verzoek tot het instellen van de cyclus is afgewezen ([SWS_Dem_00194]).
Interactie en asynchroon verloop
Het asynchrone gedrag voorkomt schendingen van typische tijdseisen wanneer een groot aantal events moet worden verwerkt en monitors opnieuw moeten worden geïnitialiseerd ([SWS_Dem_00194]). Als asynchrone terugmeldingen fungeren de bijbehorende callbacks InitMonitorForEvent ([SWS_Dem_00194]). In het kader van de herstart herinitialiseert de DEM de diagnosemonitors van alle getroffen events door het aanroepen van hun callback InitMonitorForEvent met de parameter InitMonitorReason ingesteld op DEM_INIT_MONITOR_RESTART ([SWS_Dem_00679]).
Wordt een bedrijfscyclus via Dem_RestartOperationCycle opnieuw gestart, dan moeten bovendien alle daarvan afhankelijke bedrijfscycli eveneens opnieuw worden gestart, voor zover deze gekwalificeerd zijn ([SWS_Dem_01224]).
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp. Doorslaggevend is de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie 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)
De functie dient voor het synchroon vastleggen en bufferen van freeze-framedata voor een specifieke diagnosegebeurtenis [SWS_Dem_00188]. De interface wordt uitsluitend via de RTE beschikbaar gesteld en niet via Dem.h geëxporteerd [SWS_Dem_00188]. Deze bestaat in de module alleen wanneer voor ten minste één gebeurtenis de vooropslag is geconfigureerd (DemFFPrestorageSupported) [SWS_Dem_00334].
Retourwaarden en foutafhandeling:
E_OK: Het freeze-frame is succesvol gebufferd [SWS_Dem_00188].E_NOT_OK: Het bufferen mislukt [SWS_Dem_00188], in het bijzonder wanneer er geen buffer meer vrij is (beperkt doorDemMaxNumberPrestoredFF) [SWS_Dem_00808] of de opgegeven gebeurtenis als niet beschikbaar is ingesteld [SWS_Dem_01108].
Gelijktijdigheid en aanroepvoorwaarden: De functie is re-entrant voor verschillende gebeurtenis-ID's, maar niet voor dezelfde EventId [SWS_Dem_00188].
Interactie bij multi-event-triggering: Als de functie wordt aangeroepen met een geconfigureerde master-gebeurtenis (DemMultiEventTriggeringMasterEventRef), activeert de DEM automatisch identieke aanroepen voor alle bijbehorende slave-gebeurtenissen (DemMultiEventTriggeringSlaveEventRef) [SWS_Dem_01250]. Directe aanroepen met een slave-gebeurtenis-ID of met een vervangende gebeurtenis voor opslagvoorwaarden (DemStorageConditionReplacementEventRef) worden niet ondersteund en leiden tot ongedefinieerd gedrag [SWS_Dem_01339].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De synchrone functie Dem_SelectDTC selecteert een DTC of een DTC-groep in het gedefinieerde formaat (DTCFormat) en gebeurtenisgeheugen (DTCOrigin) voor een bepaalde ClientId als doel voor daaropvolgende operaties [SWS_Dem_91016]. Deze brengt het interne selectieproces van de DEM op het aan deze ClientId toegewezen gebeurtenisgeheugen op gang [SWS_Dem_01254].
Met betrekking tot gelijktijdigheid en oproepcontext is de functie re-entrant voor verschillende ClientId's, maar niet re-entrant voor dezelfde ClientId [SWS_Dem_91016]. Als retourwaarden zijn gedefinieerd [SWS_Dem_91016]:
E_OK: De DTC resp. de groep is met succes geselecteerd [SWS_Dem_91016].DEM_BUSY: Een verdere oproep vanDem_SelectDTCof een daarvan afhankelijke operatie van deze client wordt momenteel al uitgevoerd [SWS_Dem_91016].
Het resultaat van de selectie wordt weerspiegeld in de retourwaarden van de daaropvolgende API-oproepen [SWS_Dem_01254]. De DEM gebruikt de geselecteerde DTC resp. de DTC-groep als doel voor daaropvolgende functie-oproepen van dezelfde client zoals onder andere Dem_ClearDTC, Dem_DisableDTCRecordUpdate, Dem_GetFunctionalUnitOfDTC, Dem_GetSeverityOfDTC, Dem_GetStatusOfDTC, Dem_SelectFreezeFrameData, Dem_SelectExtendedDataRecord evenals Dem_SetDTCSuppression [SWS_Dem_01253]. Verder bouwen Dem_SelectFreezeFrameData en Dem_SelectExtendedDataRecord voort op deze geselecteerde DTC [SWS_Dem_01268], [SWS_Dem_01272].
Als een van de afhankelijke API's wordt aangeroepen zonder dat er vooraf een geldige selectie was of als de meegegeven DTC in het opgegeven formaat ongeldig is, geeft de DEM DEM_WRONG_DTC terug [SWS_Dem_01261]. Als het opgevraagde geheugengebied (DTCOrigin) niet aanwezig of ongeldig is, melden daaropvolgende oproepen DEM_WRONG_DTCORIGIN [SWS_Dem_01258], [SWS_Dem_01262]. Met behulp van Dem_GetDTCSelectionResult kan expliciet worden gecontroleerd of de selectie met E_OK succesvol was en de DTC gereedstaat voor verdere verwerking [SWS_Dem_01256], [SWS_Dem_01257].
Deze gebruiksinstructie is opgesteld door een AI en is uitsluitend gebaseerd op de specificatiegegevens van AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie Dem_SetComponentAvailable [SWS_Dem_01117] 📄 PDF
Std_ReturnType Dem_SetComponentAvailable (Dem_ComponentIdType ComponentId, boolean AvailableStatus);
Set the availability of a specific DemComponent.
functie 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)
functie 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)
functie Dem_SetEventAvailable [SWS_Dem_01080] 📄 PDF
Std_ReturnType Dem_SetEventAvailable (Dem_EventIdType EventId, boolean AvailableStatus);
Set the available status of a specific Event.
functie Dem_SetEventConfirmationThresholdCounter [SWS_Dem_91004] 📄 PDF
Std_ReturnType Dem_SetEventConfirmationThresholdCounter (Dem_EventIdType EventId, uint8 FailureCycleCounterThreshold);
Set the failure confirmation threshold of an event.
functie 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)
De functie Dem_SetEventStatus dient voor SW-C's en BSW-modules om monitor-testresultaten door te geven aan de DEM [SWS_Dem_00183], [SWS_Dem_00330]. Deze is beschikbaar wanneer voor de gebeurtenis STANDARD_REPORTING is geconfigureerd [SWS_Dem_00183]. Als statuswaarden worden gekwalificeerde resultaten (DEM_EVENT_STATUS_PASSED, DEM_EVENT_STATUS_FAILED), voorkwalificaties voor de DEM-interne ontdendering (DEM_EVENT_STATUS_PREPASSED, DEM_EVENT_STATUS_PREFAILED) of het bereiken van de ontdenderingsdrempel doorgegeven DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED [SWS_Dem_00926].
Wat betreft gelijktijdigheid is de API voor verschillende EventId-waarden re-entrant, maar voor dezelfde EventId niet re-entrant uitgevoerd [SWS_Dem_00183]. Vóór de voorinitialisatie via Dem_PreInit leidt een aanroep bij actieve ontwikkelingsdetectie tot de fout DEM_E_UNINIT [SWS_Dem_00364]. Na Dem_PreInit, maar nog vóór Dem_Init, is de aanroep daarentegen toegestaan [SWS_Dem_00124], [SWS_Dem_00180]; kwalificerende gebeurtenissen worden in een wachtrij gebufferd waarvan de grootte via DemBswErrorBufferSize wordt bepaald, terwijl FDC-drempels niet worden gebufferd [SWS_Dem_00167], [SWS_Dem_00207]. Ook na Dem_Shutdown genereert de functie geen DEM_E_UNINIT-fout [SWS_Dem_00368].
Retourwaarde is E_OK bij succesvolle overname respectievelijk E_NOT_OK bij fouten of wanneer het event op niet beschikbaar is ingesteld [SWS_Dem_00183], [SWS_Dem_01108]. BSW-modules mogen de retourwaarde negeren [SWS_Dem_00183]. Meldingen worden geaccepteerd zodra toegewezen enable-conditions zijn vervuld [SWS_Dem_00450]; als de DTC-setting is gedeactiveerd, negeert de DEM het rapport voor de UDS-status [SWS_Dem_00626].
In de aanroepcontext kunnen synchrone acties worden geactiveerd:
- Notificatie van de FiM bij statuswijziging via
FiM_DemTriggerOnEventStatus, mitsDemTriggerFiMReportsactief is [SWS_Dem_00029]. - Vastlegging van synchrone freeze-frame-gegevens en extended-data-records bij geconfigureerde optie
DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING[SWS_Dem_00805], [SWS_Dem_01082]. - Cascaderende aanroepen voor geconfigureerde slave-events bij actieve
DemMultiEventTriggering-configuratie [SWS_Dem_01250].
Deze instructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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)
De functie Dem_SetEventStatusWithMonitorData dient voor het melden van een monitor-testresultaat (EventStatus) voor een bepaalde diagnosegebeurtenis (EventId) samen met monitorspecifieke aanvullende gegevens (monitorData0 en monitorData1) aan de DEM [SWS_Dem_91037]. Deze bezit dezelfde functionaliteit als Dem_SetEventStatus, maar geeft aanvullende parameters mee voor opslag in gebeurtenisgerelateerde gegevens [SWS_Dem_01333].
In samenhang met uitleesoperaties geldt: als een Read-Data-operatie ervoor geconfigureerd is om monitorData0 beschikbaar te stellen, voegt de DEM de meegegeven monitorData0 uit Dem_SetEventStatusWithMonitorData toe aan de parameter monitorData0 van deze Read-Data-operatie [SWS_Dem_01330].
Voor het gebruik en gelijktijdigheid gelden de volgende voorwaarden:
- Beschikbaarheid: De API is via
Dem.halleen beschikbaar alsDemEventReportingTypeopSTANDARD_REPORTING_WITH_MONITOR_DATAis geconfigureerd [SWS_Dem_91037]. - Uitvoering en re-entrantie: De uitvoering is synchroon/asynchroon. De functie is re-entrant voor verschillende
EventId, maar niet re-entrant voor dezelfdeEventId[SWS_Dem_91037]. - Retourwaarden: Deze levert
E_OKop bij het succesvol instellen van de gebeurtenisstatus enE_NOT_OKals het instellen of verwerken is mislukt of niet kon worden geaccepteerd [SWS_Dem_91037].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie.
Implementer's Guide volgt (complexiteit I1)
functie 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)
functie 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.
Gebruik en aanroepcontext
De asynchrone functie Dem_SetWIRStatus dient voor foutveilige softwarecomponenten (failsafe SW-C's) om doelgericht de Warning-Indicator-Requested-statusbit (WIR-bit) van een diagnose-event aan te vragen [SWS_Dem_00839], [SWS_Dem_01303]. Omdat de aanroep uitsluitend via de RTE plaatsvindt, bestaat er geen declaratie in het headerbestand Dem.h [SWS_Dem_00839].
Functioneel gedrag en samenspel
Het zetten en resetten van de bit hangt af van de overdrachtsparameter WIRStatus en de status van geconfigureerde indicatoren:
- Wordt
WIRStatus = TRUEmeegegeven, dan zet de DEM de WIR-bit van het desbetreffende event op 1 [SWS_Dem_00833]. - Bij
WIRStatus = FALSEwordt de WIR-bit alleen dan op 0 gereset als er geen gereferentieerde DEM-indicatoren zijn gezet [SWS_Dem_00834]. - Een via
Dem_SetWIRStatusgezette WIR-bit voorkomt bovendien dat de DEM de UDS-statusbit 7 (WarningIndicatorRequested) bij het bereiken van ontdender- of herstelcycli automatisch op 0 reset [SWS_Dem_00503], [SWS_Dem_01233].
Gelijktijdigheid en foutafhandeling
De API is reentrant voor verschillende events, maar niet reentrant voor dezelfde EventId [SWS_Dem_00839]. Bij succesvolle acceptatie levert de functie E_OK op [SWS_Dem_00839]. De retourwaarde E_NOT_OK geeft aan dat de aanvraag is afgewezen en moet worden herhaald; dit is met name het geval wanneer de DTC-instelling is geblokkeerd (disabled ControlDTCSetting) of het event als niet beschikbaar is gemarkeerd [SWS_Dem_00836], [SWS_Dem_01108], [SWS_Dem_00839].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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
functie 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.
functie 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.
functie 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.
functie 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).
functie Dem_GetFunctionalUnitOfDTC [SWS_Dem_00594] 📄 PDF
Std_ReturnType Dem_GetFunctionalUnitOfDTC (uint8 ClientId, uint8* DTCFunctionalUnit);
Gets the functional unit of the requested DTC.
functie 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
functie Dem_GetNumberOfFilteredDTC [SWS_Dem_00214] 📄 PDF
Std_ReturnType Dem_GetNumberOfFilteredDTC (uint8 ClientId, uint16* NumberOfFilteredDTC);
Gets the number of a filtered DTC.
functie 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.
functie 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.
functie 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.
functie Dem_SetFreezeFrameRecordFilter [SWS_Dem_00209] 📄 PDF
Std_ReturnType Dem_SetFreezeFrameRecordFilter (uint8 ClientId, Dem_DTCFormatType DTCFormat);
Sets a freeze frame record filter.
functie 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.
functie 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.
functie 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).
Gebruik en verloop
De asynchrone functie Dem_DisableDTCRecordUpdate ([SWS_Dem_00233]) deactiveert het bijwerken van het gebeurtenissengeheugen voor een eerder via Dem_SelectDTC vastgelegde DTC ([SWS_Dem_01253]). Het doel van deze aanroep is om de gebeurtenisgerelateerde gegevens van de geselecteerde fout in de betreffende DTCOrigin te beschermen tegen overschrijven of wissen, om daaropvolgende consistente leestoegangen tot freeze-frame-gegevens en Extended Data Records te waarborgen ([SWS_Dem_00270]). Via de parameter ClientId wordt de aanroepende module-instantie geïdentificeerd ([SWS_Dem_00233]).
Retourwaarden en foutafhandeling
De functie signaleert de verwerkingsstatus via specifieke retourwaarden ([SWS_Dem_00233]):
E_OK: Het bijwerken van het gebeurtenissengeheugen is met succes gedeactiveerd.DEM_PENDING: De deactivering wordt asynchroon uitgevoerd; de aanroeper moet de functie op een later tijdstip opnieuw aanroepen.DEM_BUSY: Voor deze client is al een andere vanDem_SelectDTCafhankelijke bewerking in behandeling.E_NOT_OK: Er is vooraf geen DTC geselecteerd.DEM_WRONG_DTC: De geselecteerde DTC bestaat niet in het gekozen formaat of er is ontoelaatbaarderwijs een DTC-groep gekozen.DEM_WRONG_DTCORIGIN: De opgegeven oorsprong (DTCOrigin) bestaat niet.
Gelijktijdigheid en beperkingen
Dem_DisableDTCRecordUpdate is re-entrant voor aanroepen met verschillende ClientId, maar niet re-entrant voor dezelfde ClientId ([SWS_Dem_00233]). Er kan steeds slechts het bijwerken voor precies één DTC tegelijkertijd worden geblokkeerd ([SWS_Dem_00233]). Na het uitlezen van de diagnosegegevens moet het bijwerken van het record via Dem_EnableDTCRecordUpdate weer worden vrijgegeven ([SWS_Dem_00234], [SWS_Dem_00270]).
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De asynchrone functie Dem_EnableDTCRecordUpdate ([SWS_Dem_00234]) dient voor de vrijgave van de actualisering van het gebeurtenisgeheugen voor een eerder geblokkeerde DTC. Conform [SWS_Dem_00271] geeft de functie de actueel door Dem_DisableDTCRecordUpdate beveiligde DTC weer vrij, zodat de gegevens ervan opnieuw in de DEM kunnen worden geactualiseerd.
Als overdrachtsparameter verwacht de functie de ClientId, die de instantie van de aanroepende module eenduidig identificeert ([SWS_Dem_00234]). Aangezien de aanroep van Dem_EnableDTCRecordUpdate de afsluitende actie vormt in de reeks van uitschakelen en inschakelen van een DTC, is de aanroeper niet geïnteresseerd in de feitelijke retourwaarde; daarom moet volgens [SWS_Dem_00234] zelfs bij een asynchrone vrijgave E_OK worden geretourneerd.
Met betrekking tot foutafhandeling en retourwaarden zijn de volgende statussen gedefinieerd ([SWS_Dem_00234]):
E_OK: De actualisering van de DTC-record is succesvol vrijgegeven.E_NOT_OK: Er is geen DTC geselecteerd.
Wat betreft gelijktijdigheid en beperkingen is Dem_EnableDTCRecordUpdate re-entrant voor aanroepen met verschillende client-ID's, maar niet re-entrant voor dezelfde ClientId ([SWS_Dem_00234]).
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
functie 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.
functie 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.
functie 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.
functie 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.
De asynchrone functie Dem_SelectExtendedDataRecord initialiseert het filter voor het uitlezen van uitgebreide diagnosedata van een eerder met Dem_SelectDTC vastgelegde DTC [SWS_Dem_91017] [SWS_Dem_01253]. Deze brengt het interne selectieproces in het toegewezen eventgeheugen van de client op gang [SWS_Dem_01273] en bepaalt het doel-record voor opvolgende opvragingen via Dem_GetSizeOfExtendedDataRecordSelection en Dem_GetNextExtendedDataRecord [SWS_Dem_01272].
Met betrekking tot parametrering en afloop gelden de volgende bepalingen:
- Parameters: Naast specifieke recordnummers accepteert
ExtendedDataNumberde waarden0xFE(totale omvang van alle OBD-records) en0xFF(totale omvang van alle records) [SWS_Dem_91017]. Om datainconsistenties tijdens het uitlezen te vermijden, kan het record vooraf worden beschermd metDem_DisableDTCRecordUpdate[SWS_Dem_00270]. - Retourwaarden en fouten: Bij een succesvolle selectie wordt
E_OKgeretourneerd [SWS_Dem_91017]. Dit geldt ook wanneer een geldig recordnummer wordt aangevraagd waarvoor geen invoer is opgeslagen; in dit geval levert het latere uitlezen de buffergrootte 0 op [SWS_Dem_00631]. Was viaDem_SelectDTCgeen individuele foutcode maar een DTC-groep geselecteerd, of bestaat de DTC niet, dan mislukt de aanroep metDEM_WRONG_DTC[SWS_Dem_91017] [SWS_Dem_01349]. Bestaat de opslaglocatie niet, dan wordtDEM_WRONG_DTCORIGINgemeld [SWS_Dem_91017]. - Gelijktijdigheid: Is de selectie nog in behandeling, dan signaleert
DEM_PENDINGde noodzaak tot een herhaalde aanroep [SWS_Dem_91017]. De statusDEM_BUSYgeeft aan dat er voor dezeClientIdnog een andere DTC-afhankelijke bewerking actief is [SWS_Dem_91017]. De functie is reentrant voor verschillendeClientId-waarden, maar niet reentrant voor dezelfde instantie [SWS_Dem_91017].
Deze gebruiksinstructie is automatisch gegenereerd aan de hand van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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.
Gebruik en semantiek
De asynchrone functie Dem_SelectFreezeFrameData stelt het filter in voor het latere uitlezen van freeze-frame-gegevens via Dem_GetSizeOfFreezeFrameSelection en Dem_GetNextFreezeFrameData [SWS_Dem_91015], [SWS_Dem_01268]. Via de parameter ClientId wordt de aanroepende module-instantie geïdentificeerd, terwijl RecordNumber het snapshot-recordnummer volgens ISO 14229-1 specificeert; hierbij staat 0xFF voor alle snapshot-records van de DTC en 0x00 voor de DTC-specifieke WWH-OBD-snapshot [SWS_Dem_91015]. De aanroep brengt de interne selectie in het toegewezen eventgeheugen op gang [SWS_Dem_01269].
Retourwaarden en foutafhandeling
Wanneer het selectieproces succesvol is geïnitieerd, geeft de functie E_OK terug [SWS_Dem_91015]. Is de selectie nog in behandeling, dan signaleert DEM_PENDING dat de aanroeper de functie op een later tijdstip opnieuw moet aanroepen [SWS_Dem_91015]. Is voor de client al een andere afhankelijke bewerking actief, dan levert de API DEM_BUSY op [SWS_Dem_91015], [SWS_Dem_01253]. Bestaat de doel-DTC niet in het gewenste formaat, of is via Dem_SelectDTC een DTC-groep in plaats van een individuele DTC geselecteerd, dan wordt DEM_WRONG_DTC geretourneerd [SWS_Dem_91015], [SWS_Dem_01348]. Bij een ongeldige opslaglocatie resulteert DEM_WRONG_DTCORIGIN [SWS_Dem_91015]. Worden afhankelijke leesfuncties zonder voorafgaande selectie aangeroepen, dan meldt de DEM een DET-fout [SWS_Dem_01270], [SWS_Dem_01271].
Volgorde en concurrency
De functie is reentrant voor verschillende aanroepers (ClientId), maar niet reentrant voor dezelfde client [SWS_Dem_91015]. Een dwingende voorwaarde is de voorafgaande aanroep van Dem_SelectDTC ter vastlegging van de doel-DTC en de opslaglocatie [SWS_Dem_01253]. Om een consistent uitlezen te waarborgen, kan Dem_DisableDTCRecordUpdate worden aangeroepen om de eventgerelateerde gegevens te beschermen tegen wijzigingen of verwijderingen [SWS_Dem_00270].
Deze gebruiksinstructie is automatisch door een AI gegenereerd op basis van de specificatie.
Implementer's Guide volgt (complexiteit I2)
functie 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
functie 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.
Gebruik en semantiek
De functie Dem_DisableDTCSetting deactiveert de DTC-setting voor alle diagnosegebeurtenissen die zijn toegewezen aan de DemEventMemorySet van de aanroepende client [SWS_Dem_00242], [SWS_Dem_01290]. De aanroep vindt asynchroon plaats en vereist de overdracht van een unieke ClientId [SWS_Dem_00242]. Naast de succesvolle voltooiing via E_OK signaleert de retourwaarde DEM_PENDING dat de bewerking nog in behandeling is; in dit geval moet de aanroeper de functie op een later tijdstip opnieuw aanroepen [SWS_Dem_00242].
Functionele gevolgen
Als Dem_DisableDTCSetting wordt aangeroepen, verhindert de DEM de opslag van de bijbehorende gebeurtenissen evenals het bijwerken van de UDS-statusbytes [SWS_Dem_00079]. Als bovendien de configuratieparameter DemDebounceBehavior op DEM_DEBOUNCE_RESET is ingesteld, leidt de aanroep tevens tot het resetten van de bijbehorende foutdetectietellers (Fault Detection Counters) [SWS_Dem_00677].
Gelijktijdigheid en beperkingen
De functie is re-entrant voor aanroepen met verschillende client-ID's, maar niet re-entrant voor dezelfde ClientId [SWS_Dem_00242]. De deactivering heeft uitsluitend effect op gebeurtenissen en UDS-statusbytes van het door de ClientId gerefereerde DemEventMemorySet; DTC's buiten dit geheugengebied worden niet beïnvloed [SWS_Dem_01290].
Deze gebruiksinstructie is gebaseerd op de eisen van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De asynchrone functie Dem_EnableDTCSetting activeert resp. reactiveert de DTC-setting voor alle DTC's die zijn toegewezen aan de DemEventMemorySet van de geadresseerde client [SWS_Dem_00243]. Bij de aanroep wordt de unieke identificator ClientId van de aanroepende module-instantie doorgegeven [SWS_Dem_00243].
Als retourwaarden zijn gedefinieerd [SWS_Dem_00243]:
E_OK: de operatie is succesvol voltooid.DEM_PENDING: De bewerking wordt asynchroon uitgevoerd; de aanroeper moet de functie op een later tijdstip opnieuw aanroepen.
Wat betreft concurrency is Dem_EnableDTCSetting re-entrant voor verschillende ClientId-waarden, maar mag voor dezelfde ClientId niet gelijktijdig worden aangeroepen [SWS_Dem_00243].
In samenspel met de gebeurtenisverwerking zorgt de functie ervoor dat de DEM de opslag van de bijbehorende gebeurtenissen en van de UDS-statusbyte vrijgeeft [SWS_Dem_00080]. Wordt de DTC-setting voor de gebeurtenissen weer geactiveerd, dan triggert Dem_EnableDTCSetting de callback-functie InitMonitorForEvent van de getroffen gebeurtenissen met de parameter InitMonitorReason op DEM_INIT_MONITOR_REENABLED [SWS_Dem_00682].
Deze tekst is gegenereerd door een AI en dient ter oriëntatie. Uitsluitend de specificaties van de respectieve AUTOSAR-releases zijn bindend.
Implementer's Guide volgt (complexiteit I1)
functie 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
Gebruik
De synchrone functie Dem_DcmGetInfoTypeValue08 ([SWS_Dem_00316]) wordt door de DCM aangeroepen om IUMPR-gegevens (In-Use Monitor Performance Ratio) voor InfoType $08 in het kader van de OBD-dienst $09 op te vragen ([SWS_Dem_00298]). Aangezien de verwerking synchroon plaatsvindt, geeft de DCM voor de parameter OpStatus uitsluitend de waarde DCM_INITIAL door ([SWS_Dem_00316]). De gebruikersgegevens en het aantal gegevenselementen conform ISO-15031-5 worden in de door de DCM bereitgestelde buffer Iumprdata08 geschreven; de maximaal beschrijfbare buffergrootte wordt via de inout-parameter Iumprdata08BufferSize gespecificeerd ([SWS_Dem_00316]).
Foutafhandeling
De functie levert als retourwaarde altijd E_OK ([SWS_Dem_00316]). Specifieke foutcodes of ontwikkelingsfoutmeldingen (DET) zijn voor deze aanroep niet gespecificeerd.
Gelijktijdigheid en configuratie
De interface is niet re-entrant (Non Reentrant) en via Dem_Dcm.h gedeclareerd ([SWS_Dem_00316]). Deze bestaat uitsluitend in OBD-relevante regeleenheden met actieve OBD-ondersteuning (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) ([SWS_Dem_00316]) en wordt beschikbaar gesteld wanneer DemOBDEngineType op DEM_IGNITION_SPARK voor ottomotoren is geconfigureerd ([SWS_Dem_00357]).
Samenspel
Onderdrukte foutcodes (suppressed DTCs) mogen bij het opvragen niet zichtbaar zijn en moeten worden behandeld alsof het filter niet van toepassing is ([SWS_Dem_01101]). Samen met Dem_DcmGetInfoTypeValue0B dient de functie ter ondersteuning van gegevensverzoeken in service $09 ([SWS_Dem_00298]).
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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
Gebruik en parameterinterface
De synchrone functie Dem_DcmGetInfoTypeValue0B (service-ID 0x6c, beschikbaar via Dem_Dcm.h) dient voor de DCM voor het opvragen van IUMPR-gegevens (In-Use Performance Ratio) conform InfoType $0B in het kader van de OBD-service $09 [SWS_Dem_00317] [SWS_Dem_00298]. De functie-interface is afgeleid van het DCM-prototype <Module>_GetInfotypeValueData(), waardoor deze Dcm_OpStatusType en Std_ReturnType gebruikt [SWS_Dem_00317]:
OpStatus(in): Aangezien de functie synchroon gedrag vertoont, treedt bij de aanroep uitsluitend de toestandDCM_INITIALop [SWS_Dem_00317].Iumprdata0BBufferSize(inout): Definieert het maximale aantal databytes dat in de buffer mag worden geschreven [SWS_Dem_00317].Iumprdata0B(out): Een door de DCM ter beschikking gestelde buffer die het aantal gegevenselementen conform ISO-15031-5 en de inhoud van InfoType $0B opneemt [SWS_Dem_00317].
Als retourwaarde wordt altijd E_OK geleverd [SWS_Dem_00317].
Foutafhandeling en gelijktijdigheid
Specifieke foutcodes of foutreacties (zoals DET-meldingen) zijn voor deze functie in de specificatie niet gedefinieerd; de aanroep meldt formeel altijd E_OK terug [SWS_Dem_00317]. De API is geclassificeerd als niet re-entrant (Non Reentrant) [SWS_Dem_00317]. De aanroeper (DCM) mag deze dienst daarom vermoedelijk niet gelijktijdig voor meerdere diagnoseverzoeken parallel uitvoeren. Vraag Q-636518c23ec3801a (open)
Configuratie-afhankelijkheid en samenspel
De API bestaat uitsluitend in OBD-relevante regeleenheden waarvoor de configuratieparameter DemOBDSupport ongelijk aan DEM_OBD_NO_OBD_SUPPORT is geconfigureerd [SWS_Dem_00317]. Bovendien wordt deze beschikbaar gesteld wanneer DemOBDEngineType op DEM_IGNITION_COMPRESSION is ingesteld [SWS_Dem_00358]. In samenspel met de DTC-onderdrukking geldt dat onderdrukte DTC's voor deze opvraagfunctie onzichtbaar zijn en moeten worden behandeld alsof het filter niet van toepassing is [SWS_Dem_01101].
Deze tekst is opgesteld door een AI; de richtlijnen vereisen controle door de gebruiker aan de hand van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie 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)
De synchrone functie Dem_DcmReadDataOfPID01 dient ertoe de door de DEM berekende inhoud van de OBD-parameter PID $01 over te dragen aan de DCM [SWS_Dem_00318]. De interface is gedeclareerd in het headerbestand Dem_Dcm.h en is uitsluitend beschikbaar in OBD-relevante stuurapparaten waarbij DemOBDSupport niet op DEM_OBD_NO_OBD_SUPPORT is ingesteld [SWS_Dem_00318].
Via de uitgangsparameter PID01value geeft de DCM een pointer door naar de doelbuffer waarin de DEM de gegevens schrijft [SWS_Dem_00318]. De DCM is er verantwoordelijk voor deze buffer met voldoende grootte beschikbaar te stellen; de dimensionering vindt plaats tijdens de configuratie aan de hand van de grootste voorkomende PID voor het inrichten van de PIDBuffer [SWS_Dem_00318].
De functie is niet-reentrant (Non Reentrant) uitgevoerd [SWS_Dem_00318]. Als retourwaarde wordt altijd E_OK geleverd, aangezien een fouttoestand met E_NOT_OK volgens de specificatie nooit optreedt [SWS_Dem_00318].
In samenspel met foutopvragingen geldt dat onderdrukte foutcodes (suppressed DTC) niet zichtbaar mogen zijn voor Dem_DcmReadDataOfPID01 [SWS_Dem_01101]. De DEM moet onderdrukte DTC's bij de evaluatie zodanig behandelen alsof het filter niet van toepassing is [SWS_Dem_01101].
Opmerking: Deze documentatie is automatisch gegenereerd door een AI-systeem op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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)
Gebruik en aanroepcontext
De functie Dem_DcmReadDataOfPID1C stelt een synchrone service van de Diagnostic Event Manager ter beschikking, waarmee de Diagnostic Communication Manager (DCM) de berekende inhoud van OBD PID $1C opvraagt [SWS_Dem_00325].
-
Parameters: Via de uitvoerparameter
PID1Cvalue(pointer naaruint8) schrijft de DEM de gegevens in een buffer van de DCM. De vereiste buffergrootte wordt bij de configuratie van de DCM gedimensioneerd aan de hand van de grootste PID, om een passendePIDBufferter beschikking te stellen [SWS_Dem_00325]. -
Retourwaarde: De service levert altijd de statuswaarde
E_OKterug. Een foutgeval metE_NOT_OKtreedt conform de specificatie nooit op [SWS_Dem_00325].
Functionele inhoud en samenspel
Volgens [SWS_Dem_00748] meldt de interface de OBD-vereisten terug volgens welke het voertuig of de motor gecertificeerd is (bijvoorbeeld OBD, OBDII of JOBD). De in PID1Cvalue uit te voeren waarde wordt vastgelegd via de configuratieparameter DemOBDCompliancy [SWS_Dem_00325] [SWS_Dem_00748].
Gelijktijdigheid en beschikbaarheid
De functie is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Dem_00325]. Ze is gedeclareerd in het headerbestand Dem_Dcm.h en is uitsluitend beschikbaar in ECU's met actieve OBD-ondersteuning waarbij DemGeneral.DemOBDSupport niet op DEM_OBD_NO_OBD_SUPPORT is ingesteld [SWS_Dem_00325].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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)
De synchrone functie Dem_DcmReadDataOfPID21 (service-ID 0x64) dient ervoor dat de Diagnostic Communication Manager (DCM) de door de DEM berekende actuele waarde van de OBD-parameter PID $21 kan opvragen [SWS_Dem_00319], [SWS_Dem_01098]. De interface wordt gedeclareerd via de header Dem_Dcm.h en is uitsluitend beschikbaar in regeleenheden met OBD-relevantie, mits de configuratieparameter DemOBDSupport niet op DEM_OBD_NO_OBD_SUPPORT is ingesteld [SWS_Dem_00319].
Voor het gebruik en het operationele samenspel gelden de volgende bepalingen:
- Bufferbeschikbaarstelling: Als uitvoerparameter wordt de pointer
PID21valuedoorgegeven [SWS_Dem_00319]. De aanroeper (DCM) moet deze buffer ter beschikking stellen en dimensioneert deze tijdens de configuratie passend bij de grootste geconfigureerde PID [SWS_Dem_00319]. Bij aanroep schrijft de DEM de actuele waarde van PID $21 in deze buffer [SWS_Dem_01098]. - Retourwaarde: De functie levert altijd
E_OKterug, aangezien een foutwaarde zoalsE_NOT_OKvolgens de specificatie nooit optreedt [SWS_Dem_00319]. - Initiële toestand / foutafhandeling: Wordt
Dem_DcmReadDataOfPID21aangeroepen voordat waarden viaDem_SetDataOfPID21zijn ingesteld, dan geeft de DEM de vervangende waarde0xFFFFals inhoud van PID $21 terug [SWS_Dem_01099]. - Concurrency: De functie is gespecificeerd als niet re-entrant (Non Reentrant) [SWS_Dem_00319]. Gelijktijdige aanroepen door meerdere contexten zijn daarom niet toegestaan.
Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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)
De synchrone functie Dem_DcmReadDataOfPID30 dient ertoe de door de DEM berekende gegevensinhoud van de parameter PID $30 aan de DCM over te dragen [SWS_Dem_00320]. Deze wordt gedeclareerd via het headerbestand Dem_Dcm.h en is uitsluitend beschikbaar in regeleenheden met OBD-relevantie wanneer de configuratieparameter DemOBDSupport ongelijk is aan DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00320].
Voor het gebruik van de interface gelden de volgende bepalingen:
- Overdrachtsparameter: Via de uitvoerparameter
PID30valuestelt de aanroeper een buffer ter beschikking waarin de DEM de berekende gegevens van PID $30 schrijft [SWS_Dem_00320]. De DCM is er verantwoordelijk voor om deze buffer in een passende grootte ter beschikking te stellen; de dimensionering bepaalt de DCM tijdens de configuratie aan de hand van de grootste PID [SWS_Dem_00320]. - Retourwaarde en foutafhandeling: De interface geeft als
Std_ReturnTypealtijdE_OKterug [SWS_Dem_00320]. De foutwaardeE_NOT_OKtreedt volgens de specificatie nooit op en er zijn geen specifieke foutcodes of afzonderlijke foutafhandelingsroutines voorzien [SWS_Dem_00320]. - Concurrency: De functie is gedefinieerd als niet re-entrant (
Non Reentrant) [SWS_Dem_00320]. Aangezien de specificatie niet voorziet in interne synchronisatiemechanismen, is vermoedelijk de aanroeper er verantwoordelijk voor om concurrerende aanroepen uit te sluiten [SWS_Dem_00320]. Vraag Q-976bc8dc189021a1 (open)
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
functie 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)
De synchrone functie Dem_DcmReadDataOfPID31 dient ertoe de door de DEM berekende waarde van de OBD-parameter PID $31 aan de DCM over te dragen [SWS_Dem_00321]. De interface wordt beschikbaar gesteld via het headerbestand Dem_Dcm.h en heeft de service-ID 0x66 [SWS_Dem_00321].
Gebruik en parameters
De aanroep vindt synchroon plaats en is gedefinieerd als niet re-entrant [SWS_Dem_00321]:
- PID31value (uitgangsparameter): Pointer naar een buffer (
uint8*) die de berekende gegevens voor PID $31 opneemt [SWS_Dem_00321]. Het ter beschikking stellen van de buffer in een passende grootte is de verantwoordelijkheid van de aanroepende DCM; deze bepaalt de vereiste buffergrootte tijdens de configuratie aan de hand van de grootste PID voor het dimensioneren van eenPIDBuffer[SWS_Dem_00321]. - Retourwaarde: De dienst levert als
Std_ReturnTypealtijdE_OKterug; de foutwaardeE_NOT_OKtreedt volgens de specificatie nooit op [SWS_Dem_00321].
Beperkingen en configuratie
De API is uitsluitend bedoeld voor OBD-relevante regeleenheden [SWS_Dem_00321]. Deze is alleen beschikbaar wanneer de configuratieparameter DemGeneral.DemOBDSupport op de waarde DEM_OBD_MASTER_ECU is ingesteld [SWS_Dem_00321]. Aangezien de functie niet re-entrant is, mogen parallelle aanroepen door de DCM niet plaatsvinden [SWS_Dem_00321].
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificatiegegevens uit release R20-11.
functie 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)
De synchrone functie Dem_DcmReadDataOfPID41 dient ertoe de door de DEM berekende inhoud van PID $41 aan de DCM over te dragen [SWS_Dem_00322]. Deze wordt gedeclareerd via de header Dem_Dcm.h en heeft de service-ID 0x67 [SWS_Dem_00322].
Gebruik en parameters
De aanroep vindt synchroon plaats en is gespecificeerd als niet re-entrant (Non Reentrant) [SWS_Dem_00322]. Als uitvoerparameter verwacht de interface de pointer PID41value (uint8*):
PID41valueneemt de berekende gegevens van PID $41 op [SWS_Dem_00322].- De buffer moet door de DCM in een passende grootte ter beschikking worden gesteld; hiertoe bepaalt de DCM reeds tijdens de configuratie aan de hand van de grootste voorkomende PID de benodigde grootte voor de configuratie van de
PIDBuffer[SWS_Dem_00322].
Retourwaarden en foutafhandeling
Als retourwaarde levert de functie altijd E_OK terug, aangezien een foutwaarde E_NOT_OK volgens de specificatie nooit optreedt [SWS_Dem_00322]. Specifieke foutcodes of foutreacties zijn voor deze interface niet voorzien [SWS_Dem_00322].
Configuratieafhankelijkheid en beschikbaarheid
De API is uitsluitend nodig in OBD-relevante regeleenheden [SWS_Dem_00322]. Deze is alleen beschikbaar wanneer de configuratieparameter DemOBDSupport in DemGeneral ongelijk aan DEM_OBD_NO_OBD_SUPPORT is geconfigureerd [SWS_Dem_00322].
Deze tekst is opgesteld door een AI en steunt uitsluitend op de specificatie R20-11.
functie 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)
Gebruik en aanroepcontext
De synchrone functie Dem_DcmReadDataOfPID4D dient ertoe de door de DEM berekende waarde van de OBD-parameter PID $4D aan de DCM over te dragen [SWS_Dem_00323]. De service wordt beschikbaar gesteld via de header Dem_Dcm.h met de service-ID 0x68 [SWS_Dem_00323].
Als enige overdrachtsparameter dient de uitgangspointer PID4Dvalue, die verwijst naar een door de DCM ter beschikking gestelde doelbuffer [SWS_Dem_00323]. De DCM stelt deze buffer met een passende grootte ter beschikking door reeds tijdens de configuratie aan de hand van de grootste voorkomende PID de vereiste grootte voor de PIDBuffer te bepalen [SWS_Dem_00323].
Retourwaarden en foutafhandeling
De functie heeft het retourtype Std_ReturnType en geeft zonder uitzondering E_OK terug [SWS_Dem_00323]. Een retourwaarde van E_NOT_OK is conform de specificatie uitgesloten en treedt nooit op [SWS_Dem_00323]. Bijzondere foutafhandelingen of specifieke foutcodes bestaan voor deze aanroep niet.
Gelijktijdigheid en configuratieafhankelijkheid
De interface is gedeclareerd als niet re-entrant (Non Reentrant) en mag daarom niet gelijktijdig worden uitgevoerd [SWS_Dem_00323].
Bovendien is de functie uitsluitend vereist in OBD-relevante regeleenheden [SWS_Dem_00323]. Deze is alleen beschikbaar wanneer in de configuratie de parameter DemOBDSupport binnen DemGeneral op de waarde DEM_OBD_MASTER_ECU is ingesteld [SWS_Dem_00323].
Deze gebruiksinstructie is gebaseerd op de specificatie van de Diagnostic Event Manager in AUTOSAR CP R20-11.
functie 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)
De synchrone functie Dem_DcmReadDataOfPID4E dient ertoe de door de DEM berekende inhoud van de OBD-parameter-ID PID $4E aan de DCM over te dragen [SWS_Dem_00324]. De functie heeft de service-ID 0x69 en wordt gedeclareerd via het headerbestand Dem_Dcm.h [SWS_Dem_00324].
Aanroep en bufferbeheer
De aanroep vindt synchroon plaats en is gedefinieerd als niet re-entrant (Non Reentrant) [SWS_Dem_00324]. Als uitvoerparameter accepteert de functie de pointer PID4Evalue (type uint8*), waarmee de DEM de berekende gegevens opslaat [SWS_Dem_00324]. De aanroepende DCM moet daarvoor een buffer met een geschikte grootte ter beschikking stellen [SWS_Dem_00324]. De vereiste buffergrootte bepaalt de DCM tijdens de configuratie aan de hand van de grootste voorkomende PID, om de gemeenschappelijke PIDBuffer dienovereenkomstig te dimensioneren [SWS_Dem_00324].
Retourwaarden en foutafhandeling
De interface geeft altijd E_OK van het type Std_ReturnType terug, aangezien de retourwaarde E_NOT_OK volgens de specificatie nooit optreedt [SWS_Dem_00324]. Er zijn geen specifieke foutcodes voor een foutgeval en geen DET- of DEM-foutmeldingen in de specificatieomvang opgenomen [SWS_Dem_00324].
Beperkingen en beschikbaarheid
De API is uitsluitend nodig in OBD-relevante regeleenheden [SWS_Dem_00324]. De beschikbaarheid ervan is gebonden aan de configuratievoorwaarde DemGeneral.DemOBDSupport == DEM_OBD_MASTER_ECU; in andere configuraties is de functie niet beschikbaar [SWS_Dem_00324].
Deze tekst is opgesteld door een AI; deze vervangt niet de bestudering van de AUTOSAR-specificatie.
functie 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)
De synchrone functie Dem_DcmReadDataOfPID91 (service-ID 0x6a) dient ertoe om de door de DEM berekende gegevens van de OBD-parameter PID $91 over te dragen aan de DCM [SWS_Dem_01187]. De interface wordt gedeclareerd via de header Dem_Dcm.h en is uitsluitend beschikbaar in OBD-relevante ECU's waarbij DemOBDSupport niet is geconfigureerd op DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_01187].
Als uitvoerparameter vereist de functie de pointer PID91value, die verwijst naar een door de DCM beschikbaar gestelde buffer [SWS_Dem_01187]. De DCM is er verantwoordelijk voor om deze buffer in een passende grootte beschikbaar te stellen; de benodigde grootte wordt reeds tijdens de configuratie bepaald aan de hand van de grootste PID om de buffer PIDBuffer aan te maken [SWS_Dem_01187].
De functie is gespecificeerd als niet-re-entrant (Non Reentrant) en moet synchroon worden afgehandeld [SWS_Dem_01187]. Een parallelle aanroep vanuit verschillende contexten is derhalve ontoelaatbaar. Een fouteretourwaarde bestaat niet: De functie levert als Std_ReturnType steeds E_OK op, aangezien de foutwaarde E_NOT_OK volgens de specificatie nooit optreedt [SWS_Dem_01187].
Deze gebruiksinstructie is automatisch gegenereerd en is uitsluitend gebaseerd op de specificatiegegevens van AUTOSAR Classic R20-11.
functie 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)
De synchrone functie Dem_DcmReadDataOfOBDFreezeFrame leest gegevens van een gegevenselement bij een PID uit voor het belangrijkste freeze-frame dat is geselecteerd voor de uitvoer van OBD-service $02 [SWS_Dem_00327].
Aanroepcontext en parameters
De aanroep gebeurt door de DCM via de header Dem_Dcm.h [SWS_Dem_00327]. Aan de functie worden de volgende parameters doorgegeven:
PID: Identificatie van de PID conform ISO 15031-5 [SWS_Dem_00327].DataElementIndexOfPID: Nulgebaseerde, doorlopende index van het gegevenselement binnen de PID. De volgorde is direct afgeleid van de positie van de gegevenselementen in de PID-layout van de DCM-configuratie [SWS_Dem_00327], [SWS_Dem_00597].DestBuffer: Pointer naar de buffer waarin het gegevenselement in hexadecimaal ruw formaat zonder headerinformatie wordt geschreven [SWS_Dem_00327].BufSize: Dient als invoer- en uitvoerparameter; bevat bij de aanroep de maximale buffercapaciteit en geeft het aantal daadwerkelijk geschreven databytes terug [SWS_Dem_00327].
Beperkingen en foutafhandeling
De functie is niet-re-entrant (Non Reentrant) en is uitsluitend beschikbaar in ECU's met geactiveerde OBD-ondersteuning (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00327]. Bij succesvolle gegevensbeschikbaarstelling wordt E_OK teruggegeven, anders E_NOT_OK [SWS_Dem_00327]. Een onderdrukte DTC is niet zichtbaar voor deze opvraagfunctie [SWS_Dem_01101]; vermoedelijk levert de functie in een dergelijk geval E_NOT_OK terug. Vraag Q-09c77cdccc138247 (open)
Deze tekst is opgesteld door een AI; maatgevend is de gereferentieerde specificatie.
Implementer's Guide volgt (complexiteit I1)
functie 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)
De synchrone, niet-re-entrante functie Dem_DcmGetDTCOfOBDFreezeFrame leest de DTC bij een opgegeven freeze-frame-recordnummer uit [SWS_Dem_00624]. Deze dient primair voor de DCM voor uitvoer in het kader van OBD-service $02 (PID $02), om de DTC van het meest relevante geselecteerde freeze-frame te bepalen [SWS_Dem_00623].
Aanroep en parameters
FrameNumber(IN): Eenduidige identificatie van het freeze-frame-record conform ISO 15031-5. De waarde0x00duidt het volledige OBD-freeze-frame aan, overige waarden zijn gereserveerd [SWS_Dem_00624].DTCFormat(IN): Gewenst uitvoerformaat van de DTC-waarde [SWS_Dem_00624].DTC(OUT): Pointer naar de geheugenlocatie voor de bepaalde foutcode in OBD-formaat [SWS_Dem_00624].
Retourwaarden en foutafhandeling
De functie geeft E_OK terug wanneer de DTC succesvol kon worden bepaald. Als er geen passende DTC beschikbaar is, levert de aanroep E_NOT_OK op; in dat geval bevat de uitvoerparameter DTC geen geldige gegevens [SWS_Dem_00624].
Voorwaarden en interactie
De interface is beschikbaar via de header Dem_Dcm.h en bestaat uitsluitend in regeleenheden met OBD-ondersteuning (configuratie DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00624]. Onderdrukte DTC's (suppressed DTCs) worden door de functie behandeld alsof er geen overeenkomst is, en zijn niet zichtbaar voor deze bevraging [SWS_Dem_01101].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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)
De synchrone en re-entrante functie Dem_DcmGetAvailableOBDMIDs (service-ID 0xa3) wordt aangeroepen door de DCM om in het kader van een OBD-service-$06-verzoek de waarde van een opgevraagde beschikbaarheids-OBDMID uit te lezen [SWS_Dem_00766]. Via de invoerparameter Obdmid (type uint8) geeft de aanroeper een gestandaardiseerde beschikbaarheids-identifier zoals $00, $20 of $40 door. De DEM meldt de ondersteunde test-identificatoren als bitgecodeerde informatie via de 32-bits uitvoerpointer Obdmidvalue terug [SWS_Dem_00766]. Uit deze gegevens leidt de diagnosetester af welke tests ter selectie aan het werkplaatspersoneel worden getoond [SWS_Dem_00766].
De functie wordt gedeclareerd via de header Dem_Dcm.h. Deze is uitsluitend bedoeld voor OBD-relevante regeleenheden en alleen dan in de module beschikbaar wanneer de configuratie-optie DemGeneral.DemOBDSupport ongelijk aan DEM_OBD_NO_OBD_SUPPORT is ingesteld [SWS_Dem_00766].
Bij een foutloze overdracht van de DTR-beschikbaarheid retourneert de interface E_OK [SWS_Dem_00766]. Wordt de functie aangeroepen voordat de DEM volledig is geïnitialiseerd of nadat deze is afgesloten, dan treedt de foutcode DEM_E_UNINIT in werking [SWS_Dem_00173]. Evenzo leiden aanroepen met een ongeldige pointer (DEM_E_PARAM_POINTER) of met foutieve parameterwaarden (DEM_E_PARAM_DATA) tot ontwikkelingsfouten conform [SWS_Dem_00173]. In dergelijke foutgevallen wordt als retourwaarde vermoedelijk E_NOT_OK geretourneerd. Vraag Q-b42d268116fb8df7 (open)
Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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)
De synchrone en re-entrante functie Dem_DcmGetNumTIDsOfOBDMID (service-ID 0xa4) wordt gedeclareerd via het headerbestand Dem_Dcm.h [SWS_Dem_00767]. Ze dient ertoe dat de Diagnostic Communication Manager (DCM) op verzoek het aantal toegewezen test-identificatoren (TID's) bij een opgegeven functionele OBDMID kan opvragen [SWS_Dem_00761].
Bij de aanroep geeft de DCM de identificatie van de betreffende OBDMID door in de ingangsparameter Obdmid en ontvangt het aantal toegewezen TID's terug via de pointer numberOfTIDs [SWS_Dem_00767]. Deze uitvoerwaarde dient voor de DCM als bovengrens voor een tellus van 0 tot numberOfTIDs - 1, waarin vervolgens sequentieel via Dem_DcmGetDTRData de afzonderlijke DTR-resultaatwaarden, testresultaten en grenswaarden worden opgevraagd [SWS_Dem_00761] [SWS_Dem_00768].
De functie geeft de teruggeefwaarde E_OK terug wanneer het aantal TID's succesvol kon worden bepaald, en E_NOT_OK indien het opvragen mislukt [SWS_Dem_00767]. Specifieke ontwikkelingsfouten (DET) of gedetailleerde foutoorzaken voor het foutgeval zijn in de specificatie niet afzonderlijk vermeld.
De aanroep is uitsluitend bedoeld voor OBD-relevante ECU's. De interface is in de DEM alleen beschikbaar wanneer de configuratieparameter DemOBDSupport niet is ingesteld op DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00767].
Deze gebruiksinstructie is gegenereerd door een AI en steunt uitsluitend op de specificatiedocumenten van AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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)
De synchrone en reentrante functie Dem_DcmGetDTRData dient voor de Diagnostic Communication Manager (DCM) om DTR-gegevens (Diagnostic Test Results) inclusief TID-waarde, UaSID en het actuele testresultaat met onder- en bovengrens op te vragen [SWS_Dem_00768]. Deze is uitsluitend beschikbaar in stuurapparaten met OBD-ondersteuning wanneer DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT is geconfigureerd [SWS_Dem_00768].
Gebruik en samenspel
De DCM roept de functie aan om de beschikbare DTR-gegevens voor een specifieke Obdmid en een TIDindex op te halen [SWS_Dem_00762]. De opvraging vindt doorgaans iteratief plaats via de index TIDindex van 0 tot numberOfTIDs - 1, waarbij het totale aantal vooraf via Dem_DcmGetNumTIDsOfOBDMID() wordt bepaald [SWS_Dem_00768], [SWS_Dem_00762]. Via de uitgangsparameters TIDvalue, UaSID, Testvalue, Lowlimvalue en Upplimvalue worden de waarden voor het tester-antwoord beschikbaar gesteld [SWS_Dem_00768].
Foutafhandeling en randvoorwaarden
De functie retourneert E_OK bij succesvolle bepaling van de DTR-resultaten en E_NOT_OK in geval van een fout [SWS_Dem_00768]. Een fout treedt met name op wanneer het gerefereerde diagnose-event niet beschikbaar is:
- Is een event als niet beschikbaar ingesteld, dan wordt het behandeld als een niet-geconfigureerd event en mislukt
Dem_DcmGetDTRData[SWS_Dem_01108]. - Wordt de functie aangeroepen voor een DTR waarvan het via
DemDtrEventRefgerefereerde event metDemEventAvailable == FALSEis geconfigureerd, dan retourneert de DEM dwingendE_NOT_OK[SWS_Dem_01336]. In dat geval zijn alle uitgangsparameters ongedefinieerd [SWS_Dem_01336].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
Implementer's Guide volgt (complexiteit I1)
functie 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.
Gebruik
De synchrone functie Dem_J1939DcmSetDTCFilter (Service-ID 0x90, gedeclareerd in Dem_J1939Dcm.h) stelt de filtermasker-attributen in voor de selectie van J1939-DTC's voor een via ClientId geadresseerd J1939-knooppunt [SWS_Dem_00970], [SWS_Dem_00855]. Als filtercriteria dienen het statusfilter DTCStatusFilter (mogelijke waarden: DEM_J1939DTC_ACTIVE, DEM_J1939DTC_PREVIOUSLY_ACTIVE, DEM_J1939DTC_PENDING, DEM_J1939DTC_PERMANENT of DEM_J1939DTC_CURRENTLY_ACTIVE), de functionele groep DTCKind en het brongeheugen DTCOrigin [SWS_Dem_00970]. Via de uitvoerparameter LampStatus levert de aanroep de actuele gecombineerde lampstatus van de gefilterde DTC's terug [SWS_Dem_00970], [SWS_Dem_00857]. Bovendien wordt een interne teller teruggezet naar het eerste van toepassing zijnde event [SWS_Dem_00855]. Interpretatie: de aanroeper van de interface is vermoedelijk de J1939Dcm-module ter voorbereiding van diagnostische leesbewerkingen. Vraag Q-5f25345851de686f (open)
Foutafhandeling en retourwaarden
Als retourwaarde levert de functie E_OK bij succesvolle configuratie van het filter of E_NOT_OK indien het filter niet kon worden ingesteld [SWS_Dem_00970]. Onderdrukte DTC's worden niet door de filtering meegenomen en worden behandeld alsof het filtercriterium niet van toepassing is; ze blijven onzichtbaar voor opvragingen [SWS_Dem_01101].
Gelijktijdigheid en beperkingen
De functie is reentrant voor verschillende ClientId-waarden, maar niet-reentrant voor dezelfde ClientId [SWS_Dem_00970]. Concurrerende filteraanroepen op hetzelfde J1939-eventgeheugen moeten daarom worden vermeden.
Samenspel
Het instellen van het filter vormt de basis voor de daaropvolgende verwerking:
- bepaling van het aantal passende foutpaden via
Dem_J1939DcmGetNumberOfFilteredDTC[SWS_Dem_00855], [SWS_Dem_00874], [SWS_Dem_00972], - iteratief uitlezen van de passende events via
Dem_J1939DcmGetNextFilteredDTC[SWS_Dem_00855], [SWS_Dem_00875] en - beschikbaarstelling van het aantal actieve resp. voorheen actieve DTC's voor readiness-berichten (DM05) via
Dem_J1939DcmReadDiagnosticReadiness1[SWS_Dem_00909].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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.
De functie [SWS_Dem_00972] bepaalt asynchroon het aantal J1939-DTC's dat voldoet aan de eerder met Dem_J1939DcmSetDTCFilter gedefinieerde filtercriteria in het primaire eventgeheugen van de meegegeven ClientId ([SWS_Dem_00874]). Een voorafgaande aanroep van Dem_J1939DcmSetDTCFilter is vereist, omdat deze de filtermaskerattributen instelt en de interne teller reset naar het eerste event ([SWS_Dem_00855]).
Het telresultaat wordt beschikbaar gesteld via de uitvoerparameter NumberOfFilteredDTC. Voor het verloop en de retourwaarden gelden de volgende regels:
- Succes: Zodra het totale aantal passende DTC's volledig is bepaald, retourneert de functie
E_OK([SWS_Dem_00874]). - Onderbreking: Moet de zoekprocedure wegens interne beperkingen worden onderbroken, dan levert de functie
DEM_PENDINGop. In dit geval hoeft de uitvoerparameter nog niet geldig te zijn; een opvolgende aanroep hervat de bepaling na het onderbroken element ([SWS_Dem_00874]). - Foutcodes: De specificatie voorziet daarnaast in de statuswaarden
DEM_NO_SUCH_ELEMENTenDEM_BUFFER_TOO_SMALL([SWS_Dem_00972]).
Met betrekking tot de zichtbaarheid bepaalt [SWS_Dem_01101] dat onderdrukte fouten (suppressed DTCs) moeten worden behandeld alsof het filtercriterium niet van toepassing is. De functie is gedefinieerd als niet-reentrant ([SWS_Dem_00972]), waardoor gelijktijdige aanroepen moeten worden vermeden.
Deze gebruiksinstructie is opgesteld door een AI en vat de kernaspecten van de AUTOSAR-specificatie samen.
Implementer's Guide volgt (complexiteit I1)
functie Dem_J1939DcmGetNextFilteredDTC [SWS_Dem_00973] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);
Gets the next filtered J1939 DTC.
De asynchrone en niet-re-entrante functie Dem_J1939DcmGetNextFilteredDTC (service-ID 0x92) leest de volgende gefilterde J1939-DTC uit het via ClientId geadresseerde J1939-gebeurtenisgeheugen uit [SWS_Dem_00973]. Deze is gedeclareerd via de header Dem_J1939Dcm.h [SWS_Dem_00973].
Vindt de functie een gebeurtenis die aan het filtercriterium voldoet, dan retourneert zij E_OK en levert via de uitvoerparameters de overeenkomstige J1939DTC en de bijbehorende OccurenceCounter [SWS_Dem_00877], [SWS_Dem_00973]. Ligt de optredensenteller boven 126 (0x7E), dan wordt de geretourneerde waarde vast begrensd op 126 (0x7E) [SWS_Dem_00877].
Moet de zoekprocedure wegens interne beperkingen of implementatiedetails worden onderbroken, dan retourneert de functie DEM_PENDING [SWS_Dem_00877], [SWS_Dem_00973]. In dit geval bevatten de uitvoerparameters geen geldige gegevens; de volgende aanroep zet de zoekopdracht direct na het onderbroken element voort [SWS_Dem_00877]. Is er geen volgend passend element aanwezig, dan luidt de retourwaarde DEM_NO_SUCH_ELEMENT; bij een te kleine buffer wordt DEM_BUFFER_TOO_SMALL gemeld [SWS_Dem_00973].
Onderdrukte diagnosegebeurtenissen (suppressed DTCs) zijn niet zichtbaar voor de opvraagfunctie; zij worden door Dem_J1939DcmGetNextFilteredDTC behandeld alsof het filtercriterium niet van toepassing is [SWS_Dem_01101].
Deze tekst is automatisch gegenereerd door een AI en vervangt niet de officiële AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie 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.
Gebruik
De synchrone interface Dem_J1939DcmFirstDTCwithLampStatus initialiseert de filtering op de eerste van toepassing zijnde Diagnostic Trouble Code (DTC) voor het DM31-antwoord van een specifiek knooppunt [SWS_Dem_00974]. Als enige invoerparameter dient ClientId van het type uint8, waarmee het bijbehorende J1939-gebeurtenisgeheugen wordt geadresseerd [SWS_Dem_00974]. De functie heeft noch invoer- noch uitvoerparameters en levert geen retourwaarde (void) [SWS_Dem_00974]. Zij is via het headerbestand Dem_J1939Dcm.h gedeclareerd met de service-ID 0x93 [SWS_Dem_00974]. Interpretatie: De functie wordt vermoedelijk primair aangeroepen door de module J1939Dcm om de filtering vóór de verzending van de DM31-lampstatusberichten te initialiseren. Vraag Q-064513be4f06584b (open)
Filterlogica en interactie
Elke aanroep van de functie zet de interne teller terug naar de eerste gebeurtenis waaraan voor de opgegeven ClientId een J1939DTC is toegewezen [SWS_Dem_00880]. Wat betreft de status van diagnosegebeurtenissen schrijft de specificatie voor dat een onderdrukte DTC (suppressed DTC) onzichtbaar moet blijven voor DCM-opvraagfuncties [SWS_Dem_01101]. Bijgevolg behandelt Dem_J1939DcmFirstDTCwithLampStatus onderdrukte DTC's alsof het filtercriterium niet is vervuld [SWS_Dem_01101].
Gelijktijdigheid en beperkingen
Wat betreft het gedrag bij gelijktijdigheid is de interface re-entrant voor aanroepen met verschillende ClientId-waarden, maar niet re-entrant voor dezelfde ClientId-waarde [SWS_Dem_00974]. Parallelle opvragingen via identieke client-ID's op hetzelfde J1939-gebeurtenisgeheugen zijn derhalve ontoelaatbaar.
Deze tekst is automatisch gegenereerd door een AI-curatie-assistent.
Implementer's Guide volgt (complexiteit I1)
functie 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.
Gebruik en aanroepcontext
De functie Dem_J1939DcmGetNextDTCwithLampStatus wordt synchroon uitgevoerd en is niet reentrant ([SWS_Dem_00975]). Deze dient er in het kader van de J1939-diagnosecommunicatie (DM31) voor om iteratief de volgende gefilterde J1939-DTC samen met de bijbehorende lampstatus en de eventteller (OccurenceCounter) op te vragen uit het via ClientId geadresseerde eventgeheugen ([SWS_Dem_00975]). De iteratie vereist dat het eventgeheugen vooraf is voorbereid door Dem_J1939DcmFirstDTCwithLampStatus ([SWS_Dem_00881]).
Verloop en retourwaarden
Elke aanroep doorzoekt het geheugen naar het volgende event met een toegewezen J1939-DTC ([SWS_Dem_00881]). Onderdrukte DTC's (suppressed DTC) worden behandeld als niet-passende events en overgeslagen ([SWS_Dem_01101]).
-
E_OK: Er is een passend event gevonden. De parametersLampStatus,J1939DTCenOccurenceCounterbevatten geldige waarden ([SWS_Dem_00882]). Interpretation: de in de parameterspecificatie genoemde voorwaardeDEM_FILTERED_OKheeft vermoedelijk betrekking opE_OK, aangezienDEM_FILTERED_OKvoor deze functie niet als retourwaarde is gedeclareerd ([SWS_Dem_00975]). Vraag Q-5284fb30b98babf6 (open) -
DEM_PENDING: De interne zoekactie moest wegens implementatiegrenzen worden onderbroken. De uitvoerparameters bevatten geen geldige gegevens en de volgende aanroep zet de zoekactie voort na het onderbroken element ([SWS_Dem_00882]). -
DEM_NO_SUCH_ELEMENT: Er zijn geen verdere passende events in het geheugen aanwezig; de uitvoerparameters zijn ongeldig ([SWS_Dem_00881]). -
DEM_BUFFER_TOO_SMALL: De meegegeven buffer is te klein ([SWS_Dem_00975]).
Lampstatus en waardebereik
Voor de bepaling van de lampstatus controleert de DEM de UDS-statusbit 7 (WarningIndicator) en de desbetreffende indicatorreferentie: de Malfunction Indicator Lamp ([SWS_Dem_00883]), Red Stop Lamp ([SWS_Dem_00887]) en Amber Warning Lamp ([SWS_Dem_00891]) worden elk op Lamp On gezet als de bit actief is en de referentie is toegewezen; anders luiden ze Lamp Off. De OccurenceCounter wordt bij tellerstanden boven 126 (0x7F) begrensd op exact 126 ([SWS_Dem_00882]).
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie 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).
Gebruik
De functie Dem_J1939DcmClearDTC ([SWS_Dem_00976]) wordt via de header Dem_J1939Dcm.h beschikbaar gesteld aan de module J1939Dcm om alle actieve of voorheen actieve diagnose-foutcodes (DTC's) uit het gebeurtenissengeheugen te wissen ([SWS_Dem_00878]). De aanroep werkt asynchroon. Als ingangsparameter verwacht de interface het filtertype DTCTypeFilter om de te wissen DTC's te bepalen, DTCOrigin voor de selectie van het brongeheugen en de ClientId voor de adressering van het J1939-gebeurtenissengeheugen.
Foutafhandeling en retourwaarden
Het resultaat van de uitvoering wordt gesignaleerd via het retourtype Std_ReturnType:
E_OK: De verwijderingsprocedure is succesvol afgerond.DEM_PENDING: Het opschonen is bezig; de aanroeper moet de functie op een later tijdstip opnieuw aanroepen.DEM_CLEAR_BUSY: Een andere client voert gelijktijdig een wisprocedure uit; de operatie wordt niet gestart en moet later worden herhaald.DEM_WRONG_DTC: De geselecteerde DTC bestaat niet in het gekozen formaat of het wissen is per configuratie beperkt tot groepen.DEM_WRONG_DTCORIGIN: Het opgegeven brongeheugen bestaat niet.DEM_CLEAR_FAILEDresp.DEM_CLEAR_MEMORY_ERROR: Het wissen is mislukt of er is een fout opgetreden bij het wissen van een geheugengebied (bijv. bij onvolledig wissen van niet-vluchtig geheugen).
Gelijktijdigheid en beperkingen
Volgens [SWS_Dem_00976] is de functie re-entrant voor verschillende client-ID's, maar niet re-entrant voor dezelfde ClientId. Parallelle wisoproepen via identieke clients zijn daarom niet toegestaan.
Samenspel
Volgens [SWS_Dem_00879] stelt het wissen de status van alle betrokken gebeurtenissen terug en verwijdert het de bijbehorende gebeurtenisgeheugenvermeldingen. Bovendien brengt het wisproces volgens [SWS_Dem_00878] een herinitialisatie van de betrokken SW-C's en BSW-modules volgens [SWS_Dem_00003] teweeg.
Deze tekst is automatisch gegenereerd aan de hand van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De synchrone functie Dem_J1939DcmSetFreezeFrameFilter dient voor het instellen van het freeze-frame-filter voor een specifiek knooppunt via de header Dem_J1939Dcm.h [SWS_Dem_00977]. Deze configureert filtermaskerattributen voor opvolgende opvragingen met Dem_J1939DcmGetNextFreezeFrame en reset daarbij een interne teller naar het eerste freeze-frame [SWS_Dem_00899].
Parameters en retourwaarden
FreezeFrameKind: Bepaalt het filtertype [SWS_Dem_00977]. Beschikbare types zijnDEM_J1939DCM_FREEZEFRAME(filtering van de gegevens inDemJ1939FreezeFrameClassRef),DEM_J1939DCM_EXPANDED_FREEZEFRAME(filtering van de gegevens inDemJ1939ExpandedFreezeFrameClassRef) enDEM_J1939DCM_SPNS_IN_EXPANDED_FREEZEFRAME([SWS_Dem_00977], [SWS_Dem_00899]).ClientId: Geeft de identifier door voor het adresseren van het J1939-eventgeheugen [SWS_Dem_00977].- Retourwaarde: levert
E_OKop bij succesvolle uitvoering ofE_NOT_OKwanneer het filter niet kon worden ingesteld [SWS_Dem_00977].
Gelijktijdigheid en geldigheid
Wat betreft gelijktijdigheid is de functie reentrant voor verschillende waarden van ClientId, maar niet reentrant voor identieke ClientId-waarden [SWS_Dem_00977]. De ingestelde filtermaskerattributen blijven na de aanroep van kracht totdat een nieuwe aanroep van Dem_J1939DcmSetFreezeFrameFilter plaatsvindt of de module DEM opnieuw wordt geïnitialiseerd [SWS_Dem_00899].
Deze tekst is gegenereerd door een AI op basis van de specificatie.
Implementer's Guide volgt (complexiteit I1)
functie 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.
Gebruik
De asynchrone en niet-re-entrante functie Dem_J1939DcmGetNextFreezeFrame leest stapsgewijs freeze-frame-gegevens voor een specifiek gebeurtenisgeheugen uit [SWS_Dem_00978]. De iteratie richt zich naar de eerder via Dem_J1939DcmSetFreezeFrameFilter ingestelde filtercriteria FreezeFrameKind en ClientId [SWS_Dem_00900]. De nuttige gegevens worden naar de buffer DestBuffer gekopieerd (bij Expanded Freeze-Frames zonder SPN-informatie en met met 0 opgevulde ongebruikte bits), terwijl BufSize de buffergrootte doorgeeft en de daadwerkelijk geschreven hoeveelheid bytes terugmeldt [SWS_Dem_00978], [SWS_Dem_00903]. Bovendien levert de aanroep de bijbehorende J1939DTC evenals de OccurenceCounter, die bij waarden boven 126 wordt begrensd op 0x7F [SWS_Dem_00903].
Retourwaarden en foutafhandeling
De retourwaarden besturen het verloop van de iteratie:
E_OK: Een record is succesvol gevonden en overgedragen [SWS_Dem_00978], [SWS_Dem_00903]. De vermelding vanDEM_FILTERED_OKin de parameterbeschrijving moet vermoedelijk worden opgevat als een redactioneel synoniem voorE_OK. Vraag Q-e941066640c694b9 (open)DEM_NO_SUCH_ELEMENT: Er bestaan geen verdere records die aan de filtercriteria voldoen [SWS_Dem_00900].DEM_PENDING: De interne zoekopdracht is onderbroken; de vervolgaanroep zet de zoekopdracht voort op de onderbroken positie [SWS_Dem_00902].DEM_BUFFER_TOO_SMALLresp.DEM_FILTERED_BUFFER_TOO_SMALL: De buffer is ontoereikend; de operatie wordt afgebroken zonder gegevensovername [SWS_Dem_00978], [SWS_Dem_00903].
Wordt een niet-ondersteund filtertype doorgegeven, dan meldt de functie de DET-fout DEM_E_WRONG_CONDITION; geldig zijn uitsluitend DEM_J1939DCM_FREEZEFRAME en DEM_J1939DCM_EXPANDED_FREEZEFRAME [SWS_Dem_00901]. Voor zover de retourwaarde ongelijk is aan succes, bevatten de uitvoerparameters geen geldige gegevens [SWS_Dem_00978], [SWS_Dem_00900], [SWS_Dem_00902], [SWS_Dem_00903].
Beperkingen en interactie
Onderdrukte DTC's worden door de opvraging genegeerd en behandeld als niet-passende filtercriteria [SWS_Dem_01101].
Deze gebruiksinstructie is geautomatiseerd gegenereerd en baseert zich uitsluitend op de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dem_J1939DcmGetNextSPNInFreezeFrame [SWS_Dem_00979] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);
Gets next SPN.
Gebruik en semantiek
De functie Dem_J1939DcmGetNextSPNInFreezeFrame leest stapsgewijs de volgende SPN (Suspect Parameter Number) uit het uitgebreide freeze-frame ([SWS_Dem_00979]). Elke aanroep itereert naar het volgende element van de SPN-definitie voor het via ClientId geadresseerde gebeurtenisgeheugen ([SWS_Dem_00904]). Bij succesvol aantreffen levert de aanroep E_OK en retourneert de gevonden SPN via SPNSupported en de bijbehorende gegevenslengte via SPNDataLength ([SWS_Dem_00979], [SWS_Dem_00907]).
Asynchrone verwerking en retourwaarden
De operatie is gespecificeerd als asynchroon ([SWS_Dem_00979]). Moet de zoekprocedure wegens interne beperkingen worden onderbroken, dan retourneert de functie DEM_PENDING; in dit geval zijn de uitvoerparameters niet dwingend geldig en zet de vervolgaanroep de zoekopdracht op de onderbroken positie voort ([SWS_Dem_00905]). Zijn er geen verdere SPN's in de definitie aanwezig, dan wordt DEM_NO_SUCH_ELEMENT gemeld, waarbij de uitvoerparameters evenmin geldig hoeven te zijn ([SWS_Dem_00904]). Is de beschikbaar gestelde buffer ontoereikend, dan meldt de interface DEM_BUFFER_TOO_SMALL ([SWS_Dem_00979]).
Foutafhandeling en gelijktijdigheid
Wordt een niet-ondersteund type freeze-frame opgevraagd, dan triggert de module de DET-fout DEM_E_WRONG_CONDITION; uitsluitend Dem_SPNsInExpandedFreezeFrame is geldig ([SWS_Dem_00906]). Aangezien de functie als niet-re-entrant is gedefinieerd ([SWS_Dem_00979]), mag zij voor dezelfde context niet gelijktijdig worden aangeroepen. Het headerbestand Dem_J1939Dcm.h stelt de interface beschikbaar ([SWS_Dem_00979]).
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De synchrone functie Dem_J1939DcmSetRatioFilter stelt het ratio-filter voor een specifiek J1939-knooppunt in en initialiseert de filtering van IUMPR-verhoudingen conform [SWS_Dem_00980]. Daarbij zet zij een interne teller terug naar de eerste geldige SPN met gedefinieerde DemRatioId, om de aansluitende stapsgewijze opvraging via Dem_J1939DcmGetNextFilteredRatio voor te bereiden [SWS_Dem_00912].
Via de uitvoerparameters stelt de functie overkoepelende tellerwaarden beschikbaar:
IgnitionCycleCounter: Levert de ontstekingscyclusteller conform SAE J1939-73 (hoofdstuk 5.7.20.1) [SWS_Dem_00912].OBDMonitoringConditionsEncountered: Levert de teller voor opgetreden OBD-bewakingsvoorwaarden conform SAE J1939-73 (hoofdstuk 5.7.20.2), door CARB gedefinieerd als General Denominator [SWS_Dem_00912].ClientId: Identificeert de aanroepende client voor de adressering van het J1939-gebeurtenisgeheugen [SWS_Dem_00980].
Wat betreft gelijktijdigheid is de functie re-entrant voor verschillende ClientId-waarden, maar niet re-entrant voor dezelfde ClientId [SWS_Dem_00980]. Interpretatie: De aanroep vindt vermoedelijk typisch synchroon plaats vanuit de afloop van de J1939 Diagnostic Communication Manager (J1939Dcm) om IUMPR-diagnosegegevens op te vragen. Vraag Q-e577651b88f64132 (open) Bij het succesvol instellen van het filter retourneert de functie E_OK; mislukt het instellen, dan wordt E_NOT_OK gemeld [SWS_Dem_00980].
In interactie met diagnosegebeurtenissen geldt dat onderdrukte DTC's niet zichtbaar mogen zijn voor opvraagfuncties zoals Dem_J1939DcmSetRatioFilter en moeten worden behandeld alsof het filter niet van toepassing is [SWS_Dem_01101].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00981] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);
Gets the next filtered Ratio.
Gebruik
De synchrone en niet-re-entrante functie Dem_J1939DcmGetNextFilteredRatio ([SWS_Dem_00981]) dient voor het iteratief uitlezen van de volgende gefilterde IUMPR-verhouding (ratio). Via de parameter ClientId wordt het desbetreffende J1939-gebeurtenisgeheugen geadresseerd. Bij een succesvolle aanroep levert de functie via de uitvoerparameters SPN, Numerator en Denominator de Suspect Parameter Number evenals teller en noemer van de van toepassing zijnde systeemmonitor ([SWS_Dem_00981]).
Verloop en interactie
Voor een correcte iteratie moet het filter vooraf via Dem_J1939DcmSetRatioFilter worden geïnitialiseerd ([SWS_Dem_00912]). Deze aanroep zet een interne teller terug naar de eerste geldige SPN met gedefinieerde DemRatioId, waarop opeenvolgende aanroepen van Dem_J1939DcmGetNextFilteredRatio voortbouwen. Een onderdrukte DTC is niet zichtbaar voor de opvraging en wordt behandeld alsof het filter niet van toepassing is ([SWS_Dem_01101]).
Retourwaarden en foutafhandeling
Conform [SWS_Dem_00981] zijn de volgende retourwaarden gedefinieerd:
E_OK: De operatie was succesvol. Alleen in dit geval bevattenSPN,NumeratorenDenominatorgeldige gegevens (de vermelding vanDEM_FILTERED_OKin de parameterbeschrijving fungeert vermoedelijk als interpretatie voorE_OK). Vraag Q-57774bbc88fe3c0b (open)DEM_NO_SUCH_ELEMENT: Er is geen volgend passend element aanwezig.DEM_PENDING: De operatie was succesvol, maar het resultaat laat nog op zich wachten.DEM_BUFFER_TOO_SMALL: De doorgegeven buffer is te klein.
Concurrency
Aangezien de functie als niet-re-entrant is gedeclareerd ([SWS_Dem_00981]), mag zij voor dezelfde ClientId niet gelijktijdig worden aangeroepen.
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp. Bepalend zijn de gerefereerde AUTOSAR-specificaties.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De synchrone interface Dem_J1939DcmReadDiagnosticReadiness1 (in de Classic-standaard opgenomen onder Dem_J1939DcmReadDiagnosticReadiness) dient om de door de Diagnostic Event Manager berekende waarde van Diagnostic Readiness 1 (DM05) op te vragen [SWS_Dem_00982]. Deze is gedeclareerd via het headerbestand Dem_J1939Dcm.h en heeft de service-ID 0x9b [SWS_Dem_00982].
Gebruik en parameters
De aanroep vindt synchroon plaats en maakt gebruik van de volgende functieparameters [SWS_Dem_00982]:
ClientId(IN,uint8): Identificeert het te adresseren J1939-eventgeheugen (J1939 event memory) [SWS_Dem_00982].DataValue(OUT, pointer naarDem_J1939DcmDiagnosticReadiness1Type): Wijst naar een 8 byte grote buffer waarin de DEM de berekende inhoud van Diagnostic Readiness 1 (DM05) schrijft [SWS_Dem_00982].
Retourwaarden en foutafhandeling
De functie retourneert een status van het type Std_ReturnType [SWS_Dem_00982]:
E_OK: De service is succesvol uitgevoerd en de readiness-gegevens zijn opgeslagen in de uitvoerbuffer [SWS_Dem_00982].E_NOT_OK: De bewerking is mislukt [SWS_Dem_00982]. Specifieke foutcodes, DEM-events of DET-meldingen zijn niet opgenomen in de functiespecificatie [SWS_Dem_00982].
Gelijktijdigheid en beperkingen
Wat betreft gelijktijdige toegang is de service reentrant gespecificeerd voor verschillende ClientId's, maar uitdrukkelijk gedefinieerd als niet-reentrant voor dezelfde ClientId [SWS_Dem_00982].
Deze gebruiksinstructie is automatisch opgesteld op basis van AUTOSAR R20-11 specificatiegegevens.
functie 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.
De synchrone functie Dem_J1939DcmReadDiagnosticReadiness2 (service-ID 0x9c) dient om de door de DEM berekende waarde van Diagnostic Readiness 2 (DM21) op te vragen [SWS_Dem_00983]. De interface wordt via het headerbestand Dem_J1939Dcm.h ter beschikking gesteld [SWS_Dem_00983].
Voor de aanroep zijn twee parameters gedefinieerd [SWS_Dem_00983]:
ClientId(ingang): Adresseert het desbetreffende J1939-eventgeheugen [SWS_Dem_00983].DataValue(uitgang): Pointer naar een 8-byte buffer van het typeDem_J1939DcmDiagnosticReadiness2Typevoor de opname van de berekende DM21-gegevens [SWS_Dem_00983].
Als retourwaarde levert de functie Std_ReturnType op; bij een succesvolle opvraging wordt E_OK geretourneerd, terwijl in geval van een fout E_NOT_OK wordt gemeld [SWS_Dem_00983]. Specifieke foutoorzaken zijn niet afzonderlijk vermeld; de aanroeper moet er bij E_NOT_OK vermoedelijk van uitgaan dat de buffer geen geldige gegevens bevat. Vraag Q-97b94d15a8634712 (open)
Wat betreft gelijktijdigheid is de service reentrant voor verschillende ClientId-waarden, maar niet reentrant voor dezelfde ClientId [SWS_Dem_00983]. Gelijktijdige aanroepen voor dezelfde ClientId moeten daarom in de aanroepende context worden geserialiseerd.
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.
functie 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.
De service Dem_J1939DcmReadDiagnosticReadiness (in de signatuur gespecificeerd als Dem_J1939DcmReadDiagnosticReadiness3) dient voor het synchroon uitlezen van de door de DEM bepaalde gegevens over Diagnostic Readiness 3 (DM26) [SWS_Dem_00770]. De declaratie wordt via het headerbestand Dem_J1939Dcm.h beschikbaar gesteld [SWS_Dem_00770]. Gezien de interfacenaam wordt de aanroep vermoedelijk primair uitgevoerd door de module J1939Dcm. Vraag Q-dc204541dfc23d6b (open)
De interface verwacht twee parameters [SWS_Dem_00770]:
ClientId(in): Adresseert het desbetreffende J1939-eventgeheugen [SWS_Dem_00770].DataValue(out): Pointer naar een 8-byte buffer van het typeDem_J1939DcmDiagnosticReadiness3Typevoor de opname van de berekende DM26-gegevens [SWS_Dem_00770].
Als retourwaarde levert de functie E_OK wanneer de bewerking succesvol was, of E_NOT_OK bij een fout tijdens de uitvoering [SWS_Dem_00770].
Wat betreft gelijktijdigheid is de functie reentrant voor verschillende waarden van ClientId, maar niet reentrant voor identieke ClientId-waarden [SWS_Dem_00770]. Parallelle aanroepen voor dezelfde client moeten daarom door de aanroeper worden uitgesloten of gesynchroniseerd.
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
functie 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)
functie 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)
Gebruik
De synchrone functie Dem_RepIUMPRFaultDetect dient ertoe te melden dat een OBD-monitor aan alle uitvoeringsvoorwaarden heeft voldaan en zodoende potentiële fouten had kunnen vinden [SWS_Dem_00313]. De interface wordt via de header Dem.h beschikbaar gesteld en is uitsluitend beschikbaar in regeleenheden met OBD-ondersteuning, mits DemOBDSupport niet op DEM_OBD_NO_OBD_SUPPORT is geconfigureerd [SWS_Dem_00313], [SWS_Dem_00360].
Als parameter wordt de identifier RatioID van het type Dem_RatioIdType doorgegeven wanneer de interface-optie "API" is geselecteerd [SWS_Dem_00313]. Bij succesvolle registratie van het IUMPR-resultaat geeft de functie de status E_OK terug [SWS_Dem_00313].
Gelijktijdigheid en foutgedrag
Wat betreft gelijktijdigheid is de service re-entrant voor verschillende identifiers RatioID, maar niet re-entrant voor dezelfde RatioID-waarde [SWS_Dem_00313]. Gelijktijdige aanroepen met identieke identifier moeten daarom door de aanroeper worden vermeden.
Als een corresponderende gebeurtenis op niet beschikbaar wordt gezet, behandelt de DEM-module deze alsof deze niet in het systeem is geconfigureerd [SWS_Dem_01108]. Ook Dem_RepIUMPRFaultDetect wordt expliciet door deze deactivering beïnvloed [SWS_Dem_01108]; Interpretatie: in deze toestand levert de aanroep, analoog aan de overige betrokken status-API's, vermoedelijk E_NOT_OK op. Vraag Q-6d1775c9bff08f42 (open)
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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)
functie 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)
functie 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)
De synchrone en re-entrante functie Dem_RepIUMPRDenRelease dient ertoe de denominator van een specifieke monitor vrij te geven om fysische redenen, zoals het bereiken van bepaalde temperatuurcondities of minimale activiteit [SWS_Dem_00315]. De DEM stelt deze interface beschikbaar voor IUMPR-relevante softwarecomponenten (SW-C) om de bij de desbetreffende RatioID behorende denominator gericht aan te sturen [SWS_Dem_00308].
De beschikbaarstelling en het gedrag van de functie zijn onderhevig aan vaste configuratie- en runtimevoorwaarden:
- Beschikbaarheid en configuratie: De API is uitsluitend beschikbaar in OBD-relevante regeleenheden wanneer
DemOBDSupportongelijk aanDEM_OBD_NO_OBD_SUPPORTis geconfigureerd [SWS_Dem_00315]. Bovendien wordt de interface voor vrijgave onder speciale voorwaarden beschikbaar gesteld indienDemIUMPRDenGroupalsDEM_IUMPR_DEN_PHYS_APIis geconfigureerd [SWS_Dem_00362]. - Parameters en retourwaarden: Als invoerparameter wordt de identifier
RatioIDdoorgegeven. De functie levertE_OKop wanneer de status van de IUMPR-denominator succesvol is gemeld, en andersE_NOT_OK[SWS_Dem_00315]. - Foutgedrag bij inactieve events: Als een corresponderende gebeurtenis als niet beschikbaar is ingesteld, wordt deze behandeld alsof deze niet in het systeem is geconfigureerd; de aanroep van
Dem_RepIUMPRDenReleasewordt hierdoor direct beïnvloed en levertE_NOT_OK[SWS_Dem_01108] op.
Dankzij het re-entrante ontwerp kan de functie desgewenst gelijktijdig vanuit verschillende SW-C-contexten worden aangeroepen [SWS_Dem_00315].
Deze tekst is opgesteld door een AI en vervangt niet de gezaghebbende AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie 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)
Gebruik
De synchrone functie Dem_SetPtoStatus ([SWS_Dem_00627]) dient voor het instellen van de status van de aftakas (Power Take-Off, PTO) in de Diagnostic Event Manager (DEM). De interface is gedeclareerd in de header Dem.h en heeft de service-ID 0x79 ([SWS_Dem_00627]).
- Parameters: De ingangsparameter
PtoStatus(typeboolean) geeft de status van de aftakas door, waarbijTRUEstaat voor actief enFALSEvoor inactief ([SWS_Dem_00627]). In-/uitgangsparameters of uitgangsparameters zijn niet aanwezig. - Teruggeefwaarde: Het teruggeeftype is
Std_ReturnType. De functie levertE_OKwanneer de nieuwe PTO-status door de DEM is overgenomen, enE_NOT_OKin alle andere gevallen ([SWS_Dem_00627]).
Gelijktijdigheid en beperkingen
De functie werkt synchroon en is gespecificeerd als niet-re-entrant (Non Reentrant) ([SWS_Dem_00627]).
Systeemcontext en configuratie
De interface is uitsluitend vereist in OBD-relevante ECU's ([SWS_Dem_00627]). Ze is alleen beschikbaar als de configuratieparameter DemGeneral.DemOBDSupport niet op DEM_OBD_NO_OBD_SUPPORT is ingesteld ([SWS_Dem_00627]).
Deze tekst is gegenereerd door een AI en is gebaseerd op de specificaties van de module DEM in AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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
Gebruik en parameters
De synchrone functie Dem_ReadDataOfPID01 (service-ID 0xb3) dient ertoe om de door de Diagnostic Event Manager (DEM) berekende waarde van PID $01 op te vragen [SWS_Dem_01167]. De interface wordt beschikbaar gesteld via de header Dem.h [SWS_Dem_01167]. Als uitvoerparameter verwacht de functie PID01value, die als pointer naar een buffer wordt doorgegeven [SWS_Dem_01167]. Deze buffer moet dwingend door de aanroepende applicatie worden gealloceerd en beschikbaar gesteld met een vaste grootte van 4 bytes om de berekende gegevens op te nemen [SWS_Dem_01167].
Foutafhandeling en retourwaarden
Als retourtype levert de interface formeel Std_ReturnType, maar retourneert volgens de specificatie zonder uitzondering E_OK [SWS_Dem_01167]. De foutwaarde E_NOT_OK treedt nooit op [SWS_Dem_01167]. Er zijn voor deze interface noch specifieke foutcodes noch meldingen aan de DET of DEM gespecificeerd [SWS_Dem_01167].
Gelijktijdigheid en beperkingen
De functie is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Dem_01167]. Aanroepers moeten er daarom voor zorgen dat er geen gelijktijdige aanroepen plaatsvinden. Bovendien is de API functioneel beperkt en wordt uitsluitend benodigd in ECU's met OBD-relevantie [SWS_Dem_01167].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie R20-11.
functie 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)
functie 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)
functie 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)
functie 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)
functie 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)
functie 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)
functie 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.
functie Dem_GetDTCSeverityAvailabilityMask [SWS_Dem_01168] 📄 PDF
Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);
Gets the DTC Severity availability mask.
functie 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
functie 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)
functie 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
De callback-functie Dem_CallbackEventSyncStorageProcessed wordt synchroon aangeroepen door de Diagnostic Event Manager (DEM) zodra de interne verwerking van Dem_SetEventFailedWithSyncFreezeFrame is afgerond ([SWS_Dem_91042]). Deze deelt aan de aanroepende component mee dat een volgende aanroep van Dem_SetEventFailedWithSyncFreezeFrame voor dezelfde event-ID door de DEM kan worden verwerkt ([SWS_Dem_91042]).
Voor het gebruik en de integratie gelden de volgende interface- en uitvoeringseigenschappen:
- Parameters en retourwaarde: De interface heeft noch invoer-, uitvoer- noch invoer-/uitvoerparameters ([SWS_Dem_91042]). Het retourtype is
Std_ReturnType, waarbij omwille van RTE-compatibiliteit uitsluitend de retourwaardeE_OKtoelaatbaar is en wordt geleverd ([SWS_Dem_91042]). - Gelijktijdigheid: De functie is gespecificeerd als reentrant ([SWS_Dem_91042]).
- Fouthandeling: Er zijn geen specifieke foutcodes of meldingen aan de ontwikkelingsfout-tracking (DET) voorzien ([SWS_Dem_91042]).
Wat betreft samenspel en configuratie geldt een vaste voorwaarde: Dem_CallbackEventSyncStorageProcessed mag uitsluitend worden geconfigureerd voor diagnose-events waarvan de parameter DemEventReportingType op IMMEDIATE_FAIL_AND_SYNCHRONOUS_PROCESSING is ingesteld ([SWS_Dem_01356]). Bovendien is het element in release R20-11 geannoteerd met de status draft ([SWS_Dem_91042], [SWS_Dem_01356]).
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
Implementer's Guide volgt (complexiteit I2)
functie Dem_MainFunction [SWS_Dem_00266] 📄 PDF
void Dem_MainFunction (void);
Processes all not event based Dem internal functions.
De basisfunctie Dem_MainFunction heeft de signatuur void Dem_MainFunction(void) met de service-ID 0x55 en wordt beschikbaar gesteld via het headerbestand SchM_Dem.h ([SWS_Dem_00266]). Deze accepteert geen parameters, levert geen retourwaarde en dient voor het uitvoeren van alle niet-gebeurtenisgebaseerde interne procedures van de DEM-module ([SWS_Dem_00266], [SWS_Dem_00125]).
Voor de aanroepcontext en de foutafhandeling gelden bijzondere uitzonderingen in de levenscyclus van de module: als de ontwikkelingsdetectie DemDevErrorDetect op TRUE is ingesteld, leidt het aanroepen van reguliere DEM-interfaces vóór de volledige initialisatie tot de melding van de fout DEM_E_UNINIT; Dem_MainFunction is echter uitdrukkelijk vrijgesteld van deze foutgeneratie ([SWS_Dem_00124]). Op dezelfde manier is de functie na de aanroep van Dem_Shutdown vrijgesteld van de foutmelding DEM_E_UNINIT, totdat Dem_Init opnieuw wordt aangeroepen ([SWS_Dem_00368]).
In samenspel met het foutgeheugen regelt de functie op beslissende wijze de registratie en buffering van diagnosegegevens:
- Als
DemEnvironmentDataCaptureopDEM_CAPTURE_ASYNCHRONOUS_TO_REPORTINGis geconfigureerd (met betrekking totDemPrimaryMemoryofDemUserDefinedMemory), moeten gebeurtenisspecifieke freeze-frame-gegevens ([SWS_Dem_00461]) en Extended Data-records ([SWS_Dem_01081]) uiterlijk in de volgende cyclus vanDem_MainFunctionworden geregistreerd. - Als
DemEnvironmentDataCaptureopDEM_CAPTURE_SYNCHRONOUS_TO_REPORTINGis ingesteld, plaatst de DEM-module de omgevingsgegevens tot de volgende aanroep vanDem_MainFunctionin een wachtrij ([SWS_Dem_01083]). De module buffert daarbij ten minste het geconfigureerde aantal conformDemMaxNumberEventEntryEventBuffer; bij een volle wachtrij worden de gegevens tijdens de gebeurtenisafhandeling binnenDem_MainFunctiongeregistreerd ([SWS_Dem_01083]).
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie AUTOSAR Classic Release R20-11.
Implementer's Guide volgt (complexiteit I1)
type Dem_ComponentIdType [SWS_Dem_01114] 📄 PDF
Identification of a DemComponent by assigned ComponentId. The ComponentId is automatically assigned by the Dem.
type Dem_ConfigType [SWS_Dem_00924] 📄 PDF
This type of the external data structure shall contain the post build initialization data for the Dem.
type Dem_DTCKindType [SWS_Dem_00932] 📄 PDF
This type is used to filter DTCs for their kind.
type Dem_DTCRequestType [SWS_Dem_00935] 📄 PDF
This type is used to request a DTC with specific attributes.
Gebruik en waardebereik
Het datatype Dem_DTCRequestType is afgeleid van uint8 en beschikbaar via de header Dem.h [SWS_Dem_00935]. Het dient ertoe een Diagnostic Trouble Code (DTC) op te vragen aan de hand van specifieke tijdsattributen [SWS_Dem_00935].
Het toegestane waardebereik omvat de volgende enumeratiewaarden [SWS_Dem_00935]:
DEM_FIRST_FAILED_DTC(0x01): Vraagt de qua tijd eerst gefaalde DTC op.DEM_MOST_RECENT_FAILED_DTC(0x02): Vraagt de laatst gefaalde DTC op.DEM_FIRST_DET_CONFIRMED_DTC(0x03): Vraagt de eerst als bevestigd herkende DTC op.DEM_MOST_REC_DET_CONFIRMED_DTC(0x04): Vraagt de laatst als bevestigd herkende DTC op.
Interactie, gelijktijdigheid en foutafhandeling
Het type wordt doorgegeven als ingangsparameter DTCRequest van de synchrone functie Dem_GetDTCByOccurrenceTime [SWS_Dem_00218]. Via deze parameter wordt vastgelegd volgens welk criterium de DTC moet worden opgevraagd [SWS_Dem_00218]. Het resultaat wordt in UDS-formaat geretourneerd via de uitgangsparameter DTC [SWS_Dem_00218].
De interface is re-entrant voor verschillende aanroepers via verschillende ClientId-waarden, maar niet-re-entrant voor dezelfde ClientId [SWS_Dem_00218]. Mogelijke teruggeefwaarden zijn E_OK bij een succesvolle opvraging, E_NOT_OK bij fouten en DEM_NO_SUCH_ELEMENT indien er geen passende vermelding is opgeslagen [SWS_Dem_00218]. Wijkt het functieresultaat af van DEM_OCCURR_OK, dan bevat de parameter DTC geen geldige gegevens [SWS_Dem_00218].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
type Dem_DTCTranslationFormatType [SWS_Dem_00936] 📄 PDF
DTC translation format as defined in ISO14229-1.
type Dem_J1939DcmDTCStatusFilterType [SWS_Dem_00945] 📄 PDF
The type to distinguish which DTCs should be filtered.
Gebruik en waardebereik
Het type Dem_J1939DcmDTCStatusFilterType is een op uint8 gebaseerd enumeratietype dat beschikbaar wordt gesteld via het headerbestand Dem.h [SWS_Dem_00945]. Het dient ertoe vast te leggen volgens welke J1939-status diagnosefoutcodes (DTC's) bij filteroperaties moeten worden onderscheiden en geselecteerd [SWS_Dem_00945].
De volgende statusfilterwaarden zijn gespecificeerd:
DEM_J1939DTC_ACTIVE(0): Filtert op actieve foutcodes [SWS_Dem_00945].DEM_J1939DTC_PREVIOUSLY_ACTIVE(1): Filtert op voorheen actieve foutcodes [SWS_Dem_00945].DEM_J1939DTC_PENDING(2): Filtert op openstaande foutcodes [SWS_Dem_00945].DEM_J1939DTC_PERMANENT(3): Filtert op permanente foutcodes [SWS_Dem_00945].DEM_J1939DTC_CURRENTLY_ACTIVE(4): Filtert op actueel actieve foutcodes [SWS_Dem_00945].
Interactie en aanroepcontext
Het filtertype wordt gebruikt als overdrachtsparameter DTCStatusFilter in de interface Dem_J1939DcmSetDTCFilter [SWS_Dem_00970]. De functie werkt synchroon en stelt het filter in met inachtneming van foutcategorie (DTCKind), geheugenoorsprong (DTCOrigin) en de respectieve ClientId voor het J1939-gebeurtenisgeheugen [SWS_Dem_00970]. De aanroep zal als interpretatie typisch plaatsvinden vanuit de diagnosecommunicatiemanager voor J1939.
Vraag Q-898d508b7b341ef8 (open)
Gelijktijdigheid en foutafhandeling
De service Dem_J1939DcmSetDTCFilter is re-entrant voor verschillende ClientId-waarden, maar expliciet niet-re-entrant voor dezelfde ClientId [SWS_Dem_00970]. Een succesvolle filterconfiguratie wordt door de service bevestigd met de teruggeefwaarde E_OK [SWS_Dem_00970].
Deze tekst is opgesteld door een AI op basis van de specificatiedocumenten.
Implementer's Guide volgt (complexiteit I1)
type Dem_J1939DcmSetClearFilterType [SWS_Dem_00946] 📄 PDF
The type to distinguish which DTCs gets cleared
type Dem_J1939DcmSetFreezeFrameFilterType [SWS_Dem_00947] 📄 PDF
The type to distinguish which DTCs gets cleared
type Dem_J1939DcmLampStatusType [SWS_Dem_00948] 📄 PDF
For details refer SAE J1939-73
Het structuurtype Dem_J1939DcmLampStatusType is volgens [SWS_Dem_00948] gedeclareerd in Dem.h en dient voor het registreren van de J1939-lampstatus conform SAE J1939-73. De datastructuur bundelt twee statusinformaties als uint8-elementen: LampStatus voor de actuele lamptoestand en FlashLampStatus voor het bijbehorende knippergedrag.
In de J1939-DTC-filtering van de Diagnostic Event Manager fungeert het type als pointer-uitgangsparameter in twee synchrone interfaces:
- Via
Dem_J1939DcmSetDTCFilter([SWS_Dem_00970]) wordt bij het initialiseren van het DTC-filter voor een specifiek J1939-eventgeheugen (geadresseerd viaClientId) de initiële lampstatus opgevraagd. - Via
Dem_J1939DcmGetNextDTCwithLampStatus([SWS_Dem_00975]) wordt de structuur voor elke passende foutgeheugenvermelding iteratief gevuld met de bijbehorende lampstatus.
Bij de foutafhandeling moet er dwingend op worden gelet dat Dem_J1939DcmGetNextDTCwithLampStatus volgens [SWS_Dem_00975] alleen dan geldige waarden naar de uitgangsparameter schrijft wanneer de teruggeefwaarde van de functie DEM_FILTERED_OK luidt. Levert de aanroep een andere teruggeefwaarde op, dan bevat de structuur geen geldige gegevens.
Wat betreft gelijktijdigheid en aanroepvoorwaarden bezit de structuur zelf geen interne bescherming. De re-entrantie richt zich naar de respectieve aanroepcontext: Dem_J1939DcmSetDTCFilter is re-entrant voor verschillende client-ID's, maar niet-re-entrant voor dezelfde ClientId ([SWS_Dem_00970]). Het iteratief opvragen via Dem_J1939DcmGetNextDTCwithLampStatus is volledig niet-re-entrant gespecificeerd ([SWS_Dem_00975]).
Deze tekst is gegenereerd door een AI en is gebaseerd op de specificaties van de AUTOSAR-release R20-11.
Implementer's Guide volgt (complexiteit I1)
type 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
De structuur Dem_J1939DcmDiagnosticReadiness1Type beeldt alle gegevenselementen van het J1939-diagnosebericht DM05 af en is volgens [SWS_Dem_00949] gedefinieerd in het headerbestand Dem.h. De codering van de velden geschiedt conform SAE J1939-73 [SWS_Dem_00949].
De structuur omvat acht gegevensvelden van het type uint8, die samen een 8-byte-buffer voor de diagnosegereedheid 1 (Diagnostic Readiness 1) vormen [SWS_Dem_00949], [SWS_Dem_00982]:
ActiveTroubleCodes: Aantal actieve DTC's [SWS_Dem_00949].PreviouslyActiveDiagnosticTroubleCodes: Aantal voorheen actieve DTC's [SWS_Dem_00949].OBDCompliance: OBD-conformiteit [SWS_Dem_00949].ContinuouslyMonitoredSystemsSupport_Status: Ondersteuning en status van continu bewaakte systemen [SWS_Dem_00949].NonContinuouslyMonitoredSystemsSupport5enNonContinuouslyMonitoredSystemsSupport6: Systeemondersteuning van niet-continu bewaakte systemen (byte 5 en 6) [SWS_Dem_00949].NonContinuouslyMonitoredSystemsStatus7enNonContinuouslyMonitoredSystemsStatus8: Status van niet-continu bewaakte systemen (byte 7 en 8) [SWS_Dem_00949].
De primaire interactie vindt plaats met de synchrone API Dem_J1939DcmReadDiagnosticReadiness1 (beschikbaar via Dem_J1939Dcm.h) [SWS_Dem_00982]. Aanroepers geven een pointer naar een instantie van Dem_J1939DcmDiagnosticReadiness1Type door via de uitgangsparameter DataValue samen met de respectieve ClientId voor het J1939-gebeurtenisgeheugen [SWS_Dem_00982].
Wat betreft gelijktijdigheid en foutafhandeling geldt bij leestoegang: de opvragende functie levert E_OK bij een succesvolle berekening en beschikbaarstelling van de DM05-waarden door de DEM, evenals E_NOT_OK in het foutgeval [SWS_Dem_00982]. De toegang is re-entrant voor verschillende ClientId-waarden, maar niet-re-entrant voor dezelfde ClientId [SWS_Dem_00982]. Het zal daarom vermoedelijk noodzakelijk zijn instanties van dit type in de context van dezelfde client te beveiligen tegen gelijktijdige aanroepen. Vraag Q-7613ded1aa18fd2b (open)
Deze tekst is opgesteld door een AI. Bronnen zijn uitsluitend afkomstig uit de specificaties van de release R20-11.
type 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
Het structuurtype Dem_J1939DcmDiagnosticReadiness2Type vertegenwoordigt de gegevenselementen van het diagnosebericht DM21 (Diagnostic Readiness 2) conform SAE J1939-73 en wordt gedeclareerd via het headerbestand Dem.h [SWS_Dem_00950]. De structuur vat vier 16-bits tellers (uint16) samen in een 8-byte-buffer [SWS_Dem_00950], [SWS_Dem_00983]:
DistanceTraveledWhileMILisActivated: Gecumuleerde afstand in kilometers bij geactiveerde storingsindicatielamp (MIL) [SWS_Dem_00950].DistanceSinceDTCsCleared: Gecumuleerde afstand sinds het resetten van emissiegerelateerde diagnosefoutcodes (DTC's) [SWS_Dem_00950].MinutesRunbyEngineWhileMILisActivated: Gecumuleerde motorlooptijd in minuten bij actieve MIL [SWS_Dem_00950].TimeSinceDiagnosticTroubleCodesCleared: Gecumuleerde motorlooptijd sinds het wissen van emissiegerelateerde DTC's [SWS_Dem_00950].
Dit type wordt gebruikt als uitvoerbuffer DataValue van de synchrone service Dem_J1939DcmReadDiagnosticReadiness2, die in Dem_J1939Dcm.h is gedefinieerd [SWS_Dem_00983]. Bij de aanroep geeft de J1939-DCM een ClientId door ter adressering van het specifieke gebeurtenisgeheugen in de DEM [SWS_Dem_00983]. De functie bepaalt de actuele tellerstanden en bevestigt de succesvolle beschikbaarstelling met de teruggeefwaarde E_OK respectievelijk signaleert fouten met E_NOT_OK [SWS_Dem_00983].
Wat de gelijktijdigheid betreft is de uitlezende service re-entrant voor verschillende ClientId-waarden, maar niet-re-entrant voor identieke ClientId-waarden [SWS_Dem_00983].
Deze gebruiksinstructie is automatisch gegenereerd door een AI. Alle uitspraken zijn uitsluitend gebaseerd op de verstrekte specificatieomvang van AUTOSAR R20-11.
type 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
Het structuurtype Dem_J1939DcmDiagnosticReadiness3Type beeldt conform [SWS_Dem_00951] alle gegevenselementen van het diagnosebericht DM26 (Diagnostic Readiness 3) af. De codering van de opgenomen velden richt zich bindend naar SAE J1939-73 [SWS_Dem_00951].
De structuur omvat een databuffer van 8 bytes en is samengesteld uit de volgende afzonderlijke velden [SWS_Dem_00951]:
TimeSinceEngineStart(uint16): Motorlooptijd sinds het inschakelen van het contact.NumberofWarmupsSinceDTCsCleared(uint8): Aantal OBD-opwarmcycli sinds het wissen van alle foutcodes.ContinuouslyMonitoredSystemsEnableCompletedStatus(uint8): Vrijgave- en voltooiingsstatus van continu bewaakte systemen.NonContinuouslyMonitoredSystemsEnableStatus5enNonContinuouslyMonitoredSystemsEnableStatus6(elkuint8): Vrijgavestatus van niet-continue monitoren in de huidige cyclus (byte 5 en 6).NonContinuouslyMonitoredSystems7enNonContinuouslyMonitoredSystems8(elkuint8): Voltooiingsstatus van niet-continue monitoren in de huidige cyclus (byte 7 en 8).
Gebruik en interactie: Een instantie van dit type wordt als uitvoerparameter DataValue doorgegeven aan de synchrone functie Dem_J1939DcmReadDiagnosticReadiness3 [SWS_Dem_00770]. De DEM bepaalt de DM26-waarden voor de doorgegeven ClientId van het J1939-gebeurtenisgeheugen en levert als retourwaarde E_OK bij een succesvolle uitvoering of E_NOT_OK bij een fout [SWS_Dem_00770].
Gelijktijdigheid en beperkingen: De uitlezende functieaanroep is re-entrant voor verschillende ClientId-waarden, maar mag voor dezelfde ClientId niet gelijktijdig plaatsvinden [SWS_Dem_00770]. Vermoedelijk fungeert de module J1939Dcm als primaire aanroeper. Vraag Q-e001ad1880fee789 (open) Het type is gedeclareerd in Dem.h [SWS_Dem_00951], terwijl de bijbehorende leesservice beschikbaar wordt gesteld via Dem_J1939Dcm.h [SWS_Dem_00770].
Deze gebruiksinstructie is gebaseerd op de bepalingen van de AUTOSAR-specificatie voor de Diagnostic Event Manager.
type Dem_DataType [SWS_Dem_91026] 📄 PDF
Data type definition for external data elements
type Dem_DataPrimitiveType [SWS_Dem_91033] 📄 PDF
type Dem_DataArrayType [SWS_Dem_91034] 📄 PDF
Array data type definition for external data elements
type 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.
type Dem_DebounceResetStatusType [SWS_Dem_00927] 📄 PDF
This type contains all definitions to control an internal debounce counter/timer via the function Dem_ResetEventDebounceStatus().
Het datatype Dem_DebounceResetStatusType stuurt het gedrag van interne ontdendertellers en ontdendertimers in de Diagnostic Event Manager aan [SWS_Dem_00927]. Het is gedefinieerd als uint8, beschikbaar via het headerbestand Rte_Dem_Type.h en stelt twee gedefinieerde stuurtoestanden ter beschikking [SWS_Dem_00927]:
DEM_DEBOUNCE_STATUS_FREEZE(0x00): Bevriest de interne ontdenderteller of ontdendertimer van het geadresseerde event [SWS_Dem_00927].DEM_DEBOUNCE_STATUS_RESET(0x01): Reset de interne ontdenderteller of ontdendertimer [SWS_Dem_00927].
Waarden in het bereik van 0x02 tot 0xFF zijn gereserveerd [SWS_Dem_00927]. Het type wordt als parameter DebounceResetStatus doorgegeven aan de servicefunctie Dem_ResetEventDebounceStatus() [SWS_Dem_00683]. Deze aanroep vindt synchroon plaats en stuurt de interne ontdenderstatus aan, zonder daarbij de kwalificatie van het desbetreffende event direct te beïnvloeden [SWS_Dem_00683].
Wat betreft gelijktijdigheid is Dem_ResetEventDebounceStatus() reentrant voor verschillende EventId-waarden, maar mag niet gelijktijdig worden aangeroepen voor dezelfde EventId [SWS_Dem_00683]. BSW-modules kunnen de interface gebruiken zodra de basisinitialisatie Dem_PreInit is voltooid [SWS_Dem_00683]. Voor softwarecomponenten vindt de beschikbaarstelling vermoedelijk plaats via poortspecifieke interfaces zoals DiagnosticMonitor, die de wijziging van eventinformatie toestaan [SWS_Dem_00598]. Vraag Q-32468003718a4933 (open) In geval van een fout levert de aanroepende functie E_NOT_OK op, wat volgens de specificatie uitsluitend optreedt bij ontwikkelingsfouten [SWS_Dem_00683].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
Implementer's Guide volgt (complexiteit I1)
type Dem_DTRControlType [SWS_Dem_00941] 📄 PDF
Control parameter for the interpretation of the reported test results.
type 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.
type Dem_EventStatusType [SWS_Dem_00926] 📄 PDF
This type contains all monitor test result values, which can be reported via Dem_SetEventStatus().
Het gegevenstype Dem_EventStatusType is afgeleid van uint8 en is beschikbaar via de header Rte_Dem_Type.h ([SWS_Dem_00926]). Het dient voor Software-Components (SW-C's) en BSW-modules om de testresultaten van een diagnosemonitor aan de DEM te melden ([SWS_Dem_00926], [SWS_Dem_00183]).
Het type definieert de volgende monitor-resultaatwaarden ([SWS_Dem_00926]):
DEM_EVENT_STATUS_PASSED(0x00) enDEM_EVENT_STATUS_FAILED(0x01): Overdracht van gekwalificeerde testresultaten (geslaagd resp. mislukt).DEM_EVENT_STATUS_PREPASSED(0x02) enDEM_EVENT_STATUS_PREFAILED(0x03): Voorlopige, ongekwalificeerde monitor-testresultaten waarvan de ontdendering intern in de DEM plaatsvindt.DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED(0x04): Triggert de opslag van FreezeFrames en ExtendedDataRecords bij het bereiken van de FDC-drempelwaarde (ON_FDC_THRESHOLD).- De waardebereiken 0x05 tot 0xFF zijn gereserveerd.
Het type wordt gebruikt als ingangsparameter EventStatus in de BSW-API's Dem_SetEventStatus() ([SWS_Dem_00183]) en Dem_SetEventStatusWithMonitorData() ([SWS_Dem_91037]) en via de interfaces DiagnosticMonitor ([SWS_Dem_00598]) en DiagnosticMonitor_MonitorData ([SWS_Dem_91038]). De aanroep vindt synchroon of asynchroon plaats ([SWS_Dem_00183], [SWS_Dem_91037]).
De functies leveren Std_ReturnType op (E_OK bij succes, E_NOT_OK bij fouten of afwijzing), waarbij aanroepende BSW-modules de retourwaarde van Dem_SetEventStatus() mogen negeren ([SWS_Dem_00183]). Wat betreft gelijktijdigheid zijn de aanroepen voor verschillende EventId reentrant, maar voor dezelfde EventId niet-reentrant ([SWS_Dem_00183], [SWS_Dem_91037]). Bovendien hangt de beschikbaarheid van de doel-API's af van de configuratie van de parameter DemEventReportingType ([SWS_Dem_00183], [SWS_Dem_91037]).
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp. Bindend is de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
type Dem_DTCFormatType [SWS_Dem_00933] 📄 PDF
This type is used to select the format of the DTC value.
type Dem_InitMonitorReasonType [SWS_Dem_00942] 📄 PDF
(Re-)Initialization reason returned by the callback
Gebruik en waardebereik
Het datatype Dem_InitMonitorReasonType is gebaseerd op uint8 en is beschikbaar via Rte_Dem_Type.h [SWS_Dem_00942]. Het kenmerkt de concrete oorzaak voor een (her)initialisatie van een diagnosemonitor, zodat deze de passende initialisatieroutine voor de betreffende gebeurtenis kan selecteren en uitvoeren [SWS_Dem_00942] [SWS_Dem_00256].
Voor het type zijn de volgende waarden gedefinieerd [SWS_Dem_00942]:
DEM_INIT_MONITOR_CLEAR(0x01): De diagnosegebeurtenis is gewist; alle interne waarden en toestanden worden gereset.DEM_INIT_MONITOR_RESTART(0x02): De bedrijfscyclus van de gebeurtenis is opnieuw gestart.DEM_INIT_MONITOR_REENABLED(0x03): Vrijgavevoorwaarden (Enable Conditions) of DTC-instellingen zijn weer geactiveerd.DEM_INIT_MONITOR_STORAGE_REENABLED(0x04): Een opslagvoorwaarde (Storage Condition) is weer geactiveerd.
Aanroepcontext en interfaces
De waarde wordt synchroon en re-entrant doorgegeven als ingangsparameter InitMonitorReason via de gebeurtenisspecifieke C-callback <Module>_DemInitMonitorFor<EventName>(), die in Dem_Externals.h is gedeclareerd [SWS_Dem_00256]. Als er een poortinterface naar de softwarecomponent bestaat, vindt de overdracht plaats naar de operatie InitMonitorForEvent van de service-interface CallbackInitMonitorForEvent [SWS_Dem_00613].
Foutafhandeling en retourwaarden
Bij de C-callback is de teruggeefwaarde van het type Std_ReturnType ongebruikt en dient deze louter voor compatibiliteit met de overeenkomstige RTE-operatie [SWS_Dem_00256]. Wordt de interface via de RTE aangeroepen, dan levert de operatie InitMonitorForEvent de foutwaarden E_OK (succesvol) of E_NOT_OK (mislukt) terug [SWS_Dem_00613]. Eigen foutcodes of DET-/DEM-meldingen zijn voor dit datatype niet gedefinieerd.
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
type Dem_IumprDenomCondIdType [SWS_Dem_00943] 📄 PDF
This type contains all possible additional IUMPR denominator conditions to be broadcasted among OBD-relevant ECUs.
type 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.
Gebruik
Het type Dem_IumprDenomCondStatusType is gebaseerd op uint8 en definieert de mogelijke statustoestanden van een aanvullende IUMPR-noemervoorwaarde voor distributie tussen OBD-relevante ECU's [SWS_Dem_00944]. Het type is beschikbaar via Rte_Dem_Type.h en omvat de volgende waarden [SWS_Dem_00944]:
DEM_IUMPR_DEN_STATUS_NOT_REACHED(0x00): De voorwaarde is (nog) niet vervuld.DEM_IUMPR_DEN_STATUS_REACHED(0x01): De voorwaarde is vervuld.DEM_IUMPR_DEN_STATUS_INHIBITED(0x02): De voorwaarde is geblokkeerd en kan niet worden bereikt.
Waarden in het bereik van 0x03 tot 0xFF zijn gereserveerd [SWS_Dem_00944].
Interactie en service-interfaces
In het kader van de service-interface IUMPRDenominatorCondition wordt de status voor voorwaarden zoals General Denominator, Cold start, EVAP of 500mi overgedragen [SWS_Dem_00733] [SWS_Dem_00742]. Er bestaan twee centrale servicefuncties:
Dem_SetIUMPRDenCondition: Geeft de status via de ingangsparameterConditionStatussynchroon of asynchroon door aan de DEM van een ECU [SWS_Dem_00733].Dem_GetIUMPRDenCondition: Vraagt de status synchroon op via de pointer-uitgangsparameterConditionStatusvan de ECU waarop de voorwaarden worden berekend [SWS_Dem_00734].
Foutafhandeling en gelijktijdigheid
Beide functies zijn gespecificeerd als re-entrant [SWS_Dem_00733] [SWS_Dem_00734]. Bij succesvolle uitvoering geven de API's E_OK terug; als het instellen of opvragen mislukt of de voorwaarde niet kan worden geaccepteerd, leveren ze E_NOT_OK [SWS_Dem_00733] [SWS_Dem_00734].
Deze gebruiksinstructie is automatisch gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
type Dem_MaxDataValueType [SWS_Dem_01072] 📄 PDF
type Dem_MonitorDataType [SWS_Dem_91036] 📄 PDF
This type is used to pass monitoring data to the Dem.
type Dem_IndicatorStatusType [SWS_Dem_00930] 📄 PDF
Indicator mode used by Dem_GetIndicatorStatus().
Het datatype Dem_IndicatorStatusType is gebaseerd op uint8 en wordt beschikbaar gesteld via Rte_Dem_Type.h [SWS_Dem_00930]. Het representeert de van de UDS-status afgeleide bedrijfsmodi van waarschuwingsindicaties [SWS_Dem_00205]. Het spectrum van toestanden reikt van DEM_INDICATOR_OFF (0x00) via DEM_INDICATOR_CONTINUOUS (0x01), DEM_INDICATOR_BLINKING (0x02), DEM_INDICATOR_BLINK_CONT (0x03), DEM_INDICATOR_SLOW_FLASH (0x04), DEM_INDICATOR_FAST_FLASH (0x05) en DEM_INDICATOR_ON_DEMAND (0x06) tot aan DEM_INDICATOR_SHORT (0x07) [SWS_Dem_00930].
Het type wordt toegepast als uitvoerparameter in de synchrone C-functie Dem_GetIndicatorStatus() [SWS_Dem_00205] en in de operatie GetIndicatorStatus van de servicepoort IndicatorStatus [SWS_Dem_00606]. Voor elke geconfigureerde indicator stelt de DEM-servicecomponent een eigen poort beschikbaar, waarbij de respectieve IndicatorId fungeert als poortgedefinieerd argument [SWS_Dem_00606]. De opvragende softwarecomponent gebruikt de vastgestelde status typisch voor de aansturing van optische of akoestische weergave-instrumenten. Vraag Q-6bfabb33805bd0e8 (open)
Aanroepers moeten in acht nemen dat Dem_GetIndicatorStatus() gespecificeerd is als niet-reentrant (Non Reentrant) [SWS_Dem_00205]. Bovendien is de opvraag-API alleen beschikbaar als er in de configuratie ten minste één indicator onder DemIndicator is vastgelegd [SWS_Dem_00205]. De operatie meldt de uitvoeringsstatus via de retourwaarde Std_ReturnType met E_OK bij succesvolle evaluatie of E_NOT_OK in geval van een fout [SWS_Dem_00205][SWS_Dem_00606].
Deze tekst is gegenereerd door een AI en dient als oriëntatiehulp binnen de AUTOSAR-omgeving.
Implementer's Guide volgt (complexiteit I1)
type Dem_PID21valueType [SWS_Dem_01073] 📄 PDF
type Dem_PID31valueType [SWS_Dem_01074] 📄 PDF
type 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.
type Dem_PID4DvalueType [SWS_Dem_91028] 📄 PDF
type 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#57051083- Content hash
57051083- 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 · Duits origineel