DEENESPTFRRUARHIKOZHNL

Diagnostic Event Manager (DEM)

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

Modul-GuideKI-GENERIERT

Sammelt Diagnoseergebnisse der Monitore, qualifiziert sie und verwaltet Fehlerspeicher samt Umgebungsdaten für Tester.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: 28cc2ed3ddd0 Herkunft Offene Fragen (1)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertclaude-opus-5-5 · 2026-10-13

Sammelt Diagnoseergebnisse der Monitore, qualifiziert sie und verwaltet Fehlerspeicher samt Umgebungsdaten für Tester.

Je ECU gibt es genau einen Diagnostic Event Manager [SWS_Dem_00126]. Er nimmt Testergebnisse von Diagnosemonitoren entgegen, entprellt sie und pflegt daraus UDS-Statusbits sowie Ereignisspeichereinträge mit Freeze Frames und Extended Data. DCM und J1939Dcm filtern, lesen und löschen diese Daten über clientbezogene APIs. Meist folgen sie dabei dem Muster „auswählen, dann anfordern“ [SWS_Dem_01253]. Wichtigste Randbedingung ist der Lebenszyklus: Vor Dem_Init werden Meldungen nur gepuffert, voll funktionsfähig ist das Modul erst danach.

Je ECU gibt es genau einen Diagnostic Event Manager [SWS_Dem_00126]. Er nimmt Ergebnisse von Diagnosemonitoren in SW-Cs und BSW-Modulen entgegen und qualifiziert sie. Die Fehlerspeicherinhalte stellt er DCM und J1939Dcm bereit. Eingebettet ist er zwischen EcuM, dem Scheduling von Dem_MainFunction, NvM, FiM und DET SWS DEM S. 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 Auswahl, Filter, Lesen, Löschen (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

Kontextdiagramm: Monitore liefern Ergebnisse, Diagnose-Clients und FiM nutzen den DEM. Quellen: SWS DEM S. 247

Der Lebenszyklus trennt einen Vorinitialisierungsmodus von der vollen Funktion [SWS_Dem_00169]. Nach Dem_PreInit gemeldete Ergebnisse werden gepuffert und lösen noch keine Monitorstatus-Callbacks aus ([SWS_Dem_00167], [SWS_Dem_01289]). Mit Dem_Init wird der DEM voll funktionsfähig [SWS_Dem_00340]. Dem_Shutdown schließt ausstehende Operationen ab und gibt geänderte Daten an NvM ([SWS_Dem_00102], [SWS_Dem_00341]).

Monitore melden mit Dem_SetEventStatus qualifizierte oder vorläufige Ergebnisse [SWS_Dem_00926]. Der DEM entprellt je Event zählerbasiert, zeitbasiert oder monitorintern [SWS_Dem_00413]. Daraus bildet er den Fault Detection Counter von -128 bis +127 [SWS_Dem_00415]. Entprellung und Monitorstatus laufen synchron, das UDS-Statusbyte asynchron ([SWS_Dem_01279], [SWS_Dem_01285]). Enable Conditions und ein abgeschaltetes DTC-Setting blockieren die Verarbeitung SWS DEM S. 83.

Verarbeitung eines Monitor-ReportsMonitorDEMFiMSchMDem_SetEventStatus(EventId, EventStatus)altEnable Conditions erfüllt und DTC-Setting freigegebenZählerbasierte Entprellung (synchron)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)sonstVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,Ereignisspeicher und Daten aktualisierenEventUdsStatusChanged-Callback(falls konfiguriert)

Sequenzdiagramm: Ein Report wird synchron entprellt, die UDS-Verarbeitung folgt in der MainFunction. Quellen: SWS DEM Abb. 9.12 S. 372, [SWS_Dem_01285]

Einträge mit Zählern, Freeze Frames und Extended Data legt der DEM je nach konfiguriertem Trigger an ([SWS_Dem_00783], [SWS_Dem_00039], [SWS_Dem_00809]). Ist der Speicher voll, entscheidet die Verdrängungsstrategie ([SWS_Dem_00400], [SWS_Dem_00402]). Der DCM greift nach dem Muster „auswählen, dann anfordern“ zu. Dem_SelectDTC bestimmt das Ziel für Lesen, Statusabfrage und Löschen [SWS_Dem_01253]. Dem_SetDTCFilter legt die Kriterien für DTC-Listen fest [SWS_Dem_00057].

Fehler meldet der DEM als DET-Entwicklungsfehler, z. B. DEM_E_UNINIT oder DEM_E_WRONG_CONDITION [SWS_Dem_00173]. Zur Laufzeit liefert er Rückgabewerte wie DEM_WRONG_DTC oder DEM_BUSY ([SWS_Dem_01261], [SWS_Dem_01306]). Daten, die NvM nicht lesen kann, initialisiert er [SWS_Dem_00578].

Rolle und Systemgrenze: zentraler Fehlerspeicher-Dienst der ECU

Der Diagnostic Event Manager nimmt Ergebnisse von Diagnosemonitoren entgegen und qualifiziert sie zu Ereignissen. Diese legt er mit Umgebungsdaten im Ereignisspeicher ab. Je ECU gibt es genau ein DEM-Modul [SWS_Dem_00126]. Jedes Diagnoseereignis wird durch eine eindeutige EventId und einen EventName repräsentiert ([SWS_Dem_00153], [SWS_Dem_00154]). Dem_EventIdType basiert auf uint16, der Wert 0 ist ungültig [SWS_Dem_00925] SWS DEM S. 339.

Die Schnittstellen zur Umgebung zeigt Figure 8.1 SWS DEM S. 247:

  • EcuM ruft Init und Shutdown auf.
  • Das Scheduling ruft Dem_MainFunction auf.
  • NvM persistiert Daten [SWS_Dem_00164].
  • FiM wird über Statusänderungen informiert [SWS_Dem_00029].
  • DET empfängt Entwicklungsfehler.
