0% found this document useful (0 votes)
15 views2 pages

General Behavior Using DEM Interfaces

Uploaded by

Krishanu Modak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views2 pages

General Behavior Using DEM Interfaces

Uploaded by

Krishanu Modak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

General behavior using DEM interfaces

[SWS_Dcm_00007] The Dcm module shall retrieve the DTCStatusAvailabilityMask


by using the function Dem_GetDTCStatusAvailabilityMask().
The mask DTCStatusAvailabilityMask reflects the status bits supported by the ECU.
Note : Masking is performed in the module Dem and does not need to be done on Dcm
side (see SWS_Dem_00657 in [13]).

[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_00702] If function Dem_DisableDTCRecordUpdate() returns DEM_PENDING, the Dcm


shall retry to get the lock in the next Dcm_MainFunction.

[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_00835] The Dcm shall call Dem_SetDTCFilter prior to Dem_GetNumberOfFilteredDTC,


any sequence of Dem_GetNextFilteredDTC, any sequence of Dem_GetNextFilteredDTCAndFDC, as
well as any sequence of Dem_GetNextFilteredDTCAndSeverity.

[SWS_Dcm_00836] The Dcm shall call Dem_SetFreezeFrameRecordFilter prior to any sequence of


Dem_GetNextFilteredRecord.

[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_01212] If Dem_DisableDTCRecordUpdate() returns DEM_WRONG_DTC, the Dcm shall


send a NRC 0x31 (RequestOutOfRange).
[SWS_Dcm_01213] If Dem_DisableDTCRecordUpdate() returns DEM_WRONG_DTCORIGIN, the Dcm
shall send a NRC 0x31 (RequestOutOfRange).

[SWS_Dcm_01234] If Dem_GetNextFilteredDTCAndSeverity() returns DEM_NO_SUCH_ELEMENT and


at least one matching element could be retrieved before, the Dcm shall send a positive response
including these data elements.

[SWS_Dcm_01235] If Dem_GetNextFilteredDTCAndSeverity() returns DEM_NO_SUCH_ELEMENT and


no matching element could be retrieved before, the Dcm shall send a positive response only for
service, subservice and mandatory data specified in ISO 14229-1 [1].

[SWS_Dcm_01242] If Dem_GetSizeOfExtendedDataRecordSelection() returns DEM_WRONG_DTC,


DEM_WRONG_DTCORIGIN or DEM_NO_SUCH_ELEMENT, the Dcm shall send a NRC 0x31
(RequestOutOfRange)

[SWS_Dcm_01250] If Dem_GetStatusOfDTC() returns DEM_WRONG_DTC or


DEM_WRONG_DTCORIGIN, the Dcm shall send a NRC 0x31 (RequestOutOfRange).

[SWS_Dcm_01409] If Dem_GetStatusOfDTC() returns DEM_NO_SUCH_ELEMENT, the Dcm shall send


a positive response only for service and subservice.

[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_01043] In case E_NOT_OK is returned by Dem_SetDTCFilter(), the Dcm module shall


send a negative response with NRC 0x31 (requestOutOfRange).

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

You might also like