DEENESPTFRRUARHIKOZHNL

Diagnostic Event Manager (DEM)

ModulDEM (Diagnostic Event Manager)
BSW-Modul-ID54
Standard-Header#include "Dem.h"
SWS-SpezifikationAUTOSAR_SWS_DiagnosticEventManager.pdf
ClusterDiagnostic Services

Guide du moduleGÉNÉRÉ PAR IA

Collecte les résultats de diagnostic des moniteurs, les qualifie et gère la mémoire d'événements ainsi que les données d'environnement pour les testeurs.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : 28cc2ed3ddd0 Provenance Questions ouvertes (1)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandGénéré par l'IAgemini-3.8-flash-low · 2026-10-13 · Original allemand

Collecte les résultats de diagnostic des moniteurs, les qualifie et gère la mémoire d'événements ainsi que les données d'environnement pour les testeurs.

Il existe exactement un Diagnostic Event Manager par ECU [SWS_Dem_00126]. Il reçoit les résultats de test des moniteurs de diagnostic, les anti-rebondit et met à jour à partir de ceux-ci les bits d'état UDS ainsi que les entrées de mémoire d'événements avec Freeze Frames et Extended Data. DCM et J1939Dcm filtrent, lisent et effacent ces données via des API propres aux clients. La plupart du temps, ils suivent le modèle « sélectionner, puis demander » [SWS_Dem_01253]. La contrainte la plus importante concerne le cycle de vie : avant Dem_Init, les messages ne sont que mis en mémoire tampon ; le module n'est pleinement fonctionnel qu'après.

Il existe exactement un Diagnostic Event Manager par ECU [SWS_Dem_00126]. Il reçoit les résultats des moniteurs de diagnostic dans les SW-Cs et les modules BSW et les qualifie. Il met les contenus de la mémoire d'événements à disposition de DCM et J1939Dcm. Il est intégré entre EcuM, l'ordonnancement de Dem_MainFunction, NvM, FiM et DET SWS DEM p. 247.

kontext SW-C-Monitore SW-C-Monitore Dem Dem SW-C-Monitore->Dem Dem_SetEventStatus (RTE) Dem->SW-C-Monitore InitMonitorForEvent, Status-Callbacks NvM NvM Dem->NvM NvM_ReadBlock / NvM_WriteBlock FiM FiM Dem->FiM FiM_DemInit / FiM_DemTriggerOnMonitorStatus Det Det Dem->Det Det_ReportError BSW-Monitore BSW-Monitore BSW-Monitore->Dem Dem_SetEventStatus EcuM EcuM EcuM->Dem Dem_PreInit / Dem_Init / Dem_Shutdown SchM SchM SchM->Dem Dem_MainFunction Dcm Dcm Dcm->Dem Sélection, filtrage, lecture, effacement (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

Diagramme de contexte : les moniteurs fournissent des résultats, les clients de diagnostic et FiM utilisent le DEM. Sources : SWS DEM p. 247

Le cycle de vie sépare un mode de pré-initialisation du fonctionnement complet [SWS_Dem_00169]. Les résultats signalés après Dem_PreInit sont mis en mémoire tampon et ne déclenchent pas encore de callbacks d'état de moniteur ([SWS_Dem_00167], [SWS_Dem_01289]). Avec Dem_Init, le DEM devient pleinement fonctionnel [SWS_Dem_00340]. Dem_Shutdown finalise les opérations en attente et transmet les données modifiées à NvM ([SWS_Dem_00102], [SWS_Dem_00341]).

Les moniteurs signalent des résultats qualifiés ou préliminaires avec Dem_SetEventStatus [SWS_Dem_00926]. Le DEM effectue l'anti-rebond par événement de manière basée sur compteur, basée sur temps ou interne au moniteur [SWS_Dem_00413]. À partir de là, il établit le Fault Detection Counter de -128 à +127 [SWS_Dem_00415]. L'anti-rebond et l'état du moniteur s'exécutent de manière synchrone, l'octet d'état UDS de manière asynchrone ([SWS_Dem_01279], [SWS_Dem_01285]). Les Enable Conditions et un DTC-Setting désactivé bloquent le traitement SWS DEM p. 83.

Traitement d'un rapport de moniteurmoniteurDemFiMSchMDem_SetEventStatus(EventId, EventStatus)altConditions d'activation remplies et DTC-Setting autoriséDébouclage basé sur compteur (synchrone)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)sinonVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,Mettre à jour la mémoire d'événements et les donnéesEventUdsStatusChanged-Callback(falls konfiguriert)

Diagramme de séquence : un rapport fait l'objet d'un anti-rebond synchrone, le traitement UDS suit dans la MainFunction. Sources : SWS DEM Fig. 9.12 p. 372, [SWS_Dem_01285]

Le DEM crée des entrées avec compteurs, Freeze Frames et Extended Data selon le déclencheur configuré ([SWS_Dem_00783], [SWS_Dem_00039], [SWS_Dem_00809]). Si la mémoire est pleine, la stratégie d'éviction décide ([SWS_Dem_00400], [SWS_Dem_00402]). Le DCM y accède selon le modèle « sélectionner, puis demander ». Dem_SelectDTC définit la cible pour la lecture, la consultation de l'état et l'effacement [SWS_Dem_01253]. Dem_SetDTCFilter fixe les critères pour les listes de DTC [SWS_Dem_00057].

Le DEM signale les erreurs sous forme d'erreurs de développement DET, par ex. DEM_E_UNINIT ou DEM_E_WRONG_CONDITION [SWS_Dem_00173]. À l'exécution, il fournit des valeurs de retour telles que DEM_WRONG_DTC ou DEM_BUSY ([SWS_Dem_01261], [SWS_Dem_01306]). Il initialise les données que NvM ne peut pas lire [SWS_Dem_00578].

Rôle et limites du système : service central de mémoire d'événements de l'ECU

Le Diagnostic Event Manager reçoit les résultats des moniteurs de diagnostic et les qualifie en événements. Il les enregistre avec les données d'environnement dans la mémoire d'événements. Il existe exactement un module DEM par ECU [SWS_Dem_00126]. Chaque événement de diagnostic est représenté par un EventId unique et un EventName ([SWS_Dem_00153], [SWS_Dem_00154]). Dem_EventIdType repose sur uint16, la valeur 0 étant invalide [SWS_Dem_00925] SWS DEM p. 339.

La figure 8.1 présente les interfaces avec l'environnement SWS DEM p. 247 :

  • EcuM appelle Init et Shutdown.
  • L'ordonnancement appelle Dem_MainFunction.
  • NvM persiste les données [SWS_Dem_00164].
  • FiM est informé des changements d'état [SWS_Dem_00029].
  • DET reçoit les erreurs de développement.
