General Behavior Using DEM Interfaces
General Behavior Using DEM Interfaces
[SWS_Dcm_00371] To ensure consistent event related data during the reading sequence, the Dcm
module shall lock the update of event related data before reading freeze frames or extended data
records. The Dcm shall lock the update using the Dem API Dem_DisableDTCRecordUpdate(). After
the locking the Dcm shall read the event related data by calls to:
• Dem_SelectExtendedDataRecord()
• Dem_GetSizeOfExtendedDataRecordSelection()
• Dem_GetNextExtendedDataRecord()
• Dem_SelectFreezeFrameData()
• Dem_GetSizeOfFreezeFrameSelection() and
• Dem_GetNextFreezeFrameData() After the event related data is read, the Dcm shall re-
enable updates by calling Dem_EnableDTCRecordUpdate().
[SWS_Dcm_00700] When the Dcm module receives a request with the DTCStatusMask set to 0x00, it
shall send positive response and shall not use the Dem interface Dem_SetDTCFilter().
Note: The parameter DTCFormat of the functions Dem_ClearDTC(), Dem_SetDTCFilter(),
Dem_SetFreezeFrameRecordFilter() and Dem_GetNextFilteredDTCAndFDC() defines the output-
format of the requested DTC values for the sub-sequent API calls. For the 2-byte ISO15031-6 [14] DTC
format, the DTCFormat parameter shall be equal to DEM_DTC_FORMAT_OBD. For the 2-byte
ISO14229-1 DTC format, the DTCFormat parameter shall be equal to DEM_DTC_FORMAT_UDS.
[SWS_Dcm_01160] When the Dcm module receives a request with the DTCSeverityMask set to 0x00,
it shall send a positive response as specified in ISO14229-1 [1] and shall not use the Dem interface
Dem_SetDTCFilter()
[SWS_Dcm_01127] The Dcm module shall retrieve the DTCSeverityAvailabilityMask by using the
function Dem_GetDTCSeverityAvailabilityMask()
Note: The mask DTCSeverityAvailabilityMask reflects the severity bits supported by the ECU.
[SWS_Dcm_01255] If Dem_SetDTCFilter() returns E_NOT_OK, the Dcm shall send a NRC 0x31
(RequestOutOfRange).
[SWS_Dcm_00248] The Dcm module shall implement the UDS Service 0x19.
To setup the retrieval of specific data from the Dem module, the Dcm will call different filter APIs
(Dem_SetDTCFilter(), Dem_SetFreezeFrameRecordFilter(), Dem_SelectFreezeFrameData() and
Dem_SelectExtendedDataRecord()).
[SWS_Dcm_01334] For all sub-functions addressing user defined fault memory, before calling the
appropriate Dem API, the Dcm shall add the value 0x0100 to the received selection request
parameter MemorySelection in order to match the Dem_DTCOriginType.