DEENESPTFRRUARHIKOZHNL

Diagnostic Event Manager (DEM)

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

Guía del móduloGENERADO POR IA

Recopila resultados de diagnóstico de los monitores, los cualifica y gestiona la memoria de averías junto con los datos de entorno para los testers.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: 28cc2ed3ddd0 Procedencia Preguntas abiertas (1)
Ancla causal: R20-11 Válido desde R20-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Recopila resultados de diagnóstico de los monitores, los cualifica y gestiona la memoria de averías junto con los datos de entorno para los testers.

Por cada ECU existe exactamente un Diagnostic Event Manager [SWS_Dem_00126]. Recibe los resultados de prueba de los monitores de diagnóstico, realiza su debouncing y, a partir de ellos, mantiene los bits de estado UDS así como las entradas de la memoria de eventos con Freeze Frames y Extended Data. DCM y J1939Dcm filtran, leen y borran estos datos a través de APIs específicas de cliente. En su mayoría siguen el patrón «seleccionar, luego solicitar» [SWS_Dem_01253]. La condición de contorno más importante es el ciclo de vida: antes de Dem_Init las notificaciones solo se almacenan en búfer; el módulo solo es plenamente funcional con posterioridad.

Por cada ECU existe exactamente un Diagnostic Event Manager [SWS_Dem_00126]. Recibe los resultados de los monitores de diagnóstico en SW-Cs y módulos BSW y los cualifica. Pone a disposición de DCM y J1939Dcm el contenido de la memoria de averías. Se encuentra integrado entre EcuM, la planificación (scheduling) de Dem_MainFunction, NvM, FiM y DET SWS DEM p. 247.

kontext SW-C-Monitore SW-C-Monitore Dem Dem SW-C-Monitore->Dem Dem_SetEventStatus (RTE) Dem->SW-C-Monitore InitMonitorForEvent, Status-Callbacks NvM NvM Dem->NvM NvM_ReadBlock / NvM_WriteBlock FiM FiM Dem->FiM FiM_DemInit / FiM_DemTriggerOnMonitorStatus Det Det Dem->Det Det_ReportError BSW-Monitore BSW-Monitore BSW-Monitore->Dem Dem_SetEventStatus EcuM EcuM EcuM->Dem Dem_PreInit / Dem_Init / Dem_Shutdown SchM SchM SchM->Dem Dem_MainFunction Dcm Dcm Dcm->Dem Selección, filtro, lectura, borrado (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

Diagrama de contexto: Los monitores entregan resultados, los clientes de diagnóstico y FiM utilizan el DEM. Fuentes: SWS DEM p. 247

El ciclo de vida separa un modo de preinicialización de la funcionalidad completa [SWS_Dem_00169]. Los resultados notificados después de Dem_PreInit se almacenan en búfer y aún no activan callbacks de estado del monitor ([SWS_Dem_00167], [SWS_Dem_01289]). Con Dem_Init, el DEM pasa a ser plenamente funcional [SWS_Dem_00340]. Dem_Shutdown concluye las operaciones pendientes y transfiere los datos modificados a NvM ([SWS_Dem_00102], [SWS_Dem_00341]).

Los monitores notifican resultados cualificados o provisionales con Dem_SetEventStatus [SWS_Dem_00926]. El DEM realiza el debouncing por cada evento basado en contador, basado en tiempo o de forma interna al monitor [SWS_Dem_00413]. A partir de ello conforma el Fault Detection Counter de -128 a +127 [SWS_Dem_00415]. El debouncing y el estado del monitor se ejecutan de forma síncrona, mientras que el byte de estado UDS lo hace de forma asíncrona ([SWS_Dem_01279], [SWS_Dem_01285]). Las Enable Conditions y una configuración de DTC (DTC-Setting) desactivada bloquean el procesamiento SWS DEM p. 83.

Procesamiento de un informe de monitormonitorDemFiMSchMDem_SetEventStatus(EventId, EventStatus)altEnable Conditions cumplidas y ajuste de DTC habilitadoAntirrebote basado en contador (síncrono)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)En caso contrarioVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,Actualizar memoria de eventos y datosEventUdsStatusChanged-Callback(falls konfiguriert)

Diagrama de secuencias: Un informe se somete a debouncing de forma síncrona; el procesamiento UDS subsiguiente se realiza en la MainFunction. Fuentes: SWS DEM Fig. 9.12 p. 372, [SWS_Dem_01285]

El DEM crea entradas con contadores, Freeze Frames y Extended Data en función del disparador configurado ([SWS_Dem_00783], [SWS_Dem_00039], [SWS_Dem_00809]). Si la memoria está llena, la estrategia de desplazamiento decide ([SWS_Dem_00400], [SWS_Dem_00402]). El DCM accede según el patrón «seleccionar, luego solicitar». Dem_SelectDTC determina el destino para lectura, consulta de estado y borrado [SWS_Dem_01253]. Dem_SetDTCFilter establece los criterios para las listas de DTC [SWS_Dem_00057].

El DEM notifica los errores como errores de desarrollo de DET, p. ej. DEM_E_UNINIT o DEM_E_WRONG_CONDITION [SWS_Dem_00173]. En tiempo de ejecución proporciona valores de retorno como DEM_WRONG_DTC o DEM_BUSY ([SWS_Dem_01261], [SWS_Dem_01306]). Inicializa los datos que NvM no puede leer [SWS_Dem_00578].

Rol y límite del sistema: servicio central de memoria de averías de la ECU

El Diagnostic Event Manager recibe los resultados de los monitores de diagnóstico y los cualifica en eventos. Almacena estos eventos con datos de entorno en la memoria de eventos. Por cada ECU existe exactamente un módulo DEM [SWS_Dem_00126]. Cada evento de diagnóstico está representado por un EventId único y un EventName ([SWS_Dem_00153], [SWS_Dem_00154]). Dem_EventIdType se basa en uint16; el valor 0 no es válido [SWS_Dem_00925] SWS DEM p. 339.

Figure 8.1 muestra las interfaces con el entorno SWS DEM p. 247:

  • EcuM invoca Init y Shutdown.
  • La planificación (scheduling) invoca Dem_MainFunction.
  • NvM persiste los datos [SWS_Dem_00164].
  • FiM es informado sobre los cambios de estado [SWS_Dem_00029].
  • DET recibe los errores de desarrollo.
Los monitores de SW-C informan a través de puertos RTE como DiagnosticMonitor [SWS_Dem_00598]. DCM y J1939Dcm acceden como clientes mediante una ClientId a una DemEventMemorySet configurada ([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 Selección, filtro, lectura, borrado (ClientId) J1939Dcm J1939Dcm J1939Dcm->Dem Dem_J1939Dcm-APIs FiM->Dem Dem_GetMonitorStatus

Diagrama de contexto: El DEM es el sumidero de datos de los monitores y la fuente de datos para los clientes de diagnóstico y FiM. Fuentes: SWS DEM p. 247, [SWS_Dem_00256]

Ciclo de vida: preinicialización, funcionamiento y shutdown

El DEM distingue entre un modo de preinicialización y un modo completamente inicializado [SWS_Dem_00169]. Dem_PreInit inicializa los estados necesarios para el procesamiento de eventos [SWS_Dem_00180], entre ellos el debouncing interno [SWS_Dem_01213]. Los eventos notificados posteriormente se depositan en un búfer [SWS_Dem_00167] y todavía no activan callbacks de estado del monitor [SWS_Dem_01289] SWS DEM Fig. 7.42 p. 169.

Dem_Init asume el puntero post-build hacia Dem_ConfigType ([SWS_Dem_00181], [SWS_Dem_00924]). La función inicializa o reinicializa el módulo SWS DEM p. 260. A continuación, el DEM es plenamente funcional [SWS_Dem_00340]. El estado del monitor se conforma a partir de los resultados notificados previamente o del estado de NvM [SWS_Dem_01326]. Solo entonces sigue FiM_DemInit [SWS_Dem_01325]. Un reinicio de ciclo iniciado antes de Dem_Init se recupera posteriormente [SWS_Dem_01318].

En funcionamiento, Dem_MainFunction procesa todas las funciones no guiadas por eventos [SWS_Dem_00125]. Dem_Shutdown concluye las operaciones pendientes [SWS_Dem_00102]. Los datos no volátiles modificados se transmiten a NvM a más tardar en ese momento [SWS_Dem_00341]. Interpretación: Dado que según [SWS_Dem_00181] Dem_Init también reinicializa, cabe suponer que un reinicio tras Dem_Shutdown se realice mediante una nueva llamada a Dem_Init. Pregunta (abierta)

lebenszyklus start comenzar uninit No inicializado start->uninit pre Preinicializado (los avisos se almacenan en búfer) 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)

Diagrama de estados: Modos del DEM desde la preinicialización hasta el shutdown. El reinicio tras el shutdown es una suposición. Fuentes: [SWS_Dem_00169], [SWS_Dem_00181], [SWS_Dem_00182]

Almacenamiento en búfer entre Dem_PreInit y Dem_InitEcuMMonitor (SW-C/BSW)DemFiMSchMUse Case: VorinitialisierungDem_PreInit()Estados internos yEntprellung initialisierenDem_SetEventStatus(EventId, EventStatus)Meldung puffern,sin callbacks de estado del monitorUse Case: InitialisierungDem_Init(ConfigPtr)Formar el estado del monitor a partir de los avisoso del estado de NvMFiM_DemInit()Retorno: Dem completamente operativoUse Case: BetriebloopzyklischDem_MainFunction()Procesamiento no guiado por eventos

Diagrama de secuencias: Entre Dem_PreInit y Dem_Init las notificaciones se almacenan en búfer sin callbacks. Fuentes: SWS DEM Fig. 7.15 p. 85, [SWS_Dem_01189]

Del informe del monitor al resultado cualificado

Los monitores notifican resultados de prueba mediante Dem_SetEventStatus en cuanto se dispone de un nuevo resultado ([SWS_Dem_00330], SWS DEM p. 81). Dem_EventStatusType distingue tres tipos de notificaciones [SWS_Dem_00926]:

  • resultados cualificados (DEM_EVENT_STATUS_PASSED/_FAILED),
  • resultados preliminares para el debouncing interno (_PREPASSED/_PREFAILED),
  • DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED.

El debouncing es configurable por cada evento [SWS_Dem_00413]:

El DEM mapea linealmente los valores de contador o temporizador al Fault Detection Counter de -128 a +127 ([SWS_Dem_00415], [SWS_Dem_00427]). El debouncing basado en contador y el estado del monitor se ejecutan de forma síncrona en el contexto de llamada ([SWS_Dem_01279], [SWS_Dem_01280]). Por el contrario, el DEM calcula el byte de estado UDS de forma asíncrona [SWS_Dem_01285] SWS DEM p. 83.
Procesamiento de un informe de monitormonitorDemFiMSchMDem_SetEventStatus(EventId, EventStatus)altEnable Conditions cumplidas y ajuste de DTC habilitadoAntirrebote basado en contador (síncrono)Monitorstatus aktualisieren (synchron)FiM_DemTriggerOnMonitorStatus(EventId)(falls konfiguriert)En caso contrarioVerarbeitung blockiertStd_ReturnTypeUse Case: Asynchrone FolgeverarbeitungDem_MainFunction()UDS-Statusbyte berechnen,Actualizar memoria de eventos y datosEventUdsStatusChanged-Callback(falls konfiguriert)

Diagrama de secuencias: Un informe se somete a debouncing de forma síncrona; el procesamiento UDS subsiguiente se ejecuta de forma asíncrona. Fuentes: SWS DEM Fig. 9.12 p. 372, [SWS_Dem_01285]

El DEM establece los bits de estado UDS 0 a 7 según sus propias reglas de transición ([SWS_Dem_00386], [SWS_Dem_00395]). Dem_ResetEventStatus restablece el bit 0 de forma asíncrona e inicializa el debouncing sin notificar un resultado Passed [SWS_Dem_00187] SWS DEM p. 79. Si el evento ya se ha probado en el ciclo actual, la llamada devuelve E_NOT_OK [SWS_Dem_00638]. Dem_ResetEventDebounceStatus congela el debouncing o lo restablece ([SWS_Dem_00684], [SWS_Dem_00685]).

testfailed start comenzar f TestFailed = FALSE start->f Initialzustand t TestFailed = TRUE f->t Dem_SetEventStatus(FAILED) o antirrebote cualificado t->f Dem_SetEventStatus(PASSED) t->f Dem_ResetEventStatus t->f ClearDTC

Diagrama de estados: Transiciones del bit 0 de estado UDS (TestFailed). Fuentes: SWS DEM Fig. 7.15 p. 70, [SWS_Dem_00386]

Condiciones de habilitación, ciclos de operación y disponibilidad

Las Enable Conditions y un DTC-Setting desactivado bloquean el procesamiento de notificaciones de estado SWS DEM p. 83. Las reglas correspondientes se encuentran en [SWS_Dem_00449] y [SWS_Dem_00079]. DemDebounceBehavior determina si el debouncing se restablece [SWS_Dem_00654] o se congela [SWS_Dem_00655] durante ello. Por el contrario, las Storage Conditions solo impiden el almacenamiento en la memoria ([SWS_Dem_00455], [SWS_Dem_00556]).

Dem_RestartOperationCycle opera de forma asíncrona. Los monitores afectados se reinicializan mediante InitMonitorForEvent [SWS_Dem_00679] SWS DEM p. 274. Los reinicios no se almacenan en búfer [SWS_Dem_01316]. Otros desencadenantes de InitMonitorForEvent son:

En caso de desencadenantes simultáneos, el callback se invoca una sola vez, con el motivo de mayor prioridad [SWS_Dem_01046] SWS DEM p. 47.

El DEM trata los eventos no disponibles marcados con Dem_SetEventAvailable como si no estuvieran configurados [SWS_Dem_01108] SWS DEM p. 66. En VARIANT-POST-BUILD falta esta API [SWS_Dem_01106]. Por el contrario, un DTC suprimido solo es invisible para el tester; el procesamiento del evento continúa [SWS_Dem_01102].

Memoria de eventos: almacenamiento, datos de entorno y desplazamiento

El DEM gestiona la memoria de eventos primaria [SWS_Dem_00010] y, opcionalmente, memorias definidas por el usuario con el mismo comportamiento [SWS_Dem_01063]. Una entrada agrupa contadores, Freeze Frames y Extended Data SWS DEM Fig. 7.13 p. 77. DemEventMemoryEntryStorageTrigger determina cuándo se crea una entrada:

Mediante el aging se eliminan los datos referidos al evento [SWS_Dem_01075].

Los Freeze Frames son específicos del evento y constan de DIDs configurados ([SWS_Dem_00039], [SWS_Dem_00040]). En caso de datos volátiles, el monitor los captura previamente con Dem_PrestoreFreezeFrame. El DEM utiliza estos datos durante el almacenamiento [SWS_Dem_00464] SWS DEM Fig. 7.37 p. 128. Los Extended Data Records se capturan ante disparadores configurados [SWS_Dem_00809]. Pueden contener valores internos como el Occurrence Counter [SWS_Dem_00471].

Si falta una entrada libre, el DEM comprueba un desplazamiento [SWS_Dem_00400]. DEM_DISPLACEMENT_NONE lo excluye [SWS_Dem_00402]. Sin candidatos, el almacenamiento se descarta [SWS_Dem_00407]. En caso contrario, se elimina la entrada y se ajustan los bits de estado ([SWS_Dem_00408], [SWS_Dem_00409]). El DEM indica un desbordamiento por cada memoria [SWS_Dem_00397].

verdraengung s Se requiere nueva entrada de memoria frei Freier Eintrag vorhanden? s->frei anlegen Eintrag anlegen frei->anlegen Sí strat DemEventDisplacementStrategy = DEM_DISPLACEMENT_NONE? frei->strat No such Buscar entradas de menor prioridad strat->such No verw Speicheranforderung verwerfen strat->verw Sí prio ¿Prioridad del evento reportado suficiente (véase Figure 7.28)? such->prio passiv Priorizar entradas pasivas entre las encontradas prio->passiv Sí prio->verw nein / kein Kandidat verdr Desalojar la entrada encontrada más antigua, adaptar los bits de estado passiv->verdr verdr->anlegen

Diagrama de actividades: secuencia simplificada de criterios de desplazamiento, sin la etapa de filtrado OBD. Fuentes: SWS DEM Fig. 7.28 p. 98, [SWS_Dem_00406]

Acceso mediante DCM, J1939Dcm y servicios OBD

Muchas APIs siguen el patrón «seleccionar, luego solicitar». Dem_SelectDTC define el DTC, el formato y el Origin como destino. Sobre ello actúan, por ejemplo, Dem_ClearDTC, Dem_GetStatusOfDTC y Dem_SelectFreezeFrameData [SWS_Dem_01253] SWS DEM p. 215. Para listas de DTCs, Dem_SetDTCFilter establece los criterios [SWS_Dem_00057]. A continuación, Dem_GetNextFilteredDTC itera sobre las coincidencias [SWS_Dem_00216]. Los bytes de estado entregados se enmascaran con la Availability-Mask [SWS_Dem_00657].

El DCM lee los Freeze Frames con Dem_GetNextFreezeFrameData después de haber seleccionado el DTC y el Record [SWS_Dem_01268] SWS DEM Fig. 9.7 p. 369. En este proceso, el DEM suministra la disposición completa del Record SWS DEM Fig. 7.48 p. 195. Los Extended Data se leen de forma análoga [SWS_Dem_01272].

Para el borrado, el DCM comprueba primero la selección y luego llama a Dem_ClearDTC ([SWS_Dem_91020], [SWS_Dem_00665]). Antes del borrado, el DEM consulta DemClearEventAllowed [SWS_Dem_00515] SWS DEM Fig. 9.3 p. 367. Las APIs J1939 están disponibles cuando DemGeneralJ1939 está configurado [SWS_Dem_00845]. En caso de soporte OBD, el DEM suministra adicionalmente:

El PID $31/$4D/$4E solo lo calcula la ECU maestra [SWS_Dem_00703] SWS DEM p. 170.
Borrado de un DTC (UDS 0x14)TesterDcmDemMonitor-SW-CClearDiagnosticInformation(DTC)Dem_SelectDTC(ClientId, DTC, DTCFormat, DTCOrigin)loopsolange DEM_PENDINGDem_GetDTCSelectionResultForClearDTC(ClientId)loopsolange DEM_PENDINGDem_ClearDTC(ClientId)<Module>_DemClearEventAllowed(Allowed)AllowedoptAllowed == TRUERestablecer estado, datos relativos a eventos yPrestored Freeze FramesInitMonitorForEvent(DEM_INIT_MONITOR_CLEAR)DEM_PENDING / ErgebnisRespuesta positiva o negativa

Diagrama de secuencias: borrado mediante selección, consulta de habilitación y reinicialización de los monitores. Fuentes: SWS DEM Fig. 9.2 p. 366, [SWS_Dem_00680]

Comportamiento en caso de error

El DEM notifica los errores de desarrollo al DET, p. ej. DEM_E_UNINIT, DEM_E_PARAM_POINTER o DEM_E_WRONG_CONDITION [SWS_Dem_00173] SWS DEM p. 238. Las llamadas antes de la inicialización generan DEM_E_UNINIT; quedan excluidos, entre otros, Dem_SetEventStatus y Dem_ResetEventStatus [SWS_Dem_00124]. Lo mismo aplica tras el shutdown [SWS_Dem_00368].

En tiempo de ejecución, las APIs devuelven los siguientes valores de retorno:

[SWS_Dem_01202] define bajo qué condiciones un proceso de borrado se considera fallido.

Los datos que la NvM no puede leer son inicializados por el DEM [SWS_Dem_00578]. Los errores de escritura los ignora [SWS_Dem_00579]. Los datos de prestorage cuya estructura ya no coincide tras una reprogramación se omiten [SWS_Dem_01323].

Más evidencia detallada

Guía generada por IA sobre la base de los requisitos (R20-11) y pasajes de documentos incluidos en el payload. Únicamente son normativos los requisitos citados; algunos pasajes de documentos proceden de otros 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

función 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)