Les moniteurs SW-C rapportent via des ports RTE tels que DiagnosticMonitor [SWS_Dem_00598]. DCM et J1939Dcm accèdent en tant que clients à une DemEventMemorySet configurée via une ClientId ([SWS_Dem_01247], [SWS_Dem_01251]).
kontext SW-C-Monitore SW-C-Monitore Dem Dem SW-C-Monitore->Dem Dem_SetEventStatus (RTE) Dem->SW-C-Monitore InitMonitorForEvent, Status-Callbacks NvM NvM Dem->NvM NvM_ReadBlock / NvM_WriteBlock FiM FiM Dem->FiM FiM_DemInit / FiM_DemTriggerOnMonitorStatus Det Det Dem->Det Det_ReportError BSW-Monitore BSW-Monitore BSW-Monitore->Dem Dem_SetEventStatus EcuM EcuM EcuM->Dem Dem_PreInit / Dem_Init / Dem_Shutdown SchM SchM SchM->Dem Dem_MainFunction Dcm Dcm Dcm->Dem Sélection, filtrage, lecture, effacement (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

Diagramme de contexte : le DEM est le récepteur de données des moniteurs et la source de données pour les clients de diagnostic et FiM. Sources : SWS DEM p. 247, [SWS_Dem_00256]

Cycle de vie : pré-initialisation, fonctionnement et Shutdown

Le DEM distingue un mode de pré-initialisation et un mode pleinement initialisé [SWS_Dem_00169]. Dem_PreInit initialise les états nécessaires au traitement des événements [SWS_Dem_00180], parmi lesquels l'anti-rebond interne [SWS_Dem_01213]. Les événements signalés par la suite aboutissent dans un tampon [SWS_Dem_00167] et ne déclenchent pas encore de callbacks d'état de moniteur [SWS_Dem_01289] SWS DEM Fig. 7.42 p. 169.

Dem_Init prend en charge le pointeur Post-Build vers Dem_ConfigType ([SWS_Dem_00181], [SWS_Dem_00924]). La fonction initialise ou réinitialise le module SWS DEM p. 260. Ensuite, le DEM est pleinement fonctionnel [SWS_Dem_00340]. L'état du moniteur est établi à partir des résultats préalablement rapportés ou de l'état de NvM [SWS_Dem_01326]. C'est seulement ensuite que suit FiM_DemInit [SWS_Dem_01325]. Un redémarrage de cycle initié avant Dem_Init est rattrapé [SWS_Dem_01318].

En fonctionnement, Dem_MainFunction traite toutes les fonctions non événementielles [SWS_Dem_00125]. Dem_Shutdown finalise les opérations en attente [SWS_Dem_00102]. Les données non volatiles modifiées sont transmises à NvM au plus tard à ce moment-là [SWS_Dem_00341]. Interprétation : comme Dem_Init réinitialise également d'après [SWS_Dem_00181], un redémarrage après Dem_Shutdown devrait vraisemblablement s'effectuer via un nouvel appel de Dem_Init. Question (ouverte)

lebenszyklus start commencer uninit Non initialisé start->uninit pre Pré-initialisé (les notifications sont mises en mémoire tampon) uninit->pre Dem_PreInit voll Voll initialisiert (Dem_MainFunction verarbeitet) pre->voll Dem_Init(ConfigPtr) voll->voll Dem_Init (Reinitialisierung) aus Heruntergefahren voll->aus Dem_Shutdown aus->voll Dem_Init (vermutlich Neustart)

Diagramme d'états : modes du DEM depuis la pré-initialisation jusqu'au Shutdown. Le redémarrage après le Shutdown est une supposition. Sources : [SWS_Dem_00169], [SWS_Dem_00181], [SWS_Dem_00182]

Mise en mémoire tampon entre Dem_PreInit et Dem_InitEcuMMonitor (SW-C/BSW)DemFiMSchMUse Case: VorinitialisierungDem_PreInit()États internes etEntprellung initialisierenDem_SetEventStatus(EventId, EventStatus)Meldung puffern,aucun callback d'état de moniteurUse Case: InitialisierungDem_Init(ConfigPtr)déterminer l'état du moniteur à partir des notificationsou de l'état NvMFiM_DemInit()Retour : Dem pleinement opérationnelUse Case: BetriebloopzyklischDem_MainFunction()Traitement non déclenché par événement

Diagramme de séquence : entre Dem_PreInit et Dem_Init, les messages sont mis en mémoire tampon sans callbacks. Sources : SWS DEM Fig. 7.15 p. 85, [SWS_Dem_01189]

Du rapport de moniteur au résultat qualifié

Les moniteurs signalent les résultats de test avec Dem_SetEventStatus dès qu'un nouveau résultat est disponible ([SWS_Dem_00330], SWS DEM p. 81). Dem_EventStatusType distingue trois types de messages [SWS_Dem_00926] :

  • résultats qualifiés (DEM_EVENT_STATUS_PASSED/_FAILED),
  • résultats préalables pour l'anti-rebond interne (_PREPASSED/_PREFAILED),
  • DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED.

L'anti-rebond est configurable par événement [SWS_Dem_00413] :

Le DEM mappe linéairement les valeurs de compteurs ou de timers sur le Fault Detection Counter de -128 à +127 ([SWS_Dem_00415], [SWS_Dem_00427]). L'anti-rebond basé sur compteur et l'état du moniteur s'exécutent de façon synchrone dans le contexte d'appel ([SWS_Dem_01279], [SWS_Dem_01280]). En revanche, le DEM calcule l'octet d'état UDS de manière asynchrone [SWS_Dem_01285] SWS DEM p. 83.
Traitement d'un rapport de moniteurmoniteurDemFiMSchMDem_SetEventStatus(EventId, EventStatus)altConditions d'activation remplies et DTC-Setting autoriséDébouclage basé sur compteur (synchrone)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)sinonVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,Mettre à jour la mémoire d'événements et les donnéesEventUdsStatusChanged-Callback(falls konfiguriert)

Diagramme de séquence : un rapport fait l'objet d'un anti-rebond synchrone, le traitement UDS subséquent s'exécute de façon asynchrone. Sources : SWS DEM Fig. 9.12 p. 372, [SWS_Dem_01285]

Le DEM positionne les bits d'état UDS 0 à 7 selon ses propres règles de transition ([SWS_Dem_00386], [SWS_Dem_00395]). Dem_ResetEventStatus réinitialise le bit 0 de façon asynchrone et initialise l'anti-rebond sans signaler de résultat Passed [SWS_Dem_00187] SWS DEM p. 79. Si l'événement a déjà été testé au cours du cycle actuel, l'appel renvoie E_NOT_OK [SWS_Dem_00638]. Dem_ResetEventDebounceStatus fige l'anti-rebond ou le réinitialise ([SWS_Dem_00684], [SWS_Dem_00685]).