SW-C-Monitore berichten über RTE-Ports wie DiagnosticMonitor [SWS_Dem_00598]. DCM und J1939Dcm greifen als Clients über eine ClientId auf eine konfigurierte DemEventMemorySet zu ([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 Auswahl, Filter, Lesen, Löschen (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

Kontextdiagramm: Der DEM ist Datensenke der Monitore und Datenquelle für Diagnose-Clients und FiM. Quellen: SWS DEM S. 247, [SWS_Dem_00256]

Lebenszyklus: Vorinitialisierung, Betrieb und Shutdown

Der DEM unterscheidet einen Vorinitialisierungsmodus und einen voll initialisierten Modus [SWS_Dem_00169]. Dem_PreInit initialisiert die für die Event-Verarbeitung nötigen Zustände [SWS_Dem_00180], darunter die interne Entprellung [SWS_Dem_01213]. Danach gemeldete Events landen in einem Puffer [SWS_Dem_00167] und lösen noch keine Monitorstatus-Callbacks aus [SWS_Dem_01289] SWS DEM Abb. 7.42 S. 169.

Dem_Init übernimmt den Post-Build-Zeiger auf Dem_ConfigType ([SWS_Dem_00181], [SWS_Dem_00924]). Die Funktion initialisiert oder reinitialisiert das Modul SWS DEM S. 260. Danach ist der DEM voll funktionsfähig [SWS_Dem_00340]. Der Monitorstatus wird aus vorab gemeldeten Ergebnissen oder dem NvM-Stand gebildet [SWS_Dem_01326]. Erst dann folgt FiM_DemInit [SWS_Dem_01325]. Ein vor Dem_Init angestoßener Zyklus-Neustart wird nachgeholt [SWS_Dem_01318].

Im Betrieb bearbeitet Dem_MainFunction alle nicht ereignisgetriebenen Funktionen [SWS_Dem_00125]. Dem_Shutdown schließt ausstehende Operationen ab [SWS_Dem_00102]. Geänderte nichtflüchtige Daten gehen spätestens dann an NvM [SWS_Dem_00341]. Interpretation: Weil Dem_Init laut [SWS_Dem_00181] auch reinitialisiert, dürfte ein Neustart nach Dem_Shutdown über einen erneuten Dem_Init-Aufruf erfolgen. Frage Q-dcbafbadce0e1211 (offen)

lebenszyklus start Start uninit Nicht initialisiert start->uninit pre Vorinitialisiert (Meldungen werden gepuffert) 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)

Zustandsdiagramm: Modi des DEM von der Vorinitialisierung bis zum Shutdown. Der Neustart nach Shutdown ist eine Annahme. Quellen: [SWS_Dem_00169], [SWS_Dem_00181], [SWS_Dem_00182]

Pufferung zwischen Dem_PreInit und Dem_InitEcuMMonitor (SW-C/BSW)DEMFiMSchMUse Case: VorinitialisierungDem_PreInit()Interne Zustände undEntprellung initialisierenDem_SetEventStatus(EventId, EventStatus)Meldung puffern,keine Monitorstatus-CallbacksUse Case: InitialisierungDem_Init(ConfigPtr)Monitorstatus aus Meldungenbzw. NvM-Stand bildenFiM_DemInit()Rückkehr: Dem voll funktionsfähigUse Case: BetriebloopzyklischDem_MainFunction()Nicht ereignisgetriebene Verarbeitung

Sequenzdiagramm: Zwischen Dem_PreInit und Dem_Init werden Meldungen ohne Callbacks gepuffert. Quellen: SWS DEM Abb. 7.15 S. 85, [SWS_Dem_01189]

Vom Monitor-Report zum qualifizierten Ergebnis

Monitore melden Testergebnisse mit Dem_SetEventStatus, sobald ein neues Ergebnis vorliegt ([SWS_Dem_00330], SWS DEM S. 81). Dem_EventStatusType unterscheidet drei Arten von Meldungen [SWS_Dem_00926]:

  • qualifizierte Ergebnisse (DEM_EVENT_STATUS_PASSED/_FAILED),
  • Vorergebnisse für die interne Entprellung (_PREPASSED/_PREFAILED),
  • DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED.

Die Entprellung ist je Event konfigurierbar [SWS_Dem_00413]:

Zähler- bzw. Timerwerte bildet der DEM linear auf den Fault Detection Counter von -128 bis +127 ab ([SWS_Dem_00415], [SWS_Dem_00427]). Die zählerbasierte Entprellung und der Monitorstatus laufen synchron im Aufrufkontext ([SWS_Dem_01279], [SWS_Dem_01280]). Das UDS-Statusbyte berechnet der DEM dagegen asynchron [SWS_Dem_01285] SWS DEM S. 83.

Verarbeitung eines Monitor-ReportsMonitorDEMFiMSchMDem_SetEventStatus(EventId, EventStatus)altEnable Conditions erfüllt und DTC-Setting freigegebenZählerbasierte Entprellung (synchron)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)sonstVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,Ereignisspeicher und Daten aktualisierenEventUdsStatusChanged-Callback(falls konfiguriert)

Sequenzdiagramm: Ein Report wird synchron entprellt, die UDS-Folgeverarbeitung läuft asynchron. Quellen: SWS DEM Abb. 9.12 S. 372, [SWS_Dem_01285]

Die UDS-Statusbits 0 bis 7 setzt der DEM nach eigenen Übergangsregeln ([SWS_Dem_00386], [SWS_Dem_00395]). Dem_ResetEventStatus setzt Bit 0 asynchron zurück und initialisiert die Entprellung, ohne ein Passed-Ergebnis zu melden [SWS_Dem_00187] SWS DEM S. 79. Wurde das Event im laufenden Zyklus bereits getestet, liefert der Aufruf E_NOT_OK [SWS_Dem_00638]. Dem_ResetEventDebounceStatus friert die Entprellung ein oder setzt sie zurück ([SWS_Dem_00684], [SWS_Dem_00685]).

testfailed start Start f TestFailed = FALSE start->f Initialzustand t TestFailed = TRUE f->t Dem_SetEventStatus(FAILED) bzw. qualifiziert entprellt t->f Dem_SetEventStatus(PASSED) t->f Dem_ResetEventStatus t->f ClearDTC

Zustandsdiagramm: Übergänge von UDS-Statusbit 0 (TestFailed). Quellen: SWS DEM Abb. 7.15 S. 70, [SWS_Dem_00386]

Freigabebedingungen, Betriebszyklen und Verfügbarkeit

Enable Conditions und ein abgeschaltetes DTC-Setting blockieren die Verarbeitung von Statusmeldungen SWS DEM S. 83. Die Regeln dazu stehen in [SWS_Dem_00449] und [SWS_Dem_00079]. DemDebounceBehavior legt fest, ob die Entprellung dabei zurückgesetzt [SWS_Dem_00654] oder eingefroren wird [SWS_Dem_00655]. Storage Conditions verhindern dagegen nur die Ablage im Speicher ([SWS_Dem_00455], [SWS_Dem_00556]).

Dem_RestartOperationCycle arbeitet asynchron. Die betroffenen Monitore werden über InitMonitorForEvent reinitialisiert [SWS_Dem_00679] SWS DEM S. 274. Neustarts werden nicht gepuffert [SWS_Dem_01316]. Weitere Auslöser für InitMonitorForEvent sind:

Bei gleichzeitigen Auslösern wird der Callback nur einmal aufgerufen, mit dem höchstpriorisierten Grund [SWS_Dem_01046] SWS DEM S. 47.

Mit Dem_SetEventAvailable markierte, nicht verfügbare Events behandelt der DEM, als wären sie nicht konfiguriert [SWS_Dem_01108] SWS DEM S. 66. In VARIANT-POST-BUILD fehlt diese API [SWS_Dem_01106]. Ein unterdrückter DTC ist dagegen nur für den Tester unsichtbar, die Event-Verarbeitung läuft weiter [SWS_Dem_01102].

Ereignisspeicher: Ablage, Umgebungsdaten und Verdrängung

Der DEM führt den primären Ereignisspeicher [SWS_Dem_00010] und optional benutzerdefinierte Speicher mit gleichem Verhalten [SWS_Dem_01063]. Ein Eintrag bündelt Zähler, Freeze Frames und Extended Data SWS DEM Abb. 7.13 S. 77. DemEventMemoryEntryStorageTrigger bestimmt, wann ein Eintrag entsteht:

Durch Aging werden die ereignisbezogenen Daten entfernt [SWS_Dem_01075].

Freeze Frames sind ereignisspezifisch und bestehen aus konfigurierten DIDs ([SWS_Dem_00039], [SWS_Dem_00040]). Bei volatilen Daten erfasst der Monitor sie vorab mit Dem_PrestoreFreezeFrame. Diese Daten nutzt der DEM bei der Ablage [SWS_Dem_00464] SWS DEM Abb. 7.37 S. 128. Extended Data Records werden auf konfigurierte Trigger erfasst [SWS_Dem_00809]. Sie können interne Werte wie Occurrence Counter enthalten [SWS_Dem_00471].

Fehlt ein freier Eintrag, prüft der DEM eine Verdrängung [SWS_Dem_00400]. DEM_DISPLACEMENT_NONE schließt sie aus [SWS_Dem_00402]. Ohne Kandidaten wird die Ablage verworfen [SWS_Dem_00407]. Andernfalls wird der Eintrag entfernt und die Statusbits werden angepasst ([SWS_Dem_00408], [SWS_Dem_00409]). Einen Überlauf zeigt der DEM je Speicher an [SWS_Dem_00397].

verdraengung s Neuer Speichereintrag benötigt frei Freier Eintrag vorhanden? s->frei anlegen Eintrag anlegen frei->anlegen ja strat DemEventDisplacementStrategy = DEM_DISPLACEMENT_NONE? frei->strat nein such Einträge niedrigster Priorität suchen strat->such nein verw Speicheranforderung verwerfen strat->verw ja prio Priorität des gemeldeten Events ausreichend (vgl. Figure 7.28)? such->prio passiv Passive Einträge unter den Funden bevorzugen prio->passiv ja prio->verw nein / kein Kandidat verdr Ältesten gefundenen Eintrag verdrängen, Statusbits anpassen passiv->verdr verdr->anlegen

Aktivitätsdiagramm: vereinfachte Kriterienfolge der Verdrängung, ohne die OBD-Filterstufe. Quellen: SWS DEM Abb. 7.28 S. 98, [SWS_Dem_00406]

Zugriff durch DCM, J1939Dcm und OBD-Dienste

Viele APIs folgen dem Muster „auswählen, dann anfordern“. Dem_SelectDTC legt DTC, Format und Origin als Ziel fest. Darauf wirken etwa Dem_ClearDTC, Dem_GetStatusOfDTC und Dem_SelectFreezeFrameData [SWS_Dem_01253] SWS DEM S. 215. Für DTC-Listen setzt Dem_SetDTCFilter die Kriterien [SWS_Dem_00057]. Dem_GetNextFilteredDTC iteriert anschließend über die Treffer [SWS_Dem_00216]. Gelieferte Statusbytes werden mit der Availability-Mask maskiert [SWS_Dem_00657].

Freeze Frames liest der DCM mit Dem_GetNextFreezeFrameData, nachdem er DTC und Record ausgewählt hat [SWS_Dem_01268] SWS DEM Abb. 9.7 S. 369. Der DEM liefert dabei das fertige Record-Layout SWS DEM Abb. 7.48 S. 195. Extended Data werden analog gelesen [SWS_Dem_01272].

Zum Löschen prüft der DCM zuerst die Auswahl und ruft dann Dem_ClearDTC auf ([SWS_Dem_91020], [SWS_Dem_00665]). Vor dem Löschen fragt der DEM DemClearEventAllowed ab [SWS_Dem_00515] SWS DEM Abb. 9.3 S. 367. J1939-APIs stehen bereit, wenn DemGeneralJ1939 konfiguriert ist [SWS_Dem_00845]. Bei OBD-Unterstützung liefert der DEM zusätzlich:

PID $31/$4D/$4E berechnet nur die Master-ECU [SWS_Dem_00703] SWS DEM S. 170.

Löschen eines 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 == TRUEStatus, ereignisbezogene Daten undPrestored Freeze Frames zurücksetzenInitMonitorForEvent(DEM_INIT_MONITOR_CLEAR)DEM_PENDING / ErgebnisPositive oder negative Antwort

Sequenzdiagramm: Löschen über Auswahl, Freigabeabfrage und Reinitialisierung der Monitore. Quellen: SWS DEM Abb. 9.2 S. 366, [SWS_Dem_00680]

Verhalten im Fehlerfall

Entwicklungsfehler meldet der DEM an DET, z. B. DEM_E_UNINIT, DEM_E_PARAM_POINTER oder DEM_E_WRONG_CONDITION [SWS_Dem_00173] SWS DEM S. 238. Aufrufe vor der Initialisierung erzeugen DEM_E_UNINIT; ausgenommen sind u. a. Dem_SetEventStatus und Dem_ResetEventStatus [SWS_Dem_00124]. Dasselbe gilt nach dem Shutdown [SWS_Dem_00368].

Zur Laufzeit liefern die APIs folgende Rückgabewerte:

Unter welchen Bedingungen ein Löschvorgang als fehlgeschlagen gilt, definiert [SWS_Dem_01202].

Daten, die NvM nicht lesen kann, initialisiert der DEM [SWS_Dem_00578]. Schreibfehler ignoriert er [SWS_Dem_00579]. Prestore-Daten, deren Layout nach einer Umprogrammierung nicht mehr passt, werden übersprungen [SWS_Dem_01323].

Weiterführende Detailbelege

KI-generierter Leitfaden auf Basis der im Payload enthaltenen Requirements (R20-11) und Dokumentstellen. Normativ sind allein die zitierten Requirements; einige Dokumentstellen stammen aus anderen Releases.

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

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

function Dem_PreInit [SWS_Dem_00179] 📄 PDF

void Dem_PreInit (void);

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 52979462b246 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Dem_PreInit dient während des Systemhochlaufs zur Vorinitialisierung der internen Zustände des DEM-Moduls, die für die frühe Verarbeitung von Ereignismeldungen aus BSW-Modulen erforderlich sind ([SWS_Dem_00179], [SWS_Dem_00180]). Der Aufruf erfolgt synchron, ist nicht reentrant und besitzt weder Übergabeparameter noch einen Rückgabewert ([SWS_Dem_00179]).

Mit dem Aufruf von Dem_PreInit werden die internen Entprellmechanismen einschließlich Zählern und Timern initialisiert ([SWS_Dem_01213]). Ist ein DEM-internes Entprellen konfiguriert, setzt das Modul den entsprechenden Entprellalgorithmus zurück ([SWS_Dem_00438]).

Nach erfolgreichem Abschluss von Dem_PreInit und vor dem Aufruf von Dem_Init sind ausgewählte Schnittstellen und Verhaltensweisen freigegeben:

  • Ereignisstatus und Entprellung: Aufrufe von Dem_SetEventStatus werden zur Entprellung mit den Zuständen DEM_EVENT_STATUS_PREPASSED und DEM_EVENT_STATUS_PREFAILED unterstützt ([SWS_Dem_01212]). Alle vor Dem_Init gemeldeten Ereignisse lösen jedoch keine Callbacks zur Statusänderung des Monitors aus ([SWS_Dem_01289]).
  • Entprellstatus steuern: Die Funktion Dem_ResetEventDebounceStatus zum Zurücksetzen oder Einfrieren von Entprellzählern steht BSW-Modulen nach Abschluss von Dem_PreInit zur Verfügung ([SWS_Dem_00180], [SWS_Dem_00683]).
  • Bestätigungsschwellen und Betriebszyklen: Das DEM unterstützt nach Dem_PreInit Aufrufe von Dem_SetEventConfirmationThresholdCounter ([SWS_Dem_01242]). Ein Aufruf von Dem_RestartOperationCycle ist ebenfalls erst ab diesem Zeitpunkt zulässig; wird ein Betriebszyklus vor Dem_Init neu gestartet, erfolgt die eigentliche Verarbeitung des Neustarts erst nach Dem_Init ([SWS_Dem_01318]).

Dieser Text wurde von einer KI auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function Dem_Init [SWS_Dem_00181] 📄 PDF

void Dem_Init (const Dem_ConfigType* ConfigPtr);

Initializes or reinitializes this module.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 940f61d4751b Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone, nicht reentrante Funktion Dem_Init initialisiert oder reinitialisiert das Diagnostic Event Manager (DEM)-Modul vollständig gemäß [SWS_Dem_00181]. Nach Abschluss dieses Aufrufs ist das DEM voll betriebsbereit ([SWS_Dem_00340]). Über den Eingabeparameter ConfigPtr wird in VARIANT-POST-BUILD ein Zeiger auf den Post-Build-Konfigurationsdatensatz übergeben ([SWS_Dem_00181]).

Im Rahmen des Initialisierungsablaufs führt Dem_Init wesentliche Wiederherstellungs- und Synchronisationsschritte durch:

  • Zustands- und Monitorinitialisierung: Die Monitor- und Komponentenstati werden initialisiert ([SWS_Dem_01324]). Während Aufrufe von Dem_GetMonitorStatus vor Abschluss der Initialisierung E_NOT_OK liefern ([SWS_Dem_01326]), geben Dem_GetMonitorStatus und Dem_GetComponentFailed nach diesem Zeitpunkt E_OK zurück ([SWS_Dem_01324]).
  • Nichtflüchtiger Speicher (NVM): Sofern konfiguriert (DemDebounceCounterStorage == True), stellt das DEM spätestens in Dem_Init den internen Entprellzähler wieder her ([SWS_Dem_00675]). Ebenso werden vorkonfigurierte Freeze-Frame-Daten vor Rückkehr der Funktion aus dem NVM geladen ([SWS_Dem_01322]), wofür das DEM auf NvM-APIs wie NvM_ReadBlock zurückgreift ([SWS_Dem_00164]). Durch den Aufruf von Dem_Init wird zudem die Sperre des Ereignisspeichers nach einem vorherigen Dem_Shutdown aufgehoben ([SWS_Dem_00102]).
  • Zusammenspiel und Pufferung: Ist DemTriggerFiMReports auf True gesetzt, ruft Dem_Init exklusiv zu diesem Zeitpunkt FiM_DemInit auf, um die Berechtigungen im Function Inhibition Manager zu initialisieren ([SWS_Dem_01189]). Ereignisse, die vor Dem_Init gepuffert wurden ([SWS_Dem_00167], [SWS_Dem_01079]), lösen vor Dem_Init keine Monitor-Statuswechsel-Callbacks aus ([SWS_Dem_01289]). Ein vor Dem_Init via Dem_RestartOperationCycle angeforderter Zyklus-Neustart wird erst nach Dem_Init abgearbeitet ([SWS_Dem_01318]).

Bezüglich der Fehlerbehandlung gilt: Wurde Dem_Shutdown aufgerufen, quittiert das DEM bei aktiver Entwicklungserkennung Aufrufe der meisten APIs mit dem Fehler DEM_E_UNINIT, bis Dem_Init erneut ausgeführt wird ([SWS_Dem_00368]).

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function Dem_Shutdown [SWS_Dem_00182] 📄 PDF

void Dem_Shutdown (void);

Shuts down this module.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d50e7ed9388c Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und nicht-reentrante Funktion Dem_Shutdown dient dem geordneten Herunterfahren des Moduls Diagnostic Event Manager ([SWS_Dem_00182]). Sie besitzt weder Eingangs- noch Rückgabeparameter ([SWS_Dem_00182]). Der Aufrufkontext dürfte vermutlich im Rahmen der zentralen Steuergeräte-Abschaltsequenz liegen. Frage Q-a0e6a5700c49d786 (offen)

Beim Aufruf schließt Dem_Shutdown alle noch ausstehenden Operationen des DEM-Moduls ab, um die internen Zustände und Daten für die Übertragung in das NVRAM vorzubereiten ([SWS_Dem_00102]). Für veränderte nichtflüchtige Daten stößt das DEM die Speicherung im NVRAM vor oder während Dem_Shutdown an ([SWS_Dem_00341]). Soweit erforderlich, verwendet das Modul für das Sichern und Wiederherstellen von Daten zwischen Dem_Init und Dem_Shutdown die Schnittstellen NvM_WriteBlock und NvM_ReadBlock des NVRAM Managers ([SWS_Dem_00164]). Wurde das DEM so konfiguriert, dass vorab gespeicherte Freeze-Frame-Daten nichtflüchtig abgelegt werden, erfolgt diese Speicherung einmalig und spätestens während Dem_Shutdown ([SWS_Dem_01321]).

Mit der Durchführung des Shutdowns wird der Ereignisspeicher gesperrt und darf bis zu einem erneuten Aufruf von Dem_Init nicht mehr modifiziert werden ([SWS_Dem_00102]). Zudem gelten nachfolgende Fehlerbedingungen bei aktivierter Entwicklungserkennung (Development Error Detection):

  • Wird nach Dem_Shutdown eine DEM-API aufgerufen – ausgenommen Dem_SetEventStatus, Dem_ResetEventDebounceStatus, Dem_GetVersionInfo und Dem_MainFunction –, setzt das Modul den Fehlercode DEM_E_UNINIT bis zum nächsten Dem_Init ([SWS_Dem_00368]).
  • Werden Dem_SetEventStatus oder Dem_ResetEventDebounceStatus nach Dem_Shutdown für Events aufgerufen, bei denen DemDebounceCounterStorage auf True gesetzt ist, meldet das DEM den Fehlercode DEM_E_WRONG_CONDITION ([SWS_Dem_00676]).

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Verbindlich sind die Festlegungen der jeweiligen AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

function Dem_ClearDTC [SWS_Dem_00665] 📄 PDF

Std_ReturnType Dem_ClearDTC (uint8 ClientId);

Clears single DTCs, as well as groups of DTCs.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 746b093f9e55 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die asynchrone Funktion Dem_ClearDTC dient dem Löschen einzelner Diagnose-Fehlercodes (DTCs) oder ganzer DTC-Gruppen im Diagnostic Event Manager [SWS_Dem_00665]. Vor dem Aufruf muss die Zielauswahl aus DTC, Format und Speicherort mittels Dem_SelectDTC für die jeweilige ClientId festgelegt worden sein [SWS_Dem_01253]. Die Funktion ist für unterschiedliche ClientId-Werte reentrant, für denselben Client jedoch nicht reentrant [SWS_Dem_00665].

Der Löschvorgang wird mit E_OK bestätigt, sobald er erfolgreich abgeschlossen ist [SWS_Dem_00665]. Solange die Bereinigung läuft, liefert die API DEM_PENDING zurück, woraufhin der Aufrufer die Funktion zu einem späteren Zeitpunkt erneut aufrufen muss [SWS_Dem_00665]. Ist für denselben Client parallel eine andere von Dem_SelectDTC abhängige Operation aktiv, wird DEM_BUSY gemeldet [SWS_Dem_00665]. Mehrere parallele Client-Anfragen verarbeitet das DEM intern [SWS_Dem_00661], wobei konkurrierende Aufrufe während eines laufenden Löschprozesses DEM_PENDING [SWS_Dem_00664] oder DEM_CLEAR_BUSY [SWS_Dem_00665] erhalten können.

Fehlerhafte Aufrufe quittiert die API mit spezifischen Rückgabewerten:

  • E_NOT_OK: Es wurde zuvor kein DTC ausgewählt [SWS_Dem_00665].
  • DEM_WRONG_DTC: Der DTC existiert nicht [SWS_Dem_00665], ist unterdrückt [SWS_Dem_01100] oder die Konfiguration DemClearDTCLimitation erzwingt DEM_ONLY_CLEAR_ALL_DTCS [SWS_Dem_00670].
  • DEM_WRONG_DTCORIGIN: Der gewählte Speicherort existiert nicht [SWS_Dem_00665].
  • DEM_CLEAR_FAILED bzw. DEM_CLEAR_MEMORY_ERROR: Das Löschen schlug fehl oder es trat ein Fehler beim Löschen im Festspeicher auf [SWS_Dem_00665].

Im Rahmen der Löschung werden bei kombinierten DTCs alle verknüpften Events bereinigt [SWS_Dem_00440] und deren Monitor-Initialisierung via InitMonitorForEvent mit DEM_INIT_MONITOR_CLEAR angestoßen [SWS_Dem_00680]. Bei gesetztem DemTriggerMonitorInitBeforeClearOk erfolgt die Rückgabe von E_OK erst nach diesem Trigger [SWS_Dem_00573]. Werden alle DTCs eines Ereignisspeichers gelöscht, setzt das DEM dessen Überlaufanzeige zurück [SWS_Dem_00399]; zudem werden bei OBD-Service $04 nicht zugeordnete DTR-Daten zurückgesetzt [SWS_Dem_00764] und nicht speichergebundene Events bereinigt [SWS_Dem_01249].

Dieser Text wurde von einer KI generiert und dient der technischen Orientierung.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e3d7b3899eb8 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die synchrone Funktion Dem_ClearPrestoredFreezeFrame löscht einen zuvor zwischengespeicherten Freeze-Frame zu einem bestimmten Diagnoseereignis ([SWS_Dem_00193]). Der Aufruf erfolgt ausschließlich über das RTE; eine Deklaration in der Header-Datei Dem.h wird nicht bereitgestellt ([SWS_Dem_00193]). Das API ist nur dann im System implementiert, wenn mindestens ein Ereignis für die Vorab-Speicherung konfiguriert wurde (Konfigurationsparameter DemFFPrestorageSupported) ([SWS_Dem_00193], [SWS_Dem_00334]). Die Funktion liefert E_OK bei erfolgreichem Löschen zurück und E_NOT_OK, wenn der Vorgang fehlschlägt ([SWS_Dem_00193]).

Nebenläufigkeit und Einschränkungen

Die Schnittstelle ist reentrant für unterschiedliche Ereignis-IDs (EventId), darf jedoch für dieselbe EventId nicht nebenläufig ausgeführt werden ([SWS_Dem_00193]). Ein Aufruf mit Ereignissen, die als Slave-Ereignisse (DemMultiEventTriggeringSlaveEventRef) oder als Ersatzereignisse (DemStorageConditionReplacementEventRef) konfiguriert sind, wird nicht unterstützt; das Verhalten des DEM ist hierbei undefiniert ([SWS_Dem_01339]). Ist ein Ereignis als nicht verfügbar gesetzt, wird es wie ein nicht konfiguriertes Ereignis behandelt ([SWS_Dem_01108]); Interpretation: Der Aufruf dürfte in diesem Fall mit E_NOT_OK abgewiesen werden. Frage Q-d8ebaf6883138fdf (offen)

Zusammenspiel bei Multi-Event-Triggering

Sofern DemMultiEventTriggering konfiguriert ist und die Funktion für ein Master-Ereignis (DemMultiEventTriggeringMasterEventRef) aufgerufen wird, triggert das DEM den Löschaufruf mit identischen Parametern automatisch für alle zugeordneten Slave-Ereignisse (DemMultiEventTriggeringSlaveEventRef) ([SWS_Dem_01250]).

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR Classic Release R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

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

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

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

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

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1c0673b083cc Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_ResetEventDebounceStatus dient BSW-Modulen und Software-Komponenten (SW-Cs) dazu, den internen Entprellzähler oder -timer eines Diagnose-Events gezielt einzufrieren oder zurückzusetzen, ohne die Event-Qualifizierung zu beeinflussen [SWS_Dem_00683].

Verwendung und Parameter

Über den Parameter DebounceResetStatus wird die gewünschte Aktion gesteuert: Der Wert DEM_DEBOUNCE_STATUS_FREEZE friert den internen Entprelltimer ein [SWS_Dem_00685], während DEM_DEBOUNCE_STATUS_RESET den zugehörigen Fehlermerkwertzähler (Fault Detection Counter) zurücksetzt [SWS_Dem_00684] [SWS_Dem_00927]. Die Funktion liefert E_OK bei erfolgreicher Ausführung zurück und E_NOT_OK ausschließlich im Fall eines Entwicklungsfehlers [SWS_Dem_00683].

Fehlerbehandlung und Lebenszyklus

Die API ist für BSW-Module bereits nach Abschluss von Dem_PreInit verfügbar und daher von der allgemeinen Initialisierungsprüfung vor vollständiger Initialisierung ausgenommen [SWS_Dem_00124] [SWS_Dem_00683]. Bei aktivierter Entwicklungserkennung gelten folgende Bedingungen:

  • Wird die Funktion vor der Vorinitialisierung aufgerufen, meldet das DEM den Fehler DEM_E_UNINIT [SWS_Dem_00364].
  • Erfolgt der Aufruf für Events mit persistentem Entprellzähler (DemDebounceCounterStorage auf True) vor Dem_Init oder nach Dem_Shutdown, wird DEM_E_WRONG_CONDITION gesetzt [SWS_Dem_00676].
  • Ist ein Event als nicht verfügbar markiert, wird es wie ein nicht konfiguriertes Event behandelt [SWS_Dem_01108].

Nebenläufigkeit und Einschränkungen

Dem_ResetEventDebounceStatus ist für unterschiedliche EventId-Werte reentrant, für denselben Event jedoch nicht reentrant [SWS_Dem_00683]. Bei konfiguriertem DemMultiEventTriggering löst ein Aufruf mit einem Master-Event identische Aufrufe für alle zugeordneten Slave-Events aus [SWS_Dem_01250]. Direkte Aufrufe für reine interne Slave-Events oder über DemStorageConditionReplacementEventRef referenzierte Events werden nicht unterstützt und führen zu undefiniertem Verhalten [SWS_Dem_01339].

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b20c64ec7b3a Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Dem_ResetEventStatus dient dem Zurücksetzen des Fehlerstatus eines Diagnose-Events und steht ausschließlich über die RTE zur Verfügung [SWS_Dem_00185]. Der Aufruf erfolgt mit der EventId und besitzt eine asynchrone Semantik: Bei erfolgreicher Annahme der Anforderung liefert die Funktion E_OK zurück [SWS_Dem_00185]. Das DEM-Modul setzt daraufhin zeitlich versetzt das Status-Bit 0 (TestFailed) auf 0 zurück und setzt bei entsprechender Konfiguration den internen Entprellalgorithmus auf dessen Initialwerte [SWS_Dem_00187].

Die Anforderung schlägt mit dem Rückgabewert E_NOT_OK fehl, wenn das Event im aktuellen Betriebszyklus bereits getestet wurde (UDS-Status-Bit 6 ist 0) [SWS_Dem_00185], [SWS_Dem_00638], oder wenn das Event als nicht verfügbar konfiguriert bzw. gesetzt ist [SWS_Dem_01108]. Ein Aufruf vor der vollständigen Initialisierung des DEM führt selbst bei aktivierter Entwicklungserkennung (DemDevErrorDetect) nicht zur Meldung des Fehlers DEM_E_UNINIT [SWS_Dem_00124].

Hinsichtlich der Nebenläufigkeit ist Dem_ResetEventStatus für unterschiedliche EventId-Werte reentrant, für dieselbe EventId hingegen nicht reentrant [SWS_Dem_00185]. Ist DemMultiEventTriggering konfiguriert und wird die Funktion mit einem Master-Event aufgerufen, triggert das DEM denselben Aufruf automatisch für alle verknüpften Slave-Events [SWS_Dem_01250]. Direkte Aufrufe mit einer EventId, die als Slave-Event oder als DemStorageConditionReplacementEventRef konfiguriert ist, werden nicht unterstützt und führen zu undefiniertem Verhalten [SWS_Dem_01339].

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 43517846effb Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Dem_RestartOperationCycle dient dem Neustart eines Betriebszyklus ([SWS_Dem_00194]). Der Aufruf erfolgt ausschließlich über die RTE, weshalb keine Deklaration über die Dem.h exportiert wird ([SWS_Dem_00194]).

Semantik und Parameter

Über den Eingangsparameter OperationCycleId wird der neu zu startende Betriebszyklus identifiziert (z. B. Power Cycle oder Driving Cycle) ([SWS_Dem_00194]). Die Funktion arbeitet reentrant sowie asynchron ([SWS_Dem_00194]):

  • E_OK: Das Setzen des Betriebszyklus wurde akzeptiert und wird asynchron weiterverarbeitet ([SWS_Dem_00194]).
  • E_NOT_OK: Die Anforderung zum Setzen des Zyklus wurde abgelehnt ([SWS_Dem_00194]).

Zusammenspiel und asynchroner Ablauf

Das asynchrone Verhalten verhindert Verletzungen typischer Zeitanforderungen, wenn eine große Anzahl von Events verarbeitet und Monitore reinitialisiert werden müssen ([SWS_Dem_00194]). Als asynchrone Rückmeldungen fungieren die zugehörigen Callbacks InitMonitorForEvent ([SWS_Dem_00194]). Im Zuge des Neustarts reinitialisiert das DEM die Diagnose-Monitore aller betroffenen Events durch Aufruf ihres Callbacks InitMonitorForEvent mit dem Parameter InitMonitorReason gesetzt auf DEM_INIT_MONITOR_RESTART ([SWS_Dem_00679]).

Wird ein Betriebszyklus über Dem_RestartOperationCycle neu gestartet, müssen zudem alle davon abhängigen Betriebszyklen ebenfalls neu gestartet werden, sofern sie qualifiziert sind ([SWS_Dem_01224]).

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Maßgeblich ist die AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c489dfc2152d Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion dient dem synchronen Erfassen und Zwischenspeichern von Freeze-Frame-Daten für ein spezifisches Diagnoseereignis [SWS_Dem_00188]. Die Schnittstelle wird ausschließlich über die RTE zur Verfügung gestellt und nicht über Dem.h exportiert [SWS_Dem_00188]. Sie existiert im Modul nur dann, wenn für mindestens ein Ereignis die Vorspeicherung konfiguriert ist (DemFFPrestorageSupported) [SWS_Dem_00334].

Rückgabewerte und Fehlerbehandlung:

  • E_OK: Das Freeze-Frame wurde erfolgreich zwischengespeichert [SWS_Dem_00188].
  • E_NOT_OK: Die Zwischenspeicherung schlägt fehl [SWS_Dem_00188], insbesondere wenn kein Puffer mehr frei ist (begrenzt durch DemMaxNumberPrestoredFF) [SWS_Dem_00808] oder das angegebene Ereignis als nicht verfügbar gesetzt ist [SWS_Dem_01108].

Nebenläufigkeit und Aufrufbedingungen: Die Funktion ist für unterschiedliche Ereignis-IDs reentrant, jedoch nicht für dieselbe EventId [SWS_Dem_00188].

Zusammenspiel bei Multi-Event-Triggering: Wird die Funktion mit einem konfigurierten Master-Ereignis (DemMultiEventTriggeringMasterEventRef) aufgerufen, löst das DEM automatisch identische Aufrufe für alle zugehörigen Slave-Ereignisse (DemMultiEventTriggeringSlaveEventRef) aus [SWS_Dem_01250]. Direkte Aufrufe mit einer Slave-Ereignis-ID oder mit einem Ersatzereignis für Speicherbedingungen (DemStorageConditionReplacementEventRef) werden nicht unterstützt und führen zu undefiniertem Verhalten [SWS_Dem_01339].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c8301a45c8d2 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_SelectDTC wählt einen DTC oder eine DTC-Gruppe im definierten Format (DTCFormat) und Ereignisspeicher (DTCOrigin) für eine bestimmte ClientId als Ziel für nachfolgende Operationen aus [SWS_Dem_91016]. Sie stößt den internen Auswahlprozess des DEM auf dem dieser ClientId zugewiesenen Ereignisspeicher an [SWS_Dem_01254].

Hinsichtlich Nebenläufigkeit und Aufrufkontext ist die Funktion reentrant für unterschiedliche ClientIds, jedoch nicht reentrant für dieselbe ClientId [SWS_Dem_91016]. Als Rückgabewerte sind definiert [SWS_Dem_91016]:

  • E_OK: Der DTC bzw. die Gruppe wurde erfolgreich ausgewählt [SWS_Dem_91016].
  • DEM_BUSY: Ein weiterer Aufruf von Dem_SelectDTC oder eine davon abhängige Operation dieses Clients wird gegenwärtig bereits ausgeführt [SWS_Dem_91016].

Das Ergebnis der Selektion wird in den Rückgabewerten der nachfolgenden API-Aufrufe reflektiert [SWS_Dem_01254]. Der DEM verwendet den gewählten DTC bzw. die DTC-Gruppe als Ziel für nachfolgende Funktionsaufrufe desselben Clients wie unter anderem Dem_ClearDTC, Dem_DisableDTCRecordUpdate, Dem_GetFunctionalUnitOfDTC, Dem_GetSeverityOfDTC, Dem_GetStatusOfDTC, Dem_SelectFreezeFrameData, Dem_SelectExtendedDataRecord sowie Dem_SetDTCSuppression [SWS_Dem_01253]. Ferner bauen Dem_SelectFreezeFrameData und Dem_SelectExtendedDataRecord auf diesem selektierten DTC auf [SWS_Dem_01268], [SWS_Dem_01272].

Wird eine der abhängigen APIs aufgerufen, ohne dass zuvor eine gültige Selektion vorlag oder ist der übergebene DTC im angegebenen Format ungültig, gibt der DEM DEM_WRONG_DTC zurück [SWS_Dem_01261]. Ist der angeforderte Speicherbereich (DTCOrigin) nicht vorhanden oder ungültig, melden nachfolgende Aufrufe DEM_WRONG_DTCORIGIN [SWS_Dem_01258], [SWS_Dem_01262]. Mittels Dem_GetDTCSelectionResult kann explizit geprüft werden, ob die Selektion mit E_OK erfolgreich war und der DTC für die Weiterverarbeitung bereitsteht [SWS_Dem_01256], [SWS_Dem_01257].

Dieser Nutzungshinweis wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsdaten von AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I2)

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

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 706d7cf70a2d Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Dem_SetEventStatus dient SW-Cs und BSW-Modulen zur Übermittlung von Monitor-Testergebnissen an das DEM [SWS_Dem_00183], [SWS_Dem_00330]. Sie steht zur Verfügung, wenn für das Ereignis STANDARD_REPORTING konfiguriert ist [SWS_Dem_00183]. Als Statuswerte übergeben werden qualifizierte Ergebnisse (DEM_EVENT_STATUS_PASSED, DEM_EVENT_STATUS_FAILED), Vorqualifizierungen für die DEM-interne Entprellung (DEM_EVENT_STATUS_PREPASSED, DEM_EVENT_STATUS_PREFAILED) oder das Erreichen der Entprellschwelle DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED [SWS_Dem_00926].