función Dem_PreInit [SWS_Dem_00179] 📄 PDF

void Dem_PreInit (void);

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 52979462b246 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Dem_PreInit sirve durante el arranque del sistema para la preinicialización de los estados internos del módulo DEM que se requieren para el procesamiento temprano de notificaciones de eventos procedentes de módulos BSW ([SWS_Dem_00179], [SWS_Dem_00180]). La llamada se realiza de forma síncrona, no es reentrante y no posee parámetros de entrada ni valor de retorno ([SWS_Dem_00179]).

Con la llamada a Dem_PreInit se inicializan los mecanismos internos de eliminación de rebotes (debouncing), incluidos contadores y temporizadores ([SWS_Dem_01213]). Si se ha configurado un debouncing interno del DEM, el módulo restablece el algoritmo de debouncing correspondiente ([SWS_Dem_00438]).

Tras la finalización correcta de Dem_PreInit y antes de la llamada a Dem_Init, quedan habilitadas interfaces y comportamientos seleccionados:

  • Estado del evento y debouncing: se admiten llamadas a Dem_SetEventStatus para el debouncing con los estados DEM_EVENT_STATUS_PREPASSED y DEM_EVENT_STATUS_PREFAILED ([SWS_Dem_01212]). Sin embargo, todos los eventos notificados antes de Dem_Init no activan callbacks para el cambio de estado del monitor ([SWS_Dem_01289]).
  • Controlar el estado de debouncing: la función Dem_ResetEventDebounceStatus para restablecer o congelar contadores de debouncing está a disposición de los módulos BSW tras finalizar Dem_PreInit ([SWS_Dem_00180], [SWS_Dem_00683]).
  • Umbrales de confirmación y ciclos de operación: tras Dem_PreInit, el DEM admite llamadas a Dem_SetEventConfirmationThresholdCounter ([SWS_Dem_01242]). Asimismo, una llamada a Dem_RestartOperationCycle solo es admisible a partir de ese momento; si se reinicia un ciclo de operación antes de Dem_Init, el procesamiento propiamente dicho del reinicio no se realiza hasta después de Dem_Init ([SWS_Dem_01318]).

Este texto fue generado por una IA a partir de la especificación.

Guía del implementador pendiente (complejidad I2)

función Dem_Init [SWS_Dem_00181] 📄 PDF

void Dem_Init (const Dem_ConfigType* ConfigPtr);

Initializes or reinitializes this module.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 940f61d4751b Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y no reentrante Dem_Init inicializa o reinicializa por completo el módulo Diagnostic Event Manager (DEM) de conformidad con [SWS_Dem_00181]. Tras completarse esta llamada, el DEM está totalmente operativo ([SWS_Dem_00340]). A través del parámetro de entrada ConfigPtr, en VARIANT-POST-BUILD se transfiere un puntero al conjunto de datos de configuración post-build ([SWS_Dem_00181]).

En el marco del flujo de inicialización, Dem_Init lleva a cabo pasos esenciales de restauración y sincronización:

  • Inicialización de estados y monitores: se inicializan los estados de monitores y componentes ([SWS_Dem_01324]). Mientras que las llamadas a Dem_GetMonitorStatus devuelven E_NOT_OK antes de completarse la inicialización ([SWS_Dem_01326]), Dem_GetMonitorStatus y Dem_GetComponentFailed devuelven E_OK después de ese momento ([SWS_Dem_01324]).
  • Memoria no volátil (NVM): siempre que esté configurado (DemDebounceCounterStorage == True), el DEM restaura el contador de antirrebote interno a más tardar en Dem_Init ([SWS_Dem_00675]). Asimismo, se cargan los datos de freeze frame preconfigurados desde la NVM antes del retorno de la función ([SWS_Dem_01322]), para lo cual el DEM recurre a API de NvM como NvM_ReadBlock ([SWS_Dem_00164]). Mediante la llamada a Dem_Init, además, se cancela el bloqueo de la memoria de eventos tras un Dem_Shutdown previo ([SWS_Dem_00102]).
  • Interacción y almacenamiento en búfer: si DemTriggerFiMReports está configurado a True, Dem_Init invoca exclusivamente en este momento FiM_DemInit para inicializar las autorizaciones en el Function Inhibition Manager ([SWS_Dem_01189]). Los eventos almacenados en búfer antes de Dem_Init ([SWS_Dem_00167], [SWS_Dem_01079]) no disparan callbacks de cambio de estado de monitor antes de Dem_Init ([SWS_Dem_01289]). Un reinicio de ciclo solicitado antes de Dem_Init a través de Dem_RestartOperationCycle no se procesa hasta después de Dem_Init ([SWS_Dem_01318]).

En relación con el tratamiento de errores, rige lo siguiente: si se ha llamado a Dem_Shutdown, el DEM confirma, con la detección de desarrollo activa, las llamadas a la mayoría de las API con el error DEM_E_UNINIT hasta que Dem_Init se ejecute de nuevo ([SWS_Dem_00368]).

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función Dem_Shutdown [SWS_Dem_00182] 📄 PDF

void Dem_Shutdown (void);

Shuts down this module.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d50e7ed9388c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y no reentrante Dem_Shutdown sirve para el apagado ordenado del módulo Diagnostic Event Manager ([SWS_Dem_00182]). No posee parámetros de entrada ni de retorno ([SWS_Dem_00182]). Es de suponer que el contexto de invocación se sitúe presumiblemente en el marco de la secuencia central de desconexión de la unidad de control. Pregunta Q-a0e6a5700c49d786 (abierta)

Durante la llamada, Dem_Shutdown finaliza todas las operaciones aún pendientes del módulo DEM para preparar los estados internos y los datos para la transferencia a la NVRAM ([SWS_Dem_00102]). Para los datos no volátiles modificados, el DEM inicia el almacenamiento en la NVRAM antes de o durante Dem_Shutdown ([SWS_Dem_00341]). En la medida en que sea necesario, el módulo utiliza las interfaces NvM_WriteBlock y NvM_ReadBlock del NVRAM Manager para guardar y restaurar datos entre Dem_Init y Dem_Shutdown ([SWS_Dem_00164]). Si el DEM se configuró de modo que los datos de freeze frame previamente guardados se almacenen de forma no volátil, este almacenamiento se realiza una sola vez y a más tardar durante Dem_Shutdown ([SWS_Dem_01321]).

Con la ejecución del shutdown, la memoria de eventos se bloquea y ya no debe modificarse hasta una nueva llamada de Dem_Init ([SWS_Dem_00102]). Además, rigen las siguientes condiciones de error con la detección de errores de desarrollo (Development Error Detection) activada:

  • Si después de Dem_Shutdown se invoca una API del DEM —a excepción de Dem_SetEventStatus, Dem_ResetEventDebounceStatus, Dem_GetVersionInfo y Dem_MainFunction—, el módulo establece el código de error DEM_E_UNINIT hasta el siguiente Dem_Init ([SWS_Dem_00368]).
  • Si después de Dem_Shutdown se invocan Dem_SetEventStatus o Dem_ResetEventDebounceStatus para eventos en los que DemDebounceCounterStorage está ajustado a True, el DEM notifica el código de error DEM_E_WRONG_CONDITION ([SWS_Dem_00676]).

Este texto ha sido generado por una IA y sirve como guía orientativa. Vinculantes son las disposiciones de la respectiva especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I2)

función Dem_ClearDTC [SWS_Dem_00665] 📄 PDF

Std_ReturnType Dem_ClearDTC (uint8 ClientId);

Clears single DTCs, as well as groups of DTCs.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 746b093f9e55 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función asíncrona Dem_ClearDTC sirve para el borrado de códigos de diagnóstico de fallos (DTCs) individuales o grupos de DTC completos en el Diagnostic Event Manager [SWS_Dem_00665]. Antes de la invocación, debe haberse fijado la selección objetivo compuesta por DTC, formato y ubicación de memoria mediante Dem_SelectDTC para el ClientId correspondiente [SWS_Dem_01253]. La función es reentrante para distintos valores de ClientId, pero no es reentrante para el mismo cliente [SWS_Dem_00665].

El proceso de borrado se confirma con E_OK tan pronto como haya concluido con éxito [SWS_Dem_00665]. Mientras la depuración esté en curso, la API devuelve DEM_PENDING, por lo que el llamador debe invocar la función de nuevo en un momento posterior [SWS_Dem_00665]. Si para el mismo cliente está activa en paralelo otra operación que dependa de Dem_SelectDTC, se notifica DEM_BUSY [SWS_Dem_00665]. El DEM procesa internamente múltiples solicitudes paralelas de clientes [SWS_Dem_00661], pudiendo recibir las llamadas concurrentes durante un proceso de borrado en curso DEM_PENDING [SWS_Dem_00664] o DEM_CLEAR_BUSY [SWS_Dem_00665].

La API confirma las llamadas erróneas con valores de retorno específicos:

  • E_NOT_OK: Previamente no se seleccionó ningún DTC [SWS_Dem_00665].
  • DEM_WRONG_DTC: El DTC no existe [SWS_Dem_00665], está suprimido [SWS_Dem_01100] o la configuración DemClearDTCLimitation fuerza DEM_ONLY_CLEAR_ALL_DTCS [SWS_Dem_00670].
  • DEM_WRONG_DTCORIGIN: La ubicación de memoria seleccionada no existe [SWS_Dem_00665].
  • DEM_CLEAR_FAILED o DEM_CLEAR_MEMORY_ERROR: El borrado falló o se produjo un error al borrar en la memoria persistente [SWS_Dem_00665].

En el marco del borrado, en caso de DTC combinados se depuran todos los eventos vinculados [SWS_Dem_00440] y se inicia la inicialización de sus monitores vía InitMonitorForEvent con DEM_INIT_MONITOR_CLEAR [SWS_Dem_00680]. Si DemTriggerMonitorInitBeforeClearOk está configurado, el retorno de E_OK se produce solo tras este disparador [SWS_Dem_00573]. Si se borran todos los DTC de una memoria de eventos, el DEM restablece su indicador de desbordamiento [SWS_Dem_00399]; además, en el servicio OBD $04 se restablecen los datos DTR no asignados [SWS_Dem_00764] y se depuran los eventos no vinculados a memoria [SWS_Dem_01249].

Este texto ha sido generado por una IA y sirve para la orientación técnica.

Guía del implementador pendiente (complejidad I2)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: e3d7b3899eb8 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función síncrona Dem_ClearPrestoredFreezeFrame borra un freeze frame previamente almacenado de forma provisional para un evento de diagnóstico específico ([SWS_Dem_00193]). La invocación se realiza exclusivamente a través de la RTE; no se proporciona una declaración en el archivo de cabecera Dem.h ([SWS_Dem_00193]). La API solo está implementada en el sistema si se ha configurado al menos un evento para el prealmacenamiento (parámetro de configuración DemFFPrestorageSupported) ([SWS_Dem_00193], [SWS_Dem_00334]). La función devuelve E_OK en caso de borrado correcto y E_NOT_OK si la operación falla ([SWS_Dem_00193]).

Concurrencia y restricciones

La interfaz es reentrante para distintos IDs de evento (EventId), pero no debe ejecutarse de forma concurrente para el mismo EventId ([SWS_Dem_00193]). No se admite una llamada con eventos configurados como eventos subordinados (DemMultiEventTriggeringSlaveEventRef) o como eventos de sustitución (DemStorageConditionReplacementEventRef); en este caso, el comportamiento del DEM es indefinido ([SWS_Dem_01339]). Si un evento se define como no disponible, se trata como un evento no configurado ([SWS_Dem_01108]); interpretación: es de prever que en este caso la llamada sea rechazada con E_NOT_OK. Pregunta Q-d8ebaf6883138fdf (abierta)

Interacción en Multi-Event-Triggering

Siempre que DemMultiEventTriggering esté configurado y la función se invoque para un evento maestro (DemMultiEventTriggeringMasterEventRef), el DEM dispara automáticamente la llamada de borrado con parámetros idénticos para todos los eventos subordinados asignados (DemMultiEventTriggeringSlaveEventRef) ([SWS_Dem_01250]).

Esta nota de uso ha sido generada por una IA a partir de la especificación AUTOSAR Classic Release R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

función 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.

función 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.

función 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)

función 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.

función 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)

función 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).

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1c0673b083cc Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_ResetEventDebounceStatus sirve a los módulos BSW y a los componentes de software (SW-Cs) para congelar o restablecer de forma selectiva el contador o temporizador interno de eliminación de rebote de un evento de diagnóstico, sin influir en la cualificación del evento [SWS_Dem_00683].

Uso y parámetros

A través del parámetro DebounceResetStatus se controla la acción deseada: el valor DEM_DEBOUNCE_STATUS_FREEZE congela el temporizador interno de eliminación de rebote [SWS_Dem_00685], mientras que DEM_DEBOUNCE_STATUS_RESET restablece el contador de detección de fallos asociado (Fault Detection Counter) [SWS_Dem_00684] [SWS_Dem_00927]. La función devuelve E_OK en caso de ejecución correcta y E_NOT_OK exclusivamente en caso de un error de desarrollo [SWS_Dem_00683].

Tratamiento de errores y ciclo de vida

La API ya está disponible para los módulos BSW tras la finalización de Dem_PreInit y, por consiguiente, queda excluida de la comprobación general de inicialización previa a la inicialización completa [SWS_Dem_00124] [SWS_Dem_00683]. Con la detección de desarrollo activada se aplican las siguientes condiciones:

  • Si la función se invoca antes de la preinicialización, el DEM notifica el error DEM_E_UNINIT [SWS_Dem_00364].
  • Si la llamada para eventos con contador de eliminación de rebote persistente (DemDebounceCounterStorage en True) se produce antes de Dem_Init o después de Dem_Shutdown, se establece DEM_E_WRONG_CONDITION [SWS_Dem_00676].
  • Si un evento está marcado como no disponible, se trata como un evento no configurado [SWS_Dem_01108].

Concurrencia y restricciones

Dem_ResetEventDebounceStatus es reentrante para diferentes valores de EventId, pero no es reentrante para el mismo evento [SWS_Dem_00683]. Con DemMultiEventTriggering configurado, una llamada con un evento maestro desencadena llamadas idénticas para todos los eventos subordinados asignados [SWS_Dem_01250]. No se admiten llamadas directas para eventos subordinados puramente internos o eventos referenciados mediante DemStorageConditionReplacementEventRef, y provocan un comportamiento indefinido [SWS_Dem_01339].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b20c64ec7b3a Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Dem_ResetEventStatus sirve para restablecer el estado de error de un evento de diagnóstico y está disponible exclusivamente a través de la RTE [SWS_Dem_00185]. La llamada se realiza con el EventId y posee una semántica asíncrona: ante la aceptación correcta de la solicitud, la función devuelve E_OK [SWS_Dem_00185]. Acto seguido, el módulo DEM restablece de forma diferida en el tiempo el bit de estado 0 (TestFailed) a 0 y, mediando la configuración correspondiente, restablece el algoritmo interno de antirrebote a sus valores iniciales [SWS_Dem_00187].

La solicitud falla con el valor de retorno E_NOT_OK si el evento ya se ha probado en el ciclo de funcionamiento actual (el bit 6 de estado UDS es 0) [SWS_Dem_00185], [SWS_Dem_00638], o si el evento está configurado o establecido como no disponible [SWS_Dem_01108]. Una llamada antes de la inicialización completa del DEM no da lugar a la notificación del error DEM_E_UNINIT incluso con la detección de errores de desarrollo (DemDevErrorDetect) activada [SWS_Dem_00124].

En lo que respecta a la concurrencia, Dem_ResetEventStatus es reentrante para distintos valores de EventId, mientras que para el mismo EventId no es reentrante [SWS_Dem_00185]. Si DemMultiEventTriggering está configurado y la función se invoca con un evento maestro, el DEM dispara automáticamente la misma llamada para todos los eventos subordinados vinculados [SWS_Dem_01250]. Las llamadas directas con un EventId configurado como evento subordinado o como DemStorageConditionReplacementEventRef no son compatibles y dan lugar a un comportamiento indefinido [SWS_Dem_01339].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 43517846effb Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Dem_RestartOperationCycle sirve para reiniciar un ciclo de operación ([SWS_Dem_00194]). La llamada se realiza exclusivamente a través de la RTE, razón por la cual no se exporta ninguna declaración a través de la Dem.h ([SWS_Dem_00194]).

Semántica y parámetros