testfailed start commencer f TestFailed = FALSE start->f Initialzustand t TestFailed = TRUE f->t Dem_SetEventStatus(FAILED) ou filtré de manière qualifiée t->f Dem_SetEventStatus(PASSED) t->f Dem_ResetEventStatus t->f ClearDTC

Diagramme d'états : transitions du bit d'état UDS 0 (TestFailed). Sources : SWS DEM Fig. 7.15 p. 70, [SWS_Dem_00386]

Conditions d'activation, cycles de fonctionnement et disponibilité

Les Enable Conditions et un DTC-Setting désactivé bloquent le traitement des messages d'état SWS DEM p. 83. Les règles associées se trouvent dans [SWS_Dem_00449] et [SWS_Dem_00079]. DemDebounceBehavior définit si l'anti-rebond est réinitialisé [SWS_Dem_00654] ou figé [SWS_Dem_00655] à cette occasion. En revanche, les Storage Conditions empêchent uniquement l'enregistrement en mémoire ([SWS_Dem_00455], [SWS_Dem_00556]).

Dem_RestartOperationCycle fonctionne de manière asynchrone. Les moniteurs concernés sont réinitialisés via InitMonitorForEvent [SWS_Dem_00679] SWS DEM p. 274. Les redémarrages ne sont pas mis en mémoire tampon [SWS_Dem_01316]. D'autres déclencheurs pour InitMonitorForEvent sont :

En cas de déclencheurs simultanés, le callback n'est appelé qu'une seule fois, avec la raison de priorité la plus élevée [SWS_Dem_01046] SWS DEM p. 47.

Le DEM traite les événements non disponibles marqués par Dem_SetEventAvailable comme s'ils n'étaient pas configurés [SWS_Dem_01108] SWS DEM p. 66. Cette API est absente dans VARIANT-POST-BUILD [SWS_Dem_01106]. En revanche, un DTC supprimé est seulement invisible pour le testeur, le traitement d'événements se poursuivant [SWS_Dem_01102].

Mémoire d'événements : enregistrement, données d'environnement et éviction

Le DEM gère la mémoire d'événements primaire [SWS_Dem_00010] et, en option, des mémoires définies par l'utilisateur ayant le même comportement [SWS_Dem_01063]. Une entrée regroupe compteurs, Freeze Frames et Extended Data SWS DEM Fig. 7.13 p. 77. DemEventMemoryEntryStorageTrigger détermine quand une entrée est créée :

Les données relatives à l'événement sont supprimées par aging [SWS_Dem_01075].

Les Freeze Frames sont spécifiques à l'événement et se composent de DID configurés ([SWS_Dem_00039], [SWS_Dem_00040]). En présence de données volatiles, le moniteur les acquiert au préalable avec Dem_PrestoreFreezeFrame. Le DEM utilise ces données lors de l'enregistrement [SWS_Dem_00464] SWS DEM Fig. 7.37 p. 128. Les Extended Data Records sont acquis sur des déclencheurs configurés [SWS_Dem_00809]. Ils peuvent contenir des valeurs internes telles que des Occurrence Counters [SWS_Dem_00471].

En l'absence d'entrée libre, le DEM vérifie la possibilité d'une éviction [SWS_Dem_00400]. DEM_DISPLACEMENT_NONE l'exclut [SWS_Dem_00402]. Sans candidat, l'enregistrement est rejeté [SWS_Dem_00407]. Dans le cas contraire, l'entrée est supprimée et les bits d'état sont adaptés ([SWS_Dem_00408], [SWS_Dem_00409]). Le DEM signale un débordement pour chaque mémoire [SWS_Dem_00397].

verdraengung s Nouvelle entrée de mémoire requise frei Freier Eintrag vorhanden? s->frei anlegen Eintrag anlegen frei->anlegen Oui strat DemEventDisplacementStrategy = DEM_DISPLACEMENT_NONE? frei->strat Non such Rechercher les entrées de plus basse priorité strat->such Non verw Speicheranforderung verwerfen strat->verw Oui prio Priorité de l'événement signalé suffisante (cf. Figure 7.28) ? such->prio passiv Privilégier les entrées passives parmi les résultats trouvés prio->passiv Oui prio->verw nein / kein Kandidat verdr Évincer l'entrée la plus ancienne trouvée, ajuster les bits d'état passiv->verdr verdr->anlegen

Diagramme d'activité : séquence simplifiée des critères d'éviction, sans l'étape de filtrage OBD. Sources : SWS DEM Fig. 7.28 p. 98, [SWS_Dem_00406]

Accès par DCM, J1939Dcm et services OBD

De nombreuses API suivent le modèle « sélectionner, puis demander ». Dem_SelectDTC définit le DTC, le format et l'Origin comme cible. C'est sur celle-ci qu'agissent par exemple Dem_ClearDTC, Dem_GetStatusOfDTC et Dem_SelectFreezeFrameData [SWS_Dem_01253] SWS DEM p. 215. Pour les listes de DTC, Dem_SetDTCFilter positionne les critères [SWS_Dem_00057]. Dem_GetNextFilteredDTC itère ensuite sur les correspondances [SWS_Dem_00216]. Les octets d'état fournis sont masqués avec le masque d'Availability [SWS_Dem_00657].

Le DCM lit les Freeze Frames avec Dem_GetNextFreezeFrameData après avoir sélectionné le DTC et le Record [SWS_Dem_01268] SWS DEM Fig. 9.7 p. 369. Le DEM fournit alors la disposition finalisée du Record SWS DEM Fig. 7.48 p. 195. Les Extended Data sont lues de façon analogue [SWS_Dem_01272].

Pour l'effacement, le DCM vérifie d'abord la sélection puis appelle Dem_ClearDTC ([SWS_Dem_91020], [SWS_Dem_00665]). Avant l'effacement, le DEM interroge DemClearEventAllowed [SWS_Dem_00515] SWS DEM Fig. 9.3 p. 367. Les API J1939 sont disponibles lorsque DemGeneralJ1939 est configuré [SWS_Dem_00845]. En cas de prise en charge OBD, le DEM fournit en outre :

Seul l'ECU maître calcule le PID $31/$4D/$4E [SWS_Dem_00703] SWS DEM p. 170.
Effacement d'un DTC (UDS 0x14)TesterDcmDemMonitor-SW-CClearDiagnosticInformation(DTC)Dem_SelectDTC(ClientId, DTC, DTCFormat, DTCOrigin)loopsolange DEM_PENDINGDem_GetDTCSelectionResultForClearDTC(ClientId)loopsolange DEM_PENDINGDem_ClearDTC(ClientId)<Module>_DemClearEventAllowed(Allowed)AllowedoptAllowed == TRUEétat, données liées à l'événement etréinitialiser les Prestored Freeze FramesInitMonitorForEvent(DEM_INIT_MONITOR_CLEAR)DEM_PENDING / ErgebnisRéponse positive ou négative