Hinsichtlich der Nebenläufigkeit ist die API für unterschiedliche EventId-Werte reentrant, für dieselbe EventId jedoch nicht reentrant ausgeführt [SWS_Dem_00183]. Vor der Vorinitialisierung via Dem_PreInit führt ein Aufruf bei aktiver Entwicklungserkennung zum Fehler DEM_E_UNINIT [SWS_Dem_00364]. Nach Dem_PreInit, aber noch vor Dem_Init, ist der Aufruf hingegen zulässig [SWS_Dem_00124], [SWS_Dem_00180]; qualifizierende Ereignisse werden in einer Queue gepuffert, deren Größe über DemBswErrorBufferSize bestimmt wird, während FDC-Schwellen nicht gepuffert werden [SWS_Dem_00167], [SWS_Dem_00207]. Auch nach Dem_Shutdown erzeugt die Funktion keinen DEM_E_UNINIT-Fehler [SWS_Dem_00368].

Rückgabewert ist E_OK bei erfolgreicher Übernahme bzw. E_NOT_OK bei Fehlern oder wenn das Event auf nicht verfügbar gesetzt ist [SWS_Dem_00183], [SWS_Dem_01108]. BSW-Module dürfen den Rückgabewert ignorieren [SWS_Dem_00183]. Meldungen werden akzeptiert, sobald zugewiesene Enable-Conditions erfüllt sind [SWS_Dem_00450]; ist das DTC-Setting deaktiviert, ignoriert das DEM den Report für den UDS-Status [SWS_Dem_00626].

Im Aufrufkontext können synchrone Aktionen ausgelöst werden:

  • Benachrichtigung des FiM bei Statusänderung via FiM_DemTriggerOnEventStatus, sofern DemTriggerFiMReports aktiv ist [SWS_Dem_00029].
  • Erfassung synchroner Freeze-Frame-Daten und Extended-Data-Records bei konfigurierter Option DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING [SWS_Dem_00805], [SWS_Dem_01082].
  • Kaskadierende Aufrufe für konfigurierte Slave-Events bei aktiver DemMultiEventTriggering-Konfiguration [SWS_Dem_01250].

Dieser Hinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: eb7046584bdf Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion Dem_SetEventStatusWithMonitorData dient dem Melden eines Monitor-Testergebnisses (EventStatus) für ein bestimmtes Diagnoseereignis (EventId) zusammen mit monitorspezifischen Zusatzdaten (monitorData0 und monitorData1) an das DEM [SWS_Dem_91037]. Sie besitzt dieselbe Funktionalität wie Dem_SetEventStatus, übergibt jedoch zusätzliche Parameter zur Speicherung in ereignisbezogenen Daten [SWS_Dem_01333].

Im Zusammenspiel mit Ausleseoperationen gilt: Ist eine Read-Data-Operation dafür konfiguriert, monitorData0 bereitzustellen, so fügt das DEM die übergebene monitorData0 aus Dem_SetEventStatusWithMonitorData dem Parameter monitorData0 dieser Read-Data-Operation hinzu [SWS_Dem_01330].

Für die Verwendung und Nebenläufigkeit gelten folgende Bedingungen:

  • Verfügbarkeit: Die API ist über Dem.h nur verfügbar, wenn DemEventReportingType auf STANDARD_REPORTING_WITH_MONITOR_DATA konfiguriert ist [SWS_Dem_91037].
  • Ausführung und Reentranz: Die Ausführung ist synchron/asynchron. Die Funktion ist reentrant für unterschiedliche EventId, jedoch nicht reentrant für dieselbe EventId [SWS_Dem_91037].
  • Rückgabewerte: Sie liefert E_OK bei erfolgreichem Setzen des Ereignisstatus und E_NOT_OK, wenn das Setzen oder Verarbeiten fehlgeschlagen ist oder nicht akzeptiert werden konnte [SWS_Dem_91037].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation erstellt.

Implementer's Guide folgt (Komplexität I1)

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7e5ab1b6f9c0 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die asynchrone Funktion Dem_SetWIRStatus dient fehlersicheren Software-Komponenten (failsafe SW-Cs) zum gezielten Anfordern des Warning-Indicator-Requested-Statusbits (WIR-Bit) eines Diagnose-Events [SWS_Dem_00839], [SWS_Dem_01303]. Da der Aufruf ausschließlich über die RTE erfolgt, existiert keine Deklaration in der Header-Datei Dem.h [SWS_Dem_00839].

Funktionales Verhalten und Zusammenspiel

Das Setzen und Rücksetzen des Bits hängt vom Übergabeparameter WIRStatus sowie dem Status konfigurierter Indikatoren ab:

  • Wird WIRStatus = TRUE übergeben, setzt das DEM das WIR-Bit des betreffenden Events auf 1 [SWS_Dem_00833].
  • Bei WIRStatus = FALSE wird das WIR-Bit nur dann auf 0 zurückgesetzt, wenn keine referenzierten DEM-Indikatoren gesetzt sind [SWS_Dem_00834].
  • Ein über Dem_SetWIRStatus gesetztes WIR-Bit verhindert zudem, dass das DEM das UDS-Statusbit 7 (WarningIndicatorRequested) bei Erreichen von Entprell- oder Heilungszyklen automatisch auf 0 zurücksetzt [SWS_Dem_00503], [SWS_Dem_01233].

Nebenläufigkeit und Fehlerbehandlung

Die API ist reentrant für unterschiedliche Events, jedoch nicht reentrant für dieselbe EventId [SWS_Dem_00839]. Bei erfolgreicher Annahme liefert die Funktion E_OK zurück [SWS_Dem_00839]. Der Rückgabewert E_NOT_OK signalisiert, dass die Anforderung abgewiesen wurde und wiederholt werden sollte; dies ist insbesondere der Fall, wenn die DTC-Einstellung gesperrt ist (disabled ControlDTCSetting) oder das Event als nicht verfügbar markiert ist [SWS_Dem_00836], [SWS_Dem_01108], [SWS_Dem_00839].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function 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

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

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

function 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

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

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

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

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 793bc4c92bab Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Ablauf

Die asynchrone Funktion Dem_DisableDTCRecordUpdate ([SWS_Dem_00233]) deaktiviert die Aktualisierung des Ereignisspeichers für einen zuvor über Dem_SelectDTC festgelegten DTC ([SWS_Dem_01253]). Ziel dieses Aufrufs ist es, die ereignisbezogenen Daten des selektierten Fehlers im jeweiligen DTCOrigin vor Überschreiben oder Löschen zu schützen, um nachfolgende konsistente Lesezugriffe auf Freeze-Frame-Daten und Extended Data Records sicherzustellen ([SWS_Dem_00270]). Über den Parameter ClientId wird die aufrufende Modulinstanz identifiziert ([SWS_Dem_00233]).

Rückgabewerte und Fehlerbehandlung

Die Funktion signalisiert den Verarbeitungsstatus über spezifische Rückgabewerte ([SWS_Dem_00233]):

  • E_OK: Die Aktualisierung des Ereignisspeichers wurde erfolgreich deaktiviert.
  • DEM_PENDING: Die Deaktivierung wird asynchron ausgeführt; der Aufrufer muss die Funktion zu einem späteren Zeitpunkt erneut aufrufen.
  • DEM_BUSY: Für diesen Client ist bereits eine andere von Dem_SelectDTC abhängige Operation in Bearbeitung.
  • E_NOT_OK: Es wurde vorab kein DTC ausgewählt.
  • DEM_WRONG_DTC: Der selektierte DTC existiert nicht im gewählten Format oder es wurde unzulässigerweise eine DTC-Gruppe gewählt.
  • DEM_WRONG_DTCORIGIN: Der angegebene Ursprung (DTCOrigin) existiert nicht.

Nebenläufigkeit und Einschränkungen

Dem_DisableDTCRecordUpdate ist reentrant für Aufrufe mit unterschiedlicher ClientId, jedoch nicht reentrant für dieselbe ClientId ([SWS_Dem_00233]). Es kann immer nur die Aktualisierung für genau einen DTC zur gleichen Zeit gesperrt werden ([SWS_Dem_00233]). Nach dem Auslesen der Diagnosedaten muss die Aktualisierung des Datensatzes über Dem_EnableDTCRecordUpdate wieder freigegeben werden ([SWS_Dem_00234], [SWS_Dem_00270]).

Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: de89b4e41f66 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die asynchrone Funktion Dem_EnableDTCRecordUpdate ([SWS_Dem_00234]) dient der Freigabe der Ereignisspeicher-Aktualisierung für einen zuvor gesperrten DTC. Gemäß [SWS_Dem_00271] gibt die Funktion den aktuell durch Dem_DisableDTCRecordUpdate geschützten DTC wieder frei, sodass dessen Daten erneut im DEM aktualisiert werden können.

Als Übergabeparameter erwartet die Funktion die ClientId, welche die Instanz des aufrufenden Moduls eindeutig identifiziert ([SWS_Dem_00234]). Da der Aufruf von Dem_EnableDTCRecordUpdate die abschließende Aktion in der Sequenz aus Deaktivieren und Aktivieren eines DTCs darstellt, ist der Aufrufer am eigentlichen Rückgabewert nicht interessiert; daher soll laut [SWS_Dem_00234] selbst bei einer asynchronen Freigabe E_OK zurückgegeben werden.

Hinsichtlich der Fehlerbehandlung und Rückgabewerte sind folgende Status definiert ([SWS_Dem_00234]):

  • E_OK: Die Aktualisierung des DTC-Datensatzes wurde erfolgreich freigegeben.
  • E_NOT_OK: Es ist kein DTC ausgewählt.

In Bezug auf Nebenläufigkeit und Einschränkungen ist Dem_EnableDTCRecordUpdate reentrant für Aufrufe mit unterschiedlichen Client-IDs, jedoch nicht reentrant für dieselbe ClientId ([SWS_Dem_00234]).

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

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

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

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2ece0d12a55d Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die asynchrone Funktion Dem_SelectExtendedDataRecord initialisiert den Filter für das Auslesen von erweiterten Diagnosedaten eines zuvor mit Dem_SelectDTC festgelegten DTCs [SWS_Dem_91017] [SWS_Dem_01253]. Sie stößt den internen Selektionsprozess im zugeordneten Ereignisspeicher des Clients an [SWS_Dem_01273] und bestimmt den Ziel-Datensatz für nachfolgende Abfragen über Dem_GetSizeOfExtendedDataRecordSelection und Dem_GetNextExtendedDataRecord [SWS_Dem_01272].

Hinsichtlich Parametrierung und Ablauf gelten folgende Festlegungen:

  • Parameter: Neben spezifischen Datensatznummern akzeptiert ExtendedDataNumber die Werte 0xFE (Gesamtgröße aller OBD-Datensätze) sowie 0xFF (Gesamtgröße aller Datensätze) [SWS_Dem_91017]. Um Dateninkonsistenzen während des Auslesens zu vermeiden, kann der Datensatz vorab mit Dem_DisableDTCRecordUpdate geschützt werden [SWS_Dem_00270].
  • Rückgabewerte und Fehler: Bei erfolgreicher Selektion wird E_OK zurückgegeben [SWS_Dem_91017]. Dies gilt auch dann, wenn eine gültige Datensatznummer angefordert wird, zu der kein Eintrag gespeichert ist; in diesem Fall liefert das spätere Auslesen die Puffergröße 0 [SWS_Dem_00631]. War über Dem_SelectDTC kein einzelner Fehlercode, sondern eine DTC-Gruppe selektiert, oder existiert der DTC nicht, schlägt der Aufruf mit DEM_WRONG_DTC fehl [SWS_Dem_91017] [SWS_Dem_01349]. Existiert der Speicherort nicht, wird DEM_WRONG_DTCORIGIN gemeldet [SWS_Dem_91017].
  • Nebenläufigkeit: Ist die Selektion noch in Bearbeitung, signalisiert DEM_PENDING einen erneuten Aufrufbedarf [SWS_Dem_91017]. Der Status DEM_BUSY zeigt an, dass für diese ClientId noch eine andere DTC-abhängige Operation aktiv ist [SWS_Dem_91017]. Die Funktion ist für unterschiedliche ClientId-Werte reentrant, für dieselbe Instanz jedoch nicht reentrant [SWS_Dem_91017].

Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5188ca62aa0a Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Die asynchrone Funktion Dem_SelectFreezeFrameData setzt den Filter für das spätere Auslesen von Freeze-Frame-Daten über Dem_GetSizeOfFreezeFrameSelection und Dem_GetNextFreezeFrameData [SWS_Dem_91015], [SWS_Dem_01268]. Über den Parameter ClientId wird die aufrufende Modulinstanz identifiziert, während RecordNumber die Snapshot-Datensatznummer nach ISO 14229-1 spezifiziert; dabei steht 0xFF für alle Snapshot-Datensätze des DTC und 0x00 für den DTC-spezifischen WWH-OBD-Snapshot [SWS_Dem_91015]. Der Aufruf stößt die interne Selektion im zugeordneten Ereignisspeicher an [SWS_Dem_01269].

Rückgabewerte und Fehlerbehandlung

Wurde der Selektionsprozess erfolgreich initiiert, gibt die Funktion E_OK zurück [SWS_Dem_91015]. Befindet sich die Auswahl noch in Bearbeitung, signalisiert DEM_PENDING, dass der Aufrufer die Funktion zu einem späteren Zeitpunkt erneut aufrufen muss [SWS_Dem_91015]. Ist für den Client bereits eine andere abhängige Operation aktiv, liefert die API DEM_BUSY [SWS_Dem_91015], [SWS_Dem_01253]. Existiert der Ziel-DTC im gewünschten Format nicht, oder wurde über Dem_SelectDTC eine DTC-Gruppe anstelle eines Einzel-DTC gewählt, wird DEM_WRONG_DTC zurückgegeben [SWS_Dem_91015], [SWS_Dem_01348]. Bei ungültigem Speicherort resultiert DEM_WRONG_DTCORIGIN [SWS_Dem_91015]. Werden abhängige Lese-Funktionen ohne vorherige Selektion aufgerufen, meldet das DEM einen DET-Fehler [SWS_Dem_01270], [SWS_Dem_01271].

Reihenfolge und Nebenläufigkeit

Die Funktion ist reentrant für unterschiedliche Aufrufer (ClientId), jedoch nicht reentrant für denselben Client [SWS_Dem_91015]. Zwingende Voraussetzung ist der vorherige Aufruf von Dem_SelectDTC zur Festlegung des Ziel-DTC und des Speicherorts [SWS_Dem_01253]. Um ein konsistentes Auslesen sicherzustellen, kann Dem_DisableDTCRecordUpdate aufgerufen werden, um die ereignisbezogenen Daten vor Änderungen oder Löschungen zu schützen [SWS_Dem_00270].

Dieser Nutzungshinweis wurde automatisch von einer KI auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I2)

function 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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4c222839a4a6 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Die Funktion Dem_DisableDTCSetting deaktiviert das DTC-Setting für alle Diagnoseereignisse, die dem DemEventMemorySet des aufrufenden Clients zugeordnet sind [SWS_Dem_00242], [SWS_Dem_01290]. Der Aufruf erfolgt asynchron und erfordert die Übergabe einer eindeutigen ClientId [SWS_Dem_00242]. Neben dem erfolgreichen Abschluss über E_OK signalisiert der Rückgabewert DEM_PENDING, dass die Operation noch in Bearbeitung ist; in diesem Fall muss der Aufrufer die Funktion zu einem späteren Zeitpunkt erneut aufrufen [SWS_Dem_00242].

Funktionale Auswirkungen

Wird Dem_DisableDTCSetting aufgerufen, unterbindet das DEM die Speicherung der zugehörigen Ereignisse sowie die Aktualisierung der UDS-Statusbytes [SWS_Dem_00079]. Ist zusätzlich der Konfigurationsparameter DemDebounceBehavior auf DEM_DEBOUNCE_RESET eingestellt, bewirkt der Aufruf zudem das Zurücksetzen der entsprechenden Fehlermeldungszähler (Fault Detection Counters) [SWS_Dem_00677].

Nebenläufigkeit und Einschränkungen