Mediante el parámetro de entrada OperationCycleId se identifica el ciclo de operación que se va a reiniciar (p. ej., Power Cycle o Driving Cycle) ([SWS_Dem_00194]). La función opera de forma reentrante así como asíncrona ([SWS_Dem_00194]):

  • E_OK: el establecimiento del ciclo de operación ha sido aceptado y se sigue procesando de forma asíncrona ([SWS_Dem_00194]).
  • E_NOT_OK: la solicitud para establecer el ciclo ha sido rechazada ([SWS_Dem_00194]).

Interacción y secuencia asíncrona

El comportamiento asíncrono evita incumplimientos de los requisitos temporales típicos cuando debe procesarse una gran cantidad de eventos y deben reinicializarse monitores ([SWS_Dem_00194]). Los callbacks correspondientes InitMonitorForEvent actúan como respuestas asíncronas ([SWS_Dem_00194]). En el curso del reinicio, el DEM reinicializa los monitores de diagnóstico de todos los eventos afectados llamando a su callback InitMonitorForEvent con el parámetro InitMonitorReason establecido en DEM_INIT_MONITOR_RESTART ([SWS_Dem_00679]).

Si se reinicia un ciclo de operación a través de Dem_RestartOperationCycle, además deben reiniciarse también todos los ciclos de operación que dependan de él, siempre que estén cualificados ([SWS_Dem_01224]).

Este texto fue generado por una IA y sirve como guía orientativa. El texto vinculante es la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I2)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c489dfc2152d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función sirve para la adquisición y el almacenamiento intermedio síncronos de datos de freeze frame para un evento de diagnóstico específico [SWS_Dem_00188]. La interfaz se proporciona exclusivamente a través de la RTE y no se exporta mediante Dem.h [SWS_Dem_00188]. En el módulo solo existe si el prealmacenamiento está configurado para al menos un evento (DemFFPrestorageSupported) [SWS_Dem_00334].

Valores de retorno y tratamiento de errores:

  • E_OK: el freeze frame se almacenó temporalmente de manera correcta [SWS_Dem_00188].
  • E_NOT_OK: el almacenamiento intermedio falla [SWS_Dem_00188], en particular si ya no queda ningún búfer libre (limitado por DemMaxNumberPrestoredFF) [SWS_Dem_00808] o si el evento indicado está establecido como no disponible [SWS_Dem_01108].

Concurrencia y condiciones de llamada: la función es reentrante para IDs de evento distintos, pero no para el mismo EventId [SWS_Dem_00188].

Interacción en el disparo multievento: si la función se invoca con un evento maestro configurado (DemMultiEventTriggeringMasterEventRef), el DEM desencadena automáticamente llamadas idénticas para todos los eventos subordinados asociados (DemMultiEventTriggeringSlaveEventRef) [SWS_Dem_01250]. No se admiten llamadas directas con un ID de evento subordinado o con un evento de reemplazo para condiciones de almacenamiento (DemStorageConditionReplacementEventRef), lo que da lugar a un comportamiento indefinido [SWS_Dem_01339].

Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c8301a45c8d2 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_SelectDTC selecciona un DTC o un grupo de DTC en el formato definido (DTCFormat) y memoria de eventos (DTCOrigin) para una determinada ClientId como destino para operaciones posteriores [SWS_Dem_91016]. Inicia el proceso de selección interno del DEM en la memoria de eventos asignada a esta ClientId [SWS_Dem_01254].

En cuanto a la concurrencia y el contexto de llamada, la función es reentrante para diferentes ClientId, pero no reentrante para la misma ClientId [SWS_Dem_91016]. Como valores de retorno se definen [SWS_Dem_91016]:

  • E_OK: El DTC o el grupo se ha seleccionado correctamente [SWS_Dem_91016].
  • DEM_BUSY: Otra llamada a Dem_SelectDTC o una operación dependiente de ella de este cliente ya se está ejecutando actualmente [SWS_Dem_91016].

El resultado de la selección se refleja en los valores de retorno de las llamadas a la API posteriores [SWS_Dem_01254]. El DEM utiliza el DTC o el grupo de DTC seleccionado como destino para llamadas a funciones posteriores del mismo cliente, tales como Dem_ClearDTC, Dem_DisableDTCRecordUpdate, Dem_GetFunctionalUnitOfDTC, Dem_GetSeverityOfDTC, Dem_GetStatusOfDTC, Dem_SelectFreezeFrameData, Dem_SelectExtendedDataRecord y Dem_SetDTCSuppression [SWS_Dem_01253]. Además, Dem_SelectFreezeFrameData y Dem_SelectExtendedDataRecord se basan en este DTC seleccionado [SWS_Dem_01268], [SWS_Dem_01272].

Si se llama a una de las API dependientes sin que exista previamente una selección válida o si el DTC transmitido no es válido en el formato indicado, el DEM devuelve DEM_WRONG_DTC [SWS_Dem_01261]. Si el área de memoria solicitada (DTCOrigin) no existe o no es válida, las llamadas posteriores notifican DEM_WRONG_DTCORIGIN [SWS_Dem_01258], [SWS_Dem_01262]. Mediante Dem_GetDTCSelectionResult se puede verificar explícitamente si la selección con E_OK fue exitosa y el DTC está listo para su procesamiento posterior [SWS_Dem_01256], [SWS_Dem_01257].

Esta nota de uso fue generada por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I2)

función 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)

función 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)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 706d7cf70a2d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Dem_SetEventStatus sirve a SW-Cs y módulos BSW para transmitir resultados de pruebas de monitores al DEM [SWS_Dem_00183], [SWS_Dem_00330]. Está disponible cuando para el evento está configurado STANDARD_REPORTING [SWS_Dem_00183]. Como valores de estado se transfieren resultados cualificados (DEM_EVENT_STATUS_PASSED, DEM_EVENT_STATUS_FAILED), precualificaciones para el antirrebote interno del DEM (DEM_EVENT_STATUS_PREPASSED, DEM_EVENT_STATUS_PREFAILED) o la consecución del umbral de antirrebote DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED [SWS_Dem_00926].

En cuanto a la concurrencia, la API es reentrante para diferentes valores de EventId, pero no reentrante para el mismo EventId [SWS_Dem_00183]. Antes de la preinicialización a través de Dem_PreInit, una llamada con la detección de desarrollo activa provoca el error DEM_E_UNINIT [SWS_Dem_00364]. Después de Dem_PreInit, pero antes de Dem_Init, la llamada sí está permitida [SWS_Dem_00124], [SWS_Dem_00180]; los eventos cualificantes se almacenan en una cola cuyo tamaño se determina mediante DemBswErrorBufferSize, mientras que los umbrales FDC no se almacenan en búfer [SWS_Dem_00167], [SWS_Dem_00207]. Incluso después de Dem_Shutdown, la función no genera ningún error DEM_E_UNINIT [SWS_Dem_00368].

El valor de retorno es E_OK en caso de aceptación correcta o E_NOT_OK en caso de errores o si el evento está establecido como no disponible [SWS_Dem_00183], [SWS_Dem_01108]. Los módulos BSW pueden ignorar el valor de retorno [SWS_Dem_00183]. Los avisos se aceptan en cuanto se cumplen las Enable-Conditions asignadas [SWS_Dem_00450]; si el DTC-Setting está desactivado, el DEM ignora el reporte para el estado UDS [SWS_Dem_00626].

En el contexto de la llamada pueden desencadenarse acciones síncronas:

  • Notificación al FiM en caso de cambio de estado a través de FiM_DemTriggerOnEventStatus, siempre que DemTriggerFiMReports esté activo [SWS_Dem_00029].
  • Adquisición de datos síncronos de freeze frame y extended data records cuando la opción DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING está configurada [SWS_Dem_00805], [SWS_Dem_01082].
  • Llamadas en cascada para eventos subordinados (slave events) configurados con la configuración DemMultiEventTriggering activa [SWS_Dem_01250].

Esta nota se ha generado automáticamente sobre la base de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: eb7046584bdf Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función Dem_SetEventStatusWithMonitorData sirve para notificar al DEM un resultado de prueba de monitor (EventStatus) para un evento de diagnóstico determinado (EventId) junto con datos adicionales específicos del monitor (monitorData0 y monitorData1) [SWS_Dem_91037]. Posee la misma funcionalidad que Dem_SetEventStatus, pero transmite parámetros adicionales para su almacenamiento en datos relacionados con eventos [SWS_Dem_01333].

En interacción con operaciones de lectura se aplica lo siguiente: si una operación Read-Data está configurada para proporcionar monitorData0, el DEM agrega la monitorData0 transmitida de Dem_SetEventStatusWithMonitorData al parámetro monitorData0 de esta operación Read-Data [SWS_Dem_01330].

Para el uso y la concurrencia se aplican las siguientes condiciones:

  • Disponibilidad: La API solo está disponible a través de Dem.h si DemEventReportingType está configurado en STANDARD_REPORTING_WITH_MONITOR_DATA [SWS_Dem_91037].
  • Ejecución y reentrancia: La ejecución es síncrona/asíncrona. La función es reentrante para diferentes EventId, pero no reentrante para la misma EventId [SWS_Dem_91037].
  • Valores de retorno: Devuelve E_OK si el estado del evento se establece correctamente y E_NOT_OK si el establecimiento o procesamiento falló o no pudo ser aceptado [SWS_Dem_91037].

Esta nota de uso se ha creado automáticamente a partir de la especificación.

Guía del implementador pendiente (complejidad I1)

función 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)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 7e5ab1b6f9c0 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función asíncrona Dem_SetWIRStatus sirve a los componentes de software a prueba de fallos (failsafe SW-Cs) para solicitar de forma selectiva el bit de estado Warning-Indicator-Requested (bit WIR) de un evento de diagnóstico [SWS_Dem_00839], [SWS_Dem_01303]. Dado que la llamada se realiza exclusivamente a través de la RTE, no existe ninguna declaración en el archivo de cabecera Dem.h [SWS_Dem_00839].

Comportamiento funcional e interacción

El establecimiento y el restablecimiento del bit dependen del parámetro transferido WIRStatus, así como del estado de los indicadores configurados:

  • Si se transfiere WIRStatus = TRUE, el DEM establece a 1 el bit WIR del evento en cuestión [SWS_Dem_00833].
  • Con WIRStatus = FALSE, el bit WIR solo se restablece a 0 si no hay ningún indicador del DEM referenciado activo [SWS_Dem_00834].
  • Un bit WIR establecido mediante Dem_SetWIRStatus impide además que el DEM restablezca automáticamente a 0 el bit 7 de estado UDS (WarningIndicatorRequested) al alcanzarse los ciclos de desrebote o de curación [SWS_Dem_00503], [SWS_Dem_01233].

Concurrencia y tratamiento de errores

La API es reentrante para distintos eventos, pero no es reentrante para el mismo EventId [SWS_Dem_00839]. Si se acepta con éxito, la función devuelve E_OK [SWS_Dem_00839]. El valor de retorno E_NOT_OK señala que la solicitud fue rechazada y debe repetirse; este es el caso en particular si el ajuste de DTC está bloqueado (disabled ControlDTCSetting) o si el evento está marcado como no disponible [SWS_Dem_00836], [SWS_Dem_01108], [SWS_Dem_00839].

Esta nota de uso se ha generado automáticamente a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función 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

función 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.

función 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).

función 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

función 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.

función 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.

función 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.

función 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.

función 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).

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 793bc4c92bab Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y secuencia

La función asíncrona Dem_DisableDTCRecordUpdate ([SWS_Dem_00233]) desactiva la actualización de la memoria de eventos para un DTC definido previamente mediante Dem_SelectDTC ([SWS_Dem_01253]). El objetivo de esta llamada es proteger contra sobreescritura o borrado los datos relacionados con el evento del fallo seleccionado en el respectivo DTCOrigin, a fin de garantizar accesos de lectura coherentes posteriores a Freeze Frame Data y Extended Data Records ([SWS_Dem_00270]). A través del parámetro ClientId se identifica la instancia del módulo llamante ([SWS_Dem_00233]).

Valores de retorno y tratamiento de errores

La función señala el estado de procesamiento mediante valores de retorno específicos ([SWS_Dem_00233]):

  • E_OK: La actualización de la memoria de eventos se ha desactivado con éxito.
  • DEM_PENDING: La desactivación se ejecuta de forma asíncrona; el llamante debe volver a llamar a la función en un momento posterior.
  • DEM_BUSY: Ya hay otra operación dependiente de Dem_SelectDTC en curso para este cliente.
  • E_NOT_OK: No se ha seleccionado ningún DTC previamente.
  • DEM_WRONG_DTC: El DTC seleccionado no existe en el formato elegido o se ha seleccionado indebidamente un grupo de DTC.
  • DEM_WRONG_DTCORIGIN: El origen especificado (DTCOrigin) no existe.

Concurrencia y restricciones

Dem_DisableDTCRecordUpdate es reentrante para llamadas con diferente ClientId, pero no es reentrante para la misma ClientId ([SWS_Dem_00233]). Solo se puede bloquear la actualización para exactamente un DTC al mismo tiempo ([SWS_Dem_00233]). Tras la lectura de los datos de diagnóstico, la actualización del registro debe volver a habilitarse mediante Dem_EnableDTCRecordUpdate ([SWS_Dem_00234], [SWS_Dem_00270]).

Esta nota de uso fue generada automáticamente a partir de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: de89b4e41f66 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función asíncrona Dem_EnableDTCRecordUpdate ([SWS_Dem_00234]) sirve para habilitar la actualización de la memoria de eventos para un DTC previamente bloqueado. Conforme a [SWS_Dem_00271], la función libera de nuevo el DTC actualmente protegido por Dem_DisableDTCRecordUpdate, de modo que sus datos puedan actualizarse otra vez en el DEM.

Como parámetro de entrada, la función espera el ClientId, el cual identifica unívocamente la instancia del módulo llamador ([SWS_Dem_00234]). Dado que la llamada a Dem_EnableDTCRecordUpdate representa la acción final en la secuencia de desactivación y activación de un DTC, el invocador no está interesado en el valor de retorno propiamente dicho; por lo tanto, según [SWS_Dem_00234], debe devolverse E_OK incluso en caso de una habilitación asíncrona.

En relación con el tratamiento de errores y los valores de retorno, se definen los siguientes estados ([SWS_Dem_00234]):

  • E_OK: la actualización del registro de datos del DTC se habilitó correctamente.
  • E_NOT_OK: no hay ningún DTC seleccionado.

En lo referente a concurrencia y restricciones, Dem_EnableDTCRecordUpdate es reentrante para llamadas con diferentes identificadores de cliente, pero no es reentrante para el mismo ClientId ([SWS_Dem_00234]).

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

función 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.

función 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.

función 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.

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2ece0d12a55d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función asíncrona Dem_SelectExtendedDataRecord inicializa el filtro para la lectura de datos de diagnóstico extendidos de un DTC definido previamente con Dem_SelectDTC [SWS_Dem_91017] [SWS_Dem_01253]. Inicia el proceso de selección interno en la memoria de eventos asignada del cliente [SWS_Dem_01273] y determina el registro de datos de destino para consultas posteriores a través de Dem_GetSizeOfExtendedDataRecordSelection y Dem_GetNextExtendedDataRecord [SWS_Dem_01272].

Con respecto a la parametrización y la secuencia, se aplican las siguientes estipulaciones:

  • Parámetros: además de números de registro de datos específicos, ExtendedDataNumber acepta los valores 0xFE (tamaño total de todos los registros de datos OBD) y 0xFF (tamaño total de todos los registros de datos) [SWS_Dem_91017]. Para evitar inconsistencias de datos durante la lectura, el registro de datos se puede proteger previamente con Dem_DisableDTCRecordUpdate [SWS_Dem_00270].
  • Valores de retorno y errores: en caso de una selección correcta, se devuelve E_OK [SWS_Dem_91017]. Esto también se aplica cuando se solicita un número de registro de datos válido para el cual no hay ninguna entrada almacenada; en este caso, la lectura posterior devuelve un tamaño de búfer de 0 [SWS_Dem_00631]. Si a través de Dem_SelectDTC no se había seleccionado un código de fallo individual, sino un grupo de DTC, o si el DTC no existe, la llamada falla con DEM_WRONG_DTC [SWS_Dem_91017] [SWS_Dem_01349]. Si la ubicación de memoria no existe, se notifica DEM_WRONG_DTCORIGIN [SWS_Dem_91017].
  • Concurrencia: si la selección todavía está en curso, DEM_PENDING indica la necesidad de una nueva llamada [SWS_Dem_91017]. El estado DEM_BUSY indica que para este ClientId todavía está activa otra operación dependiente del DTC [SWS_Dem_91017]. La función es reentrante para diferentes valores de ClientId, pero no es reentrante para la misma instancia [SWS_Dem_91017].

Esta nota de uso se generó de forma automatizada a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5188ca62aa0a Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función asíncrona Dem_SelectFreezeFrameData establece el filtro para la lectura posterior de datos de freeze frame a través de Dem_GetSizeOfFreezeFrameSelection y Dem_GetNextFreezeFrameData [SWS_Dem_91015], [SWS_Dem_01268]. Mediante el parámetro ClientId se identifica la instancia del módulo llamador, mientras que RecordNumber especifica el número de registro de snapshot según ISO 14229-1; aquí, 0xFF representa todos los registros de snapshot del DTC y 0x00 el snapshot WWH-OBD específico del DTC [SWS_Dem_91015]. La llamada inicia la selección interna en la memoria de eventos asignada [SWS_Dem_01269].

Valores de retorno y tratamiento de errores

Si el proceso de selección se inició correctamente, la función devuelve E_OK [SWS_Dem_91015]. Si la selección todavía está en curso, DEM_PENDING indica que el llamador debe invocar la función de nuevo en un momento posterior [SWS_Dem_91015]. Si para el cliente ya está activa otra operación dependiente, la API devuelve DEM_BUSY [SWS_Dem_91015], [SWS_Dem_01253]. Si el DTC de destino no existe en el formato deseado o si se seleccionó un grupo de DTC en lugar de un DTC individual mediante Dem_SelectDTC, se devuelve DEM_WRONG_DTC [SWS_Dem_91015], [SWS_Dem_01348]. En caso de una ubicación de memoria no válida, se produce DEM_WRONG_DTCORIGIN [SWS_Dem_91015]. Si se llaman funciones de lectura dependientes sin una selección previa, el DEM notifica un error de DET [SWS_Dem_01270], [SWS_Dem_01271].