Diagramme de séquence : effacement via sélection, demande d'autorisation et réinitialisation des moniteurs. Sources : SWS DEM Fig. 9.2 p. 366, [SWS_Dem_00680]

Comportement en cas d'erreur

Le DEM signale les erreurs de développement à DET, par ex. DEM_E_UNINIT, DEM_E_PARAM_POINTER ou DEM_E_WRONG_CONDITION [SWS_Dem_00173] SWS DEM p. 238. Les appels avant l'initialisation génèrent DEM_E_UNINIT ; Dem_SetEventStatus et Dem_ResetEventStatus font notamment exception [SWS_Dem_00124]. Il en va de même après le Shutdown [SWS_Dem_00368].

À l'exécution, les API fournissent les valeurs de retour suivantes :

[SWS_Dem_01202] définit les conditions dans lesquelles une opération d'effacement est considérée comme ayant échoué.

Le DEM initialise les données que NvM ne peut pas lire [SWS_Dem_00578]. Il ignore les erreurs d'écriture [SWS_Dem_00579]. Les données de Prestore dont la disposition ne correspond plus après une reprogrammation sont ignorées [SWS_Dem_01323].

Preuves détaillées supplémentaires

Guide généré par IA sur la base des exigences (R20-11) et des passages documentaires contenus dans la charge utile. Seules les exigences citées font foi ; certains passages documentaires proviennent d'autres versions.

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

Typen — Übersicht

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 52979462b246 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_SetEventStatus sont pris en charge pour le filtrage avec les états DEM_EVENT_STATUS_PREPASSED et DEM_EVENT_STATUS_PREFAILED ([SWS_Dem_01212]). Cependant, tous les événements signalés avant Dem_Init ne déclenchent aucun callback de changement d'état du moniteur ([SWS_Dem_01289]).
  • Contrôle de l'état de filtrage : la fonction Dem_ResetEventDebounceStatus permettant de réinitialiser ou de figer les compteurs de filtrage est à la disposition des modules BSW après l'achèvement de Dem_PreInit ([SWS_Dem_00180], [SWS_Dem_00683]).
  • Seuils de confirmation et cycles de fonctionnement : le DEM prend en charge les appels de Dem_SetEventConfirmationThresholdCounter après Dem_PreInit ([SWS_Dem_01242]). Un appel de Dem_RestartOperationCycle n'est également autorisé qu'à partir de ce moment ; si un cycle de fonctionnement est redémarré avant Dem_Init, le traitement effectif du redémarrage n'a lieu qu'après Dem_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 940f61d4751b Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_GetMonitorStatus fournissent E_NOT_OK avant la fin de l'initialisation ([SWS_Dem_01326]), Dem_GetMonitorStatus et Dem_GetComponentFailed renvoient E_OK aprè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 dans Dem_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 que NvM_ReadBlock ([SWS_Dem_00164]). L'appel de Dem_Init lève en outre le verrouillage de la mémoire d'événements après un Dem_Shutdown préalable ([SWS_Dem_00102]).
  • Interaction et mise en mémoire tampon : si DemTriggerFiMReports est défini sur True, Dem_Init appelle exclusivement à ce moment FiM_DemInit afin d'initialiser les autorisations dans le Function Inhibition Manager ([SWS_Dem_01189]). Les événements mis en mémoire tampon avant Dem_Init ([SWS_Dem_00167], [SWS_Dem_01079]) ne déclenchent aucun callback de changement d'état de moniteur avant Dem_Init ([SWS_Dem_01289]). Un redémarrage de cycle demandé avant Dem_Init via Dem_RestartOperationCycle n'est traité qu'après Dem_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d50e7ed9388c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 de Dem_SetEventStatus, Dem_ResetEventDebounceStatus, Dem_GetVersionInfo et Dem_MainFunction –, le module positionne le code d’erreur DEM_E_UNINIT jusqu’au prochain Dem_Init ([SWS_Dem_00368]).
  • Si Dem_SetEventStatus ou Dem_ResetEventDebounceStatus sont appelées après Dem_Shutdown pour des événements pour lesquels DemDebounceCounterStorage est défini sur True, le DEM signale le code d’erreur DEM_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 746b093f9e55 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 configuration DemClearDTCLimitation impose DEM_ONLY_CLEAR_ALL_DTCS [SWS_Dem_00670].
  • DEM_WRONG_DTCORIGIN : l'emplacement mémoire sélectionné n'existe pas [SWS_Dem_00665].
  • DEM_CLEAR_FAILED ou DEM_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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e3d7b3899eb8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_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_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_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_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_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).

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1c0673b083cc Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 avant Dem_Init ou après Dem_Shutdown, DEM_E_WRONG_CONDITION est 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b20c64ec7b3a Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 43517846effb Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c489dfc2152d Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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é par DemMaxNumberPrestoredFF) [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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c8301a45c8d2 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 de Dem_SelectDTC ou 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_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_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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 706d7cf70a2d Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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ù DemTriggerFiMReports est actif [SWS_Dem_00029].
  • Acquisition de données de Freeze Frame synchrones et d'enregistrements Extended Data lorsque l'option DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING est configurée [SWS_Dem_00805], [SWS_Dem_01082].
  • Appels en cascade pour les événements esclaves configurés lorsque la configuration DemMultiEventTriggering est 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : eb7046584bdf Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.h que si DemEventReportingType est configuré sur STANDARD_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ême EventId [SWS_Dem_91037].
  • Valeurs de retour : elle fournit E_OK en cas de positionnement réussi de l’état d’événement et E_NOT_OK si 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7e5ab1b6f9c0 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 = TRUE est 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_SetWIRStatus empê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_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_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_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_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_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).

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 793bc4c92bab Provenance
traduit du guide allemandGénéré par l'IAgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 de Dem_SelectDTC est 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.

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : de89b4e41f66 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2ece0d12a55d Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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, ExtendedDataNumber accepte les valeurs 0xFE (taille totale de tous les enregistrements OBD) ainsi que 0xFF (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é avec Dem_DisableDTCRecordUpdate [SWS_Dem_00270].
  • Valeurs de retour et erreurs : en cas de sélection réussie, E_OK est 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é via Dem_SelectDTC, ou si le DTC n'existe pas, l'appel échoue avec DEM_WRONG_DTC [SWS_Dem_91017] [SWS_Dem_01349]. Si l'emplacement mémoire n'existe pas, DEM_WRONG_DTCORIGIN est signalé [SWS_Dem_91017].
  • Concurrence : si la sélection est encore en cours de traitement, DEM_PENDING signale la nécessité d'un nouvel appel [SWS_Dem_91017]. L'état DEM_BUSY indique qu'une autre opération dépendante du DTC est encore active pour ce ClientId [SWS_Dem_91017]. La fonction est réentrante pour différentes valeurs de ClientId, 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5188ca62aa0a Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4c222839a4a6 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4784195edff9 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 51829835ffc5 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : dde27ef1779b Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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'état DCM_INITIAL se 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6941d67caf4d Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1c7eda1b0fc3 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 vers uint8), 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 un PIDBuffer adapté [SWS_Dem_00325].
  • Valeur de retour : le service renvoie systématiquement la valeur d'état E_OK. Un cas d'erreur avec E_NOT_OK ne 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2dc814aaf11d Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 PID21value est 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 que E_NOT_OK ne survient jamais d'après la spécification [SWS_Dem_00319].
  • État initial / traitement des erreurs : si Dem_DcmReadDataOfPID21 est appelée avant que des valeurs n'aient été définies via Dem_SetDataOfPID21, le DEM renvoie la valeur de remplacement 0xFFFF comme 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : aa9161844e39 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_OK en tant que Std_ReturnType [SWS_Dem_00320]. D'après la spécification, la valeur d'erreur E_NOT_OK ne 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : cfc8a8d1c498 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 un PIDBuffer [SWS_Dem_00321].
  • Valeur de retour : le service renvoie toujours E_OK en tant que Std_ReturnType ; la valeur d'erreur E_NOT_OK ne 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 18b86d10b784 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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*) :

  • PID41value reç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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0df731691150 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 51321ea5857b Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b21962c6ebc5 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f57c1c183634 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f96309635c05 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 valeur 0x00 dé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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5b769d67b0cc Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 49e6e35927e4 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 18535af5aa7f Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 DemDtrEventRef est configuré avec DemEventAvailable == FALSE, le DEM retourne obligatoirement E_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fedc82312f61 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 :

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 79d994fe5d97 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_ELEMENT ainsi que DEM_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c6cbd3422fd3 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 7183056cd60e Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 48ed4a1205b0 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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ètres LampStatus, J1939DTC et OccurenceCounter contiennent des valeurs valides ([SWS_Dem_00882]). Interprétation : la condition DEM_FILTERED_OK mentionnée dans la spécification des paramètres devrait faire référence à E_OK, étant donné que DEM_FILTERED_OK n'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).

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : cb1db17652c2 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_FAILED ou DEM_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ee201d0b0970 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 sont DEM_J1939DCM_FREEZEFRAME (filtrage des données dans DemJ1939FreezeFrameClassRef), DEM_J1939DCM_EXPANDED_FREEZEFRAME (filtrage des données dans DemJ1939ExpandedFreezeFrameClassRef) ainsi que DEM_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_OK en cas d'exécution réussie ou E_NOT_OK si 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0611ff42285c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 de DEM_FILTERED_OK dans la description du paramètre devrait probablement être comprise comme un synonyme rédactionnel pour E_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_SMALL ou DEM_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 92b02fdbb0d3 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 618098c9083d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a599c5bc4d30 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 que SPN, Numerator et Denominator contiennent des données valides (la mention de DEM_FILTERED_OK dans 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 42bfb79acbf8 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 vers Dem_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : da1e3ecb89af Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type Dem_J1939DcmDiagnosticReadiness2Type destiné à 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : cb06cae402da Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 type Dem_J1939DcmDiagnosticReadiness3Type destiné à 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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8fa8b5c52739 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 22348b6c2b61 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 DemOBDSupport est configuré comme différent de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00315]. De plus, l'interface est mise à disposition pour la libération sous des conditions particulières si DemIUMPRDenGroup est configuré comme DEM_IUMPR_DEN_PHYS_API [SWS_Dem_00362].
  • Paramètres et valeurs de retour : l'identifiant RatioID est transmis comme paramètre d'entrée. La fonction renvoie E_OK lorsque le statut du dénominateur IUMPR a été signalé avec succès, sinon E_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_RepIUMPRDenRelease en est directement affecté et renvoie E_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)

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 047a07d76a94 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 (type boolean) transmet l'état de la prise de force, où TRUE correspond à actif et FALSE à 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 renvoie E_OK si le nouvel état PTO a été pris en compte par le DEM, et E_NOT_OK dans 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 24f93781d796 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d0c8e2a4847f Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 retour E_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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0be629ee3c44 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 DemEnvironmentDataCapture est configuré sur DEM_CAPTURE_ASYNCHRONOUS_TO_REPORTING (par rapport à DemPrimaryMemory ou DemUserDefinedMemory), 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 de Dem_MainFunction.
  • Si DemEnvironmentDataCapture est défini sur DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING, le module DEM met les données d'environnement en file d'attente jusqu'au prochain appel de Dem_MainFunction ([SWS_Dem_01083]). Le module met alors en mémoire tampon au moins la quantité configurée selon DemMaxNumberEventEntryEventBuffer ; si la file d'attente est pleine, les données sont acquises lors du traitement de l'événement au sein de Dem_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_DTCRequestType [SWS_Dem_00935] 📄 PDF