Die Funktion ist reentrant für Aufrufe mit unterschiedlichen Client-IDs, jedoch nicht reentrant für dieselbe ClientId [SWS_Dem_00242]. Die Deaktivierung wirkt sich ausschließlich auf Ereignisse und UDS-Statusbytes des durch die ClientId referenzierten DemEventMemorySet aus; DTCs außerhalb dieses Speicherbereichs werden nicht beeinflusst [SWS_Dem_01290].

Dieser Nutzungshinweis basiert auf den Anforderungen der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4784195edff9 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die asynchrone Funktion Dem_EnableDTCSetting aktiviert bzw. reaktiviert das DTC-Setting für alle DTCs, die dem DemEventMemorySet des adressierten Clients zugeordnet sind [SWS_Dem_00243]. Beim Aufruf wird die eindeutige Kennung ClientId der aufrufenden Modulinstanz übergeben [SWS_Dem_00243].

Als Rückgabewerte sind definiert [SWS_Dem_00243]:

  • E_OK: Die Operation wurde erfolgreich abgeschlossen.
  • DEM_PENDING: Der Vorgang wird asynchron ausgeführt; der Aufrufer muss die Funktion zu einem späteren Zeitpunkt erneut aufrufen.

Bezüglich der Nebenläufigkeit ist Dem_EnableDTCSetting reentrant für unterschiedliche ClientId-Werte, darf jedoch für dieselbe ClientId nicht nebenläufig aufgerufen werden [SWS_Dem_00243].

Im Zusammenspiel mit der Ereignisverarbeitung sorgt die Funktion dafür, dass das DEM die Speicherung der zugehörigen Ereignisse und des UDS-Status-Bytes freigibt [SWS_Dem_00080]. Wird das DTC-Setting für die Ereignisse wieder aktiviert, stößt Dem_EnableDTCSetting die Callback-Funktion InitMonitorForEvent der betroffenen Ereignisse mit dem Parameter InitMonitorReason auf DEM_INIT_MONITOR_REENABLED an [SWS_Dem_00682].

Dieser Text wurde von einer KI generiert und dient der Orientierung. Verbindlich sind ausschließlich die Spezifikationen der jeweiligen AUTOSAR-Releases.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 51829835ffc5 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Funktion Dem_DcmGetInfoTypeValue08 ([SWS_Dem_00316]) wird vom DCM aufgerufen, um IUMPR-Daten (In-Use Monitor Performance Ratio) für InfoType $08 im Rahmen des OBD-Dienstes $09 abzufragen ([SWS_Dem_00298]). Da die Verarbeitung synchron erfolgt, übergibt das DCM für den Parameter OpStatus ausschließlich den Wert DCM_INITIAL ([SWS_Dem_00316]). Die Nutzdaten sowie die Anzahl der Datenelemente gemäß ISO-15031-5 werden in den vom DCM bereitgestellten Puffer Iumprdata08 geschrieben; die maximal beschreibbare Puffergröße wird über den Inout-Parameter Iumprdata08BufferSize vorgegeben ([SWS_Dem_00316]).

Fehlerbehandlung

Die Funktion liefert als Rückgabewert stets E_OK ([SWS_Dem_00316]). Spezifische Fehlercodes oder Entwicklungsfehlermeldungen (DET) sind für diesen Aufruf nicht spezifiziert.

Nebenläufigkeit und Konfiguration

Die Schnittstelle ist nicht reentrant (Non Reentrant) und über Dem_Dcm.h deklariert ([SWS_Dem_00316]). Sie existiert ausschließlich in OBD-relevanten Steuergeräten mit aktiver OBD-Unterstützung (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) ([SWS_Dem_00316]) und wird bereitgestellt, wenn DemOBDEngineType auf DEM_IGNITION_SPARK für Ottomotoren konfiguriert ist ([SWS_Dem_00357]).

Zusammenspiel

Unterdrückte Fehlercodes (suppressed DTCs) dürfen bei der Abfrage nicht sichtbar sein und sind so zu behandeln, als ob der Filter nicht zutrifft ([SWS_Dem_01101]). Gemeinsam mit Dem_DcmGetInfoTypeValue0B dient die Funktion der Unterstützung von Datenanfragen im Service $09 ([SWS_Dem_00298]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 erstellt.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: dde27ef1779b Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Parameterschnittstelle

Die synchrone Funktion Dem_DcmGetInfoTypeValue0B (Service-ID 0x6c, verfügbar über Dem_Dcm.h) dient dem DCM zur Abfrage von IUMPR-Daten (In-Use Performance Ratio) gemäß InfoType $0B im Rahmen des OBD-Service $09 [SWS_Dem_00317] [SWS_Dem_00298]. Die Funktionsschnittstelle leitet sich aus dem DCM-Prototyp <Module>_GetInfotypeValueData() ab, weshalb sie Dcm_OpStatusType und Std_ReturnType verwendet [SWS_Dem_00317]:

  • OpStatus (in): Da die Funktion ein synchrones Verhalten aufweist, tritt beim Aufruf ausschließlich der Zustand DCM_INITIAL auf [SWS_Dem_00317].
  • Iumprdata0BBufferSize (inout): Definiert die maximale Anzahl an Datenbytes, die in den Puffer geschrieben werden dürfen [SWS_Dem_00317].
  • Iumprdata0B (out): Ein vom DCM bereitgestellter Puffer, der die Anzahl der Datenelemente gemäß ISO-15031-5 und die Inhalte des InfoType $0B aufnimmt [SWS_Dem_00317].

Als Rückgabewert wird stets E_OK geliefert [SWS_Dem_00317].

Fehlerbehandlung und Nebenläufigkeit

Spezifische Fehlercodes oder Fehlerreaktionen (wie DET-Meldungen) sind für diese Funktion in der Spezifikation nicht definiert; der Aufruf meldet formal immer E_OK zurück [SWS_Dem_00317]. Die API ist als nicht reentrant (Non Reentrant) klassifiziert [SWS_Dem_00317]. Der Aufrufer (DCM) darf diesen Dienst daher vermutlich nicht nebenläufig für mehrere Diagnoseanfragen parallel ausführen. Frage Q-636518c23ec3801a (offen)

Konfigurationsabhängigkeit und Zusammenspiel

Die API existiert ausschließlich in OBD-relevanten Steuergeräten, für die der Konfigurationsparameter DemOBDSupport ungleich DEM_OBD_NO_OBD_SUPPORT konfiguriert ist [SWS_Dem_00317]. Zudem wird sie bereitgestellt, wenn DemOBDEngineType auf DEM_IGNITION_COMPRESSION gesetzt ist [SWS_Dem_00358]. Im Zusammenspiel mit der DTC-Unterdrückung gilt, dass unterdrückte DTCs für diese Abfragefunktion unsichtbar sind und behandelt werden müssen, als ob der Filter nicht zutrifft [SWS_Dem_01101].

Dieser Text wurde von einer KI erstellt; die Richtlinien verlangen Prüfung durch den Benutzer anhand der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6941d67caf4d Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfPID01 dient dazu, den vom DEM berechneten Inhalt des OBD-Parameters PID $01 an das DCM zu übergeben [SWS_Dem_00318]. Die Schnittstelle ist in der Header-Datei Dem_Dcm.h deklariert und steht ausschließlich in OBD-relevanten Steuergeräten zur Verfügung, bei denen DemOBDSupport nicht auf DEM_OBD_NO_OBD_SUPPORT gesetzt ist [SWS_Dem_00318].

Über den Ausgabeparameter PID01value übergibt das DCM einen Zeiger auf den Zielpuffer, in welchen das DEM die Daten schreibt [SWS_Dem_00318]. Das DCM ist dafür verantwortlich, diesen Puffer mit ausreichender Größe bereitzustellen; die Dimensionierung erfolgt während der Konfiguration anhand der größten vorkommenden PID zur Einrichtung des PIDBuffer [SWS_Dem_00318].

Die Funktion ist nicht reentrant (Non Reentrant) ausgeführt [SWS_Dem_00318]. Als Rückgabewert wird stets E_OK geliefert, da ein Fehlerzustand mit E_NOT_OK laut Spezifikation niemals auftritt [SWS_Dem_00318].

Im Zusammenspiel mit Fehlerabfragen gilt, dass unterdrückte Fehlercodes (suppressed DTC) für Dem_DcmReadDataOfPID01 nicht sichtbar sein dürfen [SWS_Dem_01101]. Das DEM muss unterdrückte DTCs bei der Auswertung so behandeln, als ob der Filter nicht zutrifft [SWS_Dem_01101].

Hinweis: Diese Dokumentation wurde automatisch von einem KI-System auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1c7eda1b0fc3 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Funktion Dem_DcmReadDataOfPID1C stellt einen synchronen Dienst des Diagnostic Event Managers bereit, über den das Diagnostic Communication Module (DCM) den berechneten Inhalt von OBD PID $1C abfragt [SWS_Dem_00325].

  • Parameter: Über den Ausgabeparameter PID1Cvalue (Zeiger auf uint8) schreibt das DEM die Daten in einen Puffer des DCM. Die erforderliche Puffergröße wird bei der Konfiguration des DCM anhand der größten PID dimensioniert, um einen passenden PIDBuffer bereitzustellen [SWS_Dem_00325].
  • Rückgabewert: Der Dienst liefert stets den Statuswert E_OK zurück. Ein Fehlerfall mit E_NOT_OK tritt spezifikationsgemäß niemals auf [SWS_Dem_00325].

Fachlicher Inhalt und Zusammenspiel

Gemäß [SWS_Dem_00748] meldet die Schnittstelle die OBD-Anforderungen zurück, nach denen das Fahrzeug oder der Motor zertifiziert ist (beispielsweise OBD, OBDII oder JOBD). Der in PID1Cvalue auszugebende Wert wird über den Konfigurationsparameter DemOBDCompliancy festgelegt [SWS_Dem_00325] [SWS_Dem_00748].

Nebenläufigkeit und Verfügbarkeit

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dem_00325]. Sie ist in der Header-Datei Dem_Dcm.h deklariert und steht ausschließlich in Steuergeräten mit aktiver OBD-Unterstützung zur Verfügung, bei denen DemGeneral.DemOBDSupport nicht auf DEM_OBD_NO_OBD_SUPPORT gesetzt ist [SWS_Dem_00325].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2dc814aaf11d Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfPID21 (Service-ID 0x64) dient dem Diagnostic Communication Manager (DCM) dazu, den vom DEM berechneten aktuellen Wert des OBD-Parameters PID $21 abzufragen [SWS_Dem_00319], [SWS_Dem_01098]. Die Schnittstelle wird über den Header Dem_Dcm.h deklariert und steht ausschließlich in Steuergeräten mit OBD-Bezug zur Verfügung, sofern der Konfigurationsparameter DemOBDSupport nicht auf DEM_OBD_NO_OBD_SUPPORT gesetzt ist [SWS_Dem_00319].

Für die Verwendung und das operative Zusammenspiel gelten folgende Festlegungen:

  • Pufferbereitstellung: Als Ausgabeparameter wird der Zeiger PID21value übergeben [SWS_Dem_00319]. Der Aufrufer (DCM) muss diesen Puffer bereitstellen und dimensioniert ihn während der Konfiguration passend zur größten konfigurierten PID [SWS_Dem_00319]. Bei Aufruf schreibt das DEM den aktuellen Wert von PID $21 in diesen Puffer [SWS_Dem_01098].
  • Rückgabewert: Die Funktion liefert stets E_OK zurück, da ein Fehlerwert wie E_NOT_OK laut Spezifikation niemals auftritt [SWS_Dem_00319].
  • Initialer Zustand / Fehlerbehandlung: Wird Dem_DcmReadDataOfPID21 aufgerufen, bevor Werte über Dem_SetDataOfPID21 gesetzt wurden, gibt das DEM den Ersatzwert 0xFFFF als Inhalt von PID $21 zurück [SWS_Dem_01099].
  • Nebenläufigkeit: Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dem_00319]. Nebenläufige Aufrufe durch mehrere Kontexte sind daher unzulässig.

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: aa9161844e39 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfPID30 dient dazu, den vom DEM berechneten Dateninhalt des Parameters PID $30 an das DCM zu übergeben [SWS_Dem_00320]. Sie wird über die Header-Datei Dem_Dcm.h deklariert und steht ausschließlich in Steuergeräten mit OBD-Relevanz zur Verfügung, wenn der Konfigurationsparameter DemOBDSupport ungleich DEM_OBD_NO_OBD_SUPPORT ist [SWS_Dem_00320].

Für die Verwendung der Schnittstelle gelten folgende Festlegungen:

  • Übergabeparameter: Über den Ausgabeparameter PID30value stellt der Aufrufer einen Puffer bereit, in den das DEM die berechneten Daten von PID $30 schreibt [SWS_Dem_00320]. Das DCM ist dafür verantwortlich, diesen Puffer in passender Größe bereitzustellen; die Dimensionierung ermittelt das DCM während der Konfiguration anhand des größten PIDs [SWS_Dem_00320].
  • Rückgabewert und Fehlerbehandlung: Die Schnittstelle gibt als Std_ReturnType stets E_OK zurück [SWS_Dem_00320]. Der Fehlerwert E_NOT_OK tritt laut Spezifikation niemals auf, und es sind keine spezifischen Fehlercodes oder gesonderten Fehlerbehandlungsroutinen vorgesehen [SWS_Dem_00320].
  • Nebenläufigkeit: Die Funktion ist als nicht reentrant (Non Reentrant) definiert [SWS_Dem_00320]. Da die Spezifikation keine internen Synchronisationsmechanismen vorsieht, dürfte der Aufrufer dafür verantwortlich sein, konkurrierende Aufrufe auszuschließen [SWS_Dem_00320]. Frage Q-976bc8dc189021a1 (offen)

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cfc8a8d1c498 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfPID31 dient dazu, den vom DEM berechneten Wert des OBD-Parameters PID $31 an das DCM zu übergeben [SWS_Dem_00321]. Die Schnittstelle wird über die Header-Datei Dem_Dcm.h bereitgestellt und besitzt die Service-ID 0x66 [SWS_Dem_00321].

Verwendung und Parameter

Der Aufruf erfolgt synchron und ist als nicht reentrant definiert [SWS_Dem_00321]:

  • PID31value (Ausgangsparameter): Zeiger auf einen Puffer (uint8*), der die berechneten Daten für PID $31 aufnimmt [SWS_Dem_00321]. Die Bereitstellung des Puffers in passender Größe obliegt dem aufrufenden DCM; dieses ermittelt die erforderliche Puffergröße während der Konfiguration anhand des größten PIDs zur Auslegung eines PIDBuffer [SWS_Dem_00321].
  • Rückgabewert: Der Dienst liefert als Std_ReturnType stets E_OK zurück; der Fehlerwert E_NOT_OK tritt laut Spezifikation niemals auf [SWS_Dem_00321].

Einschränkungen und Konfiguration

Die API ist ausschließlich für OBD-relevante Steuergeräte vorgesehen [SWS_Dem_00321]. Sie steht nur dann zur Verfügung, wenn der Konfigurationsparameter DemGeneral.DemOBDSupport auf den Wert DEM_OBD_MASTER_ECU gesetzt ist [SWS_Dem_00321]. Da die Funktion nicht reentrant ist, dürfen parallele Aufrufe durch das DCM nicht erfolgen [SWS_Dem_00321].

Dieser Nutzungshinweis wurde automatisiert generiert und basiert ausschließlich auf den Spezifikationsdaten aus Release R20-11.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 18b86d10b784 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfPID41 dient dazu, den vom DEM berechneten Inhalt von PID $41 an das DCM zu übergeben [SWS_Dem_00322]. Sie wird über den Header Dem_Dcm.h deklariert und besitzt die Service-ID 0x67 [SWS_Dem_00322].

Verwendung und Parameter

Der Aufruf erfolgt synchron und ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dem_00322]. Als Ausgabeparameter erwartet die Schnittstelle den Zeiger PID41value (uint8*):

  • PID41value nimmt die berechneten Daten von PID $41 auf [SWS_Dem_00322].
  • Der Puffer muss vom DCM in passender Größe bereitgestellt werden; hierzu ermittelt das DCM bereits während der Konfiguration anhand des größten vorkommenden PIDs die benötigte Größe für die Konfiguration des PIDBuffer [SWS_Dem_00322].

Rückgabewerte und Fehlerbehandlung

Als Rückgabewert liefert die Funktion stets E_OK zurück, da ein Fehlerwert E_NOT_OK laut Spezifikation niemals auftritt [SWS_Dem_00322]. Spezifische Fehlercodes oder Fehlerreaktionen sind für diese Schnittstelle nicht vorgesehen [SWS_Dem_00322].

Konfigurationsabhängigkeit und Verfügbarkeit

Die API wird ausschließlich in OBD-relevanten Steuergeräten benötigt [SWS_Dem_00322]. Sie steht nur dann zur Verfügung, wenn der Konfigurationsparameter DemOBDSupport in DemGeneral ungleich DEM_OBD_NO_OBD_SUPPORT konfiguriert ist [SWS_Dem_00322].

Dieser Text wurde von einer KI erstellt und stützt sich ausschließlich auf die Spezifikation R20-11.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0df731691150 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die synchrone Funktion Dem_DcmReadDataOfPID4D dient dazu, den vom DEM berechneten Wert des OBD-Parameters PID $4D an das DCM zu übermitteln [SWS_Dem_00323]. Der Service wird über den Header Dem_Dcm.h mit der Service-ID 0x68 bereitgestellt [SWS_Dem_00323].

Als einziger Übergabeparameter dient der Ausgangszeiger PID4Dvalue, welcher auf einen vom DCM bereitgestellten Zielpuffer verweist [SWS_Dem_00323]. Das DCM stellt diesen Puffer mit passender Größe bereit, indem es bereits während der Konfiguration anhand der größten vorkommenden PID die erforderliche Größe für den PIDBuffer ermittelt [SWS_Dem_00323].

Rückgabewerte und Fehlerbehandlung

Die Funktion besitzt den Rückgabetyp Std_ReturnType und gibt ausnahmslos E_OK zurück [SWS_Dem_00323]. Ein Rückgabewert von E_NOT_OK ist spezifikationsgemäß ausgeschlossen und tritt niemals auf [SWS_Dem_00323]. Besondere Fehlerbehandlungen oder spezifische Fehlercodes existieren für diesen Aufruf nicht.

Nebenläufigkeit und Konfigurationsabhängigkeit

Die Schnittstelle ist als nicht reentrant (Non Reentrant) deklariert und darf daher nicht nebenläufig ausgeführt werden [SWS_Dem_00323].

Zudem ist die Funktion ausschließlich in OBD-relevanten Steuergeräten erforderlich [SWS_Dem_00323]. Sie steht nur dann zur Verfügung, wenn in der Konfiguration der Parameter DemOBDSupport innerhalb von DemGeneral auf den Wert DEM_OBD_MASTER_ECU gesetzt ist [SWS_Dem_00323].

Dieser Nutzungshinweis basiert auf der Spezifikation des Diagnostic Event Manager in AUTOSAR CP R20-11.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 51321ea5857b Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfPID4E dient dazu, den vom DEM berechneten Inhalt der OBD-Parameter-ID PID $4E an das DCM zu übermitteln [SWS_Dem_00324]. Die Funktion besitzt die Service-ID 0x69 und wird über die Header-Datei Dem_Dcm.h deklariert [SWS_Dem_00324].

Aufruf und Pufferverwaltung

Der Aufruf erfolgt synchron und ist als nicht reentrant (Non Reentrant) definiert [SWS_Dem_00324]. Als Ausgabeparameter nimmt die Funktion den Zeiger PID4Evalue (Typ uint8*) entgegen, über den das DEM die berechneten Daten ablegt [SWS_Dem_00324]. Das aufrufende DCM muss dafür einen Puffer mit geeigneter Größe bereitstellen [SWS_Dem_00324]. Die erforderliche Puffergröße bestimmt das DCM während der Konfiguration anhand der größten vorkommenden PID, um den gemeinsamen PIDBuffer entsprechend zu dimensionieren [SWS_Dem_00324].

Rückgabewerte und Fehlerbehandlung

