Diagnostic Event Manager

From automotive wiki

Jump to: navigation, search

The Diagnostic Event Manager (Dem) is a Basic Software Module of the Diagnostic Services.

Relevant errors are reported either from Application Layer (resp. SW-C) or Basic Software Modules (BSWM).

  • BSWs report the new status of the event with the Dem_ReportErrorStatus API.
  • SWCs report the new status of the event with the Dem_SetEventStatus API (through the RTE)

The Diagnostic Event Manager (Dem) handles and stores the diagnostic events detected by diagnostic monitors in both Software Components (SW-Cs) and Basic Software Modules (BSWM). The stored event information is available via an interface to other BSW modules or SW-Cs.


AUTOSAR Interface

Standardized AUTOSAR Interface

Dem_SetEventStatus

CallbackEventStatusChange.EventStatusChanged

CallbackEventStatusChange.DTCStatusChanged

C/S DiagnosticMonitor.GetEventStatus connected to the Dem_GetEventStatus function

Standardized Interface

  • Dem_ReportErrorStatus
  • Dem_GetVersionInfo

Containers and configuration parameters

Format: Container / Parameter {Multiplicity; Type; ConfigurationClass; Range}

Description

DemConfigSet

Multiplicity:=1

DemGeneral

Multiplicity:=1

DemGeneral/DemAgingCycleCounterProcessing {1; Enum; Pre; see below}

This configuration switch defines, whether the aging counter is calculated Dem-internally or provided via Dem_SetAgingCycleCounterValue.

DemGeneral/DemBswErrorBufferSize {1, Int; Pre; 0..255}

Maximum number of elements in buffer for handling of BSW errors.

DemGeneral/DemClearDTCBehavior {1, Enum; Pre; see below}

Defines the clearing process of diagnostic information for volatile and non-volatile memory and the positive response handling for the Dcm module.

  • DEM_CLRRESP_NONVOLATILE_FINISH: Return DEM_CLEAR_OK after volatile and non-volatile event memory data cleared.
  • DEM_CLRRESP_NONVOLATILE_TRIGGER: Return DEM_CLEAR_OK after volatile event memory data cleared and non-volatile event memory clearing is triggered
  • DEM_CLRRESP_VOLATILE: Return DEM_CLEAR_OK after volatile event memory data cleared

DemGeneral/DemDTCSuppressionSupport {1, Bool; Pre; 0..1}

This configuration switch defines, whether support for DTC suppression is enabled or not.

  • TRUE: DTC suppression support is enabled
  • FALSE: DTC suppression support is disabled

DemGeneral/DemDebounceCounterBasedSupport {1, Bool; Pre; 0..1}

This configuration switch defines, whether support for counter based debouncing is enabled or not.

  • TRUE: counter based debouncing support is enabled
  • FALSE: counter based debouncing support is disabled

DemGeneral/DemDebounceTimeBasedSupport {1, Bool; Pre; 0..1}

This configuration switch defines, whether support for time based debouncing is enabled or not.

  • TRUE: time based debouncing support is enabled
  • FALSE: time based debouncing support is disabled

DemGeneral/DemDevErrorDetect {1, Bool; Pre; 0..1}

Activate/Deactivate the Development Error Detection and Notification.

  • TRUE: Development Error Detection and Notification activated
  • FALSE: DevelopmentError Detection and Notification deactivated

DemGeneral/DemDtcStatusAvailabilityMask {1, Int; Pre; 0..255}

Mask for the supported DTC status bits by the Dem. This mask is used by UDS service 0x19.

DemGeneral/DemEnableConditionSupport {1, Bool; Pre; 0..1}

This configuration switch defines, whether support for enable conditions is enabled or not.

  • TRUE: support for enable conditions is enabled
  • FALSE: support for enable conditions is disabled

DemGeneral/DemEventCombinationSupport {1, Enum; Pre; see below}

This parameter defines the type of event combination supported by the Dem.

  • DEM_EVCOMB_DISABLED: No event combination supported
  • DEM_EVCOMB_TYPE1: Event combination Type 1 enabled
  • DEM_EVCOMB_TYPE2: Event combination Type 2 enabled