This type is used to request a DTC with specific attributes.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 760d1343beae Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_J1939DcmDTCStatusFilterType [SWS_Dem_00945] 📄 PDF

The type to distinguish which DTCs should be filtered.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 92ccd2ad8a5a Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_J1939DcmLampStatusType [SWS_Dem_00948] 📄 PDF

For details refer SAE J1939-73

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 92989a7111ae Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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 via ClientId).
  • 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a760cec9362d Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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].
  • NonContinuouslyMonitoredSystemsSupport5 et NonContinuouslyMonitoredSystemsSupport6 : prise en charge des systèmes non surveillés en continu (octets 5 et 6) [SWS_Dem_00949].
  • NonContinuouslyMonitoredSystemsStatus7 et NonContinuouslyMonitoredSystemsStatus8 : é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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 4e1cd28c8cba Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : b4812c5890e8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.
  • NonContinuouslyMonitoredSystemsEnableStatus5 et NonContinuouslyMonitoredSystemsEnableStatus6 (respectivement uint8) : état d'activation des moniteurs non continus dans le cycle actuel (octets 5 et 6).
  • NonContinuouslyMonitoredSystems7 et NonContinuouslyMonitoredSystems8 (respectivement uint8) : é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_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().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2ba3237222eb Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 6d8ec716ce5e Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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) et DEM_EVENT_STATUS_FAILED (0x01) : transmission de résultats de test qualifiés (réussi ou échoué).
  • DEM_EVENT_STATUS_PREPASSED (0x02) et DEM_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_InitMonitorReasonType [SWS_Dem_00942] 📄 PDF

(Re-)Initialization reason returned by the callback _DemInitMonitorFor().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a883663c849a Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8df8011c88ff Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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ée ConditionStatus [SWS_Dem_00733].
  • Dem_GetIUMPRDenCondition : interroge l'état de manière synchrone via le paramètre de sortie de type pointeur ConditionStatus auprè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_IndicatorStatusType [SWS_Dem_00930] 📄 PDF

Indicator mode used by Dem_GetIndicatorStatus().

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 05853b91068c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

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_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.

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

Carte des thèmes