Secuencia y concurrencia

La función es reentrante para diferentes llamadores (ClientId), pero no es reentrante para el mismo cliente [SWS_Dem_91015]. Un requisito obligatorio es la llamada previa de Dem_SelectDTC para definir el DTC de destino y la ubicación de memoria [SWS_Dem_01253]. Para garantizar una lectura consistente, se puede llamar a Dem_DisableDTCRecordUpdate con el fin de proteger los datos relacionados con el evento frente a modificaciones o eliminaciones [SWS_Dem_00270].

Esta nota de uso ha sido generada automáticamente por una IA sobre la base de la especificación.

Guía del implementador pendiente (complejidad I2)

función 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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4c222839a4a6 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función Dem_DisableDTCSetting desactiva el DTC-Setting para todos los eventos de diagnóstico asignados al DemEventMemorySet del cliente llamante [SWS_Dem_00242], [SWS_Dem_01290]. La llamada se realiza de forma asíncrona y requiere la transferencia de un ClientId unívoco [SWS_Dem_00242]. Además de la finalización correcta mediante E_OK, el valor de retorno DEM_PENDING señala que la operación todavía está en curso; en este caso, el llamante debe volver a llamar a la función en un momento posterior [SWS_Dem_00242].

Efectos funcionales

Si se llama a Dem_DisableDTCSetting, el DEM impide el almacenamiento de los eventos correspondientes, así como la actualización de los bytes de estado UDS [SWS_Dem_00079]. Si adicionalmente el parámetro de configuración DemDebounceBehavior está ajustado a DEM_DEBOUNCE_RESET, la llamada provoca además el restablecimiento de los correspondientes contadores de detección de fallos (Fault Detection Counters) [SWS_Dem_00677].

Concurrencia y restricciones

La función es reentrante para llamadas con diferentes Client-IDs, pero no es reentrante para la misma ClientId [SWS_Dem_00242]. La desactivación solo afecta a los eventos y bytes de estado UDS del DemEventMemorySet referenciado por el ClientId; los DTC fuera de esta área de memoria no se ven afectados [SWS_Dem_01290].

Esta nota de uso se basa en los requisitos de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4784195edff9 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función asíncrona Dem_EnableDTCSetting activa o reactiva el DTC-Setting para todos los DTC asignados al DemEventMemorySet del cliente direccionado [SWS_Dem_00243]. En la llamada se transfiere el identificador unívoco ClientId de la instancia del módulo llamante [SWS_Dem_00243].

Como valores de retorno se definen [SWS_Dem_00243]:

  • E_OK: la operación finalizó con éxito.
  • DEM_PENDING: El proceso se ejecuta de forma asíncrona; el llamante debe volver a llamar a la función en un momento posterior.

En cuanto a la concurrencia, Dem_EnableDTCSetting es reentrante para diferentes valores de ClientId, pero no debe llamarse de forma concurrente para la misma ClientId [SWS_Dem_00243].

En interacción con el procesamiento de eventos, la función se encarga de que el DEM habilite el almacenamiento de los eventos correspondientes y del byte de estado UDS [SWS_Dem_00080]. Si el DTC-Setting se vuelve a activar para los eventos, Dem_EnableDTCSetting dispara la función de callback InitMonitorForEvent de los eventos afectados con el parámetro InitMonitorReason a DEM_INIT_MONITOR_REENABLED [SWS_Dem_00682].

Este texto ha sido generado por una IA y sirve de orientación. Solo son vinculantes las especificaciones de los respectivos releases de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 51829835ffc5 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El DCM llama a la función síncrona Dem_DcmGetInfoTypeValue08 ([SWS_Dem_00316]) para consultar datos de IUMPR (In-Use Monitor Performance Ratio) para InfoType $08 en el marco del servicio OBD $09 ([SWS_Dem_00298]). Dado que el procesamiento se realiza de forma síncrona, el DCM transfiere exclusivamente el valor DCM_INITIAL para el parámetro OpStatus ([SWS_Dem_00316]). Los datos útiles, así como el número de elementos de datos conforme a ISO-15031-5, se escriben en el búfer Iumprdata08 proporcionado por el DCM; el tamaño de búfer máximo que se puede escribir se especifica mediante el parámetro de entrada/salida Iumprdata08BufferSize ([SWS_Dem_00316]).

Manejo de errores

La función siempre devuelve E_OK como valor de retorno ([SWS_Dem_00316]). Para esta llamada no se especifican códigos de fallo específicos ni mensajes de error de desarrollo (DET).

Concurrencia y configuración

La interfaz no es reentrante (Non Reentrant) y está declarada a través de Dem_Dcm.h ([SWS_Dem_00316]). Solo existe en unidades de control relevantes para OBD con soporte OBD activo (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) ([SWS_Dem_00316]) y se proporciona cuando DemOBDEngineType está configurado a DEM_IGNITION_SPARK para motores de gasolina ([SWS_Dem_00357]).

Interacción

Los códigos de fallo suprimidos (suppressed DTCs) no deben ser visibles durante la consulta y deben tratarse como si el filtro no coincidiera ([SWS_Dem_01101]). Junto con Dem_DcmGetInfoTypeValue0B, la función sirve para admitir solicitudes de datos en el Service $09 ([SWS_Dem_00298]).

Esta nota de uso se generó automáticamente sobre la base de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I2)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: dde27ef1779b Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso e interfaz de parámetros

La función síncrona Dem_DcmGetInfoTypeValue0B (Service-ID 0x6c, disponible a través de Dem_Dcm.h) sirve al DCM para consultar datos de IUMPR (In-Use Performance Ratio) conforme a InfoType $0B en el marco del OBD-Service $09 [SWS_Dem_00317] [SWS_Dem_00298]. La interfaz de la función se deriva del prototipo de DCM <Module>_GetInfotypeValueData(), motivo por el cual utiliza Dcm_OpStatusType y Std_ReturnType [SWS_Dem_00317]:

  • OpStatus (in): Dado que la función presenta un comportamiento síncrono, en la llamada solo se produce el estado DCM_INITIAL [SWS_Dem_00317].
  • Iumprdata0BBufferSize (inout): Define el número máximo de bytes de datos que se pueden escribir en el búfer [SWS_Dem_00317].
  • Iumprdata0B (out): Un búfer proporcionado por el DCM que aloja el número de elementos de datos conforme a ISO-15031-5 y el contenido del InfoType $0B [SWS_Dem_00317].

Como valor de retorno siempre se suministra E_OK [SWS_Dem_00317].

Tratamiento de errores y concurrencia

En la especificación no se definen códigos de fallo específicos ni reacciones a fallos (como notificaciones DET) para esta función; formalmente, la llamada siempre notifica E_OK como retorno [SWS_Dem_00317]. La API está clasificada como no reentrante (Non Reentrant) [SWS_Dem_00317]. Por lo tanto, es de suponer que el llamante (DCM) no puede ejecutar este servicio de forma concurrente para varias solicitudes de diagnóstico en paralelo. Pregunta Q-636518c23ec3801a (abierta)

Dependencia de configuración e interacción

La API existe exclusivamente en unidades de control relevantes para OBD para las cuales el parámetro de configuración DemOBDSupport está configurado como distinto de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00317]. Además, se proporciona cuando DemOBDEngineType está ajustado a DEM_IGNITION_COMPRESSION [SWS_Dem_00358]. En interacción con la supresión de DTC, aplica que los DTC suprimidos son invisibles para esta función de consulta y deben tratarse como si el filtro no coincidiera [SWS_Dem_01101].

Este texto ha sido creado por una IA; las directrices exigen la comprobación por parte del usuario mediante la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I2)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6941d67caf4d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfPID01 sirve para transferir al DCM el contenido del parámetro OBD PID $01 calculado por el DEM [SWS_Dem_00318]. La interfaz está declarada en el archivo de cabecera Dem_Dcm.h y está disponible exclusivamente en unidades de control relevantes para OBD en las que DemOBDSupport no esté ajustado a DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00318].

A través del parámetro de salida PID01value, el DCM transfiere un puntero al búfer de destino en el cual el DEM escribe los datos [SWS_Dem_00318]. El DCM es responsable de proporcionar este búfer con un tamaño suficiente; el dimensionamiento se efectúa durante la configuración a partir del PID más grande que se presente para la configuración del PIDBuffer [SWS_Dem_00318].

La función se implementa como no reentrante (Non Reentrant) [SWS_Dem_00318]. Como valor de retorno se entrega siempre E_OK, ya que, según la especificación, nunca se produce una condición de error con E_NOT_OK [SWS_Dem_00318].

En la interacción con las consultas de errores rige que los códigos de error suprimidos (suppressed DTC) no deben ser visibles para Dem_DcmReadDataOfPID01 [SWS_Dem_01101]. El DEM debe tratar los DTC suprimidos en la evaluación como si el filtro no coincidiera [SWS_Dem_01101].

Nota: Esta documentación ha sido generada automáticamente por un sistema de IA sobre la base de la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1c7eda1b0fc3 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función Dem_DcmReadDataOfPID1C proporciona un servicio síncrono del Diagnostic Event Manager a través del cual el Diagnostic Communication Module (DCM) consulta el contenido calculado de OBD PID $1C [SWS_Dem_00325].

  • Parámetro: a través del parámetro de salida PID1Cvalue (puntero a uint8), el DEM escribe los datos en un búfer del DCM. El tamaño de búfer requerido se dimensiona durante la configuración del DCM en función del PID más grande para proporcionar un PIDBuffer adecuado [SWS_Dem_00325].
  • Valor de retorno: el servicio siempre devuelve el valor de estado E_OK. Un caso de error con E_NOT_OK nunca se produce según la especificación [SWS_Dem_00325].

Contenido técnico e interacción

Conforme a [SWS_Dem_00748], la interfaz devuelve los requisitos de OBD según los cuales está certificado el vehículo o el motor (por ejemplo, OBD, OBDII o JOBD). El valor que se debe emitir en PID1Cvalue se define mediante el parámetro de configuración DemOBDCompliancy [SWS_Dem_00325] [SWS_Dem_00748].

Concurrencia y disponibilidad

La función está especificada como no reentrante (Non Reentrant) [SWS_Dem_00325]. Está declarada en el archivo de cabecera Dem_Dcm.h y se encuentra disponible exclusivamente en unidades de control con soporte OBD activo en las que DemGeneral.DemOBDSupport no está ajustado a DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00325].

Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2dc814aaf11d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfPID21 (Service-ID 0x64) sirve al Diagnostic Communication Manager (DCM) para consultar el valor actual del parámetro OBD PID $21 calculado por el DEM [SWS_Dem_00319], [SWS_Dem_01098]. La interfaz se declara mediante la cabecera Dem_Dcm.h y solo está disponible en unidades de control con relevancia OBD, siempre que el parámetro de configuración DemOBDSupport no esté ajustado a DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00319].

Para el uso y la interacción operativa se aplican las siguientes estipulaciones:

  • Provisión del búfer: como parámetro de salida se transfiere el puntero PID21value [SWS_Dem_00319]. El llamante (DCM) debe proporcionar este búfer y lo dimensiona durante la configuración para que se ajuste al PID configurado más grande [SWS_Dem_00319]. Al llamarse, el DEM escribe el valor actual de PID $21 en este búfer [SWS_Dem_01098].
  • Valor de retorno: la función siempre devuelve E_OK, ya que, según la especificación, nunca se produce un valor de error como E_NOT_OK [SWS_Dem_00319].
  • Estado inicial / Tratamiento de errores: si se llama a Dem_DcmReadDataOfPID21 antes de que se hayan establecido valores a través de Dem_SetDataOfPID21, el DEM devuelve el valor sustitutivo 0xFFFF como contenido de PID $21 [SWS_Dem_01099].
  • Concurrencia: la función está especificada como no reentrante (Non Reentrant) [SWS_Dem_00319]. Por lo tanto, no se admiten llamadas concurrentes procedentes de múltiples contextos.

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: aa9161844e39 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfPID30 sirve para transferir al DCM el contenido de datos del parámetro PID $30 calculado por el DEM [SWS_Dem_00320]. Se declara a través del archivo de cabecera Dem_Dcm.h y solo está disponible en unidades de control relevantes para OBD cuando el parámetro de configuración DemOBDSupport es distinto de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00320].

Para el uso de la interfaz se aplican las siguientes estipulaciones:

  • Parámetro de transferencia: a través del parámetro de salida PID30value, el llamante proporciona un búfer en el que el DEM escribe los datos calculados de PID $30 [SWS_Dem_00320]. El DCM es responsable de proporcionar este búfer con un tamaño adecuado; el DCM determina el dimensionamiento durante la configuración en función del PID más grande [SWS_Dem_00320].
  • Valor de retorno y tratamiento de errores: la interfaz siempre devuelve E_OK como Std_ReturnType [SWS_Dem_00320]. Según la especificación, el valor de error E_NOT_OK nunca se produce, y no se prevén códigos de fallo específicos ni rutinas de tratamiento de errores separadas [SWS_Dem_00320].
  • Concurrencia: la función está definida como no reentrante (Non Reentrant) [SWS_Dem_00320]. Dado que la especificación no prevé mecanismos de sincronización internos, es de suponer que el llamante es responsable de excluir llamadas concurrentes [SWS_Dem_00320]. Pregunta Q-976bc8dc189021a1 (abierta)

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR Classic R20-11.

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: cfc8a8d1c498 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfPID31 sirve para transferir al DCM el valor del parámetro OBD PID $31 calculado por el DEM [SWS_Dem_00321]. La interfaz se proporciona a través del archivo de cabecera Dem_Dcm.h y posee el Service-ID 0x66 [SWS_Dem_00321].

Uso y parámetros

La llamada se realiza de forma síncrona y está definida como no reentrante [SWS_Dem_00321]:

  • PID31value (parámetro de salida): puntero a un búfer (uint8*) que aloja los datos calculados para PID $31 [SWS_Dem_00321]. La provisión del búfer con el tamaño adecuado corresponde al DCM llamante; este determina el tamaño de búfer requerido durante la configuración en función del PID más grande para el diseño de un PIDBuffer [SWS_Dem_00321].
  • Valor de retorno: el servicio siempre devuelve E_OK como Std_ReturnType; el valor de error E_NOT_OK nunca se produce según la especificación [SWS_Dem_00321].

Restricciones y configuración

La API está prevista exclusivamente para unidades de control relevantes para OBD [SWS_Dem_00321]. Solo está disponible si el parámetro de configuración DemGeneral.DemOBDSupport está ajustado al valor DEM_OBD_MASTER_ECU [SWS_Dem_00321]. Dado que la función no es reentrante, el DCM no debe realizar llamadas paralelas [SWS_Dem_00321].

Esta nota de uso se ha generado de forma automatizada y se basa exclusivamente en los datos de especificación de la release R20-11.

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 18b86d10b784 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfPID41 sirve para transferir al DCM el contenido de PID $41 calculado por el DEM [SWS_Dem_00322]. Se declara a través de la cabecera Dem_Dcm.h y posee el Service-ID 0x67 [SWS_Dem_00322].

Uso y parámetros

La llamada se realiza de forma síncrona y está especificada como no reentrante (Non Reentrant) [SWS_Dem_00322]. Como parámetro de salida, la interfaz espera el puntero PID41value (uint8*):

  • PID41value aloja los datos calculados de PID $41 [SWS_Dem_00322].
  • El búfer debe ser proporcionado por el DCM con el tamaño adecuado; para ello, el DCM determina ya durante la configuración el tamaño necesario para la configuración del PIDBuffer en función del PID más grande que se presente [SWS_Dem_00322].

Valores de retorno y tratamiento de errores

Como valor de retorno, la función siempre devuelve E_OK, ya que, según la especificación, nunca se produce un valor de error E_NOT_OK [SWS_Dem_00322]. Para esta interfaz no están previstos códigos de fallo específicos ni reacciones a fallos [SWS_Dem_00322].

Dependencia de configuración y disponibilidad

La API solo se necesita en unidades de control relevantes para OBD [SWS_Dem_00322]. Solo está disponible si el parámetro de configuración DemOBDSupport en DemGeneral está configurado como distinto de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00322].

Este texto ha sido creado por una IA y se fundamenta exclusivamente en la especificación R20-11.

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0df731691150 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función síncrona Dem_DcmReadDataOfPID4D sirve para transmitir al DCM el valor del parámetro OBD PID $4D calculado por el DEM [SWS_Dem_00323]. El servicio se proporciona a través de la cabecera Dem_Dcm.h con el Service-ID 0x68 [SWS_Dem_00323].

Como único parámetro de transferencia sirve el puntero de salida PID4Dvalue, el cual apunta a un búfer de destino proporcionado por el DCM [SWS_Dem_00323]. El DCM proporciona este búfer con un tamaño adecuado determinando ya durante la configuración el tamaño requerido para el PIDBuffer en función del PID más grande que se presente [SWS_Dem_00323].

Valores de retorno y tratamiento de errores

La función tiene el tipo de retorno Std_ReturnType y devuelve sin excepción E_OK [SWS_Dem_00323]. Un valor de retorno de E_NOT_OK queda excluido según la especificación y nunca se produce [SWS_Dem_00323]. No existen tratamientos de error particulares ni códigos de fallo específicos para esta llamada.

Concurrencia y dependencia de la configuración

La interfaz está declarada como no reentrante (Non Reentrant) y, por lo tanto, no debe ejecutarse de forma concurrente [SWS_Dem_00323].

Además, la función solo se requiere en unidades de control relevantes para OBD [SWS_Dem_00323]. Solo está disponible cuando, en la configuración, el parámetro DemOBDSupport dentro de DemGeneral está ajustado al valor DEM_OBD_MASTER_ECU [SWS_Dem_00323].

Esta nota de uso se basa en la especificación del Diagnostic Event Manager en AUTOSAR CP R20-11.

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 51321ea5857b Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfPID4E sirve para transmitir al DCM el contenido del identificador de parámetro OBD PID $4E calculado por el DEM [SWS_Dem_00324]. La función posee el Service-ID 0x69 y se declara a través del archivo de cabecera Dem_Dcm.h [SWS_Dem_00324].

Llamada y gestión del búfer