Die Schnittstelle gibt stets E_OK vom Typ Std_ReturnType zurück, da der Rückgabewert E_NOT_OK laut Spezifikation niemals auftritt [SWS_Dem_00324]. Es sind keine spezifischen Fehlercodes für einen Fehlerfall und keine DET- oder DEM-Fehlermeldungen im Spezifikationsumfang ausgewiesen [SWS_Dem_00324].

Einschränkungen und Verfügbarkeit

Die API wird ausschließlich in OBD-relevanten Steuergeräten benötigt [SWS_Dem_00324]. Ihre Verfügbarkeit ist an die Konfigurationsbedingung DemGeneral.DemOBDSupport == DEM_OBD_MASTER_ECU gebunden; in anderen Konfigurationen steht die Funktion nicht zur Verfügung [SWS_Dem_00324].

Dieser Text wurde von einer KI erstellt; er ersetzt nicht das Studium der AUTOSAR-Spezifikation.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b21962c6ebc5 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfPID91 (Service-ID 0x6a) dient dazu, die vom DEM berechneten Daten des OBD-Parameters PID $91 an das DCM zu übergeben [SWS_Dem_01187]. Die Schnittstelle wird über den Header Dem_Dcm.h deklariert und steht ausschließlich in OBD-relevanten Steuergeräten zur Verfügung, bei denen DemOBDSupport nicht auf DEM_OBD_NO_OBD_SUPPORT konfiguriert ist [SWS_Dem_01187].

Als Ausgabeparameter erfordert die Funktion den Zeiger PID91value, der auf einen vom DCM bereitgestellten Puffer verweist [SWS_Dem_01187]. Das DCM ist dafür verantwortlich, diesen Puffer in passender Größe bereitzustellen; die nötige Größe wird bereits während der Konfiguration anhand des größten PIDs ermittelt, um den Puffer PIDBuffer anzulegen [SWS_Dem_01187].

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert und muss synchron abgearbeitet werden [SWS_Dem_01187]. Ein paralleler Aufruf aus verschiedenen Kontexten ist daher unzulässig. Ein Fehlerrückgabewert existiert nicht: Die Funktion liefert als Std_ReturnType stets E_OK zurück, da der Fehlerwert E_NOT_OK laut Spezifikation niemals auftritt [SWS_Dem_01187].

Dieser Nutzungshinweis wurde automatisch generiert und basiert ausschließlich auf den Spezifikationsdaten von AUTOSAR Classic R20-11.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f57c1c183634 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_DcmReadDataOfOBDFreezeFrame liest Daten eines Datenelements zu einer PID für das wichtigste Freeze-Frame aus, das für die Ausgabe von OBD-Service $02 ausgewählt ist [SWS_Dem_00327].

Aufrufkontext und Parameter

Der Aufruf erfolgt durch das DCM über den Header Dem_Dcm.h [SWS_Dem_00327]. An die Funktion werden folgende Parameter übergeben:

  • PID: Kennung der PID gemäß ISO 15031-5 [SWS_Dem_00327].
  • DataElementIndexOfPID: Nullbasierter, fortlaufender Index des Datenelements innerhalb der PID. Die Reihenfolge leitet sich direkt aus der Position der Datenelemente im PID-Layout der DCM-Konfiguration ab [SWS_Dem_00327], [SWS_Dem_00597].
  • DestBuffer: Zeiger auf den Puffer, in den das Datenelement im hexadezimalen Rohformat ohne Header-Informationen geschrieben wird [SWS_Dem_00327].
  • BufSize: Dient als Ein- und Ausgabeparameter; enthält beim Aufruf die maximale Pufferkapazität und gibt die Anzahl tatsächlich geschriebener Datenbytes zurück [SWS_Dem_00327].

Einschränkungen und Fehlerbehandlung

Die Funktion ist nicht reentrant (Non Reentrant) und steht ausschließlich in Steuergeräten mit aktivierter OBD-Unterstützung (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) zur Verfügung [SWS_Dem_00327]. Bei erfolgreicher Datenbereitstellung wird E_OK zurückgegeben, andernfalls E_NOT_OK [SWS_Dem_00327]. Ein unterdrückter DTC ist für diese Abfragefunktion nicht sichtbar [SWS_Dem_01101]; vermutlich liefert die Funktion in einem solchen Fall E_NOT_OK zurück. Frage Q-09c77cdccc138247 (offen)

Dieser Text wurde von einer KI erstellt; maßgeblich ist die referenzierte Spezifikation.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f96309635c05 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone, nicht-reentrante Funktion Dem_DcmGetDTCOfOBDFreezeFrame liest den DTC zu einer vorgegebenen Freeze-Frame-Datensatznummer aus [SWS_Dem_00624]. Sie dient primär dem DCM zur Ausgabe im Rahmen des OBD-Dienstes $02 (PID $02), um den DTC des relevantesten ausgewählten Freeze-Frames zu ermitteln [SWS_Dem_00623].

Aufruf und Parameter

  • FrameNumber (IN): Eindeutige Kennung des Freeze-Frame-Datensatzes gemäß ISO 15031-5. Der Wert 0x00 bezeichnet den vollständigen OBD-Freeze-Frame, weitere Werte sind reserviert [SWS_Dem_00624].
  • DTCFormat (IN): Gewünschtes Ausgabeformat des DTC-Werts [SWS_Dem_00624].
  • DTC (OUT): Zeiger auf den Speicherort für den ermittelten Fehlercode im OBD-Format [SWS_Dem_00624].

Rückgabewerte und Fehlerbehandlung

Die Funktion gibt E_OK zurück, wenn der DTC erfolgreich ermittelt werden konnte. Ist kein passender DTC verfügbar, liefert der Aufruf E_NOT_OK; in diesem Fall enthält der Ausgabeparameter DTC keine gültigen Daten [SWS_Dem_00624].

Bedingungen und Zusammenspiel

Die Schnittstelle ist über den Header Dem_Dcm.h verfügbar und existiert ausschließlich in Steuergeräten mit OBD-Unterstützung (Konfiguration DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00624]. Unterdrückte DTCs (suppressed DTCs) werden von der Funktion so behandelt, als ob kein Treffer vorliegt, und sind für diese Abfrage nicht sichtbar [SWS_Dem_01101].

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5b769d67b0cc Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion Dem_DcmGetAvailableOBDMIDs (Service-ID 0xa3) wird vom DCM aufgerufen, um im Rahmen einer OBD-Service-$06-Anfrage den Wert einer angefragten Verfügbarkeits-OBDMID auszulesen [SWS_Dem_00766]. Über den Eingabeparameter Obdmid (Typ uint8) übergibt der Aufrufer eine standardisierte Verfügbarkeits-Kennung wie $00, $20 oder $40. Das DEM meldet die unterstützten Test-Identifikatoren als bitcodierte Information über den 32-Bit-Ausgabezeiger Obdmidvalue zurück [SWS_Dem_00766]. Aus diesen Daten leitet der Diagnosetester ab, welche Prüfungen dem Werkstattpersonal zur Auswahl angezeigt werden [SWS_Dem_00766].

Die Funktion wird über den Header Dem_Dcm.h deklariert. Sie ist ausschließlich für OBD-relevante Steuergeräte vorgesehen und nur dann im Modul verfügbar, wenn die Konfigurationsoption DemGeneral.DemOBDSupport ungleich DEM_OBD_NO_OBD_SUPPORT gesetzt ist [SWS_Dem_00766].

Bei fehlerfreier Übermittlung der DTR-Verfügbarkeit gibt die Schnittstelle E_OK zurück [SWS_Dem_00766]. Wird die Funktion aufgerufen, bevor das DEM vollständig initialisiert oder nachdem es heruntergefahren wurde, greift der Fehlercode DEM_E_UNINIT [SWS_Dem_00173]. Ebenso führen Aufrufe mit ungültigem Zeiger (DEM_E_PARAM_POINTER) oder mit fehlerhaften Parameterwerten (DEM_E_PARAM_DATA) zu Entwicklungsfehlern gemäß [SWS_Dem_00173]. In solchen Fehlerfällen dürfte als Rückgabewert vermutlich E_NOT_OK geliefert werden. Frage Q-b42d268116fb8df7 (offen)

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 49e6e35927e4 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion Dem_DcmGetNumTIDsOfOBDMID (Service-ID 0xa4) wird über die Header-Datei Dem_Dcm.h deklariert [SWS_Dem_00767]. Sie dient dem Diagnostic Communication Manager (DCM) dazu, auf Anfrage die Anzahl der zugewiesenen Test-Identifikatoren (TIDs) zu einer angegebenen funktionalen OBDMID abzufragen [SWS_Dem_00761].

Beim Aufruf übergibt der DCM die Kennung der betreffenden OBDMID im Eingangsparameter Obdmid und erhält die Anzahl der zugeordneten TIDs über den Zeiger numberOfTIDs zurück [SWS_Dem_00767]. Dieser Ausgabewert dient dem DCM als Obergrenze für eine Zählschleife von 0 bis numberOfTIDs - 1, in welcher anschließend sequenziell über Dem_DcmGetDTRData die einzelnen DTR-Ergebniswerte, Testergebnisse und Grenzwerte abgefragt werden [SWS_Dem_00761] [SWS_Dem_00768].

Die Funktion gibt den Rückgabewert E_OK zurück, wenn die Anzahl der TIDs erfolgreich ermittelt werden konnte, und E_NOT_OK, falls die Abfrage fehlschlägt [SWS_Dem_00767]. Spezifische Entwicklungsfehler (DET) oder detaillierte Fehlerursachen für den Fehlerfall sind in der Spezifikation nicht gesondert ausgewiesen.

Der Aufruf ist ausschließlich für OBD-relevante Steuergeräte vorgesehen. Die Schnittstelle ist im DEM nur verfügbar, wenn der Konfigurationsparameter DemOBDSupport nicht auf DEM_OBD_NO_OBD_SUPPORT eingestellt ist [SWS_Dem_00767].

Dieser Nutzungshinweis wurde von einer KI generiert und stützt sich ausschließlich auf die Spezifikationsdokumente von AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 18535af5aa7f Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion Dem_DcmGetDTRData dient dem Diagnostic Communication Manager (DCM) dazu, DTR-Daten (Diagnostic Test Results) einschließlich TID-Wert, UaSID sowie aktuellem Testergebnis mit Unter- und Obergrenze abzufragen [SWS_Dem_00768]. Sie steht ausschließlich in Steuergeräten mit OBD-Unterstützung zur Verfügung, wenn DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT konfiguriert ist [SWS_Dem_00768].

Verwendung und Zusammenspiel

Der DCM ruft die Funktion auf, um die verfügbaren DTR-Daten für eine bestimmte Obdmid und einen TIDindex abzurufen [SWS_Dem_00762]. Die Abfrage erfolgt typischerweise iterativ über den Index TIDindex von 0 bis numberOfTIDs - 1, wobei die Gesamtzahl zuvor über Dem_DcmGetNumTIDsOfOBDMID() ermittelt wird [SWS_Dem_00768], [SWS_Dem_00762]. Über die Ausgabeparameter TIDvalue, UaSID, Testvalue, Lowlimvalue und Upplimvalue werden die Werte für die Tester-Antwort bereitgestellt [SWS_Dem_00768].

Fehlerbehandlung und Randbedingungen

Die Funktion gibt E_OK bei erfolgreicher Ermittlung der DTR-Ergebnisse zurück und E_NOT_OK im Fehlerfall [SWS_Dem_00768]. Ein Fehler tritt insbesondere auf, wenn das referenzierte Diagnose-Event nicht verfügbar ist:

  • Ist ein Event als nicht verfügbar gesetzt, wird es wie ein nicht konfiguriertes Event behandelt und Dem_DcmGetDTRData schlägt fehl [SWS_Dem_01108].
  • Wird die Funktion für ein DTR aufgerufen, dessen über DemDtrEventRef referenziertes Event mit DemEventAvailable == FALSE konfiguriert ist, gibt das DEM zwingend E_NOT_OK zurück [SWS_Dem_01336]. In diesem Fall sind sämtliche Ausgabeparameter undefiniert [SWS_Dem_01336].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsanforderungen generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: fedc82312f61 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Funktion Dem_J1939DcmSetDTCFilter (Service-ID 0x90, deklariert in Dem_J1939Dcm.h) setzt die Filtermasken-Attribute zur Selektion von J1939-DTCs für einen über ClientId adressierten J1939-Knoten [SWS_Dem_00970], [SWS_Dem_00855]. Als Filterkriterien dienen der Statusfilter DTCStatusFilter (mögliche Werte: DEM_J1939DTC_ACTIVE, DEM_J1939DTC_PREVIOUSLY_ACTIVE, DEM_J1939DTC_PENDING, DEM_J1939DTC_PERMANENT oder DEM_J1939DTC_CURRENTLY_ACTIVE), die funktionale Gruppe DTCKind sowie der Quellspeicher DTCOrigin [SWS_Dem_00970]. Über den Ausgabeparameter LampStatus liefert der Aufruf den aktuellen kombinierten Lampenstatus der gefilterten DTCs zurück [SWS_Dem_00970], [SWS_Dem_00857]. Zudem wird ein interner Zähler auf das erste zutreffende Ereignis zurückgesetzt [SWS_Dem_00855]. Interpretation: Der Aufrufer der Schnittstelle dürfte das J1939Dcm-Modul zur Vorbereitung diagnostischer Leseoperationen sein. Frage Q-5f25345851de686f (offen)

Fehlerbehandlung und Rückgabewerte

Als Rückgabewert liefert die Funktion E_OK bei erfolgreicher Konfiguration des Filters oder E_NOT_OK, falls der Filter nicht gesetzt werden konnte [SWS_Dem_00970]. Unterdrückte DTCs werden von der Filterung nicht erfasst und so behandelt, als ob das Filterkriterium nicht zutrifft; sie bleiben für Abfragen unsichtbar [SWS_Dem_01101].

Nebenläufigkeit und Einschränkungen

Die Funktion ist reentrant für unterschiedliche ClientId-Werte, jedoch nicht reentrant für dieselbe ClientId [SWS_Dem_00970]. Konkurrierende Filteraufrufe auf denselben J1939-Ereignisspeicher müssen daher vermieden werden.

Zusammenspiel

Das Setzen des Filters bildet die Grundlage für die nachfolgende Verarbeitung:

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 79d994fe5d97 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion [SWS_Dem_00972] ermittelt asynchron die Anzahl der J1939-DTCs, die den zuvor mit Dem_J1939DcmSetDTCFilter definierten Filterkriterien im primären Ereignisspeicher der übergebenen ClientId entsprechen ([SWS_Dem_00874]). Ein vorangehender Aufruf von Dem_J1939DcmSetDTCFilter ist erforderlich, da dieser die Filtermaskenattribute setzt und den internen Zähler auf das erste Ereignis zurücksetzt ([SWS_Dem_00855]).

Das Zählergebnis wird über den Ausgabeparameter NumberOfFilteredDTC bereitgestellt. Für den Ablauf und die Rückgabewerte gelten folgende Regeln:

  • Erfolg: Sobald die Gesamtzahl passender DTCs vollständig ermittelt wurde, gibt die Funktion E_OK zurück ([SWS_Dem_00874]).
  • Unterbrechung: Muss der Suchvorgang aufgrund interner Beschränkungen unterbrochen werden, liefert die Funktion DEM_PENDING. In diesem Fall muss der Ausgabeparameter noch nicht gültig sein; ein nachfolgender Aufruf setzt die Ermittlung nach dem unterbrochenen Element fort ([SWS_Dem_00874]).
  • Fehlercodes: Die Spezifikation sieht darüber hinaus die Statuswerte DEM_NO_SUCH_ELEMENT sowie DEM_BUFFER_TOO_SMALL vor ([SWS_Dem_00972]).

Hinsichtlich der Sichtbarkeit bestimmt [SWS_Dem_01101], dass unterdrückte Fehler (suppressed DTCs) so behandelt werden müssen, als ob das Filterkriterium nicht zutrifft. Die Funktion ist als nicht reentrant definiert ([SWS_Dem_00972]), weshalb gleichzeitige Aufrufe vermieden werden müssen.

Dieser Nutzungshinweis wurde von einer KI erstellt und fasst die Kernaspekte der AUTOSAR-Spezifikation zusammen.

Implementer's Guide folgt (Komplexität I1)

function Dem_J1939DcmGetNextFilteredDTC [SWS_Dem_00973] 📄 PDF

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

Gets the next filtered J1939 DTC.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c6cbd3422fd3 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die asynchrone und nicht reentrante Funktion Dem_J1939DcmGetNextFilteredDTC (Service-ID 0x92) liest den nächsten gefilterten J1939-DTC aus dem über ClientId adressierten J1939-Ereignisspeicher aus [SWS_Dem_00973]. Sie ist über den Header Dem_J1939Dcm.h deklariert [SWS_Dem_00973].

Findet die Funktion ein auf das Filterkriterium zutreffendes Ereignis, gibt sie E_OK zurück und liefert über die Ausgabeparameter den entsprechenden J1939DTC sowie den zugehörigen OccurenceCounter [SWS_Dem_00877], [SWS_Dem_00973]. Liegt der Auftretenszähler über 126 (0x7E), wird der zurückgegebene Wert fest auf 126 (0x7E) begrenzt [SWS_Dem_00877].

Muss der Suchvorgang aufgrund interner Begrenzungen oder Implementierungsdetails unterbrochen werden, liefert die Funktion DEM_PENDING zurück [SWS_Dem_00877], [SWS_Dem_00973]. In diesem Fall enthalten die Ausgabeparameter keine gültigen Daten; der nächste Aufruf setzt die Suche direkt nach dem unterbrochenen Element fort [SWS_Dem_00877]. Ist kein weiteres passendes Element vorhanden, lautet der Rückgabewert DEM_NO_SUCH_ELEMENT; bei zu kleinem Puffer wird DEM_BUFFER_TOO_SMALL gemeldet [SWS_Dem_00973].

Unterdrückte Diagnose-Ereignisse (suppressed DTCs) sind für die Abfragefunktion nicht sichtbar; sie werden von Dem_J1939DcmGetNextFilteredDTC so behandelt, als ob das Filterkriterium nicht zutrifft [SWS_Dem_01101].

Dieser Text wurde automatisch von einer KI generiert und ersetzt nicht die offizielle AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7183056cd60e Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Schnittstelle Dem_J1939DcmFirstDTCwithLampStatus initialisiert die Filterung auf den ersten zutreffenden Diagnostic Trouble Code (DTC) für die DM31-Antwort eines spezifischen Knotens [SWS_Dem_00974]. Als einziger Eingangsparameter dient ClientId vom Typ uint8, womit der zugehörige J1939-Ereignisspeicher adressiert wird [SWS_Dem_00974]. Die Funktion besitzt weder Ein- noch Ausgabeparameter und liefert keinen Rückgabewert (void) [SWS_Dem_00974]. Sie ist über die Header-Datei Dem_J1939Dcm.h mit der Service-ID 0x93 deklariert [SWS_Dem_00974]. Interpretation: Die Funktion dürfte primär vom Modul J1939Dcm aufgerufen werden, um die Filterung vor der Übertragung der DM31-Lampenstatus-Meldungen zu initialisieren. Frage Q-064513be4f06584b (offen)

Filterlogik und Zusammenspiel

Jeder Aufruf der Funktion setzt den internen Zähler auf das erste Ereignis zurück, dem für die angegebene ClientId ein J1939DTC zugewiesen ist [SWS_Dem_00880]. Hinsichtlich des Status von Diagnoseereignissen schreibt die Spezifikation vor, dass ein unterdrückter DTC (suppressed DTC) für DCM-Abfragefunktionen unsichtbar bleiben muss [SWS_Dem_01101]. Demnach behandelt Dem_J1939DcmFirstDTCwithLampStatus unterdrückte DTCs so, als ob das Filterkriterium nicht erfüllt wäre [SWS_Dem_01101].

Nebenläufigkeit und Einschränkungen

Hinsichtlich des Nebenläufigkeitsverhaltens ist die Schnittstelle reentrant für Aufrufe mit unterschiedlichen ClientId-Werten, jedoch nicht reentrant für denselben ClientId-Wert [SWS_Dem_00974]. Parallele Abfragen über identische Client-IDs auf denselben J1939-Ereignisspeicher sind folglich unzulässig.