Initialisation et état

2

Vue détaillée

Sélectionnez une entrée dans le plan.

Initialisation et état

Returns the version information of this module. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemVersionInfoApi)} == true)

void Dem_GetVersionInfo (Std_VersionInfoType* versioninfo);
Dem_Init fonction

Initializes or reinitializes this module.

void Dem_Init (const Dem_ConfigType* ConfigPtr);

Services · Get…

Service to report the value of the B1 counter computed by the Dem. API is needed in WWH-OBD relevant ECUs only

Std_ReturnType Dem_GetB1Counter (uint16* B1Counter);

Gets the failed status of a DemComponent.

Std_ReturnType Dem_GetComponentFailed (Dem_ComponentIdType ComponentId, boolean* ComponentFailed);

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)

Std_ReturnType Dem_GetCycleQualified (uint8 OperationCycleId, boolean* isQualified);

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)

Std_ReturnType Dem_GetDataOfPID21 (uint8* PID21value);

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.

Std_ReturnType Dem_GetDebouncingOfEvent (Dem_EventIdType EventId, Dem_DebouncingStateType* DebouncingState);

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.

Std_ReturnType Dem_GetDTCByOccurrenceTime (uint8 ClientId, Dem_DTCRequestType DTCRequest, uint32* DTC);

Gets the DTC of an event.

Std_ReturnType Dem_GetDTCOfEvent (Dem_EventIdType EventId, Dem_DTCFormatType DTCFormat, uint32* DTCOfEvent);

Provides information if the last call to Dem_SelectDTC has selected a valid DTC or group of DTCs.

Std_ReturnType Dem_GetDTCSelectionResult (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.

Std_ReturnType Dem_GetDTCSelectionResultForClearDTC (uint8 ClientId);

Gets the DTC Severity availability mask.

Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);

Gets the DTC Status availability mask of the selected fault memory.

Std_ReturnType Dem_GetDTCStatusAvailabilityMask (uint8 ClientId, Dem_UdsStatusByteType* DTCStatusMask, Dem_DTCOriginType DTCOrigin);

Returns the suppression status of a specific DTC. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral.DemSuppressionSupport)} == DEM_DTC_SUPPRESSION)

Std_ReturnType Dem_GetDTCSuppression (uint8 ClientId, boolean* SuppressionStatus);

Get the Event's availability.

Std_ReturnType Dem_GetEventAvailable (Dem_EventIdType EventId, boolean* AvailableStatus);

Gets the data of an extended data record by event.

Std_ReturnType Dem_GetEventExtendedDataRecordEx (Dem_EventIdType EventId, uint8 RecordNumber, uint8* DestBuffer, uint16* BufSize);

Gets the data of a freeze frame by event.

Std_ReturnType Dem_GetEventFreezeFrameDataEx (Dem_EventIdType EventId, uint8 RecordNumber, uint16 DataId, uint8* DestBuffer, uint16* BufSize);

Gets the event memory overflow indication status.

Std_ReturnType Dem_GetEventMemoryOverflow (uint8 ClientId, Dem_DTCOriginType DTCOrigin, boolean* OverflowIndication);

Gets the current UDS status byte assigned to the DTC for the event

Std_ReturnType Dem_GetEventUdsStatus (Dem_EventIdType EventId, Dem_UdsStatusByteType* UDSStatusByte);

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.

Std_ReturnType Dem_GetFaultDetectionCounter (Dem_EventIdType EventId, sint8* FaultDetectionCounter);

Gets the functional unit of the requested DTC.

Std_ReturnType Dem_GetFunctionalUnitOfDTC (uint8 ClientId, uint8* DTCFunctionalUnit);

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)

Std_ReturnType Dem_GetIndicatorStatus (uint8 IndicatorId, Dem_IndicatorStatusType* IndicatorStatus);

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)

Std_ReturnType Dem_GetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType* ConditionStatus);

Gets the current monitor status for an event.

Std_ReturnType Dem_GetMonitorStatus (Dem_EventIdType EventID, Dem_MonitorStatusType* MonitorStatus);

Gets extended data record for the DTC selected by Dem_SelectExtendedDataRecord. The function stores the data in the provided DestBuffer.

Std_ReturnType Dem_GetNextExtendedDataRecord (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);

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.

Std_ReturnType Dem_GetNextFilteredDTC (uint8 ClientId, uint32* DTC, uint8* DTCStatus);

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.

Std_ReturnType Dem_GetNextFilteredDTCAndFDC (uint8 ClientId, uint32* DTC, sint8* DTCFaultDetectionCounter);

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.

Std_ReturnType Dem_GetNextFilteredDTCAndSeverity (uint8 ClientId, uint32* DTC, uint8* DTCStatus, Dem_DTCSeverityType* DTCSeverity, uint8* DTCFunctionalUnit);

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.

Std_ReturnType Dem_GetNextFilteredRecord (uint8 ClientId, uint32* DTC, uint8* RecordNumber);

Gets freeze frame data by the DTC selected by Dem_SelectFreezeFrameData. The function stores the data in the provided DestBuffer.

Std_ReturnType Dem_GetNextFreezeFrameData (uint8 ClientId, uint8* DestBuffer, uint16* BufSize);

Returns the number of entries currently stored in the requested event memory.

Std_ReturnType Dem_GetNumberOfEventMemoryEntries (uint8 ClientId, Dem_DTCOriginType DTCOrigin, uint8* NumberOfEventMemoryEntries);

Gets the number of a filtered DTC.

Std_ReturnType Dem_GetNumberOfFilteredDTC (uint8 ClientId, uint16* NumberOfFilteredDTC);

This function returns the number of all freeze frame records currently stored in the primary event memory

Std_ReturnType Dem_GetNumberOfFreezeFrameRecords (uint8 ClientId, uint16* NumberOfFilteredRecords);

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).

Std_ReturnType Dem_GetSeverityOfDTC (Dem_DTCSeverityType* DTCSeverity, uint8 ClientId);

Gets the size of Extended Data Record by DTC selected by the call of Dem_SelectExtended DataRecord.

Std_ReturnType Dem_GetSizeOfExtendedDataRecordSelection (uint8 ClientId, uint32* SizeOfExtendedDataRecord);

Gets the size of freeze frame data by DTC selected by the call of Dem_SelectFreezeFrame Data.

Std_ReturnType Dem_GetSizeOfFreezeFrameSelection (uint8 ClientId, uint32* SizeOfFreezeFrame);

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.

Std_ReturnType Dem_GetStatusOfDTC (uint8 ClientId, uint8* DTCStatus);

Gets the supported DTC formats of the ECU.The supported formats are configured via Dem TypeOfDTCSupported.

Dem_DTCTranslationFormatType Dem_GetTranslationType (uint8 ClientId);

Services · Set…

Set the availability of a specific DemComponent.