La llamada se realiza de forma síncrona y está definida como no reentrante (Non Reentrant) [SWS_Dem_00324]. Como parámetro de salida, la función recibe el puntero PID4Evalue (tipo uint8*), a través del cual el DEM almacena los datos calculados [SWS_Dem_00324]. Para ello, el DCM llamante debe proporcionar un búfer con un tamaño adecuado [SWS_Dem_00324]. El DCM determina el tamaño de búfer requerido durante la configuración en función del PID más grande que se presente, a fin de dimensionar adecuadamente el PIDBuffer común [SWS_Dem_00324].

Valores de retorno y tratamiento de errores

La interfaz siempre devuelve E_OK del tipo Std_ReturnType, ya que, según la especificación, el valor de retorno E_NOT_OK nunca se produce [SWS_Dem_00324]. En el alcance de la especificación no se indican códigos de fallo específicos para un caso de error ni notificaciones de error DET o DEM [SWS_Dem_00324].

Restricciones y disponibilidad

La API solo se necesita en unidades de control relevantes para OBD [SWS_Dem_00324]. Su disponibilidad está ligada a la condición de configuración DemGeneral.DemOBDSupport == DEM_OBD_MASTER_ECU; en otras configuraciones, la función no está disponible [SWS_Dem_00324].

Este texto ha sido creado por una IA; no sustituye el estudio de la especificación de AUTOSAR.

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b21962c6ebc5 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfPID91 (identificador de servicio 0x6a) sirve para transferir los datos del parámetro OBD PID $91 calculados por el DEM al DCM [SWS_Dem_01187]. La interfaz se declara a través de la cabecera Dem_Dcm.h y está disponible exclusivamente en unidades de control relevantes para OBD en las que DemOBDSupport no esté configurado como DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_01187].

Como parámetro de salida, la función requiere el puntero PID91value, que apunta a un búfer proporcionado por el DCM [SWS_Dem_01187]. El DCM es responsable de proporcionar este búfer con un tamaño adecuado; el tamaño necesario ya se determina durante la configuración basándose en el PID más grande para crear el búfer PIDBuffer [SWS_Dem_01187].

La función está especificada como no reentrante (Non Reentrant) y debe procesarse de forma síncrona [SWS_Dem_01187]. Por lo tanto, no se permite una llamada paralela desde diferentes contextos. No existe ningún valor de retorno de error: la función devuelve siempre E_OK como Std_ReturnType, ya que el valor de error E_NOT_OK nunca se produce según la especificación [SWS_Dem_01187].

Esta nota de uso se generó automáticamente y se basa exclusivamente en los datos de especificación de AUTOSAR Classic R20-11.

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f57c1c183634 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_DcmReadDataOfOBDFreezeFrame lee datos de un elemento de datos correspondiente a un PID para el Freeze Frame más importante que está seleccionado para la emisión del OBD-Service $02 [SWS_Dem_00327].

Contexto de llamada y parámetros

La llamada es realizada por el DCM a través del encabezado Dem_Dcm.h [SWS_Dem_00327]. A la función se le pasan los siguientes parámetros:

  • PID: Identificador del PID según ISO 15031-5 [SWS_Dem_00327].
  • DataElementIndexOfPID: Índice correlativo de base cero del elemento de datos dentro del PID. El orden se deriva directamente de la posición de los elementos de datos en el diseño del PID de la configuración del DCM [SWS_Dem_00327], [SWS_Dem_00597].
  • DestBuffer: Puntero al búfer en el que se escribe el elemento de datos en formato raw hexadecimal sin información de encabezado [SWS_Dem_00327].
  • BufSize: Sirve como parámetro de entrada y salida; al llamar contiene la capacidad máxima del búfer y devuelve la cantidad de bytes de datos efectivamente escritos [SWS_Dem_00327].

Restricciones y tratamiento de errores

La función no es reentrante (Non Reentrant) y está disponible exclusivamente en unidades de control con soporte OBD habilitado (DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00327]. En caso de una puesta a disposición de datos correcta se devuelve E_OK; de lo contrario, E_NOT_OK [SWS_Dem_00327]. Un DTC suprimido no es visible para esta función de consulta [SWS_Dem_01101]; presumiblemente, la función devuelve E_NOT_OK en tal caso. Pregunta Q-09c77cdccc138247 (abierta)

Este texto fue elaborado por una IA; el documento vinculante es la especificación de referencia.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f96309635c05 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y no reentrante Dem_DcmGetDTCOfOBDFreezeFrame lee el DTC correspondiente a un número de registro de freeze frame determinado [SWS_Dem_00624]. Sirve primordialmente al DCM para la salida en el marco del servicio OBD $02 (PID $02), con el fin de determinar el DTC del freeze frame seleccionado más relevante [SWS_Dem_00623].

Invocación y parámetros

  • FrameNumber (IN): identificador unívoco del registro de freeze frame según ISO 15031-5. El valor 0x00 designa el freeze frame de OBD completo; los demás valores están reservados [SWS_Dem_00624].
  • DTCFormat (IN): formato de salida deseado del valor de DTC [SWS_Dem_00624].
  • DTC (OUT): puntero a la ubicación de memoria para el código de avería determinado en formato OBD [SWS_Dem_00624].

Valores de retorno y tratamiento de errores

La función devuelve E_OK si el DTC se pudo determinar con éxito. Si no hay ningún DTC adecuado disponible, la llamada devuelve E_NOT_OK; en este caso, el parámetro de salida DTC no contiene datos válidos [SWS_Dem_00624].

Condiciones e interacción

La interfaz está disponible a través de la cabecera Dem_Dcm.h y existe exclusivamente en unidades de control con compatibilidad con OBD (configuración DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT) [SWS_Dem_00624]. La función trata los DTC suprimidos (suppressed DTCs) como si no hubiera ninguna coincidencia y no son visibles para esta consulta [SWS_Dem_01101].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5b769d67b0cc Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y reentrante Dem_DcmGetAvailableOBDMIDs (Service ID 0xa3) es invocada por el DCM para leer, en el marco de una solicitud del servicio OBD $06, el valor de un OBDMID de disponibilidad solicitado [SWS_Dem_00766]. A través del parámetro de entrada Obdmid (tipo uint8), el llamador transfiere un identificador de disponibilidad estandarizado como $00, $20 o $40. El DEM devuelve los identificadores de prueba soportados como información codificada en bits mediante el puntero de salida de 32 bits Obdmidvalue [SWS_Dem_00766]. A partir de estos datos, el comprobador de diagnóstico deduce qué comprobaciones se muestran al personal de taller para su selección [SWS_Dem_00766].

La función se declara a través de la cabecera Dem_Dcm.h. Está prevista exclusivamente para unidades de control relevantes para OBD y solo está disponible en el módulo si la opción de configuración DemGeneral.DemOBDSupport está configurada de forma distinta a DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00766].

En caso de transmisión sin errores de la disponibilidad de DTR, la interfaz devuelve E_OK [SWS_Dem_00766]. Si se invoca la función antes de que el DEM se haya inicializado por completo o después de que se haya apagado, se aplica el código de error DEM_E_UNINIT [SWS_Dem_00173]. Asimismo, las llamadas con puntero no válido (DEM_E_PARAM_POINTER) o con valores de parámetros erróneos (DEM_E_PARAM_DATA) provocan errores de desarrollo conforme a [SWS_Dem_00173]. En tales casos de error es de suponer que probablemente se entregue E_NOT_OK como valor de retorno. Pregunta Q-b42d268116fb8df7 (abierta)

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 49e6e35927e4 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y reentrante Dem_DcmGetNumTIDsOfOBDMID (ID de servicio 0xa4) se declara mediante el archivo de encabezado Dem_Dcm.h [SWS_Dem_00767]. Sirve para que el Diagnostic Communication Manager (DCM) consulte, bajo petición, el número de identificadores de prueba (TIDs) asignados a un OBDMID funcional especificado [SWS_Dem_00761].

Al llamar, el DCM pasa el identificador del OBDMID en cuestión en el parámetro de entrada Obdmid y recibe el número de TIDs asignados a través del puntero numberOfTIDs [SWS_Dem_00767]. Este valor de salida le sirve al DCM como límite superior para un bucle de conteo de 0 a numberOfTIDs - 1, en el cual posteriormente se consultan de forma secuencial a través de Dem_DcmGetDTRData los valores individuales de resultados de DTR, resultados de pruebas y valores límite [SWS_Dem_00761] [SWS_Dem_00768].

La función devuelve el valor de retorno E_OK si el número de TIDs pudo determinarse correctamente, y E_NOT_OK si la consulta falla [SWS_Dem_00767]. En la especificación no se indican de forma diferenciada errores de desarrollo (DET) específicos ni causas detalladas de error para el caso de fallo.

La llamada está prevista exclusivamente para unidades de control relevantes para OBD. La interfaz solo está disponible en el DEM si el parámetro de configuración DemOBDSupport no está configurado en DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00767].

Esta nota de uso ha sido generada por una IA y se basa exclusivamente en los documentos de especificación de AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 18535af5aa7f Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y reentrante Dem_DcmGetDTRData sirve para que el Diagnostic Communication Manager (DCM) consulte datos DTR (Diagnostic Test Results), incluidos el valor de TID, el UaSID y el resultado de prueba actual con límite inferior y superior [SWS_Dem_00768]. Está disponible exclusivamente en unidades de control con soporte OBD cuando DemOBDSupport != DEM_OBD_NO_OBD_SUPPORT está configurado [SWS_Dem_00768].

Uso e interacción

El DCM llama a la función para consultar los datos DTR disponibles para un Obdmid determinado y un TIDindex [SWS_Dem_00762]. La consulta se realiza típicamente de forma iterativa a través del índice TIDindex desde 0 hasta numberOfTIDs - 1, determinándose previamente el número total mediante Dem_DcmGetNumTIDsOfOBDMID() [SWS_Dem_00768], [SWS_Dem_00762]. A través de los parámetros de salida TIDvalue, UaSID, Testvalue, Lowlimvalue y Upplimvalue se proporcionan los valores para la respuesta del tester [SWS_Dem_00768].

Tratamiento de errores y condiciones límite

La función devuelve E_OK en caso de determinación correcta de los resultados DTR y E_NOT_OK en caso de error [SWS_Dem_00768]. Se produce un error, en particular, si el evento de diagnóstico referenciado no está disponible:

  • Si un evento está establecido como no disponible, se trata como un evento no configurado y Dem_DcmGetDTRData falla [SWS_Dem_01108].
  • Si la función se invoca para un DTR cuyo evento referenciado mediante DemDtrEventRef está configurado con DemEventAvailable == FALSE, el DEM devuelve obligatoriamente E_NOT_OK [SWS_Dem_01336]. En este caso, todos los parámetros de salida quedan indefinidos [SWS_Dem_01336].

Esta nota de uso ha sido generada automáticamente sobre la base de los requisitos de la especificación.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: fedc82312f61 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función síncrona Dem_J1939DcmSetDTCFilter (Service-ID 0x90, declarada en Dem_J1939Dcm.h) establece los atributos de máscara de filtro para la selección de DTC de J1939 para un nodo J1939 direccionado a través de ClientId [SWS_Dem_00970], [SWS_Dem_00855]. Como criterios de filtrado sirven el filtro de estado DTCStatusFilter (valores posibles: DEM_J1939DTC_ACTIVE, DEM_J1939DTC_PREVIOUSLY_ACTIVE, DEM_J1939DTC_PENDING, DEM_J1939DTC_PERMANENT o DEM_J1939DTC_CURRENTLY_ACTIVE), el grupo funcional DTCKind, así como la memoria de origen DTCOrigin [SWS_Dem_00970]. A través del parámetro de salida LampStatus, la llamada devuelve el estado combinado actual de las lámparas de los DTC filtrados [SWS_Dem_00970], [SWS_Dem_00857]. Además, se restablece un contador interno al primer evento correspondiente [SWS_Dem_00855]. Interpretación: el llamador de la interfaz probablemente sea el módulo J1939Dcm con el fin de preparar operaciones de lectura de diagnóstico. Pregunta Q-5f25345851de686f (abierta)

Tratamiento de errores y valores de retorno

Como valor de retorno, la función proporciona E_OK en caso de configuración correcta del filtro o E_NOT_OK si el filtro no se ha podido establecer [SWS_Dem_00970]. Los DTC suprimidos no quedan incluidos en el filtrado y se tratan como si el criterio de filtro no se cumpliera; permanecen invisibles para las consultas [SWS_Dem_01101].

Concurrencia y restricciones

La función es reentrante para diferentes valores de ClientId, pero no es reentrante para el mismo ClientId [SWS_Dem_00970]. Por lo tanto, deben evitarse las llamadas concurrentes de filtrado sobre la misma memoria de eventos de J1939.

Interacción

El establecimiento del filtro constituye la base para el procesamiento posterior:

Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I2)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 79d994fe5d97 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función [SWS_Dem_00972] determina de forma asíncrona la cantidad de DTC J1939 que se corresponden con los criterios de filtrado definidos previamente con Dem_J1939DcmSetDTCFilter en la memoria de eventos primaria del ClientId transferido ([SWS_Dem_00874]). Es necesaria una llamada previa a Dem_J1939DcmSetDTCFilter, ya que esta establece los atributos de máscara de filtrado y restablece el contador interno al primer evento ([SWS_Dem_00855]).

El resultado del recuento se proporciona a través del parámetro de salida NumberOfFilteredDTC. Para el flujo y los valores de retorno se aplican las siguientes reglas:

  • Éxito: Tan pronto como se ha determinado por completo el número total de DTC correspondientes, la función devuelve E_OK ([SWS_Dem_00874]).
  • Interrupción: Si el proceso de búsqueda debe interrumpirse debido a limitaciones internas, la función devuelve DEM_PENDING. En este caso, el parámetro de salida no tiene por qué ser válido todavía; una llamada posterior continuará con la determinación tras el elemento interrumpido ([SWS_Dem_00874]).
  • Códigos de error: La especificación prevé además los valores de estado DEM_NO_SUCH_ELEMENT y DEM_BUFFER_TOO_SMALL ([SWS_Dem_00972]).

En cuanto a la visibilidad, [SWS_Dem_01101] determina que los fallos suprimidos (suppressed DTCs) deben tratarse como si el criterio de filtrado no coincidiera. La función está definida como no reentrante ([SWS_Dem_00972]), por lo que deben evitarse las llamadas simultáneas.

Esta nota de uso ha sido elaborada por una IA y resume los aspectos fundamentales de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función Dem_J1939DcmGetNextFilteredDTC [SWS_Dem_00973] 📄 PDF

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

Gets the next filtered J1939 DTC.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c6cbd3422fd3 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función asíncrona y no reentrante Dem_J1939DcmGetNextFilteredDTC (ID de servicio 0x92) lee el siguiente DTC J1939 filtrado desde la memoria de eventos J1939 direccionada a través de ClientId [SWS_Dem_00973]. Está declarada a través del encabezado Dem_J1939Dcm.h [SWS_Dem_00973].

Si la función encuentra un evento que cumple con el criterio de filtrado, devuelve E_OK y proporciona a través de los parámetros de salida el J1939DTC correspondiente así como el OccurenceCounter asociado [SWS_Dem_00877], [SWS_Dem_00973]. Si el contador de ocurrencias es superior a 126 (0x7E), el valor devuelto se limita de forma fija a 126 (0x7E) [SWS_Dem_00877].

Si el proceso de búsqueda debe interrumpirse debido a limitaciones internas o detalles de implementación, la función devuelve DEM_PENDING [SWS_Dem_00877], [SWS_Dem_00973]. En este caso, los parámetros de salida no contienen datos válidos; la siguiente llamada continúa la búsqueda directamente después del elemento interrumpido [SWS_Dem_00877]. Si no hay más elementos coincidentes disponibles, el valor devuelto es DEM_NO_SUCH_ELEMENT; si el búfer es demasiado pequeño, se notifica DEM_BUFFER_TOO_SMALL [SWS_Dem_00973].

Los eventos de diagnóstico suprimidos (suppressed DTCs) no son visibles para la función de consulta; Dem_J1939DcmGetNextFilteredDTC los trata como si el criterio de filtrado no coincidiera [SWS_Dem_01101].

Este texto fue generado automáticamente por una IA y no sustituye a la especificación oficial de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 7183056cd60e Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La interfaz síncrona Dem_J1939DcmFirstDTCwithLampStatus inicializa el filtrado al primer Diagnostic Trouble Code (DTC) coincidente para la respuesta DM31 de un nodo específico [SWS_Dem_00974]. Como único parámetro de entrada sirve ClientId del tipo uint8, con el que se direcciona la memoria de eventos J1939 correspondiente [SWS_Dem_00974]. La función no posee parámetros de entrada ni de salida y no devuelve ningún valor de retorno (void) [SWS_Dem_00974]. Está declarada a través del archivo de cabecera Dem_J1939Dcm.h con el identificador de servicio 0x93 [SWS_Dem_00974]. Interpretación: Es de suponer que la función es llamada principalmente por el módulo J1939Dcm para inicializar el filtrado antes de la transmisión de los mensajes de estado de lámparas DM31. Pregunta Q-064513be4f06584b (abierta)

Lógica de filtrado e interacción

Cada llamada a la función restablece el contador interno al primer evento al que se le ha asignado un J1939DTC para el ClientId especificado [SWS_Dem_00880]. Con respecto al estado de los eventos de diagnóstico, la especificación establece que un DTC suprimido (suppressed DTC) debe permanecer invisible para las funciones de consulta de DCM [SWS_Dem_01101]. En consecuencia, Dem_J1939DcmFirstDTCwithLampStatus trata los DTC suprimidos como si el criterio de filtrado no se cumpliera [SWS_Dem_01101].

Concurrencia y restricciones

En cuanto al comportamiento de concurrencia, la interfaz es reentrante para llamadas con diferentes valores de ClientId, pero no es reentrante para el mismo valor de ClientId [SWS_Dem_00974]. Por lo tanto, no se permiten consultas paralelas a través de identificadores de cliente idénticos a la misma memoria de eventos J1939.