DemGeneral/DemEventDisplacementSupport {1, Bool; Pre; 0..1}

This configuration switch defines, whether support for event displacement is enabled or not.

  • TRUE: event displacement support is enabled
  • FALSE: event displacement support is disabled

DemGeneral/DemExtendedDataCapture {0..1, Enum; Pre; see below}

This parameter defines the point in time, when the extended data collection is done for the initial event memory entry.

  • DEM_TRIGGER_EVENT_MEMORY_STORAGE: Triggers the collection of extended data if the event is stored in fault memory.
  • DEM_TRIGGER_TESTFAILED: Triggers the collection of extended data if the UDS DTC status bit 0 (TestedFailed) changes from 0 to 1.

DemGeneral/DemFreezeFrameCapture {0..1, Enum; Pre; see below}

This parameter defines the point in time, when the freeze frame data collection is done for the initial event memory entry.

  • DEM_TRIGGER_EVENT_MEMORY_STORAGE: Triggers the collection of freeze frame data if the event is stored in fault memory.
  • DEM_TRIGGER_TESTFAILED: Triggers the collection of freeze frame data if the UDS DTC status bit 0 (TestedFailed) changes from 0 to 1.

DemGeneral/DemHeaderFileInclusion {0..*, String; Pre}

Name of the header file(s) to be included by the Dem module containing the used C-callback declarations.

DemGeneral/DemImmediateNvStorageLimit {0..1, Int; Pre; 1..255}

This parameter defines the maximum number of occurrences, a specific event memory entry is allowed, to be stored in NVRAM immediately (refer to DemImmediateNvStorage).

DemGeneral/DemMaxNumberEventEntryMirror {1, Int; Pre; 0..255}

Maximum number of events which can be stored in the mirror memory.

DemGeneral/DemMaxNumberEventEntryPermanent {1, Int; Pre; 0..255}

Maximum number of events which can be stored in the permanent memory. The assignment of an event to this memory type is dynamic and used for emission-related events only.

DemGeneral/DemMaxNumberEventEntryPrimary {1, Int; Pre; 1..255}

Maximum number of events which can be stored in the primary memory.

DemGeneral/DemMaxNumberEventEntrySecondary {1, Int; Pre; 0..255}

Maximum number of events which can be stored in the secondary memory.

DemGeneral/DemMaxNumberPrestoredFF {1, Int; Pre; 0..255}

Defines the maximum number for pre-stored freeze frames. If set to 0, then freeze frame pre-storage is not supported by the ECU.

DemGeneral/DemOBDSupport {1, Bool; Pre; 0..1}

This configuration switch defines whether OBD is supported or not.

DemGeneral/DemOccurrenceCounterProcessing {1, Enum; Pre; see below}

This configuration switch defines the consideration of the fault confirmation process for the occurrence counter. For OBD and mixed systems (OBD/non OBD, refer to DemOBDSupport) the fault confirmation process must not be considered.

  • DEM_PROCESS_OCCCTR_CDTC: the occurrence counter is triggered by the TestFailed bit only, but the fault confirmation is not considered
  • DEM_PROCESS_OCCCTR_TF: the occurrence counter is triggered after the fault confirmation was successful

DemGeneral/DemOperationCycleProcessing {1, Enum; Pre; see below}

This configuration switch defines, whether the operation cycles are triggered by DEM_CYCLE_STATE_START or collecting an external counter value, which results in respective state changes.

DemGeneral/DemOperationCycleStatusStorage {1, Bool; Pre; 0..1}

Defines if the operation cycle state is available over the power cycle (stored non-volatile) or not.

  • TRUE: the operation cycle state is stored non-volatile
  • FALSE: the operation cycle state is only stored volatile

DemGeneral/DemPTOSupport {1, Bool; Pre; 0..1}

This configuration switch defines, whether PTO support (and therefore PID $1E support) is enabled or not.

DemGeneral/DemStatusBitHandlingTestFailedSinceLastClear {1, Enum; Pre; see below}