Std_ReturnType Dem_SetComponentAvailable (Dem_ComponentIdType ComponentId, boolean AvailableStatus);

Sets a dependent operation cycle as qualified, so it may be processed along with its leading cycle.

Std_ReturnType Dem_SetCycleQualified (uint8 OperationCycleId);

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)

Std_ReturnType Dem_SetDataOfPID21 (const uint8* PID21value);

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)

Std_ReturnType Dem_SetDataOfPID31 (const uint8* PID31value);

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)

Std_ReturnType Dem_SetDataOfPID4D (const uint8* PID4Dvalue);

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)

Std_ReturnType Dem_SetDataOfPID4E (const uint8* PID4Evalue);

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

Std_ReturnType Dem_SetDTCFilter (uint8 ClientId, uint8 DTCStatusMask, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin, boolean FilterWithSeverity, Dem_DTCSeverityType DTCSeverityMask, boolean FilterForFaultDetectionCounter);

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)

Std_ReturnType Dem_SetDTCSuppression (uint8 ClientId, boolean SuppressionStatus);
Dem_SetDTR fonction

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)

Std_ReturnType Dem_SetDTR (uint16 DTRId, sint32 TestResult, sint32 LowerLimit, sint32 UpperLimit, Dem_DTRControlType Ctrlval);

Sets an enable condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemEnable Condition)} != NULL)

Std_ReturnType Dem_SetEnableCondition (uint8 EnableConditionID, boolean ConditionFulfilled);

Set the available status of a specific Event.

Std_ReturnType Dem_SetEventAvailable (Dem_EventIdType EventId, boolean AvailableStatus);

Set the failure confirmation threshold of an event.

Std_ReturnType Dem_SetEventConfirmationThresholdCounter (Dem_EventIdType EventId, uint8 FailureCycleCounterThreshold);

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)

Std_ReturnType Dem_SetEventDisabled (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

void Dem_SetEventFailedWithSyncFreezeFrame (Dem_EventIdType EventId);

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)

Std_ReturnType Dem_SetEventStatus (Dem_EventIdType EventId, Dem_EventStatusType EventStatus);

This API will be available only if ({Dem/DemConfigSet/DemEventParameter/DemEvent ReportingType} == STANDARD_REPORTING_WITH_MONITOR_DATA)

Std_ReturnType Dem_SetEventStatusWithMonitorData (Dem_EventIdType EventId, Dem_EventStatusType EventStatus, Dem_MonitorDataType monitorData0, Dem_MonitorDataType monitorData1);

Sets a freeze frame record filter.

Std_ReturnType Dem_SetFreezeFrameRecordFilter (uint8 ClientId, Dem_DTCFormatType DTCFormat);

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)

Std_ReturnType Dem_SetIUMPRDenCondition (Dem_IumprDenomCondIdType ConditionId, Dem_IumprDenomCondStatusType ConditionStatus);

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)

Std_ReturnType Dem_SetPtoStatus (boolean PtoStatus);

Sets a storage condition. API Availability: This API will be available only if ({ecuc(Dem/DemGeneral/DemStorage Condition)} != NULL)

Std_ReturnType Dem_SetStorageCondition (uint8 StorageConditionID, boolean ConditionFulfilled);

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.

Std_ReturnType Dem_SetWIRStatus (Dem_EventIdType EventId, boolean WIRStatus);

Services · Dcm…

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)

Std_ReturnType Dem_DcmGetAvailableOBDMIDs (uint8 Obdmid, uint32* Obdmidvalue);

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)

Std_ReturnType Dem_DcmGetDTCOfOBDFreezeFrame (uint8 FrameNumber, uint32* DTC, Dem_DTCFormatType DTCFormat);

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)

Std_ReturnType Dem_DcmGetDTRData (uint8 Obdmid, uint8 TIDindex, uint8* TIDvalue, uint8* UaSID, uint16* Testvalue, uint16* Lowlimvalue, uint16* Upplimvalue);

Service is used for requesting IUMPR data according to InfoType $08. This interface is derived from the prototype _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. 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)

Std_ReturnType Dem_DcmGetInfoTypeValue08 (Dcm_OpStatusType OpStatus, uint8* Iumprdata08, uint8* Iumprdata08BufferSize);

Service is used for requesting IUMPR data according to InfoType $0B. This interface is derived from the prototype _GetInfotypeValueData() defined by the Dcm. Therefore Dcm_Op StatusType and Std_ReturnType are contained. 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)

Std_ReturnType Dem_DcmGetInfoTypeValue0B (Dcm_OpStatusType OpStatus, uint8* Iumprdata0B, uint8* Iumprdata0BBufferSize);

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)

Std_ReturnType Dem_DcmGetNumTIDsOfOBDMID (uint8 Obdmid, uint8* numberOfTIDs);

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)

Std_ReturnType Dem_DcmReadDataOfOBDFreezeFrame (uint8 PID, uint8 DataElementIndexOfPID, uint8* DestBuffer, uint16* BufSize);

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)

Std_ReturnType Dem_DcmReadDataOfPID01 (uint8* PID01value);

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)

Std_ReturnType Dem_DcmReadDataOfPID1C (uint8* PID1Cvalue);

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)

Std_ReturnType Dem_DcmReadDataOfPID21 (uint8* PID21value);

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)

Std_ReturnType Dem_DcmReadDataOfPID30 (uint8* PID30value);

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)

Std_ReturnType Dem_DcmReadDataOfPID31 (uint8* PID31value);

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)

Std_ReturnType Dem_DcmReadDataOfPID41 (uint8* PID41value);

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)

Std_ReturnType Dem_DcmReadDataOfPID4D (uint8* PID4Dvalue);

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)

Std_ReturnType Dem_DcmReadDataOfPID4E (uint8* PID4Evalue);

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)

Std_ReturnType Dem_DcmReadDataOfPID91 (uint8* PID91value);

Services · J1939…

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).

Std_ReturnType Dem_J1939DcmClearDTC (Dem_J1939DcmSetClearFilterType DTCTypeFilter, Dem_DTCOriginType DTCOrigin, uint8 ClientId);

The function sets the filter to the first applicable DTC for the DM31 response for a specific node.

void Dem_J1939DcmFirstDTCwithLampStatus (uint8 ClientId);

Gets the next filtered J1939 DTC for DM31 including current LampStatus.

Std_ReturnType Dem_J1939DcmGetNextDTCwithLampStatus (Dem_J1939DcmLampStatusType* LampStatus, uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);

Gets the next filtered J1939 DTC.

Std_ReturnType Dem_J1939DcmGetNextFilteredDTC (uint32* J1939DTC, uint8* OccurenceCounter, uint8 ClientId);

Gets the next filtered Ratio.

Std_ReturnType Dem_J1939DcmGetNextFilteredRatio (uint32* SPN, uint16* Numerator, uint16* Denominator, uint8 ClientId);