Este texto fue generado automáticamente por un asistente de curación por IA.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 48ed4a1205b0 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función Dem_J1939DcmGetNextDTCwithLampStatus se ejecuta de forma síncrona y no es reentrante ([SWS_Dem_00975]). Sirve, en el marco de la comunicación de diagnóstico J1939 (DM31), para consultar de forma iterativa el siguiente DTC J1939 filtrado junto con el estado de lámpara correspondiente y el contador de eventos (OccurenceCounter) desde la memoria de eventos direccionada a través de ClientId ([SWS_Dem_00975]). La iteración presupone que la memoria de eventos se haya preparado previamente mediante Dem_J1939DcmFirstDTCwithLampStatus ([SWS_Dem_00881]).

Flujo y valores de retorno

Cada llamada busca en la memoria el siguiente evento con DTC J1939 asignado ([SWS_Dem_00881]). Los DTC suprimidos (suppressed DTC) se tratan como eventos no coincidentes y se omiten ([SWS_Dem_01101]).

  • E_OK: Se encontró un evento coincidente. Los parámetros LampStatus, J1939DTC y OccurenceCounter contienen valores válidos ([SWS_Dem_00882]). Interpretación: La condición DEM_FILTERED_OK mencionada en la especificación de parámetros probablemente se refiera a E_OK, ya que DEM_FILTERED_OK no está declarado como valor de retorno para esta función ([SWS_Dem_00975]). Pregunta Q-5284fb30b98babf6 (abierta)
  • DEM_PENDING: La búsqueda interna tuvo que interrumpirse debido a límites de implementación. Los parámetros de salida no contienen datos válidos y la siguiente llamada continuará la búsqueda tras el elemento interrumpido ([SWS_Dem_00882]).
  • DEM_NO_SUCH_ELEMENT: No hay más eventos coincidentes presentes en la memoria; los parámetros de salida no son válidos ([SWS_Dem_00881]).
  • DEM_BUFFER_TOO_SMALL: El búfer transferido es demasiado pequeño ([SWS_Dem_00975]).

Estado de las lámparas y rango de valores

Para la determinación del estado de las lámparas, el DEM comprueba el bit 7 de estado UDS (WarningIndicator), así como la respectiva referencia de indicador: la Malfunction Indicator Lamp ([SWS_Dem_00883]), la Red Stop Lamp ([SWS_Dem_00887]) y la Amber Warning Lamp ([SWS_Dem_00891]) se establecen respectivamente en Lamp On si el bit está activo y la referencia está asignada; en caso contrario, valen Lamp Off. El OccurenceCounter se limita exactamente a 126 en caso de valores de contador superiores a 126 (0x7F) ([SWS_Dem_00882]).

Esta nota de uso se generó de forma automatizada sobre la base de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función 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).

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: cb1db17652c2 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función Dem_J1939DcmClearDTC ([SWS_Dem_00976]) se proporciona al módulo J1939Dcm a través del encabezado Dem_J1939Dcm.h para borrar de la memoria de eventos todos los códigos de diagnóstico de fallas (DTC) activos o previamente activos ([SWS_Dem_00878]). La llamada opera de forma asíncrona. Como parámetros de entrada, la interfaz espera el tipo de filtro DTCTypeFilter para determinar los DTC que se van a borrar, DTCOrigin para la selección de la memoria de origen, así como la ClientId para direccionar la memoria de eventos de J1939.

Tratamiento de errores y valores de retorno

El resultado de la ejecución se señaliza a través del tipo de retorno Std_ReturnType:

  • E_OK: El proceso de eliminación se completó con éxito.
  • DEM_PENDING: La limpieza está en curso; la entidad llamante debe volver a llamar a la función en un momento posterior.
  • DEM_CLEAR_BUSY: Otro cliente está ejecutando simultáneamente una operación de borrado; la operación no se inicia y debe repetirse más tarde.
  • DEM_WRONG_DTC: El DTC seleccionado no existe en el formato elegido o el borrado está restringido a grupos por configuración.
  • DEM_WRONG_DTCORIGIN: La memoria de origen indicada no existe.
  • DEM_CLEAR_FAILED o DEM_CLEAR_MEMORY_ERROR: El borrado falló o se produjo un error al borrar un área de memoria (p. ej., en caso de borrado incompleto de la memoria no volátil).

Concurrencia y restricciones

Según [SWS_Dem_00976], la función es reentrante para diferentes Client-ID, pero no reentrante para la misma ClientId. Por lo tanto, no se permiten llamadas de borrado paralelas mediante clientes idénticos.

Interacción

Según [SWS_Dem_00879], el borrado restablece el estado de todos los eventos afectados y elimina las entradas correspondientes de la memoria de eventos. Además, según [SWS_Dem_00878], el proceso de borrado inicia una reinicialización de las SW-C y los módulos BSW afectados de acuerdo con [SWS_Dem_00003].

Este texto se generó automáticamente a partir de la especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ee201d0b0970 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_J1939DcmSetFreezeFrameFilter sirve para establecer el filtro de Freeze Frame para un nodo específico a través de la cabecera Dem_J1939Dcm.h [SWS_Dem_00977]. Configura los atributos de máscara de filtrado para consultas posteriores mediante Dem_J1939DcmGetNextFreezeFrame y restablece con ello un contador interno al primer Freeze Frame [SWS_Dem_00899].

Parámetros y valores de retorno

  • FreezeFrameKind: Determina el tipo de filtro [SWS_Dem_00977]. Los tipos disponibles son DEM_J1939DCM_FREEZEFRAME (filtrado de los datos en DemJ1939FreezeFrameClassRef), DEM_J1939DCM_EXPANDED_FREEZEFRAME (filtrado de los datos en DemJ1939ExpandedFreezeFrameClassRef) así como DEM_J1939DCM_SPNS_IN_EXPANDED_FREEZEFRAME ([SWS_Dem_00977], [SWS_Dem_00899]).
  • ClientId: Transfiere el identificador para direccionar la memoria de eventos J1939 [SWS_Dem_00977].
  • Valor de retorno: Devuelve E_OK en caso de ejecución correcta o E_NOT_OK si no se pudo establecer el filtro [SWS_Dem_00977].

Concurrencia y validez

En cuanto a la concurrencia, la función es reentrante para distintos valores de ClientId, pero no es reentrante para valores idénticos de ClientId [SWS_Dem_00977]. Los atributos de máscara de filtrado configurados permanecen vigentes tras la llamada hasta que se realice una nueva llamada a Dem_J1939DcmSetFreezeFrameFilter o se vuelva a inicializar el módulo DEM [SWS_Dem_00899].

Este texto fue generado por una IA a partir de la especificación.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0611ff42285c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función asíncrona y no reentrante Dem_J1939DcmGetNextFreezeFrame lee datos Freeze Frame paso a paso para una memoria de eventos específica [SWS_Dem_00978]. La iteración se orienta según los criterios de filtrado FreezeFrameKind y ClientId previamente establecidos a través de Dem_J1939DcmSetFreezeFrameFilter [SWS_Dem_00900]. Los datos útiles se copian en el búfer DestBuffer (en el caso de Expanded Freeze Frames sin información de SPN y con bits no utilizados rellenados con 0), mientras que BufSize transfiere el tamaño del búfer y devuelve la cantidad de bytes realmente escrita [SWS_Dem_00978], [SWS_Dem_00903]. Además, la llamada proporciona el J1939DTC correspondiente, así como el OccurenceCounter, el cual se limita a 0x7F para valores superiores a 126 [SWS_Dem_00903].

Valores de retorno y tratamiento de errores

Los valores devueltos controlan el flujo de la iteración:

  • E_OK: Se encontró y transmitió un registro con éxito [SWS_Dem_00978], [SWS_Dem_00903]. La mención de DEM_FILTERED_OK en la descripción de los parámetros probablemente deba entenderse como un sinónimo editorial de E_OK. Pregunta Q-e941066640c694b9 (abierta)
  • DEM_NO_SUCH_ELEMENT: No existen más registros que correspondan a los criterios de filtrado [SWS_Dem_00900].
  • DEM_PENDING: La búsqueda interna fue interrumpida; la llamada siguiente continúa la búsqueda en el punto interrumpido [SWS_Dem_00902].
  • DEM_BUFFER_TOO_SMALL o DEM_FILTERED_BUFFER_TOO_SMALL: El búfer no es suficiente; la operación se cancela sin transferir datos [SWS_Dem_00978], [SWS_Dem_00903].

Si se transfiere un tipo de filtro no compatible, la función notifica el error DET DEM_E_WRONG_CONDITION; exclusivamente son válidos DEM_J1939DCM_FREEZEFRAME y DEM_J1939DCM_EXPANDED_FREEZEFRAME [SWS_Dem_00901]. Siempre que el valor de retorno sea distinto de éxito, los parámetros de salida no contienen datos válidos [SWS_Dem_00978], [SWS_Dem_00900], [SWS_Dem_00902], [SWS_Dem_00903].

Restricciones e interacción

La consulta ignora los DTC suprimidos y los trata como criterios de filtrado no coincidentes [SWS_Dem_01101].

Esta nota de uso se generó de manera automatizada y se basa exclusivamente en la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función Dem_J1939DcmGetNextSPNInFreezeFrame [SWS_Dem_00979] 📄 PDF

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

Gets next SPN.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 92b02fdbb0d3 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función Dem_J1939DcmGetNextSPNInFreezeFrame lee paso a paso el siguiente SPN (Suspect Parameter Number) del Freeze Frame ampliado ([SWS_Dem_00979]). Cada llamada itera al siguiente elemento de la definición de SPN para la memoria de eventos direccionada a través de ClientId ([SWS_Dem_00904]). En caso de localización correcta, la llamada devuelve E_OK, así como el SPN encontrado a través de SPNSupported y su longitud de datos a través de SPNDataLength ([SWS_Dem_00979], [SWS_Dem_00907]).

Procesamiento asíncrono y valores de retorno

La operación está especificada como asíncrona ([SWS_Dem_00979]). Si el proceso de búsqueda debe interrumpirse debido a limitaciones internas, la función devuelve DEM_PENDING; en este caso, los parámetros de salida no son obligatoriamente válidos y la llamada siguiente continúa la búsqueda en el punto interrumpido ([SWS_Dem_00905]). Si no hay más SPN presentes en la definición, se notifica DEM_NO_SUCH_ELEMENT, por lo que los parámetros de salida tampoco tienen que ser válidos obligatoriamente ([SWS_Dem_00904]). Si el búfer proporcionado es insuficiente, la interfaz notifica DEM_BUFFER_TOO_SMALL ([SWS_Dem_00979]).

Tratamiento de errores y concurrencia

Si se solicita un tipo de Freeze Frame no admitido, el módulo desencadena el error DET DEM_E_WRONG_CONDITION; exclusivamente Dem_SPNsInExpandedFreezeFrame es válido ([SWS_Dem_00906]). Dado que la función está definida como no reentrante ([SWS_Dem_00979]), no debe ser llamada de forma concurrente para el mismo contexto. El archivo de cabecera Dem_J1939Dcm.h proporciona la interfaz ([SWS_Dem_00979]).

Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 618098c9083d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_J1939DcmSetRatioFilter establece el filtro de ratios para un nodo J1939 específico e inicializa el filtrado de relaciones IUMPR según [SWS_Dem_00980]. Para ello, restablece un contador interno al primer SPN válido con DemRatioId definida, a fin de preparar la consulta posterior paso a paso a través de Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00912].

A través de los parámetros de salida, la función proporciona valores de contador de nivel superior:

  • IgnitionCycleCounter: Proporciona el contador de ciclos de encendido según SAE J1939-73 (capítulo 5.7.20.1) [SWS_Dem_00912].
  • OBDMonitoringConditionsEncountered: Proporciona el contador de condiciones de monitorización OBD ocurridas según SAE J1939-73 (capítulo 5.7.20.2), definido por CARB como General Denominator [SWS_Dem_00912].
  • ClientId: Identifica al cliente llamante para direccionar la memoria de eventos J1939 [SWS_Dem_00980].

En cuanto a la concurrencia, la función es reentrante para diferentes valores de ClientId, pero no es reentrante para el mismo ClientId [SWS_Dem_00980]. Interpretación: La llamada normalmente debería producirse de manera síncrona desde el flujo del J1939-Diagnostic-Communication-Manager (J1939Dcm) para consultar datos de diagnóstico IUMPR. Pregunta Q-e577651b88f64132 (abierta) Si el filtro se establece con éxito, la función devuelve E_OK; si el establecimiento falla, se notifica E_NOT_OK [SWS_Dem_00980].

En la interacción con eventos de diagnóstico, se aplica que los DTC suprimidos no deben ser visibles para funciones de consulta como Dem_J1939DcmSetRatioFilter y deben tratarse como si el filtro no coincidiera [SWS_Dem_01101].

Esta nota de uso se generó automáticamente a partir de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función Dem_J1939DcmGetNextFilteredRatio [SWS_Dem_00981] 📄 PDF

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

Gets the next filtered Ratio.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a599c5bc4d30 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función síncrona y no reentrante Dem_J1939DcmGetNextFilteredRatio ([SWS_Dem_00981]) sirve para la lectura iterativa de la siguiente relación (Ratio) IUMPR filtrada. A través del parámetro ClientId se direcciona la memoria de eventos J1939 correspondiente. En caso de llamada correcta, la función entrega a través de los parámetros de salida SPN, Numerator y Denominator el Suspect Parameter Number, así como el numerador y el denominador del monitor del sistema aplicable ([SWS_Dem_00981]).

Secuencia e interacción

Para una iteración correcta, el filtro debe inicializarse previamente a través de Dem_J1939DcmSetRatioFilter ([SWS_Dem_00912]). Esta llamada restablece un contador interno al primer SPN válido con DemRatioId definida, sobre el cual se basan las llamadas subsiguientes a Dem_J1939DcmGetNextFilteredRatio. Un DTC suprimido no es visible para la consulta y se trata como si el filtro no coincidiera ([SWS_Dem_01101]).

Valores de retorno y tratamiento de errores

Según [SWS_Dem_00981], se definen los siguientes valores de retorno:

  • E_OK: La operación se realizó con éxito. Solo en este caso SPN, Numerator y Denominator contienen datos válidos (la mención de DEM_FILTERED_OK en la descripción de parámetros probablemente representa una interpretación de E_OK). Pregunta Q-57774bbc88fe3c0b (abierta)
  • DEM_NO_SUCH_ELEMENT: No hay más elementos coincidentes disponibles.
  • DEM_PENDING: La operación se realizó con éxito, pero el resultado aún está pendiente.
  • DEM_BUFFER_TOO_SMALL: El búfer transferido es demasiado pequeño.

concurrencia

Dado que la función está declarada como no reentrante ([SWS_Dem_00981]), no debe ser llamada de forma concurrente para el mismo ClientId.

Este texto ha sido generado por una IA y sirve como guía orientativa. Las especificaciones de AUTOSAR referenciadas son determinantes.

Guía del implementador pendiente (complejidad I1)

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 42bfb79acbf8 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La interfaz síncrona Dem_J1939DcmReadDiagnosticReadiness1 (incluida en el estándar clásico bajo Dem_J1939DcmReadDiagnosticReadiness) sirve para consultar el valor de Diagnostic Readiness 1 (DM05) calculado por el Diagnostic Event Manager [SWS_Dem_00982]. Está declarada a través del archivo de cabecera Dem_J1939Dcm.h y posee el Service ID 0x9b [SWS_Dem_00982].

Uso y parámetros

La llamada se realiza de forma síncrona y utiliza los siguientes parámetros de función [SWS_Dem_00982]:

  • ClientId (IN, uint8): Identifica la memoria de eventos J1939 (J1939 event memory) que se va a direccionar [SWS_Dem_00982].
  • DataValue (OUT, puntero a Dem_J1939DcmDiagnosticReadiness1Type): Apunta a un búfer de 8 bytes de tamaño en el que el DEM escribe el contenido calculado de Diagnostic Readiness 1 (DM05) [SWS_Dem_00982].

Valores de retorno y tratamiento de errores

La función devuelve un estado del tipo Std_ReturnType [SWS_Dem_00982]:

  • E_OK: El servicio se ejecutó con éxito y los datos de readiness se guardaron en el búfer de salida [SWS_Dem_00982].
  • E_NOT_OK: La operación ha fallado [SWS_Dem_00982]. En la especificación de la función no se detallan códigos de error específicos, eventos DEM ni mensajes DET [SWS_Dem_00982].

Concurrencia y restricciones

En cuanto al acceso simultáneo, el servicio está especificado como reentrante para diferentes ClientId, pero definido expresamente como no reentrante para el mismo ClientId [SWS_Dem_00982].

Esta nota de uso se generó automáticamente a partir de datos de especificación de AUTOSAR R20-11.

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: da1e3ecb89af Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona Dem_J1939DcmReadDiagnosticReadiness2 (Service ID 0x9c) sirve para consultar el valor de Diagnostic Readiness 2 (DM21) calculado por el DEM [SWS_Dem_00983]. La interfaz se pone a disposición a través del archivo de cabecera Dem_J1939Dcm.h [SWS_Dem_00983].

Para la llamada se definen dos parámetros [SWS_Dem_00983]:

  • ClientId (entrada): direcciona la memoria de eventos J1939 correspondiente [SWS_Dem_00983].
  • DataValue (salida): puntero a un búfer de 8 bytes de tipo Dem_J1939DcmDiagnosticReadiness2Type para recibir los datos DM21 calculados [SWS_Dem_00983].

Como valor de retorno, la función proporciona Std_ReturnType; si la consulta se realiza correctamente, se devuelve E_OK, mientras que en caso de error se notifica E_NOT_OK [SWS_Dem_00983]. No se especifican por separado causas de error específicas; con E_NOT_OK, el llamador probablemente deba asumir que el búfer no contiene datos válidos. Pregunta Q-97b94d15a8634712 (abierta)

En cuanto a la concurrencia, el servicio es reentrante para diferentes valores de ClientId, pero no es reentrante para la misma ClientId [SWS_Dem_00983]. Por lo tanto, las llamadas simultáneas para la misma ClientId deben serializarse en el contexto llamador.

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: cb06cae402da Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El servicio Dem_J1939DcmReadDiagnosticReadiness (especificado en la signatura como Dem_J1939DcmReadDiagnosticReadiness3) sirve para la lectura síncrona de los datos de Diagnostic Readiness 3 (DM26) determinados por el DEM [SWS_Dem_00770]. La declaración se proporciona a través del archivo de cabecera Dem_J1939Dcm.h [SWS_Dem_00770]. A juzgar por el nombre de la interfaz, la llamada debería realizarse principalmente a través del módulo J1939Dcm. Pregunta Q-dc204541dfc23d6b (abierta)