Dieser Text wurde automatisch von einem KI-Kurations-Assistenten generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 48ed4a1205b0 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Funktion Dem_J1939DcmGetNextDTCwithLampStatus wird synchron ausgeführt und ist nicht reentrant ([SWS_Dem_00975]). Sie dient im Rahmen der J1939-Diagnosekommunikation (DM31) dazu, iterativ den nächsten gefilterten J1939-DTC zusammen mit dem zugehörigen Lampenstatus und dem Ereigniszähler (OccurenceCounter) aus dem über ClientId adressierten Ereignisspeicher abzufragen ([SWS_Dem_00975]). Die Iteration setzt voraus, dass der Ereignisspeicher zuvor durch Dem_J1939DcmFirstDTCwithLampStatus vorbereitet wurde ([SWS_Dem_00881]).

Ablauf und Rückgabewerte

Jeder Aufruf durchsucht den Speicher nach dem nächsten Ereignis mit zugewiesenem J1939-DTC ([SWS_Dem_00881]). Unterdrückte DTCs (suppressed DTC) werden wie nicht passende Ereignisse behandelt und übersprungen ([SWS_Dem_01101]).

  • E_OK: Ein passendes Ereignis wurde gefunden. Die Parameter LampStatus, J1939DTC und OccurenceCounter enthalten gültige Werte ([SWS_Dem_00882]). Interpretation: Die in der Parameterspezifikation genannte Bedingung DEM_FILTERED_OK dürfte sich auf E_OK beziehen, da DEM_FILTERED_OK für diese Funktion nicht als Rückgabewert deklariert ist ([SWS_Dem_00975]). Frage Q-5284fb30b98babf6 (offen)
  • DEM_PENDING: Die interne Suche musste aufgrund von Implementierungsgrenzen unterbrochen werden. Die Ausgabeparameter enthalten keine gültigen Daten, und der nächste Aufruf setzt die Suche hinter dem unterbrochenen Element fort ([SWS_Dem_00882]).
  • DEM_NO_SUCH_ELEMENT: Es sind keine weiteren passenden Ereignisse im Speicher vorhanden; die Ausgabeparameter sind ungültig ([SWS_Dem_00881]).
  • DEM_BUFFER_TOO_SMALL: Der übergebene Puffer ist zu klein ([SWS_Dem_00975]).

Lampenstatus und Wertebereich

Für die Bestimmung des Lampenstatus prüft das DEM das UDS-Statusbit 7 (WarningIndicator) sowie die jeweilige Indikator-Referenz: Die Malfunction Indicator Lamp ([SWS_Dem_00883]), Red Stop Lamp ([SWS_Dem_00887]) und Amber Warning Lamp ([SWS_Dem_00891]) werden jeweils auf Lamp On gesetzt, wenn das Bit aktiv und die Referenz zugewiesen ist; andernfalls lauten sie Lamp Off. Der OccurenceCounter wird bei Zählerständen über 126 (0x7F) auf genau 126 begrenzt ([SWS_Dem_00882]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cb1db17652c2 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Funktion Dem_J1939DcmClearDTC ([SWS_Dem_00976]) wird dem Modul J1939Dcm über den Header Dem_J1939Dcm.h bereitgestellt, um alle aktiven oder zuvor aktiven Diagnose-Fehlercodes (DTCs) aus dem Ereignisspeicher zu löschen ([SWS_Dem_00878]). Der Aufruf arbeitet asynchron. Als Eingabeparameter erwartet die Schnittstelle den Filtertyp DTCTypeFilter zur Bestimmung der zu löschenden DTCs, DTCOrigin zur Selektion des Quellspeichers sowie die ClientId zur Adressierung des J1939-Ereignisspeichers.

Fehlerbehandlung und Rückgabewerte

Das Ergebnis der Ausführung wird über den Rückgabetyp Std_ReturnType signalisiert:

  • E_OK: Der Löschvorgang wurde erfolgreich abgeschlossen.
  • DEM_PENDING: Die Bereinigung ist im Gange; der Aufrufer muss die Funktion zu einem späteren Zeitpunkt erneut aufrufen.
  • DEM_CLEAR_BUSY: Ein anderer Client führt zeitgleich einen Löschvorgang aus; die Operation wird nicht gestartet und ist später zu wiederholen.
  • DEM_WRONG_DTC: Der gewählte DTC existiert im gewählten Format nicht oder das Löschen ist per Konfiguration auf Gruppen beschränkt.
  • DEM_WRONG_DTCORIGIN: Der angegebene Quellspeicher existiert nicht.
  • DEM_CLEAR_FAILED bzw. DEM_CLEAR_MEMORY_ERROR: Das Löschen schlug fehl oder es trat ein Fehler beim Löschen eines Speicherbereichs auf (z. B. bei unvollständigem Löschen von nicht-flüchtigem Speicher).

Nebenläufigkeit und Einschränkungen

Gemäß [SWS_Dem_00976] ist die Funktion für unterschiedliche Client-IDs reentrant, für dieselbe ClientId jedoch nicht reentrant. Parallele Löschaufrufe über identische Clients sind daher unzulässig.

Zusammenspiel

Gemäß [SWS_Dem_00879] setzt das Löschen den Status aller betroffenen Ereignisse zurück und entfernt die zugehörigen Ereignisspeichereinträge. Zudem stößt der Löschvorgang gemäß [SWS_Dem_00878] eine Neuinitialisierung der betroffenen SW-Cs und BSW-Module nach [SWS_Dem_00003] an.

Dieser Text wurde automatisch anhand der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ee201d0b0970 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_J1939DcmSetFreezeFrameFilter dient dem Setzen des Freeze-Frame-Filters für einen spezifischen Knoten über den Header Dem_J1939Dcm.h [SWS_Dem_00977]. Sie konfiguriert Filtermaskenattribute für nachfolgende Abfragen mittels Dem_J1939DcmGetNextFreezeFrame und setzt dabei einen internen Zähler auf das erste Freeze-Frame zurück [SWS_Dem_00899].

Parameter und Rückgabewerte

  • FreezeFrameKind: Bestimmt die Filterart [SWS_Dem_00977]. Verfügbare Typen sind DEM_J1939DCM_FREEZEFRAME (Filterung der Daten in DemJ1939FreezeFrameClassRef), DEM_J1939DCM_EXPANDED_FREEZEFRAME (Filterung der Daten in DemJ1939ExpandedFreezeFrameClassRef) sowie DEM_J1939DCM_SPNS_IN_EXPANDED_FREEZEFRAME ([SWS_Dem_00977], [SWS_Dem_00899]).
  • ClientId: Übergibt die Kennung zur Adressierung des J1939-Ereignisspeichers [SWS_Dem_00977].
  • Rückgabewert: Liefert E_OK bei erfolgreicher Ausführung oder E_NOT_OK, wenn der Filter nicht gesetzt werden konnte [SWS_Dem_00977].

Nebenläufigkeit und Gültigkeit

Hinsichtlich der Nebenläufigkeit ist die Funktion reentrant für unterschiedliche Werte von ClientId, jedoch nicht reentrant für identische ClientId-Werte [SWS_Dem_00977]. Die gesetzten Filtermaskenattribute bleiben nach dem Aufruf so lange wirksam, bis ein erneuter Aufruf von Dem_J1939DcmSetFreezeFrameFilter erfolgt oder das Modul DEM neu initialisiert wird [SWS_Dem_00899].

Dieser Text wurde von einer KI auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0611ff42285c Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die asynchrone und nicht reentrante Funktion Dem_J1939DcmGetNextFreezeFrame liest schrittweise Freeze-Frame-Daten für einen spezifischen Ereignisspeicher aus [SWS_Dem_00978]. Die Iteration orientiert sich an den zuvor über Dem_J1939DcmSetFreezeFrameFilter gesetzten Filterkriterien FreezeFrameKind und ClientId [SWS_Dem_00900]. Die Nutzdaten werden in den Puffer DestBuffer kopiert (bei Expanded Freeze-Frames ohne SPN-Informationen und mit 0 aufgefüllten ungenutzten Bits), während BufSize die Puffergröße übergibt und die tatsächlich geschriebene Bytemenge zurückmeldet [SWS_Dem_00978], [SWS_Dem_00903]. Zudem liefert der Aufruf den zugehörigen J1939DTC sowie den OccurenceCounter, welcher bei Werten über 126 auf 0x7F begrenzt wird [SWS_Dem_00903].

Rückgabewerte und Fehlerbehandlung

Die Rückgabewerte steuern den Ablauf der Iteration:

  • E_OK: Ein Datensatz wurde erfolgreich gefunden und übertragen [SWS_Dem_00978], [SWS_Dem_00903]. Die Erwähnung von DEM_FILTERED_OK in der Parameterbeschreibung dürfte vermutlich als redaktionelles Synonym für E_OK zu verstehen sein. Frage Q-e941066640c694b9 (offen)
  • DEM_NO_SUCH_ELEMENT: Es existieren keine weiteren Datensätze, die den Filterkriterien entsprechen [SWS_Dem_00900].
  • DEM_PENDING: Die interne Suche wurde unterbrochen; der Folgeaufruf setzt die Suche an der unterbrochenen Stelle fort [SWS_Dem_00902].
  • DEM_BUFFER_TOO_SMALL bzw. DEM_FILTERED_BUFFER_TOO_SMALL: Der Puffer reicht nicht aus; die Operation bricht ohne Datenübernahme ab [SWS_Dem_00978], [SWS_Dem_00903].

Wird eine nicht unterstützte Filterart übergeben, meldet die Funktion den DET-Fehler DEM_E_WRONG_CONDITION; gültig sind ausschließlich DEM_J1939DCM_FREEZEFRAME und DEM_J1939DCM_EXPANDED_FREEZEFRAME [SWS_Dem_00901]. Sofern der Rückgabewert ungleich Erfolg ist, enthalten die Ausgabeparameter keine gültigen Daten [SWS_Dem_00978], [SWS_Dem_00900], [SWS_Dem_00902], [SWS_Dem_00903].

Einschränkungen und Zusammenspiel

Unterdrückte DTCs werden von der Abfrage ignoriert und wie nicht zutreffende Filterkriterien behandelt [SWS_Dem_01101].

Dieser Nutzungshinweis wurde automatisiert generiert und stützt sich ausschließlich auf die Spezifikation AUTOSAR CP R20-11.

Implementer's Guide folgt (Komplexität I1)

function Dem_J1939DcmGetNextSPNInFreezeFrame [SWS_Dem_00979] 📄 PDF

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

Gets next SPN.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 92b02fdbb0d3 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Die Funktion Dem_J1939DcmGetNextSPNInFreezeFrame liest schrittweise die nächste SPN (Suspect Parameter Number) aus dem erweiterten Freeze Frame ([SWS_Dem_00979]). Jeder Aufruf iteriert zum nächsten Element der SPN-Definition für den über ClientId adressierten Ereignisspeicher ([SWS_Dem_00904]). Bei erfolgreichem Auffinden liefert der Aufruf E_OK sowie die gefundene SPN über SPNSupported und deren Datenlänge über SPNDataLength zurück ([SWS_Dem_00979], [SWS_Dem_00907]).

Asynchrone Verarbeitung und Rückgabewerte

Die Operation ist als asynchron spezifiziert ([SWS_Dem_00979]). Muss der Suchlauf aufgrund interner Beschränkungen unterbrochen werden, gibt die Funktion DEM_PENDING zurück; in diesem Fall sind die Ausgabeparameter nicht zwingend gültig und der Folgeaufruf setzt die Suche an der unterbrochenen Stelle fort ([SWS_Dem_00905]). Sind keine weiteren SPNs in der Definition vorhanden, wird DEM_NO_SUCH_ELEMENT gemeldet, wobei die Ausgabeparameter ebenfalls nicht gültig sein müssen ([SWS_Dem_00904]). Ist der bereitgestellte Puffer unzureichend, meldet die Schnittstelle DEM_BUFFER_TOO_SMALL ([SWS_Dem_00979]).

Fehlerbehandlung und Nebenläufigkeit

Wird eine nicht unterstützte Freeze-Frame-Art angefordert, löst das Modul den DET-Fehler DEM_E_WRONG_CONDITION aus; gültig ist ausschließlich Dem_SPNsInExpandedFreezeFrame ([SWS_Dem_00906]). Da die Funktion als nicht reentrant definiert ist ([SWS_Dem_00979]), darf sie für denselben Kontext nicht nebenläufig aufgerufen werden. Die Header-Datei Dem_J1939Dcm.h stellt die Schnittstelle bereit ([SWS_Dem_00979]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 618098c9083d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_J1939DcmSetRatioFilter setzt den Ratio-Filter für einen spezifischen J1939-Knoten und initialisiert die Filterung von IUMPR-Verhältnissen gemäß [SWS_Dem_00980]. Dabei setzt sie einen internen Zähler auf die erste gültige SPN mit definierter DemRatioId zurück, um die anschließende schrittweise Abfrage über Dem_J1939DcmGetNextFilteredRatio vorzubereiten [SWS_Dem_00912].

Über die Ausgabeparameter stellt die Funktion übergeordnete Zählerwerte bereit:

  • IgnitionCycleCounter: Liefert den Zündungszykluszähler gemäß SAE J1939-73 (Kapitel 5.7.20.1) [SWS_Dem_00912].
  • OBDMonitoringConditionsEncountered: Liefert den Zähler für aufgetretene OBD-Überwachungsbedingungen gemäß SAE J1939-73 (Kapitel 5.7.20.2), von CARB als General Denominator definiert [SWS_Dem_00912].
  • ClientId: Identifiziert den aufrufenden Client zur Adressierung des J1939-Ereignisspeichers [SWS_Dem_00980].

Hinsichtlich Nebenläufigkeit ist die Funktion reentrant für unterschiedliche ClientId-Werte, jedoch nicht reentrant für dieselbe ClientId [SWS_Dem_00980]. Interpretation: Der Aufruf dürfte typischerweise synchron aus dem Ablauf des J1939-Diagnostic-Communication-Managers (J1939Dcm) erfolgen, um IUMPR-Diagnosedaten abzufragen. Frage Q-e577651b88f64132 (offen) Bei erfolgreichem Setzen des Filters gibt die Funktion E_OK zurück; schlägt das Setzen fehl, wird E_NOT_OK gemeldet [SWS_Dem_00980].

Im Zusammenspiel mit Diagnose-Ereignissen gilt, dass unterdrückte DTCs für Abfragefunktionen wie Dem_J1939DcmSetRatioFilter nicht sichtbar sein dürfen und so behandelt werden müssen, als würde der Filter nicht passen [SWS_Dem_01101].

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00981] 📄 PDF

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

Gets the next filtered Ratio.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a599c5bc4d30 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone und nicht reentrante Funktion Dem_J1939DcmGetNextFilteredRatio ([SWS_Dem_00981]) dient dem iterativen Auslesen des nächsten gefilterten IUMPR-Verhältnisses (Ratio). Über den Parameter ClientId wird der jeweilige J1939-Ereignisspeicher adressiert. Bei erfolgreichem Aufruf liefert die Funktion über die Ausgabeparameter SPN, Numerator und Denominator die Suspect Parameter Number sowie Zähler und Nenner des zutreffenden System-Monitors ([SWS_Dem_00981]).

Ablauf und Zusammenspiel

Für eine korrekte Iteration muss der Filter vorab über Dem_J1939DcmSetRatioFilter initialisiert werden ([SWS_Dem_00912]). Dieser Aufruf setzt einen internen Zähler auf die erste gültige SPN mit definierter DemRatioId zurück, auf der nachfolgende Aufrufe von Dem_J1939DcmGetNextFilteredRatio aufsetzen. Ein unterdrücktes DTC ist für die Abfrage nicht sichtbar und wird so behandelt, als treffe der Filter nicht zu ([SWS_Dem_01101]).

Rückgabewerte und Fehlerbehandlung

Gemäß [SWS_Dem_00981] sind folgende Rückgabewerte definiert:

  • E_OK: Die Operation war erfolgreich. Nur in diesem Fall enthalten SPN, Numerator und Denominator gültige Daten (die Erwähnung von DEM_FILTERED_OK in der Parameterbeschreibung dürfte als Interpretation für E_OK stehen). Frage Q-57774bbc88fe3c0b (offen)
  • DEM_NO_SUCH_ELEMENT: Es ist kein weiteres passendes Element vorhanden.
  • DEM_PENDING: Die Operation war erfolgreich, das Ergebnis steht jedoch noch aus.
  • DEM_BUFFER_TOO_SMALL: Der übergebene Puffer ist zu klein.

Nebenläufigkeit

Da die Funktion als nicht reentrant deklariert ist ([SWS_Dem_00981]), darf sie für dieselbe ClientId nicht nebenläufig aufgerufen werden.

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Maßgeblich sind die referenzierten AUTOSAR-Spezifikationen.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 42bfb79acbf8 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Schnittstelle Dem_J1939DcmReadDiagnosticReadiness1 (im Klassik-Standard unter Dem_J1939DcmReadDiagnosticReadiness geführt) dient dazu, den vom Diagnostic Event Manager berechneten Wert der Diagnostic Readiness 1 (DM05) abzufragen [SWS_Dem_00982]. Sie ist über die Header-Datei Dem_J1939Dcm.h deklariert und besitzt die Service-ID 0x9b [SWS_Dem_00982].

Verwendung und Parameter

Der Aufruf erfolgt synchron und nutzt folgende Funktionsparameter [SWS_Dem_00982]:

  • ClientId (IN, uint8): Identifiziert den zu adressierenden J1939-Ereignisspeicher (J1939 event memory) [SWS_Dem_00982].
  • DataValue (OUT, Zeiger auf Dem_J1939DcmDiagnosticReadiness1Type): Zeigt auf einen 8 Byte großen Puffer, in den das DEM den berechneten Inhalt der Diagnostic Readiness 1 (DM05) schreibt [SWS_Dem_00982].

Rückgabewerte und Fehlerbehandlung

Die Funktion gibt einen Status vom Typ Std_ReturnType zurück [SWS_Dem_00982]:

  • E_OK: Der Dienst wurde erfolgreich ausgeführt und die Readiness-Daten wurden im Ausgabepuffer abgelegt [SWS_Dem_00982].
  • E_NOT_OK: Die Operation ist fehlgeschlagen [SWS_Dem_00982]. Spezifische Fehlercodes, DEM-Ereignisse oder DET-Meldungen sind in der Funktionsspezifikation nicht ausgewiesen [SWS_Dem_00982].

Nebenläufigkeit und Einschränkungen

Hinsichtlich des gleichzeitigen Zugriffs ist der Service reentrant für unterschiedliche ClientIds spezifiziert, jedoch ausdrücklich als nicht reentrant für dieselbe ClientId definiert [SWS_Dem_00982].

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR R20-11 Spezifikationsdaten erstellt.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: da1e3ecb89af Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion Dem_J1939DcmReadDiagnosticReadiness2 (Service-ID 0x9c) dient dazu, den vom DEM berechneten Wert der Diagnostic Readiness 2 (DM21) abzufragen [SWS_Dem_00983]. Die Schnittstelle wird über die Header-Datei Dem_J1939Dcm.h zur Verfügung gestellt [SWS_Dem_00983].

Für den Aufruf sind zwei Parameter definiert [SWS_Dem_00983]:

  • ClientId (Eingang): Adressiert den jeweiligen J1939-Ereignisspeicher [SWS_Dem_00983].
  • DataValue (Ausgang): Zeiger auf einen 8-Byte-Puffer vom Typ Dem_J1939DcmDiagnosticReadiness2Type zur Aufnahme der berechneten DM21-Daten [SWS_Dem_00983].

Als Rückgabewert liefert die Funktion Std_ReturnType; bei erfolgreicher Abfrage wird E_OK zurückgegeben, während im Fehlerfall E_NOT_OK gemeldet wird [SWS_Dem_00983]. Spezifische Fehlerursachen sind nicht separat ausgewiesen; der Aufrufer dürfte bei E_NOT_OK davon ausgehen müssen, dass der Puffer keine gültigen Daten enthält. Frage Q-97b94d15a8634712 (offen)

Hinsichtlich der Nebenläufigkeit ist der Dienst reentrant für unterschiedliche ClientId-Werte, jedoch nicht reentrant für dieselbe ClientId [SWS_Dem_00983]. Gleichzeitige Aufrufe für dieselbe ClientId müssen daher im aufrufenden Kontext serialisiert werden.

Dieser Text wurde durch eine KI auf Basis der Spezifikation AUTOSAR R20-11 generiert.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cb06cae402da Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Dienst Dem_J1939DcmReadDiagnosticReadiness (in der Signatur als Dem_J1939DcmReadDiagnosticReadiness3 spezifiziert) dient dem synchronen Auslesen der vom DEM ermittelten Daten zur Diagnostic Readiness 3 (DM26) [SWS_Dem_00770]. Die Deklaration wird über die Header-Datei Dem_J1939Dcm.h bereitgestellt [SWS_Dem_00770]. Der Aufruf dürfte dem Schnittstellennamen nach primär durch das Modul J1939Dcm erfolgen. Frage Q-dc204541dfc23d6b (offen)

Die Schnittstelle erwartet zwei Parameter [SWS_Dem_00770]:

  • ClientId (in): Adressiert den jeweiligen J1939-Ereignisspeicher [SWS_Dem_00770].
  • DataValue (out): Zeiger auf einen 8-Byte-Puffer des Typs Dem_J1939DcmDiagnosticReadiness3Type zur Aufnahme der berechneten DM26-Daten [SWS_Dem_00770].

Als Rückgabewert liefert die Funktion E_OK, wenn die Operation erfolgreich war, oder E_NOT_OK bei einem Fehler während der Ausführung [SWS_Dem_00770].

Hinsichtlich der Nebenläufigkeit ist die Funktion reentrant für unterschiedliche Werte von ClientId, jedoch nicht reentrant für identische ClientId-Werte [SWS_Dem_00770]. Parallele Aufrufe für denselben Client müssen daher durch den Aufrufer ausgeschlossen oder synchronisiert werden.

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8fa8b5c52739 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Funktion Dem_RepIUMPRFaultDetect dient dazu zu melden, dass ein OBD-Monitor alle Ausführungsbedingungen erfüllt hat und somit potenzielle Fehler hätte finden können [SWS_Dem_00313]. Die Schnittstelle wird über den Header Dem.h bereitgestellt und steht ausschließlich in Steuergeräten mit OBD-Unterstützung zur Verfügung, sofern DemOBDSupport nicht auf DEM_OBD_NO_OBD_SUPPORT konfiguriert ist [SWS_Dem_00313], [SWS_Dem_00360].

Als Parameter wird die Kennung RatioID vom Typ Dem_RatioIdType übergeben, wenn die Schnittstellenoption „API“ ausgewählt ist [SWS_Dem_00313]. Bei erfolgreicher Erfassung des IUMPR-Ergebnisses gibt die Funktion den Status E_OK zurück [SWS_Dem_00313].

Nebenläufigkeit und Fehlerverhalten

Hinsichtlich der Nebenläufigkeit ist der Dienst reentrant für unterschiedliche Kennungen RatioID, jedoch nicht reentrant für denselben RatioID-Wert [SWS_Dem_00313]. Nebenläufige Aufrufe mit identischer Kennung müssen daher vom Aufrufer vermieden werden.

Wird ein korrespondierendes Ereignis auf nicht verfügbar gesetzt, behandelt das DEM-Modul dieses so, als wäre es nicht im System konfiguriert [SWS_Dem_01108]. Von dieser Deaktivierung ist auch Dem_RepIUMPRFaultDetect explizit betroffen [SWS_Dem_01108]; Interpretation: in diesem Zustand dürfte der Aufruf analog zu den übrigen betroffenen Status-APIs vermutlich E_NOT_OK liefern. Frage Q-6d1775c9bff08f42 (offen)

Dieser Text wurde von einer KI basierend auf der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

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

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 22348b6c2b61 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone und reentrante Funktion Dem_RepIUMPRDenRelease dient dazu, den Denominator eines spezifischen Monitors aus physikalischen Gründen wie etwa dem Erreichen bestimmter Temperaturbedingungen oder minimaler Aktivität freizugeben [SWS_Dem_00315]. Das DEM stellt diese Schnittstelle für IUMPR-relevante Software-Komponenten (SW-C) bereit, um den zur jeweiligen RatioID gehörenden Denominator gezielt zu steuern [SWS_Dem_00308].

Die Bereitstellung und das Verhalten der Funktion unterliegen festen Konfigurations- und Laufzeitbedingungen:

  • Verfügbarkeit und Konfiguration: Die API ist ausschließlich in OBD-relevanten Steuergeräten verfügbar, wenn DemOBDSupport ungleich DEM_OBD_NO_OBD_SUPPORT konfiguriert ist [SWS_Dem_00315]. Zudem wird die Schnittstelle zur Freigabe unter speziellen Bedingungen bereitgestellt, falls DemIUMPRDenGroup als DEM_IUMPR_DEN_PHYS_API konfiguriert ist [SWS_Dem_00362].
  • Parameter und Rückgabewerte: Als Eingabeparameter wird die Kennung RatioID übergeben. Die Funktion liefert E_OK zurück, wenn der Status des IUMPR-Denominators erfolgreich gemeldet wurde, andernfalls E_NOT_OK [SWS_Dem_00315].
  • Fehlerverhalten bei inaktiven Events: Ist ein korrespondierendes Ereignis als nicht verfügbar gesetzt, wird es so behandelt, als wäre es im System nicht konfiguriert; der Aufruf von Dem_RepIUMPRDenRelease ist davon direkt betroffen und liefert E_NOT_OK [SWS_Dem_01108].

Dank der reentranten Auslegung kann die Funktion bei Bedarf nebenläufig aus verschiedenen SW-C-Kontexten aufgerufen werden [SWS_Dem_00315].

Dieser Text wurde durch eine KI erstellt und ersetzt nicht die maßgebliche AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 047a07d76a94 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Funktion Dem_SetPtoStatus ([SWS_Dem_00627]) dient dem Setzen des Status des Nebenabtriebs (Power Take-Off, PTO) im Diagnostic Event Manager (DEM). Die Schnittstelle ist im Header Dem.h deklariert und besitzt die Service-ID 0x79 ([SWS_Dem_00627]).

  • Parameter: Der Eingangsparameter PtoStatus (Typ boolean) übergibt den Status des Nebenabtriebs, wobei TRUE für aktiv und FALSE für inaktiv steht ([SWS_Dem_00627]). Ein-/Ausgangsparameter oder Ausgangsparameter sind nicht vorhanden.
  • Rückgabewert: Der Rückgabetyp ist Std_ReturnType. Die Funktion liefert E_OK, wenn der neue PTO-Status vom DEM übernommen wurde, und E_NOT_OK in allen anderen Fällen ([SWS_Dem_00627]).

Nebenläufigkeit und Einschränkungen

Die Funktion arbeitet synchron und ist als nicht reentrant (Non Reentrant) spezifiziert ([SWS_Dem_00627]).

Systemkontext und Konfiguration

Die Schnittstelle wird ausschließlich in OBD-relevanten Steuergeräten benötigt ([SWS_Dem_00627]). Sie steht nur dann zur Verfügung, wenn der Konfigurationsparameter DemGeneral.DemOBDSupport nicht auf DEM_OBD_NO_OBD_SUPPORT gesetzt ist ([SWS_Dem_00627]).

Dieser Text wurde von einer KI generiert und basiert auf den Spezifikationen des Moduls DEM in AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function 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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 24f93781d796 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Parameter

Die synchrone Funktion Dem_ReadDataOfPID01 (Service-ID 0xb3) dient dazu, den vom Diagnostic Event Manager (DEM) berechneten Wert des PID $01 abzufragen [SWS_Dem_01167]. Die Schnittstelle wird über den Header Dem.h bereitgestellt [SWS_Dem_01167]. Als Ausgabeparameter erwartet die Funktion PID01value, der als Zeiger auf einen Puffer übergeben wird [SWS_Dem_01167]. Dieser Puffer muss zwingend von der aufrufenden Applikation mit einer festen Größe von 4 Bytes alloziert und bereitgestellt werden, um die berechneten Daten aufzunehmen [SWS_Dem_01167].

Fehlerbehandlung und Rückgabewerte

Als Rückgabetyp liefert die Schnittstelle formal Std_ReturnType, gibt jedoch laut Spezifikation ausnahmslos E_OK zurück [SWS_Dem_01167]. Der Fehlerwert E_NOT_OK tritt niemals auf [SWS_Dem_01167]. Es sind für diese Schnittstelle weder spezifische Fehlercodes noch Meldungen an das DET oder DEM spezifiziert [SWS_Dem_01167].

Nebenläufigkeit und Einschränkungen

Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Dem_01167]. Aufrufer müssen daher sicherstellen, dass keine gleichzeitigen Aufrufe stattfinden. Zudem ist die API funktional beschränkt und wird ausschließlich in Steuergeräten mit OBD-Relevanz benötigt [SWS_Dem_01167].

Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

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

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

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

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

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

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

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