Gets next freeze frame data. The function stores the data in the provided DestBuffer.

Std_ReturnType Dem_J1939DcmGetNextFreezeFrame (uint32* J1939DTC, uint8* OccurenceCounter, uint8* DestBuffer, uint16* BufSize, uint8 ClientId);

Gets next SPN.

Std_ReturnType Dem_J1939DcmGetNextSPNInFreezeFrame (uint32* SPNSupported, uint8* SPNDataLength, uint8 ClientId);

Gets the number of currently filtered DTCs set by the function Dem_J1939DcmSetDTCFilter.

Std_ReturnType Dem_J1939DcmGetNumberOfFilteredDTC (uint16* NumberOfFilteredDTC, uint8 ClientId);

Service to report the value of Diagnostic Readiness 1 (DM05) computed by the Dem.

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness1 (Dem_J1939DcmDiagnosticReadiness1Type* DataValue, uint8 ClientId);

Service to report the value of Diagnostic Readiness 2 (DM21) computed by the Dem.

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness2 (Dem_J1939DcmDiagnosticReadiness2Type* DataValue, uint8 ClientId);

Service to report the value of Diagnostic Readiness 3 (DM26) computed by the Dem.

Std_ReturnType Dem_J1939DcmReadDiagnosticReadiness3 (Dem_J1939DcmDiagnosticReadiness3Type* DataValue, uint8 ClientId);

The function sets the DTC filter for a specific node and returns the composite lamp status of the filtered DTCs.

Std_ReturnType Dem_J1939DcmSetDTCFilter (Dem_J1939DcmDTCStatusFilterType DTCStatusFilter, Dem_DTCKindType DTCKind, Dem_DTCOriginType DTCOrigin, uint8 ClientId, Dem_J1939DcmLampStatusType* LampStatus);

The function sets the FreezeFrame filter for a specific node.

Std_ReturnType Dem_J1939DcmSetFreezeFrameFilter (Dem_J1939DcmSetFreezeFrameFilterType FreezeFrameKind, uint8 ClientId);

The function sets the Ratio filter for a specific node and returns the corresponding Ignition Cycle Counter and General Denominator.

Std_ReturnType Dem_J1939DcmSetRatioFilter (uint16* IgnitionCycleCounter, uint16* OBDMonitoringConditionsEncountered, uint8 ClientId);

Services · Select…

Dem_SelectDTC fonction

Selects a DTC or DTC group as target for further operations.

Std_ReturnType Dem_SelectDTC (uint8 ClientId, uint32 DTC, Dem_DTCFormatType DTCFormat, Dem_DTCOriginType DTCOrigin);

Sets the filter to be used by Dem_GetNextExtendedDataRecord and Dem_GetSizeOfExtended DataRecordSelection.

Std_ReturnType Dem_SelectExtendedDataRecord (uint8 ClientId, uint8 ExtendedDataNumber);

Sets the filter to be used by Dem_GetNextFreezeFrameData and Dem_GetSizeOfFreezeFrame Selection.

Std_ReturnType Dem_SelectFreezeFrameData (uint8 ClientId, uint8 RecordNumber);

Services · Autres

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

Std_ReturnType Dem_CallbackEventSyncStorageProcessed (void);
Dem_ClearDTC fonction

Clears single DTCs, as well as groups of DTCs.

Std_ReturnType Dem_ClearDTC (uint8 ClientId);

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)

Std_ReturnType Dem_ClearPrestoredFreezeFrame (Dem_EventIdType EventId);

Disables the event memory update of a specific DTC (only one at one time).

Std_ReturnType Dem_DisableDTCRecordUpdate (uint8 ClientId);

Disables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.

Std_ReturnType Dem_DisableDTCSetting (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.

Std_ReturnType Dem_EnableDTCRecordUpdate (uint8 ClientId);

(Re)-Enables the DTC setting for all DTCs assigned to the DemEventMemorySet of the addressed client.

Std_ReturnType Dem_EnableDTCSetting (uint8 ClientId);
Dem_PreInit fonction

Initializes the internal states necessary to process events reported by BSW-modules.

void Dem_PreInit (void);

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)

Std_ReturnType Dem_PrestoreFreezeFrame (Dem_EventIdType EventId);

Service to report the value of PID $01 computed by the Dem. API is needed in OBD relevant ECUs only

Std_ReturnType Dem_ReadDataOfPID01 (uint8* PID01value);

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)

Std_ReturnType Dem_RepIUMPRDenRelease (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)

Std_ReturnType Dem_RepIUMPRFaultDetect (Dem_RatioIdType RatioID);

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).

Std_ReturnType Dem_ResetEventDebounceStatus (Dem_EventIdType EventId, Dem_DebounceResetStatusType DebounceResetStatus);

Resets the event failed status. This API can only be used through the RTE and therefore no declaration is exported via Dem.h.

Std_ReturnType Dem_ResetEventStatus (Dem_EventIdType EventId);

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.

Std_ReturnType Dem_RestartOperationCycle (uint8 OperationCycleId);
Dem_Shutdown fonction

Shuts down this module.

void Dem_Shutdown (void);

Cyclique

Processes all not event based Dem internal functions.

void Dem_MainFunction (void);

Types

Identification of a DemComponent by assigned ComponentId. The ComponentId is automatically assigned by the Dem.

This type of the external data structure shall contain the post build initialization data for the Dem.

Array data type definition for external data elements

Data type definition for external data elements

This type contains all definitions to control an internal debounce counter/timer via the function Dem_ResetEventDebounceStatus().

This type is used to select the format of the DTC value.

This type is used to filter DTCs for their kind.

This enum is used to define the location of the events. The definition and use of the different memory types is OEM-specific.

This type is used to request a DTC with specific attributes.

DTC translation format as defined in ISO14229-1.

Control parameter for the interpretation of the reported test results.

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.

This type contains all monitor test result values, which can be reported via Dem_SetEventStatus().

Indicator mode used by Dem_GetIndicatorStatus().

(Re-)Initialization reason returned by the callback _DemInitMonitorFor().

This type contains all possible additional IUMPR denominator conditions to be broadcasted among OBD-relevant ECUs.

This type contains all possible states of an additional IUMPR denominator condition to be broadcasted among OBD-relevant ECUs.

This structure represents all data elemets of the DM05 message. The encoding shall be done acording SAE J1939-73

This structure represents all data elemets of the DM21 message. The encoding shall be done acording SAE J1939-73

This structure represents all data elemets of the DM26 message. The encoding shall be done acording SAE J1939-73

The type to distinguish which DTCs should be filtered.

For details refer SAE J1939-73

The type to distinguish which DTCs gets cleared

The type to distinguish which DTCs gets cleared

This type is used to pass monitoring data to the Dem.

OBD specific ratio Id (related to a specific event, a FID, and an IUMPR group). This type depends on the Dem configuration.