La interfaz espera dos parámetros [SWS_Dem_00770]:

  • ClientId (in): Direcciona la respectiva memoria de eventos J1939 [SWS_Dem_00770].
  • DataValue (out): Puntero a un búfer de 8 bytes del tipo Dem_J1939DcmDiagnosticReadiness3Type para recibir los datos DM26 calculados [SWS_Dem_00770].

Como valor de retorno, la función devuelve E_OK si la operación se realizó con éxito, o E_NOT_OK en caso de error durante la ejecución [SWS_Dem_00770].

En cuanto a la concurrencia, la función es reentrante para distintos valores de ClientId, pero no es reentrante para valores idénticos de ClientId [SWS_Dem_00770]. Por lo tanto, el llamador debe excluir o sincronizar las llamadas paralelas para el mismo cliente.

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

función 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)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8fa8b5c52739 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función síncrona Dem_RepIUMPRFaultDetect sirve para notificar que un monitor OBD ha cumplido todas las condiciones de ejecución y, por tanto, habría podido detectar posibles fallos [SWS_Dem_00313]. La interfaz se suministra a través de la cabecera Dem.h y está disponible exclusivamente en unidades de control con compatibilidad con OBD, siempre que DemOBDSupport no esté configurado como DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00313], [SWS_Dem_00360].

Como parámetro se transmite el identificador RatioID del tipo Dem_RatioIdType cuando está seleccionada la opción de interfaz «API» [SWS_Dem_00313]. En caso de registro correcto del resultado de IUMPR, la función devuelve el estado E_OK [SWS_Dem_00313].

Concurrencia y comportamiento ante errores

En cuanto a la concurrencia, el servicio es reentrante para diferentes identificadores RatioID, pero no reentrante para el mismo valor RatioID [SWS_Dem_00313]. Por consiguiente, el invocador debe evitar llamadas concurrentes con un identificador idéntico.

Si un evento correspondiente se establece como no disponible, el módulo DEM lo trata como si no estuviera configurado en el sistema [SWS_Dem_01108]. Dem_RepIUMPRFaultDetect también se ve explícitamente afectado por esta desactivación [SWS_Dem_01108]; interpretación: en este estado, es probable que la llamada devuelva E_NOT_OK de forma análoga a las demás APIs de estado afectadas. Pregunta Q-6d1775c9bff08f42 (abierta)

Este texto ha sido generado por una IA basándose en la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función 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)

función 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)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 22348b6c2b61 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona y reentrante Dem_RepIUMPRDenRelease sirve para habilitar el denominador de un monitor específico por razones físicas, tales como alcanzar determinadas condiciones de temperatura o una actividad mínima [SWS_Dem_00315]. El DEM proporciona esta interfaz para componentes de software (SW-C) relevantes para IUMPR a fin de controlar de manera específica el denominador perteneciente al RatioID correspondiente [SWS_Dem_00308].

La provisión y el comportamiento de la función están sujetos a condiciones fijas de configuración y tiempo de ejecución:

  • Disponibilidad y configuración: la API está disponible exclusivamente en unidades de control relevantes para OBD cuando DemOBDSupport está configurado como distinto de DEM_OBD_NO_OBD_SUPPORT [SWS_Dem_00315]. Además, la interfaz para la habilitación en condiciones especiales se suministra en caso de que DemIUMPRDenGroup esté configurado como DEM_IUMPR_DEN_PHYS_API [SWS_Dem_00362].
  • Parámetros y valores de retorno: como parámetro de entrada se transmite el identificador RatioID. La función devuelve E_OK si el estado del denominador IUMPR se notificó con éxito; en caso contrario, devuelve E_NOT_OK [SWS_Dem_00315].
  • Comportamiento ante errores con eventos inactivos: si un evento correspondiente se establece como no disponible, se trata como si no estuviera configurado en el sistema; la invocación de Dem_RepIUMPRDenRelease se ve directamente afectada por ello y devuelve E_NOT_OK [SWS_Dem_01108].

Gracias al diseño reentrante, la función puede invocarse de forma concurrente desde diferentes contextos de SW-C en caso necesario [SWS_Dem_00315].

Este texto ha sido generado por una IA y no sustituye a la especificación vinculante de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función 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)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 047a07d76a94 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función síncrona Dem_SetPtoStatus ([SWS_Dem_00627]) sirve para establecer el estado de la toma de fuerza (Power Take-Off, PTO) en el Diagnostic Event Manager (DEM). La interfaz está declarada en el encabezado Dem.h y posee el ID de servicio 0x79 ([SWS_Dem_00627]).

  • Parámetros: El parámetro de entrada PtoStatus (tipo boolean) pasa el estado de la toma de fuerza, donde TRUE representa activo y FALSE inactivo ([SWS_Dem_00627]). No existen parámetros de entrada/salida ni parámetros de salida.
  • Valor de retorno: El tipo de retorno es Std_ReturnType. La función devuelve E_OK si el DEM ha adoptado el nuevo estado de la PTO, y E_NOT_OK en todos los demás casos ([SWS_Dem_00627]).

Concurrencia y restricciones

La función opera de forma síncrona y está especificada como no reentrante (Non Reentrant) ([SWS_Dem_00627]).

Contexto del sistema y configuración

La interfaz se requiere exclusivamente en unidades de control relevantes para OBD ([SWS_Dem_00627]). Solo está disponible si el parámetro de configuración DemGeneral.DemOBDSupport no está establecido en DEM_OBD_NO_OBD_SUPPORT ([SWS_Dem_00627]).

Este texto ha sido generado por una IA y se basa en las especificaciones del módulo DEM en AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función 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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 24f93781d796 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y parámetros

La función síncrona Dem_ReadDataOfPID01 (identificador de servicio 0xb3) sirve para consultar el valor del PID $01 calculado por el Diagnostic Event Manager (DEM) [SWS_Dem_01167]. La interfaz se proporciona a través de la cabecera Dem.h [SWS_Dem_01167]. Como parámetro de salida, la función espera PID01value, que se pasa como un puntero a un búfer [SWS_Dem_01167]. La aplicación llamante debe obligatoriamente asignar y proporcionar este búfer con un tamaño fijo de 4 bytes para recibir los datos calculados [SWS_Dem_01167].

Tratamiento de errores y valores de retorno

Como tipo de retorno, la interfaz proporciona formalmente Std_ReturnType, pero devuelve E_OK sin excepción según la especificación [SWS_Dem_01167]. El valor de error E_NOT_OK nunca se produce [SWS_Dem_01167]. Para esta interfaz no se especifican códigos de error específicos ni mensajes al DET o DEM [SWS_Dem_01167].

Concurrencia y restricciones

La función está especificada como no reentrante (Non Reentrant) [SWS_Dem_01167]. Por lo tanto, los llamantes deben asegurarse de que no se produzcan llamadas simultáneas. Además, la API está limitada funcionalmente y solo se requiere en unidades de control con relevancia OBD [SWS_Dem_01167].

Esta nota de uso ha sido generada automáticamente sobre la base de la especificación AUTOSAR R20-11.

función 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)

función 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)

función 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)

función 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)

función 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)

función 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)

función 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.

función Dem_GetDTCSeverityAvailabilityMask [SWS_Dem_01168] 📄 PDF

Std_ReturnType Dem_GetDTCSeverityAvailabilityMask (uint8 ClientId, Dem_DTCSeverityType* DTCSeverityMask);

Gets the DTC Severity availability mask.

función 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)

función 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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d0c8e2a4847f Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El Diagnostic Event Manager (DEM) llama a la función de callback Dem_CallbackEventSyncStorageProcessed de forma síncrona tan pronto como concluye el procesamiento interno de Dem_SetEventFailedWithSyncFreezeFrame ([SWS_Dem_91042]). Informa al componente llamador de que el DEM puede procesar otra llamada a Dem_SetEventFailedWithSyncFreezeFrame para el mismo ID de evento ([SWS_Dem_91042]).

Para el uso y la integración se aplican las siguientes propiedades de interfaz y ejecución:

  • Parámetros y valor de retorno: la interfaz no tiene parámetros de entrada, de salida ni de entrada/salida ([SWS_Dem_91042]). El tipo de retorno es Std_ReturnType, donde, por razones de compatibilidad con la RTE, únicamente es admisible y se proporciona el valor de retorno E_OK ([SWS_Dem_91042]).
  • Concurrencia: la función está especificada como reentrante ([SWS_Dem_91042]).
  • Tratamiento de errores: no se prevén códigos de error específicos ni mensajes al seguimiento de errores de desarrollo (DET) ([SWS_Dem_91042]).

En cuanto a la interacción y la configuración, existe un requisito fijo: Dem_CallbackEventSyncStorageProcessed solo debe configurarse para eventos de diagnóstico cuyo parámetro DemEventReportingType esté ajustado a IMMEDIATE_FAIL_AND_SYNCHRONOUS_PROCESSING ([SWS_Dem_01356]). Además, en la release R20-11 el elemento está anotado con el estado draft ([SWS_Dem_91042], [SWS_Dem_01356]).

Esta nota de uso ha sido generada automáticamente sobre la base de los requisitos de la especificación.

Guía del implementador pendiente (complejidad I2)

función Dem_MainFunction [SWS_Dem_00266] 📄 PDF

void Dem_MainFunction (void);

Processes all not event based Dem internal functions.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0be629ee3c44 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función básica Dem_MainFunction posee la firma void Dem_MainFunction(void) con el Service-ID 0x55 y se proporciona a través del archivo de cabecera SchM_Dem.h ([SWS_Dem_00266]). No recibe parámetros, no devuelve ningún valor de retorno y sirve para ejecutar todos los procesos internos no basados en eventos del módulo DEM ([SWS_Dem_00266], [SWS_Dem_00125]).

Para el contexto de llamada y el tratamiento de errores rigen excepciones particulares en el ciclo de vida del módulo: si la detección de desarrollo DemDevErrorDetect está configurada en TRUE, la llamada a interfaces regulares del DEM antes de la inicialización completa provoca la notificación del error DEM_E_UNINIT; sin embargo, Dem_MainFunction está expresamente exenta de esta generación de errores ([SWS_Dem_00124]). De la misma manera, tras la llamada a Dem_Shutdown, la función está exenta de la notificación de error DEM_E_UNINIT hasta que se vuelva a llamar a Dem_Init ([SWS_Dem_00368]).

En interacción con la memoria de fallos, la función controla de forma determinante la adquisición y el almacenamiento en búfer de los datos de diagnóstico:

  • Si DemEnvironmentDataCapture está configurado en DEM_CAPTURE_ASYNCHRONOUS_TO_REPORTING (referido a DemPrimaryMemory o DemUserDefinedMemory), los datos de Freeze Frame específicos del evento ([SWS_Dem_00461]) y los registros de datos extendidos ([SWS_Dem_01081]) deben adquirirse a más tardar en el siguiente ciclo de Dem_MainFunction.
  • Si DemEnvironmentDataCapture está ajustado a DEM_CAPTURE_SYNCHRONOUS_TO_REPORTING, el módulo DEM pone en cola los datos de entorno hasta la siguiente llamada de Dem_MainFunction ([SWS_Dem_01083]). El módulo almacena en búfer al menos la cantidad configurada conforme a DemMaxNumberEventEntryEventBuffer; si la cola está llena, los datos se adquieren durante el procesamiento de eventos dentro de Dem_MainFunction ([SWS_Dem_01083]).

Esta nota de uso se generó automáticamente sobre la base de la especificación AUTOSAR Classic Release R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Dem_ComponentIdType [SWS_Dem_01114] 📄 PDF

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

tipo Dem_ConfigType [SWS_Dem_00924] 📄 PDF

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

tipo Dem_DTCRequestType [SWS_Dem_00935] 📄 PDF

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 760d1343beae Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y rango de valores

El tipo de datos Dem_DTCRequestType se deriva de uint8 y está disponible mediante el encabezado Dem.h [SWS_Dem_00935]. Sirve para solicitar un Diagnostic Trouble Code (DTC) según atributos temporales específicos [SWS_Dem_00935].

El rango de valores permitido comprende los siguientes valores de enumeración [SWS_Dem_00935]:

  • DEM_FIRST_FAILED_DTC (0x01): Solicita el DTC que cronológicamente falló en primer lugar.
  • DEM_MOST_RECENT_FAILED_DTC (0x02): Solicita el último DTC que falló.
  • DEM_FIRST_DET_CONFIRMED_DTC (0x03): Solicita el DTC detectado primero como confirmado.
  • DEM_MOST_REC_DET_CONFIRMED_DTC (0x04): Solicita el último DTC detectado como confirmado.

Interacción, concurrencia y tratamiento de errores

El tipo se pasa como parámetro de entrada DTCRequest de la función síncrona Dem_GetDTCByOccurrenceTime [SWS_Dem_00218]. Mediante este parámetro se define según qué criterio debe consultarse el DTC [SWS_Dem_00218]. El resultado se devuelve en formato UDS a través del parámetro de salida DTC [SWS_Dem_00218].

La interfaz es reentrante para diferentes llamadores mediante distintos valores de ClientId, pero no es reentrante para el mismo ClientId [SWS_Dem_00218]. Los valores de retorno posibles son E_OK en caso de consulta correcta, E_NOT_OK en caso de errores y DEM_NO_SUCH_ELEMENT si no hay ninguna entrada coincidente almacenada [SWS_Dem_00218]. Si el resultado de la función difiere de DEM_OCCURR_OK, el parámetro DTC no contiene datos válidos [SWS_Dem_00218].

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR CP R20-11.

tipo Dem_J1939DcmDTCStatusFilterType [SWS_Dem_00945] 📄 PDF

The type to distinguish which DTCs should be filtered.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 92ccd2ad8a5a Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y rango de valores

El tipo Dem_J1939DcmDTCStatusFilterType es un tipo enumerado basado en uint8 proporcionado mediante el archivo de encabezado Dem.h [SWS_Dem_00945]. Sirve para definir según qué estado J1939 deben diferenciarse y seleccionarse los códigos de diagnóstico de fallas (DTCs) en las operaciones de filtrado [SWS_Dem_00945].

Se especifican los siguientes valores de filtro de estado:

  • DEM_J1939DTC_ACTIVE (0): Filtra por códigos de falla activos [SWS_Dem_00945].
  • DEM_J1939DTC_PREVIOUSLY_ACTIVE (1): Filtra por códigos de falla previamente activos [SWS_Dem_00945].
  • DEM_J1939DTC_PENDING (2): Filtra por códigos de falla pendientes [SWS_Dem_00945].
  • DEM_J1939DTC_PERMANENT (3): Filtra por códigos de falla permanentes [SWS_Dem_00945].
  • DEM_J1939DTC_CURRENTLY_ACTIVE (4): Filtra por códigos de falla actualmente activos [SWS_Dem_00945].

Interacción y contexto de llamada

El tipo de filtro se utiliza como parámetro de transferencia DTCStatusFilter en la interfaz Dem_J1939DcmSetDTCFilter [SWS_Dem_00970]. La función opera de forma síncrona y ajusta el filtro teniendo en cuenta la categoría de fallas (DTCKind), el origen de la memoria (DTCOrigin) y el respectivo ClientId para la memoria de eventos J1939 [SWS_Dem_00970]. A modo de interpretación, la llamada suele proceder típicamente del administrador de comunicación de diagnóstico para J1939. Pregunta Q-898d508b7b341ef8 (abierta)

Concurrencia y tratamiento de errores

El servicio Dem_J1939DcmSetDTCFilter es reentrante para distintos valores de ClientId, pero explícitamente no reentrante para el mismo ClientId [SWS_Dem_00970]. El servicio confirma una configuración de filtrado exitosa con el valor de retorno E_OK [SWS_Dem_00970].

Este texto fue elaborado por una IA basándose en los documentos de especificación.

Guía del implementador pendiente (complejidad I1)

tipo Dem_J1939DcmLampStatusType [SWS_Dem_00948] 📄 PDF

For details refer SAE J1939-73

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 92989a7111ae Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de estructura Dem_J1939DcmLampStatusType está declarado según [SWS_Dem_00948] en Dem.h y sirve para adquirir el estado de las lámparas J1939 según SAE J1939-73. La estructura de datos agrupa dos informaciones de estado como elementos uint8: LampStatus para el estado actual de la lámpara y FlashLampStatus para el comportamiento de parpadeo asociado.

En el filtrado de DTCs J1939 del Diagnostic Event Manager, el tipo actúa como parámetro de salida de tipo puntero en dos interfaces síncronas:

  • A través de Dem_J1939DcmSetDTCFilter ([SWS_Dem_00970]), al inicializar el filtro de DTC para una memoria de eventos J1939 específica (direccionada mediante ClientId), se consulta el estado inicial de las lámparas.
  • A través de Dem_J1939DcmGetNextDTCwithLampStatus ([SWS_Dem_00975]), la estructura se llena de forma iterativa con el estado de lámpara correspondiente para cada entrada coincidente de la memoria de fallas.

En el tratamiento de errores es obligatorio tener en cuenta que, según [SWS_Dem_00975], Dem_J1939DcmGetNextDTCwithLampStatus solo escribe valores válidos en el parámetro de salida si el valor de retorno de la función es DEM_FILTERED_OK. Si la llamada proporciona un valor de retorno diferente, la estructura no contendrá datos válidos.

En cuanto a la concurrencia y las condiciones de llamada, la estructura no posee protección interna propia. La reentrancia se rige según el contexto de llamada correspondiente: Dem_J1939DcmSetDTCFilter es reentrante para diferentes IDs de cliente, pero no es reentrante para el mismo ClientId ([SWS_Dem_00970]). La consulta iterativa a través de Dem_J1939DcmGetNextDTCwithLampStatus está especificada como completamente no reentrante ([SWS_Dem_00975]).

Este texto fue generado por una IA y se basa en las especificaciones del release R20-11 de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo 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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a760cec9362d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La estructura Dem_J1939DcmDiagnosticReadiness1Type representa todos los elementos de datos del mensaje de diagnóstico J1939 DM05 y está definida en el archivo de encabezado Dem.h según [SWS_Dem_00949]. La codificación de los campos se realiza conforme a SAE J1939-73 [SWS_Dem_00949].