function Dem_GetDTCSeverityAvailabilityMask [SWS_Dem_01168] 📄 PDF

Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);

Gets the DTC Severity availability mask.

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

function 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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d0c8e2a4847f Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Callback-Funktion Dem_CallbackEventSyncStorageProcessed wird synchron vom Diagnostic Event Manager (DEM) aufgerufen, sobald die interne Verarbeitung von Dem_SetEventFailedWithSyncFreezeFrame abgeschlossen ist ([SWS_Dem_91042]). Sie teilt der aufrufenden Komponente mit, dass ein weiterer Aufruf von Dem_SetEventFailedWithSyncFreezeFrame für dieselbe Ereignis-ID vom DEM verarbeitet werden kann ([SWS_Dem_91042]).

Für die Verwendung und Einbindung gelten folgende Schnittstellen- und Ausführungseigenschaften:

  • Parameter und Rückgabewert: Die Schnittstelle besitzt weder Eingabe-, Ausgabe- noch Ein-/Ausgabeparameter ([SWS_Dem_91042]). Der Rückgabetyp ist Std_ReturnType, wobei aus Gründen der RTE-Kompatibilität einzig der Rückgabewert E_OK zulässig ist und geliefert wird ([SWS_Dem_91042]).
  • Nebenläufigkeit: Die Funktion ist als reentrant spezifiziert ([SWS_Dem_91042]).
  • Fehlerbehandlung: Es sind keine spezifischen Fehlercodes oder Meldungen an das Entwicklungsfehler-Tracking (DET) vorgesehen ([SWS_Dem_91042]).