This configuration switch defines, whether the aging and displacement mechanism shall be applied to the "TestFailedSinceLastClear" status bits.

  • DEM_STATUS_BIT_AGING_AND_DISPLACEMENT: the "TestFailedSinceLastClear" status bits are reset to 0, if aging or displacement applies (like done for the "ConfirmedDTC" status bits)
  • DEM_STATUS_BIT_NORMAL: aging and displacement has no impact on the "TestFailedSinceLastClear" status bits

DemGeneral/DemStatusBitStorageTestFailed {1, Bool; Pre; 0..1}

Activate/Deactivate the permanent storage of the "TestFailed" status bits.

  • TRUE: storage activated
  • FALSE: storage deactivated

DemGeneral/DemStorageConditionSupport {1, Bool; Pre; 0..1}

This configuration switch defines, whether support for storage conditions is enabled or not.

  • TRUE: support for storage conditions is enabled
  • FALSE: support for storage conditions is disabled

DemGeneral/DemTaskTime {1, Float; Pre; 0..0.1}

Allow to configure the time for the periodic cyclic task. Please note: This configuration value shall be equal to the value in the Basic Software Scheduler configuration of the RTE module. The AUTOSAR configuration standard is to use SI units, so this parameter is defined as float value in seconds. Dem configuration tools must convert this float value to the appropriate value format for the use in the software implementation of Dem. Exactly one DemTaskTime must be specified per configuration.

  • min: A negative value is not allowed.
  • max: After event status was reported, processing shall be completed within 100ms in order to have the fault entry status information updated as soon as possible (e.g. for PID $01).

DemGeneral/DemTriggerDcmReports {1, Bool; Pre; 0..1}

Activate/Deactivate the notification to the Diagnostic Communication Manager for ROE processing.

  • TRUE: Dcm ROE notification activated
  • FALSE: Dcm ROE notification deactivated

DemGeneral/DemTriggerDltReports {1, Bool; Pre; 0..1}

Activate/Deactivate the notification to the Diagnostic Log and Trace.

  • TRUE: Dlt notification activated
  • FALSE: Dlt notification deactivated

DemGeneral/DemTriggerFiMReports {1, Bool; Pre; 0..1}

Activate/Deactivate the notification to the Funciton Inhibition Manager.

  • TRUE: FiM notification activated
  • FALSE: FiM notification deactivated

DemGeneral/DemTriggerMonitorInitBeforeClearOk {1, Bool; Pre; 0..1}

Defines if the monitor re-initialization has to be triggered before or after the Dem module returns DEM_CLEAR_OK.

  • TRUE: trigger re-initialization before DEM_CLEAR_OK
  • FALSE: trigger re-initialization after DEM_CLEAR_OK

DemGeneral/DemTypeOfDTCSupported {1, Enum; Pre; see below}

This parameter defines the format returned by Dem_GetTranslationType and does not relate to/influence the supported Dem functionality.

  • DEM_DTC_TRANSLATION_ISO11992_4: ISO11992-4 DTC format
  • DEM_DTC_TRANSLATION_ISO14229_1: ISO14229-1 DTC format (3 byte format)
  • DEM_DTC_TRANSLATION_ISO15031_6: ISO15031-6 DTC format (2 byte format)
  • DEM_DTC_TRANSLATION_SAEJ1939_73: SAEJ1939-73 DTC format

DemGeneral/DemTypeOfFreezeFrameRecordNumeration {1, Enum; Pre; see below}

This parameter defines the type of assigning freeze frame record numbers for event-specific freeze frame records.

  • DEM_FF_RECNUM_CALCULATED: freeze frame records will be numbered consecutive starting by 1 in their chronological order
  • DEM_FF_RECNUM_CONFIGURED: freeze frame records will be numbered based on the given configuration in their chronological order

DemGeneral/DemVersionInfoApi {1, Bool; Pre; 0..1}

Activate/Deactivate the version information API.

  • TRUE: version information activated
  • FALSE: version information deactivated

DemGeneral/DemMILIndicatorRef {0..1, Reference; Pre}

This parameter defines the indicator representing the MIL. This parameter is mandatory for ECUs supporting OBD (refer to DemOBDSupport).