#include "Dem_Lcfg.h"\r
#include "Dem_IntErrId.h" /** @req DEM115 */\r
#include "Dem_IntEvtId.h"\r
+#include <limits.h>\r
/** @req DEM153 */ /** @req DEM154 */ /* Realized in Dem_IntErrId.h and Dem_IntEvtId.h */\r
// #include "Rte_Dem.h"\r
\r
#define DEM_E_PRI_MEM_EVENT_BUFF_FULL 0x44\r
#define DEM_E_PRI_MEM_EXT_DATA_BUFF_FULL 0x45\r
\r
+#define DEM_E_FF_TOO_BIG 0x46\r
+#define DEM_E_PRE_INIT_FF_DATA_BUFF_FULL 0x47\r
+#define DEM_E_PRI_MEM_FF_DATA_BUFF_FULL 0x48\r
+\r
#define DEM_E_UNEXPECTED_EXECUTION 0xfe\r
#define DEM_E_NOT_IMPLEMENTED_YET 0xff\r
\r
+#define DEM_MAX_TIMESTAMP_FOR_REARRANGEMENT ULONG_MAX //when timestamp up to the max value,rearrangement starts.\r
+\r
// Service ID in this module\r
#define DEM_PREINIT_ID 0x01\r
#define DEM_INIT_ID 0x02\r
#define DEM_CLEARDTC_ID 0x22\r
#define DEM_DISABLEDTCSTORAGE_ID 0x24\r
#define DEM_ENABLEDTCSTORAGE_ID 0x25\r
+\r
+#define DEM_GETFREEZEFRAMEDATARECORDBYDTC_ID 0x26\r
+#define DEM_GETFREEZEFRAMEDATAIDENTIFIERBYDTC_ID 0x26\r
+\r
#define DEM_GETTRANSLATIONTYPE_ID 0x3c\r
#define DEM_GETFAULTDETECTIONCOUNTER_ID 0x3E\r
#define DEM_MAINFUNCTION_ID 0x55\r
#define DEM_STORE_EXT_DATA_PRI_MEM_ID 0x85\r
#define DEM_PREDEBOUNCE_NONE_ID 0x86\r
#define DEM_PREDEBOUNCE_COUNTER_BASED_ID 0x87\r
+#define DEM_GET_FREEZEFRAME_ID 0x88\r
+#define DEM_STORE_FF_DATA_PRE_INIT_ID 0x89\r
+#define DEM_STORE_FF_DATA_PRI_MEM_ID 0x90\r
+\r
+#define DEM_DSP_DID_USE_PORT_IS_TRUE 0x91\r
+#define DEM_READ_DATA_LENGTH_FAILED 0x92\r
#define DEM_GLOBAL_ID 0xff\r
\r
#endif\r
Dem_ReturnControlDTCStorageType Dem_EnableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind); /** @req DEM243 */\r
Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint8 *destBuffer, uint16 *bufSize); /** @req DEM239 */\r
Dem_ReturnGetSizeOfExtendedDataRecordByDTCType Dem_GetSizeOfExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint16 *sizeOfExtendedDataRecord); /** @req DEM240 */\r
-\r
+Dem_ReturnGetFreezeFrameDataByDTCType Dem_GetFreezeFrameDataByDTC(uint32 dtc,Dem_DTCKindType dtcKind,Dem_DTCOriginType dtcOrigin,uint8 recordNumber,uint8* destBuffer,uint8* bufSize);\r
+Dem_GetFreezeFameDataIdentifierByDTCType Dem_GetFreezeFrameDataIdentifierByDTC(uint32 dtc,\r
+ Dem_DTCKindType dtcKind,\r
+ Dem_DTCOriginType dtcOrigin,\r
+ uint8 recordNumber,\r
+ uint8* arraySize,\r
+ const uint16** dataId );\r
+Dem_ReturnGetSizeOfFreezeFrameType Dem_GetSizeOfFreezeFrame(uint32 dtc,Dem_DTCKindType dtcKind,Dem_DTCOriginType dtcOrigin,uint8 recordNumber,uint16* sizeOfFreezeFrame);\r
\r
\r
/*\r