La estructura comprende ocho campos de datos del tipo uint8, que en conjunto constituyen un búfer de 8 bytes para la preparación de diagnóstico 1 (Diagnostic Readiness 1) [SWS_Dem_00949], [SWS_Dem_00982]:

  • ActiveTroubleCodes: Cantidad de DTCs activos [SWS_Dem_00949].
  • PreviouslyActiveDiagnosticTroubleCodes: Cantidad de DTCs previamente activos [SWS_Dem_00949].
  • OBDCompliance: Conformidad OBD [SWS_Dem_00949].
  • ContinuouslyMonitoredSystemsSupport_Status: Soporte y estado de sistemas monitorizados continuamente [SWS_Dem_00949].
  • NonContinuouslyMonitoredSystemsSupport5 y NonContinuouslyMonitoredSystemsSupport6: Soporte de sistemas monitorizados de forma no continua (bytes 5 y 6) [SWS_Dem_00949].
  • NonContinuouslyMonitoredSystemsStatus7 y NonContinuouslyMonitoredSystemsStatus8: Estado de sistemas monitorizados de forma no continua (bytes 7 y 8) [SWS_Dem_00949].

La interacción primaria tiene lugar con la API síncrona Dem_J1939DcmReadDiagnosticReadiness1 (disponible a través de Dem_J1939Dcm.h) [SWS_Dem_00982]. Los llamadores pasan un puntero a una instancia de Dem_J1939DcmDiagnosticReadiness1Type mediante el parámetro de salida DataValue junto con la ClientId respectiva para la memoria de eventos J1939 [SWS_Dem_00982].

Respecto a la concurrencia y al tratamiento de errores en el acceso de lectura: la función consultora devuelve E_OK en caso de cálculo y provisión correctos de los valores DM05 por parte del DEM, así como E_NOT_OK en caso de error [SWS_Dem_00982]. El acceso es reentrante para distintos valores de ClientId, pero no reentrante para la misma ClientId [SWS_Dem_00982]. Por lo tanto, probablemente sea necesario proteger las instancias de este tipo frente a llamadas simultáneas en el contexto del mismo cliente. Pregunta Q-7613ded1aa18fd2b (abierta)

Este texto fue creado por una IA. Las referencias provienen exclusivamente de las especificaciones de la versión R20-11.

tipo 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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4e1cd28c8cba Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de estructura Dem_J1939DcmDiagnosticReadiness2Type representa los elementos de datos del mensaje de diagnóstico DM21 (Diagnostic Readiness 2) según SAE J1939-73 y se declara mediante el archivo de encabezado Dem.h [SWS_Dem_00950]. La estructura agrupa cuatro contadores de 16 bits (uint16) en un búfer de 8 bytes [SWS_Dem_00950], [SWS_Dem_00983]:

  • DistanceTraveledWhileMILisActivated: Distancia acumulada en kilómetros con el indicador de mal funcionamiento (MIL) activado [SWS_Dem_00950].
  • DistanceSinceDTCsCleared: Distancia acumulada desde el restablecimiento de códigos de diagnóstico de fallas (DTCs) relacionados con emisiones [SWS_Dem_00950].
  • MinutesRunbyEngineWhileMILisActivated: Tiempo acumulado de funcionamiento del motor en minutos con MIL activa [SWS_Dem_00950].
  • TimeSinceDiagnosticTroubleCodesCleared: Tiempo acumulado de funcionamiento del motor desde el borrado de DTCs relacionados con emisiones [SWS_Dem_00950].

Este tipo se utiliza como búfer de salida DataValue del servicio síncrono Dem_J1939DcmReadDiagnosticReadiness2, definido en Dem_J1939Dcm.h [SWS_Dem_00983]. Al realizar la llamada, el J1939-DCM pasa un ClientId para direccionar la memoria de eventos específica en el DEM [SWS_Dem_00983]. La función determina los valores actuales de los contadores y confirma la provisión exitosa con el valor de retorno E_OK o bien señala errores con E_NOT_OK [SWS_Dem_00983].

En cuanto a la concurrencia, el servicio de lectura es reentrante para valores de ClientId diferentes, pero no reentrante para valores de ClientId idénticos [SWS_Dem_00983].

Esta nota de uso fue generada automáticamente por una IA. Todas las afirmaciones se basan exclusivamente en el alcance de las especificaciones proporcionadas de AUTOSAR R20-11.

tipo 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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b4812c5890e8 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de estructura Dem_J1939DcmDiagnosticReadiness3Type representa, según [SWS_Dem_00951], todos los elementos de datos del mensaje de diagnóstico DM26 (Diagnostic Readiness 3). La codificación de los campos contenidos se rige con carácter vinculante según SAE J1939-73 [SWS_Dem_00951].

La estructura comprende un búfer de datos de 8 bytes y se compone de los siguientes campos individuales [SWS_Dem_00951]:

  • TimeSinceEngineStart (uint16): Tiempo de funcionamiento del motor desde la activación del encendido.
  • NumberofWarmupsSinceDTCsCleared (uint8): Número de ciclos de calentamiento OBD desde el borrado de todos los códigos de falla.
  • ContinuouslyMonitoredSystemsEnableCompletedStatus (uint8): Estado de habilitación y de finalización de sistemas monitorizados continuamente.
  • NonContinuouslyMonitoredSystemsEnableStatus5 y NonContinuouslyMonitoredSystemsEnableStatus6 (uint8 cada uno): Estado de habilitación de monitores no continuos en el ciclo actual (bytes 5 y 6).
  • NonContinuouslyMonitoredSystems7 y NonContinuouslyMonitoredSystems8 (uint8 cada uno): Estado de finalización de monitores no continuos en el ciclo actual (bytes 7 y 8).

Uso e interacción: una instancia de este tipo se pasa como parámetro de salida DataValue a la función síncrona Dem_J1939DcmReadDiagnosticReadiness3 [SWS_Dem_00770]. El DEM determina los valores DM26 para la ClientId pasada de la memoria de eventos J1939 y proporciona como valor de retorno E_OK en caso de ejecución exitosa o E_NOT_OK en caso de error [SWS_Dem_00770].

Concurrencia y restricciones: la llamada a la función de lectura es reentrante para distintos valores de ClientId, pero no debe realizarse de forma concurrente para la misma ClientId [SWS_Dem_00770]. Presumiblemente, el módulo J1939Dcm actúa como llamador principal. Pregunta Q-e001ad1880fee789 (abierta) El tipo está declarado en Dem.h [SWS_Dem_00951], mientras que el servicio de lectura correspondiente se proporciona mediante Dem_J1939Dcm.h [SWS_Dem_00770].

Esta nota de uso se basa en las especificaciones de AUTOSAR para el Diagnostic Event Manager.

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

tipo Dem_DebounceResetStatusType [SWS_Dem_00927] 📄 PDF

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2ba3237222eb Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos Dem_DebounceResetStatusType controla el comportamiento de los contadores de desrebote y temporizadores de desrebote internos en el Diagnostic Event Manager [SWS_Dem_00927]. Se define como uint8, está disponible a través del archivo de cabecera Rte_Dem_Type.h y proporciona dos estados de control definidos [SWS_Dem_00927]:

  • DEM_DEBOUNCE_STATUS_FREEZE (0x00): Congela el contador de desrebote o temporizador de desrebote interno del evento direccionado [SWS_Dem_00927].
  • DEM_DEBOUNCE_STATUS_RESET (0x01): Restablece el contador de desrebote o temporizador de desrebote interno [SWS_Dem_00927].

Los valores en el rango de 0x02 a 0xFF están reservados [SWS_Dem_00927]. El tipo se transfiere como parámetro DebounceResetStatus a la función de servicio Dem_ResetEventDebounceStatus() [SWS_Dem_00683]. Esta llamada se realiza de forma síncrona y controla el estado de desrebote interno sin influir directamente en la cualificación del respectivo evento [SWS_Dem_00683].

En cuanto a la concurrencia, Dem_ResetEventDebounceStatus() es reentrante para distintos valores de EventId, pero no debe invocarse de forma concurrente para el mismo EventId [SWS_Dem_00683]. Los módulos BSW pueden utilizar la interfaz tan pronto como se haya completado la inicialización básica Dem_PreInit [SWS_Dem_00683]. Para componentes de software, la puesta a disposición debería efectuarse a través de interfaces específicas de puerto como DiagnosticMonitor, las cuales permiten la modificación de información de eventos [SWS_Dem_00598]. Pregunta Q-32468003718a4933 (abierta) En caso de error, la función llamadora entrega E_NOT_OK, lo que según la especificación solo ocurre en caso de errores de desarrollo [SWS_Dem_00683].

Esta nota de uso ha sido generada automáticamente sobre la base de los requisitos de la especificación.

Guía del implementador pendiente (complejidad I1)

tipo Dem_DTRControlType [SWS_Dem_00941] 📄 PDF

Control parameter for the interpretation of the reported test results.

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

tipo Dem_EventStatusType [SWS_Dem_00926] 📄 PDF

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6d8ec716ce5e Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos Dem_EventStatusType se deriva de uint8 y está disponible a través de la cabecera Rte_Dem_Type.h ([SWS_Dem_00926]). Sirve para que componentes de software (SW-Cs) así como módulos BSW notifiquen los resultados de prueba de un monitor de diagnóstico al DEM ([SWS_Dem_00926], [SWS_Dem_00183]).

El tipo define los siguientes valores de resultado de monitor ([SWS_Dem_00926]):

  • DEM_EVENT_STATUS_PASSED (0x00) y DEM_EVENT_STATUS_FAILED (0x01): Transmisión de resultados de prueba cualificados (aprobado o fallido).
  • DEM_EVENT_STATUS_PREPASSED (0x02) y DEM_EVENT_STATUS_PREFAILED (0x03): Resultados de prueba de monitor provisionales y no cualificados, cuyo antirrebote se realiza internamente en el DEM.
  • DEM_EVENT_STATUS_FDC_THRESHOLD_REACHED (0x04): Dispara el almacenamiento de FreezeFrames y ExtendedDataRecords al alcanzarse el valor de umbral FDC (ON_FDC_THRESHOLD).
  • Los rangos de valores de 0x05 a 0xFF están reservados.

El tipo se utiliza como parámetro de entrada EventStatus en las API de BSW Dem_SetEventStatus() ([SWS_Dem_00183]) y Dem_SetEventStatusWithMonitorData() ([SWS_Dem_91037]), así como a través de las interfaces DiagnosticMonitor ([SWS_Dem_00598]) y DiagnosticMonitor_MonitorData ([SWS_Dem_91038]). La invocación se realiza de forma síncrona o asíncrona ([SWS_Dem_00183], [SWS_Dem_91037]).

Las funciones devuelven Std_ReturnType (E_OK en caso de éxito, E_NOT_OK en caso de errores o rechazo), donde los módulos BSW llamantes pueden ignorar el valor de retorno de Dem_SetEventStatus() ([SWS_Dem_00183]). En cuanto a la concurrencia, las llamadas son reentrantes para diferentes EventId, pero no reentrantes para la misma EventId ([SWS_Dem_00183], [SWS_Dem_91037]). Además, la disponibilidad de las API de destino depende de la configuración del parámetro DemEventReportingType ([SWS_Dem_00183], [SWS_Dem_91037]).

Este texto fue generado por una IA y sirve como guía orientativa. El texto vinculante es la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Dem_InitMonitorReasonType [SWS_Dem_00942] 📄 PDF

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a883663c849a Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y rango de valores

El tipo de datos Dem_InitMonitorReasonType se basa en uint8 y está disponible a través de Rte_Dem_Type.h [SWS_Dem_00942]. Identifica la causa concreta de una (re)inicialización de un monitor de diagnóstico para que este pueda seleccionar y ejecutar la rutina de inicialización correspondiente para el evento afectado [SWS_Dem_00942] [SWS_Dem_00256].

Para el tipo se han definido los siguientes valores [SWS_Dem_00942]:

  • DEM_INIT_MONITOR_CLEAR (0x01): El evento de diagnóstico ha sido borrado; se restablecen todos los valores y estados internos.
  • DEM_INIT_MONITOR_RESTART (0x02): Se ha reiniciado el ciclo de operación del evento.
  • DEM_INIT_MONITOR_REENABLED (0x03): Se han vuelto a habilitar las condiciones de habilitación (Enable Conditions) o los ajustes de DTC.
  • DEM_INIT_MONITOR_STORAGE_REENABLED (0x04): Se ha vuelto a activar una condición de almacenamiento (Storage Condition).

Contexto de llamada e interfaces

El valor se pasa de forma síncrona y reentrante como parámetro de entrada InitMonitorReason a través de la retrollamada C específica del evento <Module>_DemInitMonitorFor<EventName>(), declarada en Dem_Externals.h [SWS_Dem_00256]. Si existe una interfaz de puerto hacia el componente de software, la transferencia se efectúa a la operación InitMonitorForEvent de la interfaz de servicio CallbackInitMonitorForEvent [SWS_Dem_00613].

Tratamiento de errores y valores de retorno

En la retrollamada C, el valor de retorno del tipo Std_ReturnType no se utiliza y sirve únicamente para la compatibilidad con la operación correspondiente de la RTE [SWS_Dem_00256]. Si la interfaz se invoca a través de la RTE, la operación InitMonitorForEvent devuelve los valores de error E_OK (éxito) o E_NOT_OK (fallo) [SWS_Dem_00613]. Para este tipo de datos no se han definido códigos de error propios ni mensajes DET/DEM.

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Dem_IumprDenomCondIdType [SWS_Dem_00943] 📄 PDF

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

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8df8011c88ff Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El tipo Dem_IumprDenomCondStatusType se basa en uint8 y define los posibles estados de una condición de denominador de IUMPR adicional para su distribución entre unidades de control relevantes para OBD [SWS_Dem_00944]. El tipo está disponible a través de Rte_Dem_Type.h y comprende los siguientes valores [SWS_Dem_00944]:

  • DEM_IUMPR_DEN_STATUS_NOT_REACHED (0x00): La condición (aún) no se ha cumplido.
  • DEM_IUMPR_DEN_STATUS_REACHED (0x01): La condición se ha cumplido.
  • DEM_IUMPR_DEN_STATUS_INHIBITED (0x02): La condición está inhibida y no se puede alcanzar.

Los valores en el rango de 0x03 a 0xFF están reservados [SWS_Dem_00944].

Interacción e interfaces de servicio

En el marco de la interfaz de servicio IUMPRDenominatorCondition se transmite el estado para condiciones tales como General Denominator, Cold start, EVAP o 500mi [SWS_Dem_00733] [SWS_Dem_00742]. Existen dos funciones de servicio centrales:

  • Dem_SetIUMPRDenCondition: Transmite el estado de forma síncrona o asíncrona al DEM de una unidad de control a través del parámetro de entrada ConditionStatus [SWS_Dem_00733].
  • Dem_GetIUMPRDenCondition: Consulta el estado de forma síncrona mediante el parámetro de salida de tipo puntero ConditionStatus a la unidad de control en la que se calculan las condiciones [SWS_Dem_00734].

Tratamiento de errores y concurrencia

Ambas funciones están especificadas como reentrantes [SWS_Dem_00733] [SWS_Dem_00734]. En caso de ejecución correcta, las APIs devuelven E_OK; si el establecimiento o la consulta fallan o no se puede aceptar la condición, devuelven E_NOT_OK [SWS_Dem_00733] [SWS_Dem_00734].

Esta nota de uso fue generada automáticamente por una IA sobre la base de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Dem_IndicatorStatusType [SWS_Dem_00930] 📄 PDF

Indicator mode used by Dem_GetIndicatorStatus().

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 05853b91068c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos Dem_IndicatorStatusType se basa en uint8 y se proporciona a través de Rte_Dem_Type.h [SWS_Dem_00930]. Modela los modos de funcionamiento de indicadores de advertencia derivados del estado UDS [SWS_Dem_00205]. El espectro de estados abarca desde DEM_INDICATOR_OFF (0x00) pasando por DEM_INDICATOR_CONTINUOUS (0x01), DEM_INDICATOR_BLINKING (0x02), DEM_INDICATOR_BLINK_CONT (0x03), DEM_INDICATOR_SLOW_FLASH (0x04), DEM_INDICATOR_FAST_FLASH (0x05) y DEM_INDICATOR_ON_DEMAND (0x06) hasta DEM_INDICATOR_SHORT (0x07) [SWS_Dem_00930].

El tipo se utiliza como parámetro de salida en la función C síncrona Dem_GetIndicatorStatus() [SWS_Dem_00205], así como en la operación GetIndicatorStatus del puerto de servicio IndicatorStatus [SWS_Dem_00606]. Para cada indicador configurado, el componente de servicio DEM proporciona un puerto propio, actuando el respectivo IndicatorId como argumento definido por puerto [SWS_Dem_00606]. El componente de software consultador debería utilizar el estado determinado típicamente para controlar instrumentos indicadores ópticos o acústicos. Pregunta Q-6bfabb33805bd0e8 (abierta)

Los llamadores deben tener en cuenta que Dem_GetIndicatorStatus() está especificado como no reentrante (Non Reentrant) [SWS_Dem_00205]. Además, la API de consulta solo está disponible si en la configuración se ha definido al menos un indicador bajo DemIndicator [SWS_Dem_00205]. La operación notifica el estado de ejecución mediante el valor de retorno Std_ReturnType con E_OK en caso de evaluación correcta o E_NOT_OK en caso de error [SWS_Dem_00205][SWS_Dem_00606].

Este texto ha sido generado por una IA y sirve como guía orientativa en el entorno de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo 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#951e175b
Content hash
951e175b
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_DiagnosticEventManager.pdf#nameddest=SWS_Dem_00177

Mapa de temas

Inicialización y estado

2

Vista de detalle

Selecciona una entrada en el índice.

Inicialización y estado

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 función

Initializes or reinitializes this module.

void Dem_Init (const Dem_ConfigType* ConfigPtr);

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

Servicios · 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 función

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

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

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

Servicios · Select…

Dem_SelectDTC función

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

Servicios · Otros

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 función

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 función

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 función

Shuts down this module.

void Dem_Shutdown (void);

Cíclico

Processes all not event based Dem internal functions.

void Dem_MainFunction (void);

Tipos

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.