Hinsichtlich des Zusammenspiels und der Konfiguration besteht eine feste Voraussetzung: Dem_CallbackEventSyncStorageProcessed darf ausschließlich für Diagnoseereignisse konfiguriert werden, deren Parameter DemEventReportingType auf IMMEDIATE_FAIL_AND_SYNCHRONOUS_PROCESSING gesetzt ist ([SWS_Dem_01356]). Zudem ist das Element im Release R20-11 mit dem Status draft annotiert ([SWS_Dem_91042], [SWS_Dem_01356]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsanforderungen generiert.

Implementer's Guide folgt (Komplexität I2)

function Dem_MainFunction [SWS_Dem_00266] 📄 PDF

void Dem_MainFunction (void);

Processes all not event based Dem internal functions.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 0be629ee3c44 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Basisfunktion Dem_MainFunction besitzt die Signatur void Dem_MainFunction(void) mit der Service-ID 0x55 und wird über die Header-Datei SchM_Dem.h bereitgestellt ([SWS_Dem_00266]). Sie nimmt keine Parameter entgegen, liefert keinen Rückgabewert und dient der Ausführung sämtlicher nicht-ereignisbasierter interner Abläufe des DEM-Moduls ([SWS_Dem_00266], [SWS_Dem_00125]).

Für den Aufrufkontext und die Fehlerbehandlung gelten besondere Ausnahmen im Lebenszyklus des Moduls: Ist die Entwicklungserkennung DemDevErrorDetect auf TRUE gesetzt, führt der Aufruf regulärer DEM-Schnittstellen vor der vollständigen Initialisierung zur Meldung des Fehlers DEM_E_UNINIT; Dem_MainFunction ist von dieser Fehlererzeugung jedoch ausdrücklich ausgenommen ([SWS_Dem_00124]). In gleicher Weise ist die Funktion nach dem Aufruf von Dem_Shutdown von der Fehlermeldung DEM_E_UNINIT befreit, bis Dem_Init erneut aufgerufen wird ([SWS_Dem_00368]).

Im Zusammenspiel mit dem Fehlerspeicher steuert die Funktion maßgeblich die Erfassung und Pufferung von Diagnosedaten:

  • Ist DemEnvironmentDataCapture auf DEM_CAPTURE_ASYNCHRONOUS_TO_REPORTING konfiguriert (bezogen auf DemPrimaryMemory oder DemUserDefinedMemory), müssen ereignisspezifische Freeze-Frame-Daten ([SWS_Dem_00461]) und Extended-Data-Datensätze ([SWS_Dem_01081]) spätestens im nächsten Zyklus von Dem_MainFunction erfasst werden.
  • Ist DemEnvironmentDataCapture auf DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING gesetzt, reiht das DEM-Modul die Umgebungsdaten bis zum nächsten Aufruf von Dem_MainFunction in eine Warteschlange ein ([SWS_Dem_01083]). Das Modul puffert dabei mindestens die konfigurierte Anzahl gemäß DemMaxNumberEventEntryEventBuffer; bei voller Warteschlange werden die Daten bei der Ereignisabarbeitung innerhalb von Dem_MainFunction erfasst ([SWS_Dem_01083]).

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation AUTOSAR Classic Release R20-11 generiert.

Implementer's Guide folgt (Komplexität 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 760d1343beae Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Wertebereich

Der Datentyp Dem_DTCRequestType ist von uint8 abgeleitet und über den Header Dem.h verfügbar [SWS_Dem_00935]. Er dient dazu, einen Diagnostic Trouble Code (DTC) anhand spezifischer zeitlicher Attribute anzufordern [SWS_Dem_00935].

Der zulässige Wertebereich umfasst folgende Enumerationswerte [SWS_Dem_00935]:

  • DEM_FIRST_FAILED_DTC (0x01): Fordert den zeitlich zuerst fehlgeschlagenen DTC an.
  • DEM_MOST_RECENT_FAILED_DTC (0x02): Fordert den zuletzt fehlgeschlagenen DTC an.
  • DEM_FIRST_DET_CONFIRMED_DTC (0x03): Fordert den zuerst als bestätigt erkannten DTC an.
  • DEM_MOST_REC_DET_CONFIRMED_DTC (0x04): Fordert den zuletzt als bestätigt erkannten DTC an.

Zusammenspiel, Nebenläufigkeit und Fehlerbehandlung

Der Typ wird als Eingangsparameter DTCRequest der synchronen Funktion Dem_GetDTCByOccurrenceTime übergeben [SWS_Dem_00218]. Über diesen Parameter wird festgelegt, nach welchem Kriterium der DTC abgefragt werden soll [SWS_Dem_00218]. Das Ergebnis wird im UDS-Format über den Ausgabeparameter DTC zurückgeliefert [SWS_Dem_00218].

Die Schnittstelle ist für unterschiedliche Aufrufer über verschiedene ClientId-Werte reentrant, für dieselbe ClientId jedoch nicht reentrant [SWS_Dem_00218]. Mögliche Rückgabewerte sind E_OK bei erfolgreicher Abfrage, E_NOT_OK bei Fehlern sowie DEM_NO_SUCH_ELEMENT, falls kein passender Eintrag gespeichert ist [SWS_Dem_00218]. Weicht das Funktionsergebnis von DEM_OCCURR_OK ab, enthält der Parameter DTC keine gültigen Daten [SWS_Dem_00218].

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

type Dem_J1939DcmDTCStatusFilterType [SWS_Dem_00945] 📄 PDF

The type to distinguish which DTCs should be filtered.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 92ccd2ad8a5a Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Wertebereich

Der Typ Dem_J1939DcmDTCStatusFilterType ist ein auf uint8 basierender Aufzählungstyp, der über die Header-Datei Dem.h bereitgestellt wird [SWS_Dem_00945]. Er dient dazu festzulegen, nach welchem J1939-Status Diagnose-Fehlercodes (DTCs) bei Filteroperationen unterschieden und selektiert werden sollen [SWS_Dem_00945].

Folgende Statusfilter-Werte sind spezifiziert:

  • DEM_J1939DTC_ACTIVE (0): Filtert auf aktive Fehlercodes [SWS_Dem_00945].
  • DEM_J1939DTC_PREVIOUSLY_ACTIVE (1): Filtert auf zuvor aktive Fehlercodes [SWS_Dem_00945].
  • DEM_J1939DTC_PENDING (2): Filtert auf anstehende Fehlercodes [SWS_Dem_00945].
  • DEM_J1939DTC_PERMANENT (3): Filtert auf permanente Fehlercodes [SWS_Dem_00945].
  • DEM_J1939DTC_CURRENTLY_ACTIVE (4): Filtert auf aktuell aktive Fehlercodes [SWS_Dem_00945].

Zusammenspiel und Aufrufkontext

Der Filtertyp wird als Übergabeparameter DTCStatusFilter in der Schnittstelle Dem_J1939DcmSetDTCFilter verwendet [SWS_Dem_00970]. Die Funktion arbeitet synchron und stellt den Filter unter Berücksichtigung von Fehlerkategorie (DTCKind), Speicherursprung (DTCOrigin) und der jeweiligen ClientId für den J1939-Ereignisspeicher ein [SWS_Dem_00970]. Der Aufruf dürfte als Interpretation typischerweise aus dem Diagnose-Kommunikationsmanager für J1939 erfolgen. Frage Q-898d508b7b341ef8 (offen)

Nebenläufigkeit und Fehlerbehandlung

Der Dienst Dem_J1939DcmSetDTCFilter ist reentrant für unterschiedliche ClientId-Werte, jedoch explizit nicht reentrant für dieselbe ClientId [SWS_Dem_00970]. Eine erfolgreiche Filterkonfiguration wird vom Dienst mit dem Rückgabewert E_OK quittiert [SWS_Dem_00970].

Dieser Text wurde von einer KI auf Basis der Spezifikationsdokumente erstellt.

Implementer's Guide folgt (Komplexität I1)

type Dem_J1939DcmLampStatusType [SWS_Dem_00948] 📄 PDF

For details refer SAE J1939-73

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 92989a7111ae Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Strukturtyp Dem_J1939DcmLampStatusType ist gemäß [SWS_Dem_00948] in Dem.h deklariert und dient der Erfassung des J1939-Lampenstatus nach SAE J1939-73. Die Datenstruktur bündelt zwei Statusinformationen als uint8-Elemente: LampStatus für den aktuellen Lampenzustand und FlashLampStatus für das zugehörige Blinkverhalten.

In der J1939-DTC-Filterung des Diagnostic Event Managers fungiert der Typ als Zeiger-Ausgabeparameter in zwei synchronen Schnittstellen:

  • Über Dem_J1939DcmSetDTCFilter ([SWS_Dem_00970]) wird beim Initialisieren des DTC-Filters für einen spezifischen J1939-Eventspeicher (adressiert über ClientId) der anfängliche Lampenstatus abgefragt.
  • Über Dem_J1939DcmGetNextDTCwithLampStatus ([SWS_Dem_00975]) wird die Struktur für jeden passenden Fehlerspeichereintrag iterativ mit dem zugehörigen Lampenstatus befüllt.

Bei der Fehlerbehandlung ist zwingend zu beachten, dass Dem_J1939DcmGetNextDTCwithLampStatus laut [SWS_Dem_00975] nur dann valide Werte in den Ausgabeparameter schreibt, wenn der Rückgabewert der Funktion DEM_FILTERED_OK lautet. Liefert der Aufruf einen anderen Rückgabewert, enthält die Struktur keine gültigen Daten.

Hinsichtlich Nebenläufigkeit und Aufrufbedingungen besitzt die Struktur selbst keinen internen Schutz. Die Reentranz richtet sich nach dem jeweiligen Aufrufkontext: Dem_J1939DcmSetDTCFilter ist für unterschiedliche Client-IDs reentrant, jedoch nicht-reentrant für dieselbe ClientId ([SWS_Dem_00970]). Der iterative Abruf über Dem_J1939DcmGetNextDTCwithLampStatus ist vollständig nicht-reentrant spezifiziert ([SWS_Dem_00975]).

Dieser Text wurde von einer KI generiert und basiert auf den Spezifikationen des AUTOSAR-Releases R20-11.

Implementer's Guide folgt (Komplexität 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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a760cec9362d Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Struktur Dem_J1939DcmDiagnosticReadiness1Type bildet sämtliche Datenelemente der J1939-Diagnosenachricht DM05 ab und ist gemäß [SWS_Dem_00949] in der Header-Datei Dem.h definiert. Die Codierung der Felder erfolgt nach SAE J1939-73 [SWS_Dem_00949].

Die Struktur umfasst acht Datenfelder vom Typ uint8, die zusammen einen 8-Byte-Puffer für die Diagnosebereitschaft 1 (Diagnostic Readiness 1) darstellen [SWS_Dem_00949], [SWS_Dem_00982]:

  • ActiveTroubleCodes: Anzahl aktiver DTCs [SWS_Dem_00949].
  • PreviouslyActiveDiagnosticTroubleCodes: Anzahl zuvor aktiver DTCs [SWS_Dem_00949].
  • OBDCompliance: OBD-Konformität [SWS_Dem_00949].
  • ContinuouslyMonitoredSystemsSupport_Status: Unterstützung und Status kontinuierlich überwachter Systeme [SWS_Dem_00949].
  • NonContinuouslyMonitoredSystemsSupport5 und NonContinuouslyMonitoredSystemsSupport6: Systemunterstützung nicht kontinuierlich überwachter Systeme (Byte 5 und 6) [SWS_Dem_00949].
  • NonContinuouslyMonitoredSystemsStatus7 und NonContinuouslyMonitoredSystemsStatus8: Status nicht kontinuierlich überwachter Systeme (Byte 7 und 8) [SWS_Dem_00949].

Das primäre Zusammenspiel erfolgt mit der synchronen API Dem_J1939DcmReadDiagnosticReadiness1 (verfügbar über Dem_J1939Dcm.h) [SWS_Dem_00982]. Aufrufer übergeben einen Zeiger auf eine Instanz von Dem_J1939DcmDiagnosticReadiness1Type über den Ausgabeparameter DataValue zusammen mit der jeweiligen ClientId für den J1939-Ereignisspeicher [SWS_Dem_00982].

Hinsichtlich Nebenläufigkeit und Fehlerbehandlung gilt beim lesenden Zugriff: Die abfragende Funktion liefert E_OK bei erfolgreicher Berechnung und Bereitstellung der DM05-Werte durch das DEM sowie E_NOT_OK im Fehlerfall [SWS_Dem_00982]. Der Zugriff ist für unterschiedliche ClientId-Werte reentrant, jedoch nicht reentrant für dieselbe ClientId [SWS_Dem_00982]. Es dürfte daher erforderlich sein, Instanzen dieses Typs im Kontext desselben Clients vor gleichzeitigen Aufrufen abzusichern. Frage Q-7613ded1aa18fd2b (offen)

Dieser Text wurde von einer KI erstellt. Belege stammen ausschließlich aus den Spezifikationen des Releases 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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4e1cd28c8cba Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Strukturtyp Dem_J1939DcmDiagnosticReadiness2Type repräsentiert die Datenelemente der Diagnosenachricht DM21 (Diagnostic Readiness 2) gemäß SAE J1939-73 und wird über die Header-Datei Dem.h deklariert [SWS_Dem_00950]. Die Struktur fasst vier 16-Bit-Zähler (uint16) in einem 8-Byte-Puffer zusammen [SWS_Dem_00950], [SWS_Dem_00983]:

  • DistanceTraveledWhileMILisActivated: Kumulierte Wegstrecke in Kilometern bei aktivierter Fehlerfunktionsanzeige (MIL) [SWS_Dem_00950].
  • DistanceSinceDTCsCleared: Kumulierte Wegstrecke seit dem Zurücksetzen emissionsbezogener Diagnose-Fehlercodes (DTCs) [SWS_Dem_00950].
  • MinutesRunbyEngineWhileMILisActivated: Kumulierte Motorlaufzeit in Minuten bei aktiver MIL [SWS_Dem_00950].
  • TimeSinceDiagnosticTroubleCodesCleared: Kumulierte Motorlaufzeit seit dem Löschen emissionsbezogener DTCs [SWS_Dem_00950].

Verwendet wird dieser Typ als Ausgabepuffer DataValue des synchronen Service Dem_J1939DcmReadDiagnosticReadiness2, der in Dem_J1939Dcm.h definiert ist [SWS_Dem_00983]. Beim Aufruf übergibt das J1939-DCM eine ClientId zur Adressierung des spezifischen Ereignisspeichers im DEM [SWS_Dem_00983]. Die Funktion ermittelt die aktuellen Zählerstände und bestätigt die erfolgreiche Bereitstellung mit dem Rückgabewert E_OK beziehungsweise signalisiert Fehler mit E_NOT_OK [SWS_Dem_00983].

Bezüglich der Nebenläufigkeit ist der auslesende Service für unterschiedliche ClientId-Werte reentrant, für identische ClientId-Werte jedoch nicht reentrant [SWS_Dem_00983].

Dieser Nutzungshinweis wurde automatisch durch eine KI generiert. Sämtliche Aussagen basieren ausschließlich auf dem bereitgestellten Spezifikationsumfang von 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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b4812c5890e8 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Strukturtyp Dem_J1939DcmDiagnosticReadiness3Type bildet gemäß [SWS_Dem_00951] sämtliche Datenelemente der Diagnosenachricht DM26 (Diagnostic Readiness 3) ab. Die Codierung der enthaltenen Felder richtet sich verbindlich nach SAE J1939-73 [SWS_Dem_00951].

Die Struktur umfasst einen Datenpuffer von 8 Bytes und setzt sich aus folgenden Einzelfeldern zusammen [SWS_Dem_00951]:

  • TimeSinceEngineStart (uint16): Motorlaufzeit seit Einschalten der Zündung.
  • NumberofWarmupsSinceDTCsCleared (uint8): Anzahl der OBD-Warmlaufzyklen seit dem Löschen aller Fehlercodes.
  • ContinuouslyMonitoredSystemsEnableCompletedStatus (uint8): Freigabe- und Abschlussstatus kontinuierlich überwachter Systeme.
  • NonContinuouslyMonitoredSystemsEnableStatus5 und NonContinuouslyMonitoredSystemsEnableStatus6 (jeweils uint8): Freigabestatus nicht-kontinuierlicher Monitore im aktuellen Zyklus (Byte 5 und 6).
  • NonContinuouslyMonitoredSystems7 und NonContinuouslyMonitoredSystems8 (jeweils uint8): Abschlussstatus nicht-kontinuierlicher Monitore im aktuellen Zyklus (Byte 7 und 8).

Verwendung und Zusammenspiel: Eine Instanz dieses Typs wird als Ausgabeparameter DataValue an die synchrone Funktion Dem_J1939DcmReadDiagnosticReadiness3 übergeben [SWS_Dem_00770]. Das DEM ermittelt die DM26-Werte für die übergebene ClientId des J1939-Ereignisspeichers und liefert als Rückgabewert E_OK bei erfolgreicher Ausführung oder E_NOT_OK bei einem Fehler [SWS_Dem_00770].

Nebenläufigkeit und Einschränkungen: Der auslesende Funktionsaufruf ist für unterschiedliche ClientId-Werte reentrant, darf jedoch für dieselbe ClientId nicht nebenläufig erfolgen [SWS_Dem_00770]. Als primärer Aufrufer dürfte das Modul J1939Dcm fungieren. Frage Q-e001ad1880fee789 (offen) Der Typ ist in Dem.h deklariert [SWS_Dem_00951], während der zugehörige Leseservice über Dem_J1939Dcm.h bereitgestellt wird [SWS_Dem_00770].

Dieser Nutzungshinweis basiert auf den Festlegungen der AUTOSAR-Spezifikation für den 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().

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2ba3237222eb Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Datentyp Dem_DebounceResetStatusType steuert das Verhalten interner Entprellzähler und Entprelltimer im Diagnostic Event Manager [SWS_Dem_00927]. Er ist als uint8 definiert, über die Header-Datei Rte_Dem_Type.h verfügbar und stellt zwei definierte Steuerzustände bereit [SWS_Dem_00927]:

  • DEM_DEBOUNCE_STATUS_FREEZE (0x00): Friert den internen Entprellzähler oder Entprelltimer des adressierten Events ein [SWS_Dem_00927].
  • DEM_DEBOUNCE_STATUS_RESET (0x01): Setzt den internen Entprellzähler oder Entprelltimer zurück [SWS_Dem_00927].

Werte im Bereich von 0x02 bis 0xFF sind reserviert [SWS_Dem_00927]. Der Typ wird als Parameter DebounceResetStatus an die Service-Funktion Dem_ResetEventDebounceStatus() übergeben [SWS_Dem_00683]. Dieser Aufruf erfolgt synchron und steuert den internen Entprellstatus, ohne dabei die Qualifizierung des jeweiligen Events direkt zu beeinflussen [SWS_Dem_00683].

Bezüglich der Nebenläufigkeit ist Dem_ResetEventDebounceStatus() reentrant für unterschiedliche EventId-Werte, darf jedoch für dieselbe EventId nicht nebenläufig aufgerufen werden [SWS_Dem_00683]. BSW-Module können die Schnittstelle nutzen, sobald die Basisinitialisierung Dem_PreInit abgeschlossen ist [SWS_Dem_00683]. Für Software-Komponenten dürfte die Bereitstellung über portspezifische Schnittstellen wie DiagnosticMonitor erfolgen, welche die Modifikation von Event-Informationen erlauben [SWS_Dem_00598]. Frage Q-32468003718a4933 (offen) Im Fehlerfall liefert die aufrufende Funktion E_NOT_OK, was laut Spezifikation ausschließlich bei Entwicklungsfehlern auftritt [SWS_Dem_00683].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsanforderungen generiert.

Implementer's Guide folgt (Komplexität 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().

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6d8ec716ce5e Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Datentyp Dem_EventStatusType ist aus uint8 abgeleitet und steht über den Header Rte_Dem_Type.h bereit ([SWS_Dem_00926]). Er dient Software-Components (SW-Cs) sowie BSW-Modulen dazu, die Testergebnisse eines Diagnosemonitors an das DEM zu melden ([SWS_Dem_00926], [SWS_Dem_00183]).

Der Typ definiert folgende Monitor-Ergebniswerte ([SWS_Dem_00926]):

  • DEM_EVENT_STATUS_PASSED (0x00) und DEM_EVENT_STATUS_FAILED (0x01): Übermittlung qualifizierter Testergebnisse (bestanden bzw. fehlgeschlagen).
  • DEM_EVENT_STATUS_PREPASSED (0x02) und DEM_EVENT_STATUS_PREFAILED (0x03): Vorläufige, unqualifizierte Monitor-Testergebnisse, deren Entprellung intern im DEM erfolgt.
  • DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED (0x04): Triggert die Speicherung von FreezeFrames und ExtendedDataRecords bei Erreichen des FDC-Schwellenwerts (ON_FDC_THRESHOLD).
  • Die Wertebereiche 0x05 bis 0xFF sind reserviert.

Verwendet wird der Typ als Eingabeparameter EventStatus in den BSW-APIs Dem_SetEventStatus() ([SWS_Dem_00183]) und Dem_SetEventStatusWithMonitorData() ([SWS_Dem_91037]) sowie über die Schnittstellen DiagnosticMonitor ([SWS_Dem_00598]) und DiagnosticMonitor_MonitorData ([SWS_Dem_91038]). Der Aufruf erfolgt synchron oder asynchron ([SWS_Dem_00183], [SWS_Dem_91037]).

Die Funktionen liefern Std_ReturnType zurück (E_OK bei Erfolg, E_NOT_OK bei Fehlern oder Ablehnung), wobei aufrufende BSW-Module den Rückgabewert von Dem_SetEventStatus() ignorieren dürfen ([SWS_Dem_00183]). Hinsichtlich Nebenläufigkeit sind die Aufrufe für unterschiedliche EventId reentrant, für dieselbe EventId jedoch nicht reentrant ([SWS_Dem_00183], [SWS_Dem_91037]). Zudem hängt die Verfügbarkeit der Ziel-APIs von der Konfiguration des Parameters DemEventReportingType ab ([SWS_Dem_00183], [SWS_Dem_91037]).

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Verbindlich ist die AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

type Dem_InitMonitorReasonType [SWS_Dem_00942] 📄 PDF

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a883663c849a Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Wertebereich

Der Datentyp Dem_InitMonitorReasonType basiert auf uint8 und ist über Rte_Dem_Type.h verfügbar [SWS_Dem_00942]. Er kennzeichnet die konkrete Ursache für eine (Re-)Initialisierung eines Diagnosemonitors, damit dieser die entsprechende Initialisierungsroutine für das betroffene Ereignis auswählen und durchführen kann [SWS_Dem_00942] [SWS_Dem_00256].

Für den Typ sind folgende Werte definiert [SWS_Dem_00942]:

  • DEM_INIT_MONITOR_CLEAR (0x01): Das Diagnoseereignis wurde gelöscht; alle internen Werte und Zustände werden zurückgesetzt.
  • DEM_INIT_MONITOR_RESTART (0x02): Der Operationszyklus des Ereignisses wurde neu gestartet.
  • DEM_INIT_MONITOR_REENABLED (0x03): Freigabebedingungen (Enable Conditions) oder DTC-Einstellungen wurden wieder aktiviert.
  • DEM_INIT_MONITOR_STORAGE_REENABLED (0x04): Eine Speicherbedingung (Storage Condition) wurde wieder aktiviert.

Aufrufkontext und Schnittstellen

Der Wert wird synchron und reentrant als Eingabeparameter InitMonitorReason über den ereignisspezifischen C-Callback <Module>_DemInitMonitorFor<EventName>() übergeben, der in Dem_Externals.h deklariert ist [SWS_Dem_00256]. Existiert eine Port-Schnittstelle zur Software-Komponente, erfolgt die Übergabe an die Operation InitMonitorForEvent des Service-Interfaces CallbackInitMonitorForEvent [SWS_Dem_00613].

Fehlerbehandlung und Rückgabewerte

Beim C-Callback ist der Rückgabewert vom Typ Std_ReturnType ungenutzt und dient lediglich der Kompatibilität mit der entsprechenden RTE-Operation [SWS_Dem_00256]. Wird die Schnittstelle über die RTE aufgerufen, liefert die Operation InitMonitorForEvent die Fehlerwerte E_OK (erfolgreich) oder E_NOT_OK (fehlgeschlagen) zurück [SWS_Dem_00613]. Eigene Fehlercodes oder DET-/DEM-Meldungen sind für diesen Datentyp nicht definiert.

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.

Implementer's Guide folgt (Komplexität 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8df8011c88ff Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Der Typ Dem_IumprDenomCondStatusType basiert auf uint8 und definiert die möglichen Statuszustände einer zusätzlichen IUMPR-Nenner-Bedingung zur Verteilung zwischen OBD-relevanten Steuergeräten [SWS_Dem_00944]. Der Typ ist über Rte_Dem_Type.h verfügbar und umfasst folgende Werte [SWS_Dem_00944]:

  • DEM_IUMPR_DEN_STATUS_NOT_REACHED (0x00): Die Bedingung ist (noch) nicht erfüllt.
  • DEM_IUMPR_DEN_STATUS_REACHED (0x01): Die Bedingung ist erfüllt.
  • DEM_IUMPR_DEN_STATUS_INHIBITED (0x02): Die Bedingung ist gesperrt und kann nicht erreicht werden.

Werte im Bereich von 0x03 bis 0xFF sind reserviert [SWS_Dem_00944].

Zusammenspiel und Service-Schnittstellen

Im Rahmen des Service-Interfaces IUMPRDenominatorCondition wird der Status für Bedingungen wie General Denominator, Cold start, EVAP oder 500mi übermittelt [SWS_Dem_00733] [SWS_Dem_00742]. Es existieren zwei zentrale Service-Funktionen:

  • Dem_SetIUMPRDenCondition: Leitet den Status über den Eingabeparameter ConditionStatus synchron oder asynchron an das DEM eines Steuergeräts weiter [SWS_Dem_00733].
  • Dem_GetIUMPRDenCondition: Fragt den Status synchron über den Zeiger-Ausgabeparameter ConditionStatus von dem Steuergerät ab, auf dem die Bedingungen berechnet werden [SWS_Dem_00734].

Fehlerbehandlung und Nebenläufigkeit

Beide Funktionen sind als reentrant spezifiziert [SWS_Dem_00733] [SWS_Dem_00734]. Bei erfolgreicher Ausführung geben die APIs E_OK zurück; schlägt das Setzen oder Abrufen fehl oder kann die Bedingung nicht akzeptiert werden, liefern sie E_NOT_OK [SWS_Dem_00733] [SWS_Dem_00734].

Dieser Nutzungshinweis wurde automatisch durch eine KI auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

type Dem_IndicatorStatusType [SWS_Dem_00930] 📄 PDF

Indicator mode used by Dem_GetIndicatorStatus().

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 05853b91068c Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Datentyp Dem_IndicatorStatusType basiert auf uint8 und wird über Rte_Dem_Type.h bereitgestellt [SWS_Dem_00930]. Er bildet die aus dem UDS-Status abgeleiteten Betriebsmodi von Warnanzeigen ab [SWS_Dem_00205]. Das Spektrum der Zustände reicht von DEM_INDICATOR_OFF (0x00) über DEM_INDICATOR_CONTINUOUS (0x01), DEM_INDICATOR_BLINKING (0x02), DEM_INDICATOR_BLINK_CONT (0x03), DEM_INDICATOR_SLOW_FLASH (0x04), DEM_INDICATOR_FAST_FLASH (0x05) und DEM_INDICATOR_ON_DEMAND (0x06) bis hin zu DEM_INDICATOR_SHORT (0x07) [SWS_Dem_00930].

Eingesetzt wird der Typ als Ausgabeparameter in der synchronen C-Funktion Dem_GetIndicatorStatus() [SWS_Dem_00205] sowie in der Operation GetIndicatorStatus des Service-Ports IndicatorStatus [SWS_Dem_00606]. Für jeden konfigurierten Indikator stellt die DEM-Service-Komponente einen eigenen Port bereit, wobei die jeweilige IndicatorId als portdefiniertes Argument fungiert [SWS_Dem_00606]. Die abfragende Software-Komponente dürfte den ermittelten Status typischerweise zur Ansteuerung optischer oder akustischer Anzeigeinstrumente verwenden. Frage Q-6bfabb33805bd0e8 (offen)

Aufrufer müssen beachten, dass Dem_GetIndicatorStatus() als nicht reentrant (Non Reentrant) spezifiziert ist [SWS_Dem_00205]. Zudem steht die Abfrage-API nur zur Verfügung, wenn in der Konfiguration mindestens ein Indikator unter DemIndicator hinterlegt ist [SWS_Dem_00205]. Die Operation meldet den Ausführungsstatus über den Rückgabewert Std_ReturnType mit E_OK bei erfolgreicher Auswertung oder E_NOT_OK im Fehlerfall [SWS_Dem_00205][SWS_Dem_00606].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe im AUTOSAR-Umfeld.

Implementer's Guide folgt (Komplexität 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#7de9ce73
Content hash
7de9ce73
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticEventManager.pdf#nameddest=SWS_Dem_00177

Themenkarte

Initialisierung und Status

2

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Initialisierung und Status

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 function

Initializes or reinitializes this module.

void Dem_Init (const Dem_ConfigType* ConfigPtr);

Dienste · 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);

Dienste · 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 function

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

Dienste · 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);

Dienste · 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);

Dienste · Select…

Dem_SelectDTC function

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

Dienste · Weitere

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 function

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 function

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 function

Shuts down this module.

void Dem_Shutdown (void);

Zyklisch

Processes all not event based Dem internal functions.

void Dem_MainFunction (void);

Typen

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.