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
fonction 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)
fonction Dem_PreInit [SWS_Dem_00179] 📄 PDF
void Dem_PreInit (void);
Initializes the internal states necessary to process events reported by BSW-modules.
La fonction Dem_PreInit sert, lors de la phase de démarrage du système, à la pré-initialisation des états internes du module DEM requis pour le traitement précoce des notifications d'événements issues des modules BSW ([SWS_Dem_00179], [SWS_Dem_00180]). L'appel est synchrone, non réentrant et ne possède ni paramètre de transmission ni valeur de retour ([SWS_Dem_00179]).
L'appel de Dem_PreInit initialise les mécanismes internes de filtrage, y compris les compteurs et les temporisateurs ([SWS_Dem_01213]). Si un filtrage interne au DEM est configuré, le module réinitialise l'algorithme de filtrage correspondant ([SWS_Dem_00438]).
Après l'achèvement réussi de Dem_PreInit et avant l'appel de Dem_Init, des interfaces et comportements sélectionnés sont activés :
- État d'événement et filtrage : les appels de
Dem_SetEventStatussont pris en charge pour le filtrage avec les étatsDEM_EVENT_STATUS_PREPASSEDetDEM_EVENT_STATUS_PREFAILED([SWS_Dem_01212]). Cependant, tous les événements signalés avantDem_Initne déclenchent aucun callback de changement d'état du moniteur ([SWS_Dem_01289]). - Contrôle de l'état de filtrage : la fonction
Dem_ResetEventDebounceStatuspermettant de réinitialiser ou de figer les compteurs de filtrage est à la disposition des modules BSW après l'achèvement deDem_PreInit([SWS_Dem_00180], [SWS_Dem_00683]). - Seuils de confirmation et cycles de fonctionnement : le DEM prend en charge les appels de
Dem_SetEventConfirmationThresholdCounteraprèsDem_PreInit([SWS_Dem_01242]). Un appel deDem_RestartOperationCyclen'est également autorisé qu'à partir de ce moment ; si un cycle de fonctionnement est redémarré avantDem_Init, le traitement effectif du redémarrage n'a lieu qu'aprèsDem_Init([SWS_Dem_01318]).
Ce texte a été généré par une IA sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I2)
fonction Dem_Init [SWS_Dem_00181] 📄 PDF
void Dem_Init (const Dem_ConfigType* ConfigPtr);
Initializes or reinitializes this module.
La fonction synchrone et non réentrante Dem_Init initialise ou réinitialise complètement le module Diagnostic Event Manager (DEM) conformément à [SWS_Dem_00181]. Une fois cet appel terminé, le DEM est pleinement opérationnel ([SWS_Dem_00340]). Via le paramètre d'entrée ConfigPtr, un pointeur vers le jeu de données de configuration post-build est transmis dans VARIANT-POST-BUILD ([SWS_Dem_00181]).
Dans le cadre de la séquence d'initialisation, Dem_Init effectue des étapes essentielles de restauration et de synchronisation :
- Initialisation d'état et des moniteurs : les états des moniteurs et des composants sont initialisés ([SWS_Dem_01324]). Alors que les appels de
Dem_GetMonitorStatusfournissentE_NOT_OKavant la fin de l'initialisation ([SWS_Dem_01326]),Dem_GetMonitorStatusetDem_GetComponentFailedrenvoientE_OKaprès ce moment ([SWS_Dem_01324]). - Mémoire non volatile (NVM) : s'il est configuré (
DemDebounceCounterStorage == True), le DEM restaure le compteur anti-rebond interne au plus tard dansDem_Init([SWS_Dem_00675]). De même, les données de Freeze Frame préconfigurées sont chargées depuis la NVM avant le retour de la fonction ([SWS_Dem_01322]), ce pour quoi le DEM a recours à des API NvM telles queNvM_ReadBlock([SWS_Dem_00164]). L'appel deDem_Initlève en outre le verrouillage de la mémoire d'événements après unDem_Shutdownpréalable ([SWS_Dem_00102]). - Interaction et mise en mémoire tampon : si
DemTriggerFiMReportsest défini surTrue,Dem_Initappelle exclusivement à ce momentFiM_DemInitafin d'initialiser les autorisations dans le Function Inhibition Manager ([SWS_Dem_01189]). Les événements mis en mémoire tampon avantDem_Init([SWS_Dem_00167], [SWS_Dem_01079]) ne déclenchent aucun callback de changement d'état de moniteur avantDem_Init([SWS_Dem_01289]). Un redémarrage de cycle demandé avantDem_InitviaDem_RestartOperationCyclen'est traité qu'aprèsDem_Init([SWS_Dem_01318]).
Concernant le traitement des erreurs : si Dem_Shutdown a été appelé, le DEM acquitte les appels de la plupart des API par l'erreur DEM_E_UNINIT lorsque la détection d'erreurs de développement est active, jusqu'à ce que Dem_Init soit de nouveau exécuté ([SWS_Dem_00368]).
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction Dem_Shutdown [SWS_Dem_00182] 📄 PDF
void Dem_Shutdown (void);
Shuts down this module.
La fonction synchrone et non réentrante Dem_Shutdown sert à l’arrêt ordonné du module Diagnostic Event Manager ([SWS_Dem_00182]). Elle ne possède ni paramètre d’entrée ni paramètre de retour ([SWS_Dem_00182]). Le contexte d’appel se situe vraisemblablement dans le cadre de la séquence centrale d’arrêt du calculateur. Question Q-a0e6a5700c49d786 (ouverte)
Lors de l’appel, Dem_Shutdown termine toutes les opérations encore en attente du module DEM afin de préparer les états internes et les données pour le transfert vers la NVRAM ([SWS_Dem_00102]). Pour les données non volatiles modifiées, le DEM déclenche la sauvegarde en NVRAM avant ou pendant Dem_Shutdown ([SWS_Dem_00341]). Dans la mesure requise, le module utilise pour la sauvegarde et la restauration de données entre Dem_Init et Dem_Shutdown les interfaces NvM_WriteBlock et NvM_ReadBlock du NVRAM Manager ([SWS_Dem_00164]). Si le DEM a été configuré de sorte que les données de trame figée pré-enregistrées soient stockées de manière non volatile, ce stockage a lieu en une seule fois et au plus tard pendant Dem_Shutdown ([SWS_Dem_01321]).
Avec l’exécution de l’arrêt, la mémoire d’événements est verrouillée et ne doit plus être modifiée jusqu’à un nouvel appel de Dem_Init ([SWS_Dem_00102]). De plus, les conditions d’erreur suivantes s’appliquent lorsque la détection d’erreurs de développement (Development Error Detection) est activée :
- Si, après
Dem_Shutdown, une API du DEM est appelée – à l’exception deDem_SetEventStatus,Dem_ResetEventDebounceStatus,Dem_GetVersionInfoetDem_MainFunction–, le module positionne le code d’erreurDEM_E_UNINITjusqu’au prochainDem_Init([SWS_Dem_00368]). - Si
Dem_SetEventStatusouDem_ResetEventDebounceStatussont appelées aprèsDem_Shutdownpour des événements pour lesquelsDemDebounceCounterStorageest défini surTrue, le DEM signale le code d’erreurDEM_E_WRONG_CONDITION([SWS_Dem_00676]).
Ce texte a été généré par une IA et sert de guide d’orientation. Seules les stipulations de la spécification AUTOSAR respective font foi.
Guide de l'implémenteur à venir (complexité I2)
fonction Dem_ClearDTC [SWS_Dem_00665] 📄 PDF
Std_ReturnType Dem_ClearDTC (uint8 ClientId);
Clears single DTCs, as well as groups of DTCs.
La fonction asynchrone Dem_ClearDTC sert à effacer des codes de défaut de diagnostic (DTC) individuels ou des groupes entiers de DTC dans le Diagnostic Event Manager [SWS_Dem_00665]. Avant l'appel, la sélection cible comprenant le DTC, le format et l'emplacement mémoire doit avoir été définie au moyen de Dem_SelectDTC pour le ClientId respectif [SWS_Dem_01253]. La fonction est réentrante pour différentes valeurs de ClientId, mais non réentrante pour un même client [SWS_Dem_00665].
L'opération d'effacement est confirmée par E_OK dès qu'elle s'est achevée avec succès [SWS_Dem_00665]. Tant que le nettoyage est en cours, l'API renvoie DEM_PENDING, à la suite de quoi l'appelant doit rappeler la fonction à un moment ultérieur [SWS_Dem_00665]. Si une autre opération dépendante de Dem_SelectDTC est active en parallèle pour le même client, DEM_BUSY est signalé [SWS_Dem_00665]. Le DEM traite en interne plusieurs requêtes clientes parallèles [SWS_Dem_00661], des appels concurrents pendant un processus d'effacement en cours pouvant recevoir DEM_PENDING [SWS_Dem_00664] ou DEM_CLEAR_BUSY [SWS_Dem_00665].
L'API acquitte les appels erronés avec des valeurs de retour spécifiques :
E_NOT_OK: aucun DTC n'a été préalablement sélectionné [SWS_Dem_00665].DEM_WRONG_DTC: le DTC n'existe pas [SWS_Dem_00665], est supprimé [SWS_Dem_01100] ou la configurationDemClearDTCLimitationimposeDEM_ONLY_CLEAR_ALL_DTCS[SWS_Dem_00670].DEM_WRONG_DTCORIGIN: l'emplacement mémoire sélectionné n'existe pas [SWS_Dem_00665].DEM_CLEAR_FAILEDouDEM_CLEAR_MEMORY_ERROR: l'effacement a échoué ou une erreur est survenue lors de l'effacement dans la mémoire non volatile [SWS_Dem_00665].
Dans le cadre de l'effacement, tous les événements associés aux DTC combinés sont nettoyés [SWS_Dem_00440] et l'initialisation de leurs moniteurs est déclenchée via InitMonitorForEvent avec DEM_INIT_MONITOR_CLEAR [SWS_Dem_00680]. Lorsque DemTriggerMonitorInitBeforeClearOk est défini, le renvoi de E_OK n'a lieu qu'après ce déclencheur [SWS_Dem_00573]. Si tous les DTC d'une mémoire des événements sont effacés, le DEM réinitialise son indicateur de dépassement [SWS_Dem_00399] ; de plus, pour le service OBD $04, les données DTR non affectées sont réinitialisées [SWS_Dem_00764] et les événements non liés à la mémoire sont nettoyés [SWS_Dem_01249].
Ce texte a été généré par une IA et sert à l'orientation technique.
Guide de l'implémenteur à venir (complexité I2)
fonction 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)
Utilisation et contexte d'appel
La fonction synchrone Dem_ClearPrestoredFreezeFrame supprime un Freeze Frame précédemment mis en mémoire tampon pour un événement de diagnostic déterminé ([SWS_Dem_00193]). L'appel s'effectue exclusivement via la RTE ; aucune déclaration n'est fournie dans le fichier d'en-tête Dem.h ([SWS_Dem_00193]). L'API n'est implémentée dans le système que si au moins un événement a été configuré pour le pré-enregistrement (paramètre de configuration DemFFPrestorageSupported) ([SWS_Dem_00193], [SWS_Dem_00334]). La fonction renvoie E_OK en cas de suppression réussie et E_NOT_OK si l'opération échoue ([SWS_Dem_00193]).
Concurrence et restrictions
L'interface est réentrante pour différents ID d'événement (EventId), mais ne doit pas être exécutée de manière concurrente pour le même EventId ([SWS_Dem_00193]). Un appel avec des événements configurés comme événements esclaves (DemMultiEventTriggeringSlaveEventRef) ou comme événements de substitution (DemStorageConditionReplacementEventRef) n'est pas pris en charge ; le comportement du DEM est dans ce cas indéfini ([SWS_Dem_01339]). Si un événement est défini comme non disponible, il est traité comme un événement non configuré ([SWS_Dem_01108]) ; interprétation : l'appel devrait être rejeté dans ce cas avec E_NOT_OK. Question Q-d8ebaf6883138fdf (ouverte)
Interaction en cas de Multi-Event-Triggering
Pour autant que DemMultiEventTriggering soit configuré et que la fonction soit appelée pour un événement maître (DemMultiEventTriggeringMasterEventRef), le DEM déclenche automatiquement l'appel de suppression avec des paramètres identiques pour tous les événements esclaves associés (DemMultiEventTriggeringSlaveEventRef) ([SWS_Dem_01250]).
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Classic Release R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dem_GetComponentFailed [SWS_Dem_01115] 📄 PDF
Std_ReturnType Dem_GetComponentFailed (Dem_ComponentIdType ComponentId, boolean* ComponentFailed);
Gets the failed status of a DemComponent.
fonction 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.
fonction 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.
fonction 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
fonction Dem_GetMonitorStatus [SWS_Dem_91007] 📄 PDF
Std_ReturnType Dem_GetMonitorStatus (Dem_EventIdType EventID, Dem_MonitorStatusType* MonitorStatus);
Gets the current monitor status for an event.
fonction 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.
fonction Dem_GetDTCOfEvent [SWS_Dem_00198] 📄 PDF
Std_ReturnType Dem_GetDTCOfEvent (Dem_EventIdType EventId, Dem_DTCFormatType DTCFormat, uint32* DTCOfEvent);
Gets the DTC of an event.
fonction 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)
fonction Dem_GetEventAvailable [SWS_Dem_91040] 📄 PDF
Std_ReturnType Dem_GetEventAvailable (Dem_EventIdType EventId, boolean* AvailableStatus);
Get the Event's availability.
fonction 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.
fonction 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)
fonction 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.
fonction 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.
fonction Dem_GetEventMemoryOverflow [SWS_Dem_00559] 📄 PDF
Std_ReturnType Dem_GetEventMemoryOverflow (uint8 ClientId, Dem_DTCOriginType DTCOrigin, boolean* OverflowIndication);
Gets the event memory overflow indication status.
fonction 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.
fonction 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).
La fonction synchrone Dem_ResetEventDebounceStatus permet aux modules BSW et aux composants logiciels (SW-Cs) de geler ou de réinitialiser de manière ciblée le compteur ou temporisateur de dérebond interne d'un événement de diagnostic, sans influencer la qualification de l'événement [SWS_Dem_00683].
Utilisation et paramètres
L'action souhaitée est commandée via le paramètre DebounceResetStatus : la valeur DEM_DEBOUNCE_STATUS_FREEZE gèle le temporisateur de dérebond interne [SWS_Dem_00685], tandis que DEM_DEBOUNCE_STATUS_RESET réinitialise le compteur d'évaluation de défauts (Fault Detection Counter) associé [SWS_Dem_00684] [SWS_Dem_00927]. La fonction renvoie E_OK en cas d'exécution réussie et E_NOT_OK exclusivement dans le cas d'une erreur de développement [SWS_Dem_00683].
Gestion des erreurs et cycle de vie
L'API est déjà disponible pour les modules BSW après l'achèvement de Dem_PreInit et est donc dispensée du contrôle général d'initialisation avant initialisation complète [SWS_Dem_00124] [SWS_Dem_00683]. Lorsque la détection des erreurs de développement est activée, les conditions suivantes s'appliquent :
- Si la fonction est appelée avant la préinitialisation, le DEM signale l'erreur
DEM_E_UNINIT[SWS_Dem_00364]. - Si l'appel pour des événements dotés d'un compteur de dérebond persistant (
DemDebounceCounterStorageà True) a lieu avantDem_Initou aprèsDem_Shutdown,DEM_E_WRONG_CONDITIONest positionné [SWS_Dem_00676]. - Si un événement est marqué comme non disponible, il est traité comme un événement non configuré [SWS_Dem_01108].
Concurrence et restrictions
Dem_ResetEventDebounceStatus est réentrante pour différentes valeurs de EventId, mais n'est pas réentrante pour le même événement [SWS_Dem_00683]. Si DemMultiEventTriggering est configuré, un appel avec un événement maître déclenche des appels identiques pour tous les événements esclaves associés [SWS_Dem_01250]. Les appels directs pour de purs événements esclaves internes ou pour des événements référencés via DemStorageConditionReplacementEventRef ne sont pas pris en charge et entraînent un comportement indéfini [SWS_Dem_01339].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
La fonction Dem_ResetEventStatus sert à la réinitialisation de l’état d’erreur d’un événement de diagnostic et n’est disponible que via la RTE [SWS_Dem_00185]. L’appel s’effectue avec le EventId et possède une sémantique asynchrone : en cas d’acceptation réussie de la demande, la fonction retourne E_OK [SWS_Dem_00185]. Le module DEM réinitialise ensuite de manière différée le bit d’état 0 (TestFailed) à 0 et, en cas de configuration correspondante, remet l’algorithme interne de débounce à ses valeurs initiales [SWS_Dem_00187].
La requête échoue avec la valeur de retour E_NOT_OK si l’événement a déjà été testé au cours du cycle de fonctionnement actuel (le bit d’état UDS 6 est à 0) [SWS_Dem_00185], [SWS_Dem_00638], ou si l’événement est configuré ou défini comme non disponible [SWS_Dem_01108]. Un appel avant l’initialisation complète du DEM n’entraîne pas la notification de l’erreur DEM_E_UNINIT, même avec la détection d’erreurs de développement activée (DemDevErrorDetect) [SWS_Dem_00124].
En ce qui concerne la concurrence, Dem_ResetEventStatus est réentrante pour différentes valeurs de EventId, mais non réentrante pour le même EventId [SWS_Dem_00185]. Si DemMultiEventTriggering est configuré et que la fonction est appelée avec un événement maître, le DEM déclenche automatiquement le même appel pour tous les événements esclaves associés [SWS_Dem_01250]. Les appels directs avec un EventId configuré comme événement esclave ou comme DemStorageConditionReplacementEventRef ne sont pas pris en charge et mènent à un comportement indéfini [SWS_Dem_01339].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
La fonction Dem_RestartOperationCycle sert à redémarrer un cycle de fonctionnement ([SWS_Dem_00194]). L'appel s'effectue exclusivement via la RTE, raison pour laquelle aucune déclaration n'est exportée via Dem.h ([SWS_Dem_00194]).
Sémantique et paramètres
Le cycle de fonctionnement à redémarrer (par exemple Power Cycle ou Driving Cycle) est identifié via le paramètre d'entrée OperationCycleId ([SWS_Dem_00194]). La fonction opère de façon réentrante et asynchrone ([SWS_Dem_00194]) :
E_OK: la définition du cycle de fonctionnement a été acceptée et fait l'objet d'un traitement ultérieur asynchrone ([SWS_Dem_00194]).E_NOT_OK: la demande de définition du cycle a été rejetée ([SWS_Dem_00194]).
Interaction et déroulement asynchrone
Le comportement asynchrone empêche les violations des exigences temporelles typiques lorsqu'un grand nombre d'événements doivent être traités et que des moniteurs doivent être réinitialisés ([SWS_Dem_00194]). Les retours d'information asynchrones sont assurés par les callbacks associés InitMonitorForEvent ([SWS_Dem_00194]). Dans le cadre du redémarrage, le DEM réinitialise les moniteurs de diagnostic de tous les événements concernés en appelant leur callback InitMonitorForEvent avec le paramètre InitMonitorReason défini sur DEM_INIT_MONITOR_RESTART ([SWS_Dem_00679]).
Si un cycle de fonctionnement est redémarré via Dem_RestartOperationCycle, tous les cycles de fonctionnement qui en dépendent doivent également être redémarrés, pour autant qu'ils soient qualifiés ([SWS_Dem_01224]).
Ce texte a été généré par une IA et sert de guide d'orientation. La spécification AUTOSAR fait foi.
Guide de l'implémenteur à venir (complexité I2)
fonction 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)
La fonction sert à l'acquisition et à la mise en mémoire tampon synchrones des données Freeze Frame pour un événement de diagnostic spécifique [SWS_Dem_00188]. L'interface est exclusivement mise à disposition via la RTE et n'est pas exportée via Dem.h [SWS_Dem_00188]. Elle n'existe dans le module que si le pré-enregistrement est configuré pour au moins un événement (DemFFPrestorageSupported) [SWS_Dem_00334].
Valeurs de retour et traitement des erreurs :
E_OK: le Freeze Frame a été mis en mémoire tampon avec succès [SWS_Dem_00188].E_NOT_OK: la mise en mémoire tampon échoue [SWS_Dem_00188], en particulier si aucun tampon n'est plus libre (limité parDemMaxNumberPrestoredFF) [SWS_Dem_00808] ou si l'événement indiqué est défini comme non disponible [SWS_Dem_01108].
Concurrence et conditions d'appel : la fonction est réentrante pour des ID d'événement différents, mais pas pour le même EventId [SWS_Dem_00188].
Interaction lors du Multi-Event-Triggering : si la fonction est appelée avec un événement maître configuré (DemMultiEventTriggeringMasterEventRef), le DEM déclenche automatiquement des appels identiques pour tous les événements esclaves associés (DemMultiEventTriggeringSlaveEventRef) [SWS_Dem_01250]. Les appels directs avec un ID d'événement esclave ou avec un événement de substitution pour des conditions de stockage (DemStorageConditionReplacementEventRef) ne sont pas pris en charge et conduisent à un comportement indéfini [SWS_Dem_01339].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction synchrone Dem_SelectDTC sélectionne un DTC ou un groupe de DTC dans le format défini (DTCFormat) et la mémoire d’événements (DTCOrigin) pour un ClientId déterminé comme cible pour des opérations ultérieures [SWS_Dem_91016]. Elle déclenche le processus interne de sélection du DEM sur la mémoire d’événements assignée à ce ClientId [SWS_Dem_01254].
Concernant la concurrence et le contexte d’appel, la fonction est réentrante pour différents ClientId, mais non réentrante pour le même ClientId [SWS_Dem_91016]. Comme valeurs de retour sont définies [SWS_Dem_91016] :
E_OK: le DTC ou le groupe a été sélectionné avec succès [SWS_Dem_91016].DEM_BUSY: un autre appel deDem_SelectDTCou une opération dépendante de celui-ci pour ce client est actuellement déjà en cours d’exécution [SWS_Dem_91016].
Le résultat de la sélection est reflété dans les valeurs de retour des appels d’API ultérieurs [SWS_Dem_01254]. Le DEM utilise le DTC ou le groupe de DTC sélectionné comme cible pour les appels de fonction ultérieurs du même client tels que, entre autres, Dem_ClearDTC, Dem_DisableDTCRecordUpdate, Dem_GetFunctionalUnitOfDTC, Dem_GetSeverityOfDTC, Dem_GetStatusOfDTC, Dem_SelectFreezeFrameData, Dem_SelectExtendedDataRecord ainsi que Dem_SetDTCSuppression [SWS_Dem_01253]. De plus, Dem_SelectFreezeFrameData et Dem_SelectExtendedDataRecord reposent sur ce DTC sélectionné [SWS_Dem_01268], [SWS_Dem_01272].
Si l’une des API dépendantes est appelée sans qu’une sélection valide n’ait eu lieu au préalable ou si le DTC transmis est invalide dans le format spécifié, le DEM retourne DEM_WRONG_DTC [SWS_Dem_01261]. Si la zone mémoire demandée (DTCOrigin) n’est pas présente ou est invalide, les appels ultérieurs signalent DEM_WRONG_DTCORIGIN [SWS_Dem_01258], [SWS_Dem_01262]. Au moyen de Dem_GetDTCSelectionResult, il est possible de vérifier explicitement si la sélection avec E_OK a réussi et si le DTC est prêt pour le traitement ultérieur [SWS_Dem_01256], [SWS_Dem_01257].
Cette note d’utilisation a été créée par une IA et repose exclusivement sur les données de spécification d’AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction Dem_SetComponentAvailable [SWS_Dem_01117] 📄 PDF
Std_ReturnType Dem_SetComponentAvailable (Dem_ComponentIdType ComponentId, boolean AvailableStatus);
Set the availability of a specific DemComponent.
fonction 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)
fonction 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)
fonction Dem_SetEventAvailable [SWS_Dem_01080] 📄 PDF
Std_ReturnType Dem_SetEventAvailable (Dem_EventIdType EventId, boolean AvailableStatus);
Set the available status of a specific Event.
fonction Dem_SetEventConfirmationThresholdCounter [SWS_Dem_91004] 📄 PDF
Std_ReturnType Dem_SetEventConfirmationThresholdCounter (Dem_EventIdType EventId, uint8 FailureCycleCounterThreshold);
Set the failure confirmation threshold of an event.
fonction 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)
La fonction Dem_SetEventStatus permet aux SW-C et aux modules BSW de transmettre les résultats des tests de moniteur au DEM [SWS_Dem_00183], [SWS_Dem_00330]. Elle est disponible lorsque STANDARD_REPORTING est configuré pour l'événement [SWS_Dem_00183]. Sont transmis comme valeurs d'état des résultats qualifiés (DEM_EVENT_STATUS_PASSED, DEM_EVENT_STATUS_FAILED), des préqualifications pour le déparasitage interne au DEM (DEM_EVENT_STATUS_PREPASSED, DEM_EVENT_STATUS_PREFAILED) ou l'atteinte du seuil d'anti-rebond DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED [SWS_Dem_00926].
Concernant la concurrence, l'API est réentrante pour différentes valeurs de EventId, mais n'est pas réentrante pour le même EventId [SWS_Dem_00183]. Avant la pré-initialisation via Dem_PreInit, un appel entraîne l'erreur DEM_E_UNINIT lorsque la détection d'erreurs de développement est active [SWS_Dem_00364]. Après Dem_PreInit, mais encore avant Dem_Init, l'appel est en revanche autorisé [SWS_Dem_00124], [SWS_Dem_00180] ; les événements qualifiants sont mis en mémoire tampon dans une file d'attente dont la taille est déterminée via DemBswErrorBufferSize, tandis que les seuils FDC ne sont pas mis en mémoire tampon [SWS_Dem_00167], [SWS_Dem_00207]. Même après Dem_Shutdown, la fonction ne génère aucune erreur DEM_E_UNINIT [SWS_Dem_00368].
La valeur de retour est E_OK en cas de prise en charge réussie, ou E_NOT_OK en cas d'erreurs ou lorsque l'événement est défini comme non disponible [SWS_Dem_00183], [SWS_Dem_01108]. Les modules BSW peuvent ignorer la valeur de retour [SWS_Dem_00183]. Les rapports sont acceptés dès que les conditions d'activation (enable conditions) assignées sont remplies [SWS_Dem_00450] ; si le paramétrage DTC est désactivé, le DEM ignore le rapport pour le statut UDS [SWS_Dem_00626].
Dans le contexte d'appel, des actions synchrones peuvent être déclenchées :
- Notification du FiM lors d'un changement d'état via
FiM_DemTriggerOnEventStatus, dans la mesure oùDemTriggerFiMReportsest actif [SWS_Dem_00029]. - Acquisition de données de Freeze Frame synchrones et d'enregistrements Extended Data lorsque l'option
DEM_CAPTURE_SYNCHRONOUS_TO_REPORTINGest configurée [SWS_Dem_00805], [SWS_Dem_01082]. - Appels en cascade pour les événements esclaves configurés lorsque la configuration
DemMultiEventTriggeringest active [SWS_Dem_01250].
Cette note a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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)
La fonction Dem_SetEventStatusWithMonitorData sert à signaler au DEM un résultat de test de moniteur (EventStatus) pour un événement de diagnostic déterminé (EventId) conjointement avec des données supplémentaires spécifiques au moniteur (monitorData0 et monitorData1) [SWS_Dem_91037]. Elle possède la même fonctionnalité que Dem_SetEventStatus, mais transmet des paramètres supplémentaires en vue de leur enregistrement dans des données liées à l’événement [SWS_Dem_01333].
En interaction avec les opérations de lecture, la règle suivante s’applique : si une opération Read-Data est configurée pour fournir monitorData0, le DEM ajoute la monitorData0 transmise issue de Dem_SetEventStatusWithMonitorData au paramètre monitorData0 de cette opération Read-Data [SWS_Dem_01330].
Pour l’utilisation et la concurrence, les conditions suivantes s’appliquent :
- Disponibilité : l’API n’est disponible via
Dem.hque siDemEventReportingTypeest configuré surSTANDARD_REPORTING_WITH_MONITOR_DATA[SWS_Dem_91037]. - Exécution et réentrance : l’exécution est synchrone/asynchrone. La fonction est réentrante pour différents
EventId, mais non réentrante pour le mêmeEventId[SWS_Dem_91037]. - Valeurs de retour : elle fournit
E_OKen cas de positionnement réussi de l’état d’événement etE_NOT_OKsi le positionnement ou le traitement a échoué ou n’a pas pu être accepté [SWS_Dem_91037].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
fonction 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.
Utilisation et contexte d'appel
La fonction asynchrone Dem_SetWIRStatus sert aux composants logiciels à sécurité intégrée (failsafe SW-Cs) pour demander de manière ciblée le bit d'état Warning-Indicator-Requested (bit WIR) d'un événement de diagnostic [SWS_Dem_00839], [SWS_Dem_01303]. L'appel étant effectué exclusivement via la RTE, aucune déclaration n'existe dans le fichier d'en-tête Dem.h [SWS_Dem_00839].
Comportement fonctionnel et interactions
L'activation et la réinitialisation du bit dépendent du paramètre de transmission WIRStatus ainsi que de l'état des indicateurs configurés :
- Si
WIRStatus = TRUEest transmis, le DEM définit le bit WIR de l'événement concerné à 1 [SWS_Dem_00833]. - Avec
WIRStatus = FALSE, le bit WIR n'est remis à 0 que si aucun indicateur DEM référencé n'est activé [SWS_Dem_00834]. - Un bit WIR défini via
Dem_SetWIRStatusempêche en outre le DEM de remettre automatiquement à 0 le bit d'état UDS 7 (WarningIndicatorRequested) lorsque des cycles de déparasitage ou de guérison sont atteints [SWS_Dem_00503], [SWS_Dem_01233].
Concurrence et traitement des erreurs
L'API est réentrante pour différents événements, mais non réentrante pour le même EventId [SWS_Dem_00839]. En cas d'acceptation réussie, la fonction renvoie E_OK [SWS_Dem_00839]. La valeur de retour E_NOT_OK signale que la demande a été rejetée et doit être réitérée ; c'est notamment le cas lorsque le réglage des DTC est désactivé (disabled ControlDTCSetting) ou que l'événement est marqué comme non disponible [SWS_Dem_00836], [SWS_Dem_01108], [SWS_Dem_00839].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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
fonction 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.
fonction 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.
fonction 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.
fonction 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).
fonction Dem_GetFunctionalUnitOfDTC [SWS_Dem_00594] 📄 PDF
Std_ReturnType Dem_GetFunctionalUnitOfDTC (uint8 ClientId, uint8* DTCFunctionalUnit);
Gets the functional unit of the requested DTC.
fonction 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
fonction Dem_GetNumberOfFilteredDTC [SWS_Dem_00214] 📄 PDF
Std_ReturnType Dem_GetNumberOfFilteredDTC (uint8 ClientId, uint16* NumberOfFilteredDTC);
Gets the number of a filtered DTC.
fonction 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.
fonction 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.
fonction 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.
fonction Dem_SetFreezeFrameRecordFilter [SWS_Dem_00209] 📄 PDF
Std_ReturnType Dem_SetFreezeFrameRecordFilter (uint8 ClientId, Dem_DTCFormatType DTCFormat);
Sets a freeze frame record filter.
fonction 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.
fonction 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.
fonction 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).
Utilisation et déroulement
La fonction asynchrone Dem_DisableDTCRecordUpdate ([SWS_Dem_00233]) désactive la mise à jour de la mémoire d'événements pour un DTC préalablement défini via Dem_SelectDTC ([SWS_Dem_01253]). L'objectif de cet appel est de protéger contre l'écrasement ou la suppression les données associées à l'événement du défaut sélectionné dans le DTCOrigin respectif, afin de garantir des accès en lecture cohérents ultérieurs aux données de Freeze Frame et aux Extended Data Records ([SWS_Dem_00270]). L'instance de module appelante est identifiée par l'intermédiaire du paramètre ClientId ([SWS_Dem_00233]).
Valeurs de retour et gestion des erreurs
La fonction signale l'état de traitement par des valeurs de retour spécifiques ([SWS_Dem_00233]) :
E_OK: la mise à jour de la mémoire d'événements a été désactivée avec succès.DEM_PENDING: la désactivation est exécutée de manière asynchrone ; l'appelant doit rappeler la fonction ultérieurement.DEM_BUSY: une autre opération dépendant deDem_SelectDTCest déjà en cours de traitement pour ce client.E_NOT_OK: aucun DTC n'a été sélectionné au préalable.DEM_WRONG_DTC: le DTC sélectionné n'existe pas dans le format choisi ou un groupe de DTC a été sélectionné de manière non autorisée.DEM_WRONG_DTCORIGIN: l'origine indiquée (DTCOrigin) n'existe pas.
Concurrence et restrictions
Dem_DisableDTCRecordUpdate est réentrante pour des appels avec des ClientId différentes, mais non réentrante pour la même ClientId ([SWS_Dem_00233]). Seule la mise à jour d'exactement un DTC peut être verrouillée en même temps ([SWS_Dem_00233]). Après la lecture des données de diagnostic, la mise à jour de l'enregistrement de données doit être de nouveau libérée via Dem_EnableDTCRecordUpdate ([SWS_Dem_00234], [SWS_Dem_00270]).
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.
La fonction Dem_DisableDTCRecordUpdate désactive la mise à jour et la suppression en mémoire des données associées à un DTC spécifique (un seul à la fois) pour une origine de DTC donnée [SWS_Dem_00233]. Selon [SWS_Dem_00270], ce verrouillage protège les données d'événement afin de permettre une lecture cohérente lors des appels ultérieurs d'extraction des Freeze Frames ou des Extended Data Records.
Contexte d'appel et dépendances
L'opération cible le DTC préalablement configuré via Dem_SelectDTC, qui définit le DTC, le format et l'origine cibles [SWS_Dem_01253]. Après l'achèvement des opérations de lecture cohérente, la mise à jour de la mémoire doit être réactivée au moyen de Dem_EnableDTCRecordUpdate [SWS_Dem_00234].
Sémantique et valeurs de retour
Cette fonction asynchrone prend en paramètre un identifiant unique ClientId et renvoie un type Std_ReturnType [SWS_Dem_00233] :
E_OK: la désactivation de la mise à jour de la mémoire d'événements a réussi [SWS_Dem_00233].DEM_PENDING: l'opération est en cours d'exécution ; l'appelant doit rappeler la fonction ultérieurement [SWS_Dem_00233].DEM_BUSY: une autre opération dépendante deDem_SelectDTCest actuellement en cours pour ce client selon [SWS_Dem_01253] [SWS_Dem_00233].E_NOT_OK: aucun DTC n'a été sélectionné au préalable [SWS_Dem_00233].DEM_WRONG_DTC: le DTC sélectionné n'existe pas dans le format choisi ou un groupe de DTC a été sélectionné [SWS_Dem_00233].DEM_WRONG_DTCORIGIN: l'origine de DTC sélectionnée n'existe pas [SWS_Dem_00233].
Concurrence et réentrance
Le service est réentrant pour des ClientId distincts, mais non réentrant pour un même ClientId [SWS_Dem_00233].
Cette note d'utilisation a été générée par une IA et vérifiée selon les exigences formelles d'AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction asynchrone Dem_EnableDTCRecordUpdate ([SWS_Dem_00234]) sert à autoriser à nouveau la mise à jour de la mémoire des événements pour un DTC précédemment verrouillé. Conformément à [SWS_Dem_00271], la fonction libère à nouveau le DTC actuellement protégé par Dem_DisableDTCRecordUpdate, de sorte que ses données puissent de nouveau être mises à jour dans le DEM.
Comme paramètre de transmission, la fonction attend le ClientId, qui identifie de manière univoque l'instance du module appelant ([SWS_Dem_00234]). L'appel de Dem_EnableDTCRecordUpdate constituant l'action finale dans la séquence de désactivation et d'activation d'un DTC, l'appelant n'est pas intéressé par la valeur de retour effective ; c'est pourquoi, selon [SWS_Dem_00234], E_OK doit être renvoyé même lors d'une libération asynchrone.
En ce qui concerne le traitement des erreurs et les valeurs de retour, les états suivants sont définis ([SWS_Dem_00234]) :
E_OK: la mise à jour de l'enregistrement de DTC a été libérée avec succès.E_NOT_OK: aucun DTC n'est sélectionné.
En ce qui concerne la concurrence et les restrictions, Dem_EnableDTCRecordUpdate est réentrant pour les appels avec des ID client différents, mais non réentrant pour le même ClientId ([SWS_Dem_00234]).
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
fonction 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.
fonction 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.
fonction 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.
fonction 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.
La fonction asynchrone Dem_SelectExtendedDataRecord initialise le filtre pour la lecture de données de diagnostic étendues d'un DTC préalablement défini avec Dem_SelectDTC [SWS_Dem_91017] [SWS_Dem_01253]. Elle déclenche le processus de sélection interne dans la mémoire des événements associée du client [SWS_Dem_01273] et détermine l'enregistrement cible pour les interrogations ultérieures via Dem_GetSizeOfExtendedDataRecordSelection et Dem_GetNextExtendedDataRecord [SWS_Dem_01272].
Concernant le paramétrage et le déroulement, les règles suivantes s'appliquent :
- Paramètres : outre les numéros d'enregistrement spécifiques,
ExtendedDataNumberaccepte les valeurs0xFE(taille totale de tous les enregistrements OBD) ainsi que0xFF(taille totale de tous les enregistrements) [SWS_Dem_91017]. Pour éviter des incohérences de données pendant la lecture, l'enregistrement peut être préalablement protégé avecDem_DisableDTCRecordUpdate[SWS_Dem_00270]. - Valeurs de retour et erreurs : en cas de sélection réussie,
E_OKest renvoyé [SWS_Dem_91017]. Cela s'applique également lorsqu'un numéro d'enregistrement valide pour lequel aucune entrée n'est mémorisée est demandé ; dans ce cas, la lecture ultérieure fournit une taille de tampon de 0 [SWS_Dem_00631]. Si ce n'était pas un code de défaut individuel mais un groupe de DTC qui était sélectionné viaDem_SelectDTC, ou si le DTC n'existe pas, l'appel échoue avecDEM_WRONG_DTC[SWS_Dem_91017] [SWS_Dem_01349]. Si l'emplacement mémoire n'existe pas,DEM_WRONG_DTCORIGINest signalé [SWS_Dem_91017]. - Concurrence : si la sélection est encore en cours de traitement,
DEM_PENDINGsignale la nécessité d'un nouvel appel [SWS_Dem_91017]. L'étatDEM_BUSYindique qu'une autre opération dépendante du DTC est encore active pour ceClientId[SWS_Dem_91017]. La fonction est réentrante pour différentes valeurs deClientId, mais non réentrante pour la même instance [SWS_Dem_91017].
Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
Utilisation et sémantique
La fonction asynchrone Dem_SelectFreezeFrameData définit le filtre pour la lecture ultérieure des données de trame figée via Dem_GetSizeOfFreezeFrameSelection et Dem_GetNextFreezeFrameData [SWS_Dem_91015], [SWS_Dem_01268]. L'instance de module appelante est identifiée via le paramètre ClientId, tandis que RecordNumber spécifie le numéro d'enregistrement d'instantané selon l'ISO 14229-1 ; à cet égard, 0xFF correspond à tous les enregistrements d'instantané du DTC et 0x00 à l'instantané WWH-OBD spécifique au DTC [SWS_Dem_91015]. L'appel déclenche la sélection interne dans la mémoire des événements associée [SWS_Dem_01269].
Valeurs de retour et gestion des erreurs
Si le processus de sélection a été initié avec succès, la fonction renvoie E_OK [SWS_Dem_91015]. Si la sélection est encore en cours de traitement, DEM_PENDING signale que l'appelant doit rappeler la fonction à un moment ultérieur [SWS_Dem_91015]. Si une autre opération dépendante est déjà active pour le client, l'API renvoie DEM_BUSY [SWS_Dem_91015], [SWS_Dem_01253]. Si le DTC cible n'existe pas dans le format souhaité, ou si un groupe de DTC au lieu d'un DTC individuel a été sélectionné via Dem_SelectDTC, DEM_WRONG_DTC est renvoyé [SWS_Dem_91015], [SWS_Dem_01348]. En cas d'emplacement mémoire invalide, il en résulte DEM_WRONG_DTCORIGIN [SWS_Dem_91015]. Si des fonctions de lecture dépendantes sont appelées sans sélection préalable, le DEM signale une erreur DET [SWS_Dem_01270], [SWS_Dem_01271].
Ordre et concurrence
La fonction est réentrante pour différents appelants (ClientId), mais non réentrante pour un même client [SWS_Dem_91015]. Une condition préalable impérative est l'appel préalable de Dem_SelectDTC pour définir le DTC cible et l'emplacement mémoire [SWS_Dem_01253]. Afin de garantir une lecture cohérente, Dem_DisableDTCRecordUpdate peut être appelée pour protéger les données relatives aux événements contre les modifications ou les suppressions [SWS_Dem_00270].
Cette note d'utilisation a été générée automatiquement par une IA sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I2)
fonction 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
fonction 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.
Utilisation et sémantique
La fonction Dem_DisableDTCSetting désactive le DTC setting pour tous les événements de diagnostic associés au DemEventMemorySet du client appelant [SWS_Dem_00242], [SWS_Dem_01290]. L'appel s'effectue de manière asynchrone et requiert la transmission d'un ClientId unique [SWS_Dem_00242]. En plus de l'achèvement réussi via E_OK, la valeur de retour DEM_PENDING signale que l'opération est toujours en cours de traitement ; dans ce cas, l'appelant doit rappeler la fonction ultérieurement [SWS_Dem_00242].
Impacts fonctionnels
Si Dem_DisableDTCSetting est appelée, le DEM empêche l'enregistrement des événements correspondants ainsi que la mise à jour des octets d'état UDS [SWS_Dem_00079]. Si le paramètre de configuration DemDebounceBehavior est en outre défini sur DEM_DEBOUNCE_RESET, l'appel entraîne également la réinitialisation des compteurs de détection de défauts correspondants (Fault Detection Counters) [SWS_Dem_00677].
Concurrence et restrictions
La fonction est réentrante pour des appels avec des identifiants clients différents, mais non réentrante pour le même ClientId [SWS_Dem_00242]. La désactivation n'affecte exclusivement que les événements et les octets d'état UDS du DemEventMemorySet référencé par le ClientId ; les DTC situés en dehors de cette zone de mémoire ne sont pas affectés [SWS_Dem_01290].
Cette note d'utilisation est basée sur les exigences de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction asynchrone Dem_EnableDTCSetting active ou réactive le DTC setting pour tous les DTC associés au DemEventMemorySet du client adressé [SWS_Dem_00243]. Lors de l'appel, l'identifiant unique ClientId de l'instance de module appelante est transmis [SWS_Dem_00243].
Sont définies comme valeurs de retour [SWS_Dem_00243] :
E_OK: l'opération a été menée à bien avec succès.DEM_PENDING: l'opération est exécutée de manière asynchrone ; l'appelant doit rappeler la fonction ultérieurement.
Concernant la concurrence, Dem_EnableDTCSetting est réentrante pour différentes valeurs de ClientId, mais ne doit pas être appelée de manière concurrente pour le même ClientId [SWS_Dem_00243].
En interaction avec le traitement des événements, la fonction veille à ce que le DEM autorise l'enregistrement des événements correspondants et de l'octet d'état UDS [SWS_Dem_00080]. Si le DTC setting est réactivé pour les événements, Dem_EnableDTCSetting déclenche la fonction de rappel InitMonitorForEvent des événements concernés avec le paramètre InitMonitorReason sur DEM_INIT_MONITOR_REENABLED [SWS_Dem_00682].
Ce texte a été généré par une IA et sert à titre d'orientation. Seules les spécifications des versions AUTOSAR respectives font foi.
Guide de l'implémenteur à venir (complexité I1)
fonction 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
Utilisation
La fonction synchrone Dem_DcmGetInfoTypeValue08 ([SWS_Dem_00316]) est appelée par le DCM afin d'interroger les données IUMPR (In-Use Monitor Performance Ratio) pour l'InfoType $08 dans le cadre du service OBD $09 ([SWS_Dem_00298]). Le traitement s'effectuant de manière synchrone, le DCM ne transmet que la valeur DCM_INITIAL pour le paramètre OpStatus ([SWS_Dem_00316]). Les données utiles ainsi que le nombre d'éléments de données selon l'ISO-15031-5 sont écrits dans le tampon Iumprdata08 fourni par le DCM ; la taille maximale inscriptible du tampon est spécifiée via le paramètre inout Iumprdata08BufferSize ([SWS_Dem_00316]).
Gestion des erreurs
La fonction renvoie toujours E_OK comme valeur de retour ([SWS_Dem_00316]). Aucun code d'erreur spécifique ni message d'erreur de développement (DET) n'est spécifié pour cet appel.
Concurrence et configuration
L'interface n'est pas réentrante (Non Reentrant) et est déclarée via Dem_Dcm.h ([SWS_Dem_00316]). Elle existe exclusivement dans les calculateurs concernés par l'OBD avec prise en charge OBD active (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) ([SWS_Dem_00316]) et est fournie lorsque DemOBDEngineType est configuré sur DEM_IGNITION_SPARK pour les moteurs à allumage commandé ([SWS_Dem_00357]).
Interaction
Les codes de défaut supprimés (suppressed DTCs) ne doivent pas être visibles lors de l'interrogation et doivent être traités comme si le filtre ne s'appliquait pas ([SWS_Dem_01101]). Conjointement avec Dem_DcmGetInfoTypeValue0B, la fonction sert à la prise en charge des requêtes de données dans le service $09 ([SWS_Dem_00298]).
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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
Utilisation et interface de paramètres
La fonction synchrone Dem_DcmGetInfoTypeValue0B (Service-ID 0x6c, disponible via Dem_Dcm.h) sert au DCM pour interroger les données IUMPR (In-Use Performance Ratio) conformément à l'InfoType $0B dans le cadre du service OBD $09 [SWS_Dem_00317] [SWS_Dem_00298]. L'interface de fonction dérive du prototype DCM <Module>_GetInfotypeValueData(), raison pour laquelle elle utilise Dcm_OpStatusType et Std_ReturnType [SWS_Dem_00317] :
OpStatus(in) : la fonction présentant un comportement synchrone, seul l'étatDCM_INITIALse produit lors de l'appel [SWS_Dem_00317].Iumprdata0BBufferSize(inout) : définit le nombre maximal d'octets de données qui peuvent être écrits dans le tampon [SWS_Dem_00317].Iumprdata0B(out) : un tampon fourni par le DCM, qui reçoit le nombre d'éléments de données selon l'ISO-15031-5 et les contenus de l'InfoType $0B [SWS_Dem_00317].
E_OK est toujours renvoyé comme valeur de retour [SWS_Dem_00317].
Gestion des erreurs et concurrence
Aucun code d'erreur spécifique ou réaction aux erreurs (comme des messages DET) n'est défini dans la spécification pour cette fonction ; l'appel renvoie formellement toujours E_OK [SWS_Dem_00317]. L'API est classée comme non réentrante (Non Reentrant) [SWS_Dem_00317]. L'appelant (DCM) ne doit donc probablement pas exécuter ce service de façon concurrente pour plusieurs requêtes de diagnostic en parallèle. Question Q-636518c23ec3801a (ouverte)
Dépendance vis-à-vis de la configuration et interaction
L'API existe exclusivement dans les calculateurs concernés par l'OBD pour lesquels le paramètre de configuration DemOBDSupport est configuré différemment de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00317]. De plus, elle est mise à disposition lorsque DemOBDEngineType est défini sur DEM_IGNITION_COMPRESSION [SWS_Dem_00358]. En interaction avec la suppression de DTC, il s'applique que les DTC supprimés sont invisibles pour cette fonction d'interrogation et doivent être traités comme si le filtre ne s'appliquait pas [SWS_Dem_01101].
Ce texte a été rédigé par une IA ; les directives exigent une vérification par l'utilisateur à l'aide de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I2)
fonction 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)
La fonction synchrone Dem_DcmReadDataOfPID01 sert à transmettre au DCM le contenu du paramètre OBD PID $01 calculé par le DEM [SWS_Dem_00318]. L’interface est déclarée dans le fichier d’en-tête Dem_Dcm.h et n’est disponible que dans les calculateurs concernés par l’OBD pour lesquels DemOBDSupport n’est pas défini sur DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00318].
Via le paramètre de sortie PID01value, le DCM transmet un pointeur vers le tampon de destination dans lequel le DEM écrit les données [SWS_Dem_00318]. Le DCM est responsable de fournir ce tampon avec une taille suffisante ; le dimensionnement s’effectue lors de la configuration d’après le plus grand PID rencontré pour la mise en place du PIDBuffer [SWS_Dem_00318].
La fonction est implémentée de manière non réentrante (Non Reentrant) [SWS_Dem_00318]. Comme valeur de retour, E_OK est toujours fourni, car un état d’erreur avec E_NOT_OK ne survient jamais d’après la spécification [SWS_Dem_00318].
En interaction avec les requêtes d’erreurs, les codes d’erreur supprimés (suppressed DTC) ne doivent pas être visibles pour Dem_DcmReadDataOfPID01 [SWS_Dem_01101]. Le DEM doit traiter les DTC supprimés lors de l’évaluation comme si le filtre ne s’appliquait pas [SWS_Dem_01101].
Remarque : cette documentation a été générée automatiquement par un système d’IA sur la base de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
Utilisation et contexte d'appel
La fonction Dem_DcmReadDataOfPID1C fournit un service synchrone du Diagnostic Event Manager par l'intermédiaire duquel le Diagnostic Communication Module (DCM) interroge le contenu calculé de l'OBD PID $1C [SWS_Dem_00325].
-
Paramètres : via le paramètre de sortie
PID1Cvalue(pointeur versuint8), le DEM écrit les données dans un tampon du DCM. La taille de tampon requise est dimensionnée lors de la configuration du DCM à partir du plus grand PID, afin de fournir unPIDBufferadapté [SWS_Dem_00325]. -
Valeur de retour : le service renvoie systématiquement la valeur d'état
E_OK. Un cas d'erreur avecE_NOT_OKne se produit jamais conformément à la spécification [SWS_Dem_00325].
Contenu fonctionnel et interaction
Conformément à [SWS_Dem_00748], l'interface renvoie les exigences OBD selon lesquelles le véhicule ou le moteur est certifié (par exemple OBD, OBDII ou JOBD). La valeur à renvoyer dans PID1Cvalue est définie via le paramètre de configuration DemOBDCompliancy [SWS_Dem_00325] [SWS_Dem_00748].
Concurrence et disponibilité
La fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_Dem_00325]. Elle est déclarée dans le fichier d'en-tête Dem_Dcm.h et est exclusivement disponible dans les calculateurs avec support OBD actif où DemGeneral.DemOBDSupport n'est pas défini sur DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00325].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
La fonction synchrone Dem_DcmReadDataOfPID21 (Service-ID 0x64) sert au Diagnostic Communication Manager (DCM) à interroger la valeur actuelle, calculée par le DEM, du paramètre OBD PID $21 [SWS_Dem_00319], [SWS_Dem_01098]. L'interface est déclarée via l'en-tête Dem_Dcm.h et n'est disponible que dans les calculateurs ayant un rapport avec l'OBD, pour autant que le paramètre de configuration DemOBDSupport ne soit pas défini sur DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00319].
Les stipulations suivantes s'appliquent pour l'utilisation et l'interaction opérationnelle :
- Mise à disposition du tampon : le pointeur
PID21valueest transmis en tant que paramètre de sortie [SWS_Dem_00319]. L'appelant (DCM) doit fournir ce tampon et le dimensionne lors de la configuration pour l'adapter au plus grand PID configuré [SWS_Dem_00319]. Lors de l'appel, le DEM écrit la valeur actuelle du PID $21 dans ce tampon [SWS_Dem_01098]. - Valeur de retour : la fonction renvoie toujours
E_OK, car une valeur d'erreur telle queE_NOT_OKne survient jamais d'après la spécification [SWS_Dem_00319]. - État initial / traitement des erreurs : si
Dem_DcmReadDataOfPID21est appelée avant que des valeurs n'aient été définies viaDem_SetDataOfPID21, le DEM renvoie la valeur de remplacement0xFFFFcomme contenu du PID $21 [SWS_Dem_01099]. - Concurrence : la fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_Dem_00319]. Les appels concurrents par plusieurs contextes sont par conséquent interdits.
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
La fonction synchrone Dem_DcmReadDataOfPID30 sert à transmettre au DCM le contenu de données du paramètre PID $30 calculé par le DEM [SWS_Dem_00320]. Elle est déclarée via le fichier d'en-tête Dem_Dcm.h et n'est disponible que dans les calculateurs pertinents pour l'OBD lorsque le paramètre de configuration DemOBDSupport est différent de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00320].
Les stipulations suivantes s'appliquent à l'utilisation de l'interface :
- Paramètre de transmission : via le paramètre de sortie
PID30value, l'appelant fournit un tampon dans lequel le DEM écrit les données calculées du PID $30 [SWS_Dem_00320]. Le DCM est responsable de fournir ce tampon dans une taille appropriée ; le DCM détermine le dimensionnement lors de la configuration à l'aide du plus grand PID [SWS_Dem_00320]. - Valeur de retour et traitement des erreurs : l'interface renvoie toujours
E_OKen tant queStd_ReturnType[SWS_Dem_00320]. D'après la spécification, la valeur d'erreurE_NOT_OKne survient jamais, et aucun code d'erreur spécifique ni routine de traitement d'erreur distincte ne sont prévus [SWS_Dem_00320]. - Concurrence : la fonction est définie comme non réentrante (
Non Reentrant) [SWS_Dem_00320]. Étant donné que la spécification ne prévoit aucun mécanisme de synchronisation interne, l'appelant est probablement responsable d'exclure les appels concurrents [SWS_Dem_00320]. Question Q-976bc8dc189021a1 (ouverte)
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Classic R20-11.
fonction 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)
La fonction synchrone Dem_DcmReadDataOfPID31 sert à transmettre au DCM la valeur du paramètre OBD PID $31 calculée par le DEM [SWS_Dem_00321]. L'interface est mise à disposition via le fichier d'en-tête Dem_Dcm.h et possède le Service-ID 0x66 [SWS_Dem_00321].
Utilisation et paramètres
L'appel s'effectue de manière synchrone et est défini comme non réentrant [SWS_Dem_00321] :
- PID31value (paramètre de sortie) : pointeur vers un tampon (
uint8*) qui reçoit les données calculées pour le PID $31 [SWS_Dem_00321]. La fourniture du tampon dans une taille appropriée incombe au DCM appelant ; celui-ci détermine la taille de tampon requise lors de la configuration sur la base du plus grand PID afin de dimensionner unPIDBuffer[SWS_Dem_00321]. - Valeur de retour : le service renvoie toujours
E_OKen tant queStd_ReturnType; la valeur d'erreurE_NOT_OKne survient jamais d'après la spécification [SWS_Dem_00321].
Restrictions et configuration
L'API est exclusivement prévue pour les calculateurs concernés par l'OBD [SWS_Dem_00321]. Elle n'est disponible que si le paramètre de configuration DemGeneral.DemOBDSupport est défini sur la valeur DEM_OBD_MASTER_ECU [SWS_Dem_00321]. La fonction n'étant pas réentrante, des appels parallèles par le DCM ne doivent pas avoir lieu [SWS_Dem_00321].
Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les données de spécification issues de la version R20-11.
fonction 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)
La fonction synchrone Dem_DcmReadDataOfPID41 sert à transmettre au DCM le contenu du PID $41 calculé par le DEM [SWS_Dem_00322]. Elle est déclarée via l'en-tête Dem_Dcm.h et possède le Service-ID 0x67 [SWS_Dem_00322].
Utilisation et paramètres
L'appel s'effectue de manière synchrone et est spécifié comme non réentrant (Non Reentrant) [SWS_Dem_00322]. Comme paramètre de sortie, l'interface attend le pointeur PID41value (uint8*) :
PID41valuereçoit les données calculées du PID $41 [SWS_Dem_00322].- Le tampon doit être fourni par le DCM dans une taille appropriée ; pour ce faire, le DCM détermine dès la configuration, à partir du plus grand PID existant, la taille nécessaire pour la configuration du
PIDBuffer[SWS_Dem_00322].
Valeurs de retour et gestion des erreurs
Comme valeur de retour, la fonction renvoie toujours E_OK, car une valeur d'erreur E_NOT_OK ne survient jamais d'après la spécification [SWS_Dem_00322]. Aucun code d'erreur spécifique ni réaction aux erreurs ne sont prévus pour cette interface [SWS_Dem_00322].
Dépendance vis-à-vis de la configuration et disponibilité
L'API n'est requise que dans les calculateurs concernés par l'OBD [SWS_Dem_00322]. Elle n'est disponible que si le paramètre de configuration DemOBDSupport dans DemGeneral est configuré avec une valeur différente de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00322].
Ce texte a été généré par une IA et s'appuie exclusivement sur la spécification R20-11.
fonction 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)
Utilisation et contexte d'appel
La fonction synchrone Dem_DcmReadDataOfPID4D sert à transmettre au DCM la valeur du paramètre OBD PID $4D calculée par le DEM [SWS_Dem_00323]. Le service est fourni via l'en-tête Dem_Dcm.h avec l'ID de service 0x68 [SWS_Dem_00323].
Le pointeur de sortie PID4Dvalue sert d'unique paramètre de transmission, lequel pointe vers un tampon cible fourni par le DCM [SWS_Dem_00323]. Le DCM fournit ce tampon avec une taille adaptée en déterminant dès la configuration, à partir du plus grand PID présent, la taille requise pour le PIDBuffer [SWS_Dem_00323].
Valeurs de retour et gestion des erreurs
La fonction possède le type de retour Std_ReturnType et renvoie sans exception E_OK [SWS_Dem_00323]. Une valeur de retour de E_NOT_OK est exclue conformément à la spécification et ne se produit jamais [SWS_Dem_00323]. Aucun traitement d'erreur particulier ni code d'erreur spécifique n'existe pour cet appel.
Concurrence et dépendance de configuration
L'interface est déclarée non réentrante (Non Reentrant) et ne doit donc pas être exécutée de manière concurrente [SWS_Dem_00323].
De plus, la fonction est exclusivement requise dans les calculateurs concernés par l'OBD [SWS_Dem_00323]. Elle n'est disponible que si, dans la configuration, le paramètre DemOBDSupport au sein de DemGeneral est défini sur la valeur DEM_OBD_MASTER_ECU [SWS_Dem_00323].
Cette note d'utilisation est basée sur la spécification du Diagnostic Event Manager dans AUTOSAR CP R20-11.
fonction 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)
La fonction synchrone Dem_DcmReadDataOfPID4E sert à transmettre au DCM le contenu de l'identifiant de paramètre OBD PID $4E calculé par le DEM [SWS_Dem_00324]. La fonction possède l'ID de service 0x69 et est déclarée via le fichier d'en-tête Dem_Dcm.h [SWS_Dem_00324].
Appel et gestion des tampons
L'appel s'effectue de manière synchrone et est défini comme non réentrant (Non Reentrant) [SWS_Dem_00324]. En guise de paramètre de sortie, la fonction accepte le pointeur PID4Evalue (type uint8*), via lequel le DEM dépose les données calculées [SWS_Dem_00324]. Le DCM appelant doit fournir pour cela un tampon de taille appropriée [SWS_Dem_00324]. Le DCM détermine la taille de tampon requise lors de la configuration à partir du plus grand PID rencontré, afin de dimensionner le PIDBuffer commun en conséquence [SWS_Dem_00324].
Valeurs de retour et gestion des erreurs
L'interface renvoie systématiquement E_OK de type Std_ReturnType, car la valeur de retour E_NOT_OK ne se produit jamais selon la spécification [SWS_Dem_00324]. Aucun code d'erreur spécifique en cas d'erreur ni aucun message d'erreur DET ou DEM n'est mentionné dans le périmètre de la spécification [SWS_Dem_00324].
Restrictions et disponibilité
L'API n'est requise que dans les calculateurs concernés par l'OBD [SWS_Dem_00324]. Sa disponibilité est liée à la condition de configuration DemGeneral.DemOBDSupport == DEM_OBD_MASTER_ECU ; la fonction n'est pas disponible dans d'autres configurations [SWS_Dem_00324].
Ce texte a été généré par une IA ; il ne remplace pas l'étude de la spécification AUTOSAR.
fonction 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)
La fonction synchrone Dem_DcmReadDataOfPID91 (Service-ID 0x6a) sert à transmettre au DCM les données du paramètre OBD PID $91 calculées par le DEM [SWS_Dem_01187]. L’interface est déclarée via l’en-tête Dem_Dcm.h et n’est disponible que dans les calculateurs concernés par l’OBD pour lesquels DemOBDSupport n’est pas configuré sur DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_01187].
Comme paramètre de sortie, la fonction exige le pointeur PID91value, qui pointe vers un tampon fourni par le DCM [SWS_Dem_01187]. Il incombe au DCM de fournir ce tampon avec une taille appropriée ; la taille nécessaire est déjà déterminée lors de la configuration sur la base du plus grand PID pour allouer le tampon PIDBuffer [SWS_Dem_01187].
La fonction est spécifiée comme non réentrante (Non Reentrant) et doit être exécutée de manière synchrone [SWS_Dem_01187]. Un appel parallèle depuis différents contextes est donc inadmissible. Il n’existe pas de valeur de retour d’erreur : la fonction renvoie toujours E_OK comme Std_ReturnType, car selon la spécification, la valeur d’erreur E_NOT_OK ne se produit jamais [SWS_Dem_01187].
Cette note d’utilisation a été générée automatiquement et se base exclusivement sur les données de spécification d’AUTOSAR Classic R20-11.
fonction 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)
La fonction synchrone Dem_DcmReadDataOfOBDFreezeFrame lit les données d'un élément de données associé à un PID pour le Freeze Frame le plus important qui est sélectionné pour la restitution du service OBD $02 [SWS_Dem_00327].
Contexte d'appel et paramètres
L'appel est effectué par le DCM via l'en-tête Dem_Dcm.h [SWS_Dem_00327]. Les paramètres suivants sont transmis à la fonction :
PID: identifiant du PID selon l'ISO 15031-5 [SWS_Dem_00327].DataElementIndexOfPID: index continu basé sur zéro de l'élément de données au sein du PID. L'ordre découle directement de la position des éléments de données dans la structure de PID de la configuration du DCM [SWS_Dem_00327], [SWS_Dem_00597].DestBuffer: pointeur vers le tampon dans lequel l'élément de données est écrit au format brut hexadécimal sans informations d'en-tête [SWS_Dem_00327].BufSize: sert de paramètre d'entrée/sortie ; contient la capacité maximale du tampon lors de l'appel et renvoie le nombre d'octets de données réellement écrits [SWS_Dem_00327].
Restrictions et traitement des erreurs
La fonction est non réentrante (Non Reentrant) et n'est disponible que dans les calculateurs avec support OBD activé (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00327]. En cas de mise à disposition réussie des données, E_OK est renvoyé, sinon E_NOT_OK [SWS_Dem_00327]. Un DTC supprimé n'est pas visible pour cette fonction d'interrogation [SWS_Dem_01101] ; vraisemblablement, la fonction renvoie E_NOT_OK dans un tel cas. Question Q-09c77cdccc138247 (ouverte)
Ce texte a été généré par une IA ; la spécification référencée fait foi.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
La fonction synchrone et non réentrante Dem_DcmGetDTCOfOBDFreezeFrame lit le DTC associé à un numéro d'enregistrement de trame figée prédéfini [SWS_Dem_00624]. Elle sert principalement au DCM pour l'émission dans le cadre du service OBD $02 (PID $02), afin de déterminer le DTC de la trame figée sélectionnée la plus pertinente [SWS_Dem_00623].
Appel et paramètres
FrameNumber(IN) : identifiant unique de l'enregistrement de trame figée selon l'ISO 15031-5. La valeur0x00désigne la trame figée OBD complète, les autres valeurs étant réservées [SWS_Dem_00624].DTCFormat(IN) : format de sortie souhaité de la valeur du DTC [SWS_Dem_00624].DTC(OUT) : pointeur vers l'emplacement mémoire pour le code de défaut déterminé au format OBD [SWS_Dem_00624].
Valeurs de retour et gestion des erreurs
La fonction renvoie E_OK si le DTC a pu être déterminé avec succès. Si aucun DTC correspondant n'est disponible, l'appel renvoie E_NOT_OK ; dans ce cas, le paramètre de sortie DTC ne contient aucune donnée valide [SWS_Dem_00624].
Conditions et interactions
L'interface est disponible via le fichier d'en-tête Dem_Dcm.h et existe exclusivement dans les calculateurs prenant en charge l'OBD (configuration DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00624]. Les DTC supprimés (suppressed DTCs) sont traités par la fonction comme s'il n'y avait aucune correspondance et ne sont pas visibles pour cette requête [SWS_Dem_01101].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
La fonction synchrone et réentrante Dem_DcmGetAvailableOBDMIDs (ID de service 0xa3) est appelée par le DCM pour lire la valeur d'un OBDMID de disponibilité demandé dans le cadre d'une requête de service OBD $06 [SWS_Dem_00766]. Via le paramètre d'entrée Obdmid (type uint8), l'appelant transmet un identifiant de disponibilité normalisé tel que $00, $20 ou $40. Le DEM renvoie les identifiants de test pris en charge sous forme d'informations codées par bits via le pointeur de sortie 32 bits Obdmidvalue [SWS_Dem_00766]. À partir de ces données, l'outil de diagnostic déduit quels contrôles sont affichés au personnel d'atelier pour sélection [SWS_Dem_00766].
La fonction est déclarée via le fichier d'en-tête Dem_Dcm.h. Elle est exclusivement prévue pour les calculateurs concernés par l'OBD et n'est disponible dans le module que si l'option de configuration DemGeneral.DemOBDSupport est définie sur une valeur différente de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00766].
En cas de transmission sans erreur de la disponibilité des DTR, l'interface renvoie E_OK [SWS_Dem_00766]. Si la fonction est appelée avant que le DEM ne soit entièrement initialisé ou après son arrêt, le code d'erreur DEM_E_UNINIT intervient [SWS_Dem_00173]. De même, les appels avec un pointeur invalide (DEM_E_PARAM_POINTER) ou avec des valeurs de paramètre erronées (DEM_E_PARAM_DATA) entraînent des erreurs de développement selon [SWS_Dem_00173]. Dans de tels cas d'erreur, E_NOT_OK devrait vraisemblablement être fourni comme valeur de retour. Question Q-b42d268116fb8df7 (ouverte)
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
La fonction synchrone et réentrante Dem_DcmGetNumTIDsOfOBDMID (ID de service 0xa4) est déclarée via le fichier d'en-tête Dem_Dcm.h [SWS_Dem_00767]. Elle sert au Diagnostic Communication Manager (DCM) à interroger sur demande le nombre d'identifiants de test (TID) attribués à un OBDMID fonctionnel spécifié [SWS_Dem_00761].
Lors de l'appel, le DCM transmet l'identifiant de l'OBDMID concerné dans le paramètre d'entrée Obdmid et reçoit en retour le nombre de TID associés via le pointeur numberOfTIDs [SWS_Dem_00767]. Cette valeur de sortie sert au DCM de limite supérieure pour une boucle de comptage allant de 0 à numberOfTIDs - 1, dans laquelle les différentes valeurs de résultats DTR, résultats de test et valeurs limites sont ensuite interrogés de manière séquentielle via Dem_DcmGetDTRData [SWS_Dem_00761] [SWS_Dem_00768].
La fonction renvoie la valeur de retour E_OK si le nombre de TID a pu être déterminé avec succès, et E_NOT_OK en cas d'échec de la requête [SWS_Dem_00767]. Les erreurs de développement (DET) spécifiques ou les causes d'erreur détaillées en cas de défaillance ne sont pas indiquées séparément dans la spécification.
L'appel est exclusivement prévu pour les calculateurs concernés par l'OBD. L'interface n'est disponible dans le DEM que si le paramètre de configuration DemOBDSupport n'est pas réglé sur DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00767].
Cette note d'utilisation a été générée par une IA et s'appuie exclusivement sur les documents de spécification d'AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
La fonction synchrone et réentrante Dem_DcmGetDTRData sert au Diagnostic Communication Manager (DCM) à interroger les données DTR (Diagnostic Test Results), y compris la valeur de TID, l’UaSID ainsi que le résultat de test actuel avec la limite inférieure et supérieure [SWS_Dem_00768]. Elle est disponible exclusivement dans les calculateurs avec prise en charge OBD lorsque DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT est configuré [SWS_Dem_00768].
Utilisation et interaction
Le DCM appelle la fonction afin de récupérer les données DTR disponibles pour un Obdmid déterminé et un TIDindex [SWS_Dem_00762]. L’interrogation s’effectue typiquement de manière itérative via l’index TIDindex de 0 à numberOfTIDs - 1, le nombre total étant préalablement déterminé via Dem_DcmGetNumTIDsOfOBDMID() [SWS_Dem_00768], [SWS_Dem_00762]. Les valeurs pour la réponse au testeur sont mises à disposition via les paramètres de sortie TIDvalue, UaSID, Testvalue, Lowlimvalue et Upplimvalue [SWS_Dem_00768].
Gestion des erreurs et conditions limites
La fonction retourne E_OK en cas de détermination réussie des résultats DTR et E_NOT_OK en cas d’erreur [SWS_Dem_00768]. Une erreur survient en particulier lorsque l’événement de diagnostic référencé n’est pas disponible :
- Si un événement est défini comme non disponible, il est traité comme un événement non configuré et
Dem_DcmGetDTRDataéchoue [SWS_Dem_01108]. - Si la fonction est appelée pour un DTR dont l’événement référencé via
DemDtrEventRefest configuré avecDemEventAvailable == FALSE, le DEM retourne obligatoirementE_NOT_OK[SWS_Dem_01336]. Dans ce cas, tous les paramètres de sortie sont indéfinis [SWS_Dem_01336].
Cette note d’utilisation a été générée de manière automatisée sur la base des exigences de la spécification.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation
La fonction synchrone Dem_J1939DcmSetDTCFilter (Service-ID 0x90, déclarée dans Dem_J1939Dcm.h) définit les attributs de masque de filtre pour la sélection de DTC J1939 pour un nœud J1939 adressé via ClientId [SWS_Dem_00970], [SWS_Dem_00855]. Les critères de filtrage employés sont le filtre d'état DTCStatusFilter (valeurs possibles : DEM_J1939DTC_ACTIVE, DEM_J1939DTC_PREVIOUSLY_ACTIVE, DEM_J1939DTC_PENDING, DEM_J1939DTC_PERMANENT ou DEM_J1939DTC_CURRENTLY_ACTIVE), le groupe fonctionnel DTCKind ainsi que la mémoire source DTCOrigin [SWS_Dem_00970]. Via le paramètre de sortie LampStatus, l'appel renvoie l'état combiné actuel des voyants des DTC filtrés [SWS_Dem_00970], [SWS_Dem_00857]. De plus, un compteur interne est réinitialisé sur le premier événement correspondant [SWS_Dem_00855]. Interprétation : l'appelant de l'interface devrait être le module J1939Dcm afin de préparer les opérations de lecture de diagnostic. Question Q-5f25345851de686f (ouverte)
Gestion des erreurs et valeurs de retour
Comme valeur de retour, la fonction fournit E_OK en cas de configuration réussie du filtre ou E_NOT_OK si le filtre n'a pas pu être défini [SWS_Dem_00970]. Les DTC supprimés ne sont pas pris en compte par le filtrage et sont traités comme si le critère de filtrage ne s'appliquait pas ; ils restent invisibles pour les requêtes [SWS_Dem_01101].
Concurrence et restrictions
La fonction est réentrante pour différentes valeurs de ClientId, mais n'est pas réentrante pour la même ClientId [SWS_Dem_00970]. Les appels de filtrage concurrents sur la même mémoire d'événements J1939 doivent donc être évités.
Interaction
La définition du filtre constitue la base du traitement ultérieur :
- détermination du nombre de chemins d'erreur correspondants via
Dem_J1939DcmGetNumberOfFilteredDTC[SWS_Dem_00855], [SWS_Dem_00874], [SWS_Dem_00972], - lecture itérative des événements correspondants via
Dem_J1939DcmGetNextFilteredDTC[SWS_Dem_00855], [SWS_Dem_00875] ainsi que - mise à disposition du nombre de DTC actifs ou précédemment actifs pour les messages de readiness (DM05) via
Dem_J1939DcmReadDiagnosticReadiness1[SWS_Dem_00909].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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.
La fonction [SWS_Dem_00972] détermine de manière asynchrone le nombre de DTC J1939 qui correspondent aux critères de filtrage préalablement définis avec Dem_J1939DcmSetDTCFilter dans la mémoire des événements primaire du ClientId transmis ([SWS_Dem_00874]). Un appel préalable de Dem_J1939DcmSetDTCFilter est nécessaire, car il définit les attributs de masque de filtrage et réinitialise le compteur interne sur le premier événement ([SWS_Dem_00855]).
Le résultat du comptage est mis à disposition via le paramètre de sortie NumberOfFilteredDTC. Les règles suivantes s'appliquent au déroulement et aux valeurs de retour :
- Succès : dès que le nombre total de DTC correspondants a été entièrement déterminé, la fonction renvoie
E_OK([SWS_Dem_00874]). - Interruption : si le processus de recherche doit être interrompu en raison de restrictions internes, la fonction renvoie
DEM_PENDING. Dans ce cas, le paramètre de sortie n'est pas nécessairement encore valide ; un appel ultérieur poursuit la détermination après l'élément interrompu ([SWS_Dem_00874]). - Codes d'erreur : la spécification prévoit en outre les valeurs d'état
DEM_NO_SUCH_ELEMENTainsi queDEM_BUFFER_TOO_SMALL([SWS_Dem_00972]).
Concernant la visibilité, [SWS_Dem_01101] stipule que les défauts supprimés (suppressed DTCs) doivent être traités comme si le critère de filtrage ne correspondait pas. La fonction est définie comme non réentrante ([SWS_Dem_00972]), raison pour laquelle des appels simultanés doivent être évités.
Cette note d'utilisation a été créée par une IA et résume les aspects clés de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
fonction Dem_J1939DcmGetNextFilteredDTC [SWS_Dem_00973] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);
Gets the next filtered J1939 DTC.
La fonction asynchrone et non réentrante Dem_J1939DcmGetNextFilteredDTC (ID de service 0x92) lit le prochain DTC J1939 filtré depuis la mémoire d'événements J1939 adressée via ClientId [SWS_Dem_00973]. Elle est déclarée via l'en-tête Dem_J1939Dcm.h [SWS_Dem_00973].
Si la fonction trouve un événement correspondant au critère de filtrage, elle renvoie E_OK et fournit via les paramètres de sortie le J1939DTC correspondant ainsi que le OccurenceCounter associé [SWS_Dem_00877], [SWS_Dem_00973]. Si le compteur d'occurrences est supérieur à 126 (0x7E), la valeur renvoyée est plafonnée de manière fixe à 126 (0x7E) [SWS_Dem_00877].
Si l'opération de recherche doit être interrompue en raison de restrictions internes ou de détails d'implémentation, la fonction renvoie DEM_PENDING [SWS_Dem_00877], [SWS_Dem_00973]. Dans ce cas, les paramètres de sortie ne contiennent pas de données valides ; l'appel suivant poursuit la recherche directement après l'élément interrompu [SWS_Dem_00877]. S'il n'existe plus aucun autre élément correspondant, la valeur de retour est DEM_NO_SUCH_ELEMENT ; si le tampon est trop petit, DEM_BUFFER_TOO_SMALL est signalé [SWS_Dem_00973].
Les événements de diagnostic supprimés (suppressed DTCs) ne sont pas visibles pour la fonction d'interrogation ; ils sont traités par Dem_J1939DcmGetNextFilteredDTC comme si le critère de filtrage ne s'appliquait pas [SWS_Dem_01101].
Ce texte a été généré automatiquement par une IA et ne remplace pas la spécification officielle d'AUTOSAR.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation
L'interface synchrone Dem_J1939DcmFirstDTCwithLampStatus initialise le filtrage sur le premier Diagnostic Trouble Code (DTC) correspondant pour la réponse DM31 d'un nœud spécifique [SWS_Dem_00974]. Le seul paramètre d'entrée utilisé est ClientId de type uint8, avec lequel la mémoire d'événements J1939 associée est adressée [SWS_Dem_00974]. La fonction ne possède ni paramètre d'entrée ni de sortie et ne fournit aucune valeur de retour (void) [SWS_Dem_00974]. Elle est déclarée via le fichier d'en-tête Dem_J1939Dcm.h avec l'ID de service 0x93 [SWS_Dem_00974]. Interprétation : la fonction devrait principalement être appelée par le module J1939Dcm afin d'initialiser le filtrage avant la transmission des messages d'état des voyants DM31. Question Q-064513be4f06584b (ouverte)
Logique de filtrage et interaction
Chaque appel de la fonction réinitialise le compteur interne au premier événement auquel un J1939DTC est affecté pour le ClientId spécifié [SWS_Dem_00880]. Concernant l'état des événements de diagnostic, la spécification prescrit qu'un DTC supprimé (suppressed DTC) doit rester invisible pour les fonctions d'interrogation du DCM [SWS_Dem_01101]. En conséquence, Dem_J1939DcmFirstDTCwithLampStatus traite les DTC supprimés comme si le critère de filtrage n'était pas satisfait [SWS_Dem_01101].
Concurrence et restrictions
En ce qui concerne le comportement de concurrence, l'interface est réentrante pour les appels avec différentes valeurs de ClientId, mais non réentrante pour la même valeur de ClientId [SWS_Dem_00974]. Les interrogations parallèles via des identifiants de client identiques sur la même mémoire d'événements J1939 sont par conséquent non autorisées.
Ce texte a été généré automatiquement par un assistant d'édition IA.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation et contexte d'appel
La fonction Dem_J1939DcmGetNextDTCwithLampStatus est exécutée de manière synchrone et est non réentrante ([SWS_Dem_00975]). Dans le cadre de la communication de diagnostic J1939 (DM31), elle sert à interroger de manière itérative le DTC J1939 filtré suivant ainsi que l'état des voyants associé et le compteur d'événements (OccurenceCounter) depuis la mémoire des événements adressée via ClientId ([SWS_Dem_00975]). L'itération suppose que la mémoire des événements a été préalablement préparée par Dem_J1939DcmFirstDTCwithLampStatus ([SWS_Dem_00881]).
Déroulement et valeurs de retour
Chaque appel parcourt la mémoire à la recherche de l'événement suivant auquel un DTC J1939 est attribué ([SWS_Dem_00881]). Les DTC supprimés (suppressed DTC) sont traités comme des événements non correspondants et sont ignorés ([SWS_Dem_01101]).
-
E_OK: un événement correspondant a été trouvé. Les paramètresLampStatus,J1939DTCetOccurenceCountercontiennent des valeurs valides ([SWS_Dem_00882]). Interprétation : la conditionDEM_FILTERED_OKmentionnée dans la spécification des paramètres devrait faire référence àE_OK, étant donné queDEM_FILTERED_OKn'est pas déclaré comme valeur de retour pour cette fonction ([SWS_Dem_00975]). Question Q-5284fb30b98babf6 (ouverte) -
DEM_PENDING: la recherche interne a dû être interrompue en raison de limites d'implémentation. Les paramètres de sortie ne contiennent pas de données valides, et l'appel suivant poursuit la recherche après l'élément interrompu ([SWS_Dem_00882]). -
DEM_NO_SUCH_ELEMENT: il n'y a plus d'autres événements correspondants dans la mémoire ; les paramètres de sortie sont invalides ([SWS_Dem_00881]). -
DEM_BUFFER_TOO_SMALL: le tampon transmis est trop petit ([SWS_Dem_00975]).
État des voyants et plage de valeurs
Pour déterminer l'état des voyants, le DEM vérifie le bit d'état UDS 7 (WarningIndicator) ainsi que la référence d'indicateur respective : la Malfunction Indicator Lamp ([SWS_Dem_00883]), la Red Stop Lamp ([SWS_Dem_00887]) et l'Amber Warning Lamp ([SWS_Dem_00891]) sont chacune définies sur Lamp On si le bit est actif et que la référence est attribuée ; dans le cas contraire, elles valent Lamp Off. Le OccurenceCounter est limité à exactement 126 pour les valeurs de compteur supérieures à 126 (0x7F) ([SWS_Dem_00882]).
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I2)
fonction 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).
Utilisation
La fonction Dem_J1939DcmClearDTC ([SWS_Dem_00976]) est mise à disposition du module J1939Dcm via le fichier d’en-tête Dem_J1939Dcm.h pour supprimer tous les codes d’erreur de diagnostic (DTC) actifs ou précédemment actifs de la mémoire d’événements ([SWS_Dem_00878]). L’appel opère de manière asynchrone. Comme paramètres d’entrée, l’interface attend le type de filtre DTCTypeFilter pour déterminer les DTC à supprimer, DTCOrigin pour sélectionner la mémoire source ainsi que le ClientId pour adresser la mémoire d’événements J1939.
Gestion des erreurs et valeurs de retour
Le résultat de l’exécution est signalé via le type de retour Std_ReturnType :
E_OK: l’opération de suppression s’est achevée avec succès.DEM_PENDING: le nettoyage est en cours ; l’appelant doit appeler à nouveau la fonction ultérieurement.DEM_CLEAR_BUSY: un autre client effectue simultanément une opération de suppression ; l’opération n’est pas démarrée et doit être répétée ultérieurement.DEM_WRONG_DTC: le DTC sélectionné n’existe pas dans le format choisi ou la suppression est restreinte par configuration à des groupes.DEM_WRONG_DTCORIGIN: la mémoire source indiquée n’existe pas.DEM_CLEAR_FAILEDouDEM_CLEAR_MEMORY_ERROR: la suppression a échoué ou une erreur est survenue lors de l’effacement d’une zone mémoire (par ex. en cas d’effacement incomplet de mémoire non volatile).
Concurrence et restrictions
Conformément à [SWS_Dem_00976], la fonction est réentrante pour différents identifiants de client, mais non réentrante pour le même ClientId. Les appels de suppression parallèles via des clients identiques sont donc interdits.
Interaction
Conformément à [SWS_Dem_00879], la suppression réinitialise l’état de tous les événements concernés et supprime les entrées de mémoire d’événements associées. De plus, selon [SWS_Dem_00878], l’opération de suppression déclenche une réinitialisation des SW-C et modules BSW concernés d’après [SWS_Dem_00003].
Ce texte a été généré automatiquement à partir de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction synchrone Dem_J1939DcmSetFreezeFrameFilter sert à définir le filtre de trames figées pour un nœud spécifique via l'en-tête Dem_J1939Dcm.h [SWS_Dem_00977]. Elle configure les attributs de masque de filtrage pour les interrogations ultérieures au moyen de Dem_J1939DcmGetNextFreezeFrame tout en réinitialisant un compteur interne sur la première trame figée [SWS_Dem_00899].
Paramètres et valeurs de retour
FreezeFrameKind: détermine le type de filtre [SWS_Dem_00977]. Les types disponibles sontDEM_J1939DCM_FREEZEFRAME(filtrage des données dansDemJ1939FreezeFrameClassRef),DEM_J1939DCM_EXPANDED_FREEZEFRAME(filtrage des données dansDemJ1939ExpandedFreezeFrameClassRef) ainsi queDEM_J1939DCM_SPNS_IN_EXPANDED_FREEZEFRAME([SWS_Dem_00977], [SWS_Dem_00899]).ClientId: transmet l'identifiant pour adresser la mémoire des événements J1939 [SWS_Dem_00977].- Valeur de retour : fournit
E_OKen cas d'exécution réussie ouE_NOT_OKsi le filtre n'a pas pu être défini [SWS_Dem_00977].
Concurrence et validité
Concernant la concurrence, la fonction est réentrante pour différentes valeurs de ClientId, mais non réentrante pour des valeurs identiques de ClientId [SWS_Dem_00977]. Après l'appel, les attributs de masque de filtrage définis restent effectifs jusqu'à ce qu'un nouvel appel de Dem_J1939DcmSetFreezeFrameFilter ait lieu ou que le module DEM soit réinitialisé [SWS_Dem_00899].
Ce texte a été généré par une IA sur la base de la spécification.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation
La fonction asynchrone et non réentrante Dem_J1939DcmGetNextFreezeFrame lit progressivement les données d'arrêt sur image pour une mémoire d'événements spécifique [SWS_Dem_00978]. L'itération s'oriente selon les critères de filtrage FreezeFrameKind et ClientId préalablement définis via Dem_J1939DcmSetFreezeFrameFilter [SWS_Dem_00900]. Les données utiles sont copiées dans le tampon DestBuffer (dans le cas des arrêts sur image étendus, sans informations SPN et avec les bits inutilisés complétés par des 0), tandis que BufSize transmet la taille du tampon et renvoie la quantité d'octets réellement écrite [SWS_Dem_00978], [SWS_Dem_00903]. De plus, l'appel fournit le J1939DTC associé ainsi que le OccurenceCounter, lequel est limité à 0x7F pour les valeurs supérieures à 126 [SWS_Dem_00903].
Valeurs de retour et gestion des erreurs
Les valeurs de retour pilotent le déroulement de l'itération :
E_OK: un enregistrement a été trouvé et transmis avec succès [SWS_Dem_00978], [SWS_Dem_00903]. La mention deDEM_FILTERED_OKdans la description du paramètre devrait probablement être comprise comme un synonyme rédactionnel pourE_OK. Question Q-e941066640c694b9 (ouverte)DEM_NO_SUCH_ELEMENT: il n'existe plus aucun autre enregistrement correspondant aux critères de filtrage [SWS_Dem_00900].DEM_PENDING: la recherche interne a été interrompue ; l'appel suivant poursuit la recherche à l'endroit interrompu [SWS_Dem_00902].DEM_BUFFER_TOO_SMALLouDEM_FILTERED_BUFFER_TOO_SMALL: le tampon est insuffisant ; l'opération s'interrompt sans transfert de données [SWS_Dem_00978], [SWS_Dem_00903].
Si un type de filtre non pris en charge est transmis, la fonction signale l'erreur DET DEM_E_WRONG_CONDITION ; seuls DEM_J1939DCM_FREEZEFRAME et DEM_J1939DCM_EXPANDED_FREEZEFRAME sont valides [SWS_Dem_00901]. Dans la mesure où la valeur de retour est différente de succès, les paramètres de sortie ne contiennent aucune donnée valide [SWS_Dem_00978], [SWS_Dem_00900], [SWS_Dem_00902], [SWS_Dem_00903].
Restrictions et interaction
Les DTC supprimés sont ignorés par l'interrogation et traités comme des critères de filtrage non concordants [SWS_Dem_01101].
Cette note d'utilisation a été générée de manière automatisée et s'appuie exclusivement sur la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dem_J1939DcmGetNextSPNInFreezeFrame [SWS_Dem_00979] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);
Gets next SPN.
Utilisation et sémantique
La fonction Dem_J1939DcmGetNextSPNInFreezeFrame lit progressivement le prochain SPN (Suspect Parameter Number) depuis l'arrêt sur image étendu ([SWS_Dem_00979]). Chaque appel itère vers l'élément suivant de la définition du SPN pour la mémoire d'événements adressée via ClientId ([SWS_Dem_00904]). En cas de découverte réussie, l'appel renvoie E_OK ainsi que le SPN trouvé via SPNSupported et sa longueur de données via SPNDataLength ([SWS_Dem_00979], [SWS_Dem_00907]).
Traitement asynchrone et valeurs de retour
L’opération est spécifiée comme asynchrone ([SWS_Dem_00979]). Si la recherche doit être interrompue en raison de contraintes internes, la fonction renvoie DEM_PENDING ; dans ce cas, les paramètres de sortie ne sont pas obligatoirement valides et l’appel suivant reprend la recherche là où elle a été interrompue ([SWS_Dem_00905]). S’il n’y a plus d’autres SPN dans la définition, DEM_NO_SUCH_ELEMENT est signalé, les paramètres de sortie ne devant pas non plus être nécessairement valides ([SWS_Dem_00904]). Si le tampon fourni est insuffisant, l’interface signale DEM_BUFFER_TOO_SMALL ([SWS_Dem_00979]).
Gestion des erreurs et concurrence
Si un type de Freeze Frame non pris en charge est demandé, le module déclenche l’erreur DET DEM_E_WRONG_CONDITION ; seul Dem_SPNsInExpandedFreezeFrame est valide ([SWS_Dem_00906]). Comme la fonction est définie comme non réentrante ([SWS_Dem_00979]), elle ne doit pas être appelée de manière concurrente pour le même contexte. Le fichier d’en-tête Dem_J1939Dcm.h fournit l’interface ([SWS_Dem_00979]).
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
La fonction synchrone Dem_J1939DcmSetRatioFilter configure le filtre de ratio pour un nœud J1939 spécifique et initialise le filtrage des ratios IUMPR conformément à [SWS_Dem_00980]. Ce faisant, elle réinitialise un compteur interne sur le premier SPN valide avec une DemRatioId définie, afin de préparer la requête incrémentielle ultérieure via Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00912].
Via les paramètres de sortie, la fonction met à disposition des valeurs de compteurs de niveau supérieur :
IgnitionCycleCounter: fournit le compteur de cycles d’allumage conformément à SAE J1939-73 (chapitre 5.7.20.1) [SWS_Dem_00912].OBDMonitoringConditionsEncountered: fournit le compteur des conditions de surveillance OBD survenues conformément à SAE J1939-73 (chapitre 5.7.20.2), défini par le CARB comme General Denominator [SWS_Dem_00912].ClientId: identifie le client appelant pour l’adressage de la mémoire d’événements J1939 [SWS_Dem_00980].
En ce qui concerne la concurrence, la fonction est réentrante pour différentes valeurs de ClientId, mais non réentrante pour la même ClientId [SWS_Dem_00980]. Interprétation : l’appel devrait typiquement s’effectuer de manière synchrone depuis le déroulement du J1939 Diagnostic Communication Manager (J1939Dcm) afin d’interroger les données de diagnostic IUMPR. Question Q-e577651b88f64132 (ouverte) En cas de configuration réussie du filtre, la fonction renvoie E_OK ; si la configuration échoue, E_NOT_OK est signalé [SWS_Dem_00980].
En interaction avec les événements de diagnostic, il convient que les DTC supprimés ne soient pas visibles pour les fonctions d’interrogation telles que Dem_J1939DcmSetRatioFilter et soient traités comme si le filtre ne correspondait pas [SWS_Dem_01101].
Cette note d'utilisation a été générée automatiquement sur la base d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00981] 📄 PDF
Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);
Gets the next filtered Ratio.
Utilisation
La fonction synchrone et non réentrante Dem_J1939DcmGetNextFilteredRatio ([SWS_Dem_00981]) sert à la lecture itérative du prochain ratio IUMPR filtré. Le paramètre ClientId permet d’adresser la mémoire d’événements J1939 respective. En cas d’appel réussi, la fonction fournit via les paramètres de sortie SPN, Numerator et Denominator le Suspect Parameter Number ainsi que le numérateur et le dénominateur du moniteur système concerné ([SWS_Dem_00981]).
Déroulement et interaction
Pour une itération correcte, le filtre doit être préalablement initialisé via Dem_J1939DcmSetRatioFilter ([SWS_Dem_00912]). Cet appel réinitialise un compteur interne sur le premier SPN valide avec une DemRatioId définie, sur lequel s’appuient les appels suivants de Dem_J1939DcmGetNextFilteredRatio. Un DTC supprimé n’est pas visible pour l’interrogation et est traité comme si le filtre ne correspondait pas ([SWS_Dem_01101]).
Valeurs de retour et gestion des erreurs
Conformément à [SWS_Dem_00981], les valeurs de retour suivantes sont définies :
E_OK: l’opération a réussi. C’est seulement dans ce cas queSPN,NumeratoretDenominatorcontiennent des données valides (la mention deDEM_FILTERED_OKdans la description des paramètres devrait correspondre, par interprétation, àE_OK). Question Q-57774bbc88fe3c0b (ouverte)DEM_NO_SUCH_ELEMENT: aucun autre élément correspondant n’est présent.DEM_PENDING: l’opération a réussi, mais le résultat est encore en attente.DEM_BUFFER_TOO_SMALL: le tampon transmis est trop petit.
concurrence
Comme la fonction est déclarée non réentrante ([SWS_Dem_00981]), elle ne doit pas être appelée de manière concurrente pour la même ClientId.
Ce texte a été généré par une IA et sert de guide d'orientation. Seules les spécifications AUTOSAR référencées font foi.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
L'interface synchrone Dem_J1939DcmReadDiagnosticReadiness1 (répertoriée sous Dem_J1939DcmReadDiagnosticReadiness dans le standard Classic) sert à interroger la valeur de la Diagnostic Readiness 1 (DM05) calculée par le Diagnostic Event Manager [SWS_Dem_00982]. Elle est déclarée via le fichier d'en-tête Dem_J1939Dcm.h et possède l'ID de service 0x9b [SWS_Dem_00982].
Utilisation et paramètres
L'appel s'effectue de manière synchrone et utilise les paramètres de fonction suivants [SWS_Dem_00982] :
ClientId(IN,uint8) : identifie la mémoire des événements J1939 (J1939 event memory) à adresser [SWS_Dem_00982].DataValue(OUT, pointeur versDem_J1939DcmDiagnosticReadiness1Type) : pointe vers un tampon de 8 octets dans lequel le DEM écrit le contenu calculé de la Diagnostic Readiness 1 (DM05) [SWS_Dem_00982].
Valeurs de retour et gestion des erreurs
La fonction renvoie un état de type Std_ReturnType [SWS_Dem_00982] :
E_OK: le service a été exécuté avec succès et les données de readiness ont été déposées dans le tampon de sortie [SWS_Dem_00982].E_NOT_OK: l'opération a échoué [SWS_Dem_00982]. Aucun code d'erreur spécifique, événement DEM ou message DET n'est mentionné dans la spécification de la fonction [SWS_Dem_00982].
Concurrence et restrictions
Concernant l'accès simultané, le service est spécifié comme réentrant pour différents ClientIds, mais explicitement défini comme non réentrant pour le même ClientId [SWS_Dem_00982].
Cette note d'utilisation a été créée automatiquement sur la base de données de spécification AUTOSAR R20-11.
fonction 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.
La fonction synchrone Dem_J1939DcmReadDiagnosticReadiness2 (ID de service 0x9c) sert à interroger la valeur de la Diagnostic Readiness 2 (DM21) calculée par le DEM [SWS_Dem_00983]. L'interface est mise à disposition via le fichier d'en-tête Dem_J1939Dcm.h [SWS_Dem_00983].
Deux paramètres sont définis pour l'appel [SWS_Dem_00983] :
ClientId(entrée) : adresse la mémoire des événements J1939 respective [SWS_Dem_00983].DataValue(sortie) : pointeur vers un tampon de 8 octets du typeDem_J1939DcmDiagnosticReadiness2Typedestiné à recevoir les données DM21 calculées [SWS_Dem_00983].
Comme valeur de retour, la fonction fournit Std_ReturnType ; en cas d'interrogation réussie, E_OK est renvoyé, tandis qu'en cas d'erreur, E_NOT_OK est signalé [SWS_Dem_00983]. Les causes d'erreur spécifiques ne sont pas indiquées séparément ; en présence de E_NOT_OK, l'appelant devrait devoir supposer que le tampon ne contient pas de données valides. Question Q-97b94d15a8634712 (ouverte)
Concernant la concurrence, le service est réentrant pour différentes valeurs de ClientId, mais non réentrant pour le même ClientId [SWS_Dem_00983]. Les appels simultanés pour le même ClientId doivent donc être sérialisés dans le contexte appelant.
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
fonction 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.
Le service Dem_J1939DcmReadDiagnosticReadiness (spécifié dans la signature sous le nom de Dem_J1939DcmReadDiagnosticReadiness3) sert à la lecture synchrone des données relatives à la Diagnostic Readiness 3 (DM26) déterminées par le DEM [SWS_Dem_00770]. La déclaration est fournie via le fichier d'en-tête Dem_J1939Dcm.h [SWS_Dem_00770]. D'après le nom de l'interface, l'appel devrait principalement être effectué par le module J1939Dcm. Question Q-dc204541dfc23d6b (ouverte)
L'interface attend deux paramètres [SWS_Dem_00770] :
ClientId(in) : adresse la mémoire des événements J1939 respective [SWS_Dem_00770].DataValue(out) : pointeur vers un tampon de 8 octets du typeDem_J1939DcmDiagnosticReadiness3Typedestiné à recevoir les données DM26 calculées [SWS_Dem_00770].
Comme valeur de retour, la fonction fournit E_OK si l'opération a réussi, ou E_NOT_OK en cas d'erreur durant l'exécution [SWS_Dem_00770].
Concernant la concurrence, la fonction est réentrante pour différentes valeurs de ClientId, mais non réentrante pour des valeurs identiques de ClientId [SWS_Dem_00770]. Les appels parallèles pour un même client doivent donc être exclus ou synchronisés par l'appelant.
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
fonction 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)
fonction 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)
Utilisation
La fonction synchrone Dem_RepIUMPRFaultDetect sert à signaler qu'un moniteur OBD a rempli toutes les conditions d'exécution et aurait donc pu détecter des défauts potentiels [SWS_Dem_00313]. L'interface est fournie via l'en-tête Dem.h et n'est disponible que dans les calculateurs avec prise en charge d'OBD, pour autant que DemOBDSupport ne soit pas configuré sur DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00313], [SWS_Dem_00360].
Comme paramètre, l'identifiant RatioID du type Dem_RatioIdType est transmis lorsque l'option d'interface « API » est sélectionnée [SWS_Dem_00313]. En cas d'acquisition réussie du résultat IUMPR, la fonction renvoie l'état E_OK [SWS_Dem_00313].
Concurrence et comportement en cas d'erreur
En matière de concurrence, le service est réentrant pour des identifiants différents RatioID, mais non réentrant pour la même valeur de RatioID [SWS_Dem_00313]. Les appels concurrents avec un identifiant identique doivent donc être évités par l'appelant.
Si un événement correspondant est défini comme non disponible, le module DEM le traite comme s'il n'était pas configuré dans le système [SWS_Dem_01108]. Dem_RepIUMPRFaultDetect est également explicitement concerné par cette désactivation [SWS_Dem_01108] ; interprétation : dans cet état, l'appel devrait vraisemblablement fournir E_NOT_OK, de manière analogue aux autres API d'état concernées. Question Q-6d1775c9bff08f42 (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
fonction 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)
fonction 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)
La fonction synchrone et réentrante Dem_RepIUMPRDenRelease sert à libérer le dénominateur d'un moniteur spécifique pour des raisons physiques telles que l'atteinte de certaines conditions de température ou une activité minimale [SWS_Dem_00315]. Le DEM met cette interface à disposition des composants logiciels (SW-C) concernés par l'IUMPR afin de commander de manière ciblée le dénominateur appartenant au RatioID respectif [SWS_Dem_00308].
La fourniture et le comportement de la fonction sont soumis à des conditions fixes de configuration et d'exécution :
- Disponibilité et configuration : l'API est disponible exclusivement dans les calculateurs concernés par l'OBD lorsque
DemOBDSupportest configuré comme différent deDEM_OBD_NO_OBD_SUPPORT[SWS_Dem_00315]. De plus, l'interface est mise à disposition pour la libération sous des conditions particulières siDemIUMPRDenGroupest configuré commeDEM_IUMPR_DEN_PHYS_API[SWS_Dem_00362]. - Paramètres et valeurs de retour : l'identifiant
RatioIDest transmis comme paramètre d'entrée. La fonction renvoieE_OKlorsque le statut du dénominateur IUMPR a été signalé avec succès, sinonE_NOT_OK[SWS_Dem_00315]. - Comportement en cas d'erreur pour les événements inactifs : si un événement correspondant est défini comme non disponible, il est traité comme s'il n'était pas configuré dans le système ; l'appel de
Dem_RepIUMPRDenReleaseen est directement affecté et renvoieE_NOT_OK[SWS_Dem_01108].
Grâce à sa conception réentrante, la fonction peut si nécessaire être appelée de manière concurrente depuis différents contextes de SW-C [SWS_Dem_00315].
Ce texte a été généré par une IA et ne remplace pas la spécification AUTOSAR de référence.
Guide de l'implémenteur à venir (complexité I1)
fonction 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)
Utilisation
La fonction synchrone Dem_SetPtoStatus ([SWS_Dem_00627]) sert à définir l'état de la prise de force (Power Take-Off, PTO) dans le Diagnostic Event Manager (DEM). L'interface est déclarée dans l'en-tête Dem.h et possède l'ID de service 0x79 ([SWS_Dem_00627]).
- Paramètres : le paramètre d'entrée
PtoStatus(typeboolean) transmet l'état de la prise de force, oùTRUEcorrespond à actif etFALSEà inactif ([SWS_Dem_00627]). Aucun paramètre d'entrée/sortie ou de sortie n'est présent. - Valeur de retour : le type de retour est
Std_ReturnType. La fonction renvoieE_OKsi le nouvel état PTO a été pris en compte par le DEM, etE_NOT_OKdans tous les autres cas ([SWS_Dem_00627]).
Concurrence et restrictions
La fonction s'exécute de manière synchrone et est spécifiée comme non réentrante (Non Reentrant) ([SWS_Dem_00627]).
Contexte système et configuration
L'interface n'est requise que dans les calculateurs concernés par l'OBD ([SWS_Dem_00627]). Elle n'est disponible que si le paramètre de configuration DemGeneral.DemOBDSupport n'est pas défini sur DEM_OBD_NO_OBD_SUPPORT ([SWS_Dem_00627]).
Ce texte a été généré par une IA et se base sur les spécifications du module DEM dans AUTOSAR Classic R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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
Utilisation et paramètres
La fonction synchrone Dem_ReadDataOfPID01 (Service-ID 0xb3) sert à interroger la valeur du PID $01 calculée par le Diagnostic Event Manager (DEM) [SWS_Dem_01167]. L’interface est mise à disposition via l’en-tête Dem.h [SWS_Dem_01167]. En tant que paramètre de sortie, la fonction attend PID01value, qui est transmis sous la forme d’un pointeur vers un tampon [SWS_Dem_01167]. Ce tampon doit obligatoirement être alloué et mis à disposition par l’application appelante avec une taille fixe de 4 octets pour accueillir les données calculées [SWS_Dem_01167].
Gestion des erreurs et valeurs de retour
En tant que type de retour, l’interface fournit formellement Std_ReturnType, mais renvoie sans exception E_OK selon la spécification [SWS_Dem_01167]. La valeur d’erreur E_NOT_OK ne se produit jamais [SWS_Dem_01167]. Ni codes d’erreur spécifiques ni signalements au DET ou au DEM ne sont spécifiés pour cette interface [SWS_Dem_01167].
Concurrence et restrictions
La fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_Dem_01167]. Les appelants doivent donc s’assurer qu’aucun appel simultané n’a lieu. De plus, l’API est fonctionnellement restreinte et n’est requise que dans les calculateurs concernés par l’OBD [SWS_Dem_01167].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.
fonction 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)
fonction 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)
fonction 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)
fonction 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)
fonction 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)
fonction 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)
fonction 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.
fonction Dem_GetDTCSeverityAvailabilityMask [SWS_Dem_01168] 📄 PDF
Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);
Gets the DTC Severity availability mask.
fonction 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
fonction 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)
fonction 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
La fonction de rappel Dem_CallbackEventSyncStorageProcessed est appelée de manière synchrone par le Diagnostic Event Manager (DEM) dès que le traitement interne de Dem_SetEventFailedWithSyncFreezeFrame est terminé ([SWS_Dem_91042]). Elle informe le composant appelant qu'un autre appel de Dem_SetEventFailedWithSyncFreezeFrame pour le même ID d'événement peut être traité par le DEM ([SWS_Dem_91042]).
Pour l'utilisation et l'intégration, les propriétés d'interface et d'exécution suivantes s'appliquent :
- Paramètres et valeur de retour : l'interface ne possède aucun paramètre d'entrée, de sortie ni d'entrée/sortie ([SWS_Dem_91042]). Le type de retour est
Std_ReturnType, seule la valeur de retourE_OKétant autorisée et fournie pour des raisons de compatibilité RTE ([SWS_Dem_91042]). - Concurrence : la fonction est spécifiée comme réentrante ([SWS_Dem_91042]).
- Gestion des erreurs : aucun code d'erreur spécifique ni message vers le suivi des erreurs de développement (DET) n'est prévu ([SWS_Dem_91042]).
Concernant l'interaction et la configuration, une condition préalable stricte existe : Dem_CallbackEventSyncStorageProcessed ne doit être configuré que pour des événements de diagnostic dont le paramètre DemEventReportingType est défini sur IMMEDIATE_FAIL_AND_SYNCHRONOUS_PROCESSING ([SWS_Dem_01356]). De plus, l'élément est annoté avec l'état draft dans la version R20-11 ([SWS_Dem_91042], [SWS_Dem_01356]).
Cette note d’utilisation a été générée de manière automatisée sur la base des exigences de la spécification.
Guide de l'implémenteur à venir (complexité I2)
fonction Dem_MainFunction [SWS_Dem_00266] 📄 PDF
void Dem_MainFunction (void);
Processes all not event based Dem internal functions.
La fonction de base Dem_MainFunction possède la signature void Dem_MainFunction(void) avec le Service-ID 0x55 et est mise à disposition via le fichier d'en-tête SchM_Dem.h ([SWS_Dem_00266]). Elle ne prend aucun paramètre, ne renvoie aucune valeur de retour et sert à l'exécution de l'ensemble des déroulements internes non basés sur des événements du module DEM ([SWS_Dem_00266], [SWS_Dem_00125]).
Pour le contexte d'appel et le traitement des erreurs, des exceptions particulières s'appliquent dans le cycle de vie du module : si la détection d'erreurs de développement DemDevErrorDetect est définie sur TRUE, l'appel d'interfaces régulières du DEM avant l'initialisation complète entraîne la notification de l'erreur DEM_E_UNINIT ; Dem_MainFunction est toutefois expressément exclue de cette génération d'erreurs ([SWS_Dem_00124]). De la même manière, après l'appel de Dem_Shutdown, la fonction est exemptée de la notification d'erreur DEM_E_UNINIT jusqu'à ce que Dem_Init soit de nouveau appelée ([SWS_Dem_00368]).
En interaction avec la mémoire de défauts, la fonction commande de manière déterminante l'acquisition et la mise en mémoire tampon des données de diagnostic :
- Si
DemEnvironmentDataCaptureest configuré surDEM_CAPTURE_ASYNCHRONOUS_TO_REPORTING(par rapport àDemPrimaryMemoryouDemUserDefinedMemory), les données de Freeze Frame spécifiques aux événements ([SWS_Dem_00461]) et les enregistrements d'Extended Data ([SWS_Dem_01081]) doivent être acquis au plus tard lors du prochain cycle deDem_MainFunction. - Si
DemEnvironmentDataCaptureest défini surDEM_CAPTURE_SYNCHRONOUS_TO_REPORTING, le module DEM met les données d'environnement en file d'attente jusqu'au prochain appel deDem_MainFunction([SWS_Dem_01083]). Le module met alors en mémoire tampon au moins la quantité configurée selonDemMaxNumberEventEntryEventBuffer; si la file d'attente est pleine, les données sont acquises lors du traitement de l'événement au sein deDem_MainFunction([SWS_Dem_01083]).
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Classic Release R20-11.
Guide de l'implémenteur à venir (complexité 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.
Utilisation et plage de valeurs
Le type de données Dem_DTCRequestType est dérivé de uint8 et est disponible via l'en-tête Dem.h [SWS_Dem_00935]. Il sert à demander un Diagnostic Trouble Code (DTC) sur la base d'attributs temporels spécifiques [SWS_Dem_00935].
La plage de valeurs autorisée comprend les valeurs d'énumération suivantes [SWS_Dem_00935] :
DEM_FIRST_FAILED_DTC(0x01) : demande le premier DTC ayant échoué dans le temps.DEM_MOST_RECENT_FAILED_DTC(0x02) : demande le dernier DTC ayant échoué.DEM_FIRST_DET_CONFIRMED_DTC(0x03) : demande le premier DTC identifié comme confirmé.DEM_MOST_REC_DET_CONFIRMED_DTC(0x04) : demande le dernier DTC identifié comme confirmé.
Interaction, concurrence et gestion des erreurs
Le type est transmis en tant que paramètre d'entrée DTCRequest de la fonction synchrone Dem_GetDTCByOccurrenceTime [SWS_Dem_00218]. Ce paramètre permet de définir selon quel critère le DTC doit être interrogé [SWS_Dem_00218]. Le résultat est renvoyé au format UDS via le paramètre de sortie DTC [SWS_Dem_00218].
L'interface est réentrante pour différents appelants via différentes valeurs de ClientId, mais non réentrante pour une même ClientId [SWS_Dem_00218]. Les valeurs de retour possibles sont E_OK en cas d'interrogation réussie, E_NOT_OK en cas d'erreurs, ainsi que DEM_NO_SUCH_ELEMENT si aucune entrée correspondante n'est enregistrée [SWS_Dem_00218]. Si le résultat de la fonction diffère de DEM_OCCURR_OK, le paramètre DTC ne contient aucune donnée valide [SWS_Dem_00218].
Cette note d'utilisation a été générée par une IA sur la base de la spécification 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.
Utilisation et plage de valeurs
Le type Dem_J1939DcmDTCStatusFilterType est un type énuméré basé sur uint8, fourni via le fichier d'en-tête Dem.h [SWS_Dem_00945]. Il sert à définir selon quel état J1939 les codes de défaut de diagnostic (DTC) doivent être distingués et sélectionnés lors des opérations de filtrage [SWS_Dem_00945].
Les valeurs de filtre d'état suivantes sont spécifiées :
DEM_J1939DTC_ACTIVE(0) : filtre sur les codes de défaut actifs [SWS_Dem_00945].DEM_J1939DTC_PREVIOUSLY_ACTIVE(1) : filtre sur les codes de défaut précédemment actifs [SWS_Dem_00945].DEM_J1939DTC_PENDING(2) : filtre sur les codes de défaut en attente [SWS_Dem_00945].DEM_J1939DTC_PERMANENT(3) : filtre sur les codes de défaut permanents [SWS_Dem_00945].DEM_J1939DTC_CURRENTLY_ACTIVE(4) : filtre sur les codes de défaut actuellement actifs [SWS_Dem_00945].
Interaction et contexte d'appel
Le type de filtre est utilisé comme paramètre d'entrée DTCStatusFilter dans l'interface Dem_J1939DcmSetDTCFilter [SWS_Dem_00970]. La fonction s'exécute de manière synchrone et configure le filtre en tenant compte de la catégorie de défaut (DTCKind), de l'origine de mémoire (DTCOrigin) et du ClientId respectif pour la mémoire d'événements J1939 [SWS_Dem_00970]. L'appel devrait typiquement, selon l'interprétation, provenir du gestionnaire de communication de diagnostic pour J1939.
Question Q-898d508b7b341ef8 (ouverte)
Concurrence et traitement des erreurs
Le service Dem_J1939DcmSetDTCFilter est réentrant pour différentes valeurs de ClientId, mais explicitement non réentrant pour le même ClientId [SWS_Dem_00970]. Une configuration de filtre réussie est confirmée par le service avec la valeur de retour E_OK [SWS_Dem_00970].
Ce texte a été élaboré par une IA sur la base des documents de spécification.
Guide de l'implémenteur à venir (complexité 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
Le type structure Dem_J1939DcmLampStatusType est déclaré conformément à [SWS_Dem_00948] dans Dem.h et sert à acquérir l'état des voyants J1939 selon SAE J1939-73. La structure de données regroupe deux informations d'état sous forme d'éléments uint8 : LampStatus pour l'état actuel des voyants et FlashLampStatus pour le comportement de clignotement associé.
Dans le filtrage des DTC J1939 du Diagnostic Event Manager, le type fait office de paramètre de sortie de type pointeur dans deux interfaces synchrones :
- Via
Dem_J1939DcmSetDTCFilter([SWS_Dem_00970]), l'état initial des voyants est interrogé lors de l'initialisation du filtre de DTC pour une mémoire d'événements J1939 spécifique (adressée viaClientId). - Via
Dem_J1939DcmGetNextDTCwithLampStatus([SWS_Dem_00975]), la structure est remplie de manière itérative avec l'état des voyants associé pour chaque entrée de la mémoire des défauts correspondante.
Lors du traitement des erreurs, il est impératif de noter que Dem_J1939DcmGetNextDTCwithLampStatus, selon [SWS_Dem_00975], n'écrit des valeurs valides dans le paramètre de sortie que si la valeur de retour de la fonction est DEM_FILTERED_OK. Si l'appel renvoie une autre valeur de retour, la structure ne contient aucune donnée valide.
Concernant la concurrence et les conditions d'appel, la structure elle-même ne possède aucune protection interne. La réentrance dépend du contexte d'appel respectif : Dem_J1939DcmSetDTCFilter est réentrant pour différents identifiants de client, mais non réentrant pour le même ClientId ([SWS_Dem_00970]). La récupération itérative via Dem_J1939DcmGetNextDTCwithLampStatus est spécifiée comme totalement non réentrante ([SWS_Dem_00975]).
Ce texte a été généré par une IA et se base sur les spécifications de la version AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité 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
La structure Dem_J1939DcmDiagnosticReadiness1Type reproduit l'ensemble des éléments de données du message de diagnostic J1939 DM05 et est définie conformément à [SWS_Dem_00949] dans le fichier d'en-tête Dem.h. Le codage des champs s'effectue selon SAE J1939-73 [SWS_Dem_00949].
La structure comprend huit champs de données du type uint8, qui constituent ensemble un tampon de 8 octets pour l'état de préparation au diagnostic 1 (Diagnostic Readiness 1) [SWS_Dem_00949], [SWS_Dem_00982] :
ActiveTroubleCodes: nombre de DTC actifs [SWS_Dem_00949].PreviouslyActiveDiagnosticTroubleCodes: nombre de DTC précédemment actifs [SWS_Dem_00949].OBDCompliance: conformité OBD [SWS_Dem_00949].ContinuouslyMonitoredSystemsSupport_Status: prise en charge et état des systèmes surveillés en continu [SWS_Dem_00949].NonContinuouslyMonitoredSystemsSupport5etNonContinuouslyMonitoredSystemsSupport6: prise en charge des systèmes non surveillés en continu (octets 5 et 6) [SWS_Dem_00949].NonContinuouslyMonitoredSystemsStatus7etNonContinuouslyMonitoredSystemsStatus8: état des systèmes non surveillés en continu (octets 7 et 8) [SWS_Dem_00949].
L'interaction principale s'effectue avec l'API synchrone Dem_J1939DcmReadDiagnosticReadiness1 (disponible via Dem_J1939Dcm.h) [SWS_Dem_00982]. Les appelants transmettent un pointeur vers une instance de Dem_J1939DcmDiagnosticReadiness1Type via le paramètre de sortie DataValue conjointement avec le ClientId respectif pour la mémoire d'événements J1939 [SWS_Dem_00982].
Concernant la concurrence et le traitement des erreurs, la règle suivante s'applique lors d'un accès en lecture : la fonction d'interrogation renvoie E_OK en cas de calcul et de mise à disposition réussis des valeurs DM05 par le DEM, ainsi que E_NOT_OK en cas d'erreur [SWS_Dem_00982]. L'accès est réentrant pour différentes valeurs de ClientId, mais non réentrant pour le même ClientId [SWS_Dem_00982]. Il devrait par conséquent être nécessaire de protéger les instances de ce type contre les appels simultanés dans le contexte d'un même client. Question Q-7613ded1aa18fd2b (ouverte)
Ce texte a été généré par une IA. Les références proviennent exclusivement des spécifications de la version 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
Le type structure Dem_J1939DcmDiagnosticReadiness2Type représente les éléments de données du message de diagnostic DM21 (Diagnostic Readiness 2) selon SAE J1939-73 et est déclaré via le fichier d'en-tête Dem.h [SWS_Dem_00950]. La structure regroupe quatre compteurs 16 bits (uint16) dans un tampon de 8 octets [SWS_Dem_00950], [SWS_Dem_00983] :
DistanceTraveledWhileMILisActivated: distance cumulée en kilomètres avec voyant indicateur de dysfonctionnement (MIL) activé [SWS_Dem_00950].DistanceSinceDTCsCleared: distance cumulée depuis la réinitialisation des codes de défaut de diagnostic (DTC) liés aux émissions [SWS_Dem_00950].MinutesRunbyEngineWhileMILisActivated: durée cumulée de fonctionnement du moteur en minutes avec MIL actif [SWS_Dem_00950].TimeSinceDiagnosticTroubleCodesCleared: durée cumulée de fonctionnement du moteur depuis l'effacement des DTC liés aux émissions [SWS_Dem_00950].
Ce type est utilisé comme tampon de sortie DataValue du service synchrone Dem_J1939DcmReadDiagnosticReadiness2, qui est défini dans Dem_J1939Dcm.h [SWS_Dem_00983]. Lors de l'appel, le J1939-DCM transmet un ClientId pour adresser la mémoire d'événements spécifique dans le DEM [SWS_Dem_00983]. La fonction détermine les valeurs actuelles des compteurs et confirme la mise à disposition réussie avec la valeur de retour E_OK ou signale les erreurs avec E_NOT_OK [SWS_Dem_00983].
En ce qui concerne la concurrence, le service de lecture est réentrant pour différentes valeurs de ClientId, mais non réentrant pour des valeurs identiques de ClientId [SWS_Dem_00983].
Cette note d'utilisation a été générée automatiquement par une IA. Toutes les déclarations reposent exclusivement sur le périmètre de spécification fourni d'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
Le type structure Dem_J1939DcmDiagnosticReadiness3Type reproduit, conformément à [SWS_Dem_00951], l'ensemble des éléments de données du message de diagnostic DM26 (Diagnostic Readiness 3). Le codage des champs inclus s'aligne de manière obligatoire sur SAE J1939-73 [SWS_Dem_00951].
La structure comprend un tampon de données de 8 octets et se compose des champs individuels suivants [SWS_Dem_00951] :
TimeSinceEngineStart(uint16) : durée de fonctionnement du moteur depuis la mise du contact.NumberofWarmupsSinceDTCsCleared(uint8) : nombre de cycles de montée en température OBD depuis l'effacement de tous les codes de défaut.ContinuouslyMonitoredSystemsEnableCompletedStatus(uint8) : état d'activation et d'achèvement des systèmes surveillés en continu.NonContinuouslyMonitoredSystemsEnableStatus5etNonContinuouslyMonitoredSystemsEnableStatus6(respectivementuint8) : état d'activation des moniteurs non continus dans le cycle actuel (octets 5 et 6).NonContinuouslyMonitoredSystems7etNonContinuouslyMonitoredSystems8(respectivementuint8) : état d'achèvement des moniteurs non continus dans le cycle actuel (octets 7 et 8).
Utilisation et interaction : une instance de ce type est transmise en tant que paramètre de sortie DataValue à la fonction synchrone Dem_J1939DcmReadDiagnosticReadiness3 [SWS_Dem_00770]. Le DEM détermine les valeurs DM26 pour le ClientId transmis de la mémoire d'événements J1939 et renvoie comme valeur de retour E_OK en cas d'exécution réussie ou E_NOT_OK en cas d'erreur [SWS_Dem_00770].
Concurrence et restrictions : l'appel de fonction de lecture est réentrant pour différentes valeurs de ClientId, mais ne doit pas s'effectuer de manière concurrente pour le même ClientId [SWS_Dem_00770]. Le module J1939Dcm devrait agir comme appelant principal. Question Q-e001ad1880fee789 (ouverte) Le type est déclaré dans Dem.h [SWS_Dem_00951], tandis que le service de lecture correspondant est fourni via Dem_J1939Dcm.h [SWS_Dem_00770].
Cette note d'utilisation est basée sur les stipulations de la spécification AUTOSAR pour le 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().
Le type de données Dem_DebounceResetStatusType commande le comportement des compteurs de déparasitage internes et des temporisations de déparasitage dans le Diagnostic Event Manager [SWS_Dem_00927]. Il est défini comme uint8, disponible via le fichier d'en-tête Rte_Dem_Type.h et fournit deux états de commande définis [SWS_Dem_00927] :
DEM_DEBOUNCE_STATUS_FREEZE(0x00) : gèle le compteur de déparasitage interne ou la temporisation de déparasitage de l'événement adressé [SWS_Dem_00927].DEM_DEBOUNCE_STATUS_RESET(0x01) : réinitialise le compteur de déparasitage interne ou la temporisation de déparasitage [SWS_Dem_00927].
Les valeurs comprises dans la plage de 0x02 à 0xFF sont réservées [SWS_Dem_00927]. Le type est transmis en tant que paramètre DebounceResetStatus à la fonction de service Dem_ResetEventDebounceStatus() [SWS_Dem_00683]. Cet appel s'effectue de manière synchrone et commande l'état de déparasitage interne sans influencer directement la qualification de l'événement respectif [SWS_Dem_00683].
Concernant la concurrence, Dem_ResetEventDebounceStatus() est réentrant pour différentes valeurs de EventId, mais ne doit pas être appelé de manière concurrente pour le même EventId [SWS_Dem_00683]. Les modules BSW peuvent utiliser l'interface dès que l'initialisation de base Dem_PreInit est terminée [SWS_Dem_00683]. Pour les composants logiciels, la mise à disposition devrait s'effectuer via des interfaces spécifiques aux ports telles que DiagnosticMonitor, qui autorisent la modification des informations d'événement [SWS_Dem_00598]. Question Q-32468003718a4933 (ouverte) En cas d'erreur, la fonction appelante renvoie E_NOT_OK, ce qui, selon la spécification, ne se produit qu'en cas d'erreurs de développement [SWS_Dem_00683].
Cette note d’utilisation a été générée de manière automatisée sur la base des exigences de la spécification.
Guide de l'implémenteur à venir (complexité 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().
Le type de données Dem_EventStatusType est dérivé de uint8 et est mis à disposition via le fichier d’en-tête Rte_Dem_Type.h ([SWS_Dem_00926]). Il sert aux Software-Components (SW-C) ainsi qu’aux modules BSW à signaler les résultats de test d’un moniteur de diagnostic au DEM ([SWS_Dem_00926], [SWS_Dem_00183]).
Le type définit les valeurs de résultats de moniteur suivantes ([SWS_Dem_00926]) :
DEM_EVENT_STATUS_PASSED(0x00) etDEM_EVENT_STATUS_FAILED(0x01) : transmission de résultats de test qualifiés (réussi ou échoué).DEM_EVENT_STATUS_PREPASSED(0x02) etDEM_EVENT_STATUS_PREFAILED(0x03) : résultats de test de moniteur provisoires et non qualifiés, dont le débounce s’effectue en interne dans le DEM.DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED(0x04) : déclenche l’enregistrement de FreezeFrames et d’ExtendedDataRecords lors de l’atteinte de la valeur de seuil FDC (ON_FDC_THRESHOLD).- Les plages de valeurs de 0x05 à 0xFF sont réservées.
Le type est utilisé comme paramètre d’entrée EventStatus dans les API BSW Dem_SetEventStatus() ([SWS_Dem_00183]) et Dem_SetEventStatusWithMonitorData() ([SWS_Dem_91037]) ainsi que via les interfaces DiagnosticMonitor ([SWS_Dem_00598]) et DiagnosticMonitor_MonitorData ([SWS_Dem_91038]). L’appel s’effectue de manière synchrone ou asynchrone ([SWS_Dem_00183], [SWS_Dem_91037]).
Les fonctions retournent Std_ReturnType (E_OK en cas de succès, E_NOT_OK en cas d’erreurs ou de rejet), les modules BSW appelants étant autorisés à ignorer la valeur de retour de Dem_SetEventStatus() ([SWS_Dem_00183]). Concernant la concurrence, les appels sont réentrants pour différents EventId, mais non réentrants pour le même EventId ([SWS_Dem_00183], [SWS_Dem_91037]). De plus, la disponibilité des API cibles dépend de la configuration du paramètre DemEventReportingType ([SWS_Dem_00183], [SWS_Dem_91037]).
Ce texte a été généré par une IA et sert de guide d’orientation. La spécification AUTOSAR fait foi.
Guide de l'implémenteur à venir (complexité 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
Utilisation et plage de valeurs
Le type de données Dem_InitMonitorReasonType repose sur uint8 et est disponible via Rte_Dem_Type.h [SWS_Dem_00942]. Il caractérise la cause concrète d'une (ré)initialisation d'un moniteur de diagnostic, afin que celui-ci puisse sélectionner et exécuter la routine d'initialisation appropriée pour l'événement concerné [SWS_Dem_00942] [SWS_Dem_00256].
Les valeurs suivantes sont définies pour le type [SWS_Dem_00942] :
DEM_INIT_MONITOR_CLEAR(0x01) : l'événement de diagnostic a été effacé ; toutes les valeurs et tous les états internes sont réinitialisés.DEM_INIT_MONITOR_RESTART(0x02) : le cycle d'opération de l'événement a été redémarré.DEM_INIT_MONITOR_REENABLED(0x03) : les conditions d'activation (Enable Conditions) ou les réglages de DTC ont été réactivés.DEM_INIT_MONITOR_STORAGE_REENABLED(0x04) : une condition de stockage (Storage Condition) a été réactivée.
Contexte d'appel et interfaces
La valeur est transmise de façon synchrone et réentrante en tant que paramètre d'entrée InitMonitorReason via le rappel C spécifique à l'événement <Module>_DemInitMonitorFor<EventName>(), qui est déclaré dans Dem_Externals.h [SWS_Dem_00256]. S'il existe une interface de port vers le composant logiciel, la transmission s'effectue vers l'opération InitMonitorForEvent de l'interface de service CallbackInitMonitorForEvent [SWS_Dem_00613].
Gestion des erreurs et valeurs de retour
Pour le rappel C, la valeur de retour de type Std_ReturnType est inutilisée et sert uniquement à la compatibilité avec l'opération RTE correspondante [SWS_Dem_00256]. Si l'interface est appelée via la RTE, l'opération InitMonitorForEvent renvoie les valeurs d'erreur E_OK (succès) ou E_NOT_OK (échec) [SWS_Dem_00613]. Aucun code d'erreur propre ni message DET/DEM n'est défini pour ce type de données.
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité 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.
Utilisation
Le type Dem_IumprDenomCondStatusType est basé sur uint8 et définit les états possibles d'une condition de dénominateur IUMPR supplémentaire destinée à la distribution entre calculateurs concernés par l'OBD [SWS_Dem_00944]. Le type est disponible via Rte_Dem_Type.h et comprend les valeurs suivantes [SWS_Dem_00944] :
DEM_IUMPR_DEN_STATUS_NOT_REACHED(0x00) : la condition n'est pas (encore) remplie.DEM_IUMPR_DEN_STATUS_REACHED(0x01) : la condition est remplie.DEM_IUMPR_DEN_STATUS_INHIBITED(0x02) : la condition est inhibée et ne peut pas être atteinte.
Les valeurs comprises dans la plage de 0x03 à 0xFF sont réservées [SWS_Dem_00944].
Interaction et interfaces de service
Dans le cadre de l'interface de service IUMPRDenominatorCondition, l'état est transmis pour des conditions telles que General Denominator, Cold start, EVAP ou 500mi [SWS_Dem_00733] [SWS_Dem_00742]. Il existe deux fonctions de service centrales :
Dem_SetIUMPRDenCondition: transmet l'état de manière synchrone ou asynchrone au DEM d'un calculateur via le paramètre d'entréeConditionStatus[SWS_Dem_00733].Dem_GetIUMPRDenCondition: interroge l'état de manière synchrone via le paramètre de sortie de type pointeurConditionStatusauprès du calculateur sur lequel les conditions sont calculées [SWS_Dem_00734].
Gestion des erreurs et concurrence
Les deux fonctions sont spécifiées comme réentrantes [SWS_Dem_00733] [SWS_Dem_00734]. En cas d'exécution réussie, les API renvoient E_OK ; si la définition ou l'interrogation échoue ou si la condition ne peut pas être acceptée, elles renvoient E_NOT_OK [SWS_Dem_00733] [SWS_Dem_00734].
Cette note d'utilisation a été générée automatiquement par une IA sur la base de la spécification AUTOSAR CP R20-11.
Guide de l'implémenteur à venir (complexité 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().
Le type de données Dem_IndicatorStatusType repose sur uint8 et est fourni via Rte_Dem_Type.h [SWS_Dem_00930]. Il représente les modes de fonctionnement des indicateurs d'avertissement dérivés de l'état UDS [SWS_Dem_00205]. La gamme d'états s'étend de DEM_INDICATOR_OFF (0x00) à DEM_INDICATOR_SHORT (0x07) en passant par DEM_INDICATOR_CONTINUOUS (0x01), DEM_INDICATOR_BLINKING (0x02), DEM_INDICATOR_BLINK_CONT (0x03), DEM_INDICATOR_SLOW_FLASH (0x04), DEM_INDICATOR_FAST_FLASH (0x05) et DEM_INDICATOR_ON_DEMAND (0x06) [SWS_Dem_00930].
Le type est utilisé comme paramètre de sortie dans la fonction C synchrone Dem_GetIndicatorStatus() [SWS_Dem_00205] ainsi que dans l'opération GetIndicatorStatus du port de service IndicatorStatus [SWS_Dem_00606]. Pour chaque indicateur configuré, le composant de service DEM fournit son propre port, le IndicatorId respectif faisant office d'argument défini par le port [SWS_Dem_00606]. Le composant logiciel demandeur devrait généralement utiliser l'état déterminé pour piloter des instruments d'affichage optiques ou acoustiques. Question Q-6bfabb33805bd0e8 (ouverte)
Les appelants doivent noter que Dem_GetIndicatorStatus() est spécifié comme non réentrant (Non Reentrant) [SWS_Dem_00205]. De plus, l'API d'interrogation n'est disponible que si au moins un indicateur est consigné sous DemIndicator dans la configuration [SWS_Dem_00205]. L'opération signale l'état d'exécution via la valeur de retour Std_ReturnType avec E_OK en cas d'évaluation réussie ou E_NOT_OK en cas d'erreur [SWS_Dem_00205][SWS_Dem_00606].
Ce texte a été généré par une IA et sert de guide d'orientation dans l'environnement AUTOSAR.
Guide de l'implémenteur à venir (complexité 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#8909a193- Content hash
8909a193- 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 · Original allemand