The Diagnostic Event Manager (DEM) handles and stores the events detected by diagnostic monitors in both Software Components (SW-Cs) and Basic software (BSW) modules. The stored event information is available through an interface to other BSW modules or SW-Cs.
Diagnostic Event is the status (pass/fail) of a system under test for a set of test conditions. If an event gets qualified as failed, it becomes active. If the event gets qualified as passed, it becomes passive. The system/function that monitors these conditions is said to be Diagnostic Monitor or a Diagnostic Function.
There are two types of events:
BSW Events: Reported by basic software using Dem_ReportEventStatus API
SW-C Events: Reported by application using Dem_SetEventStatus API
Events also hold significance level, wherein an event can have a significance to be a “Fault”(classifies a failure) or “Occurrence” (information about insufficient system behavior)
DEM is responsible for event de-bouncing, qualification, confirmation and memory overflow indication.
The event memory management is defined as the process of adding, updating and removing event records in and out of the DEM module. The DEM module determines if the event is new or currently exists in the event memory.
When events occur, DEM is responsible to record data (Freeze Frame) or any specific data related to a fault (Extended Data Record).
Diagnostic Event Manager module manages these events (monitors/reports/stores), communicates with Diagnostic Control Manager for event management and with Function Inhibition Module for event based function control.
The DCM module communicates with the external scan tool to service the request, in turn communicating with DEM to report the DTC or status information.
The DEM module informs and updates the Function Inhibition Manager (FiM) upon changes in the event status in order to stop or release function entities according to assigned dependencies.
The NVRAM Manager provides mechanisms to store data blocks in NVRAM. NVRAM blocks are used by the DEM module to achieve permanent storage of event status information and associated data.