]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Dem, cherry-picked changes from diag_review-branch.
authorhebe <devnull@localhost>
Wed, 12 Sep 2012 16:45:43 +0000 (18:45 +0200)
committerhebe <devnull@localhost>
Wed, 12 Sep 2012 16:45:43 +0000 (18:45 +0200)
diagnostic/Dem/Dem.c
include/Dem.h

index df05bae088284651d90a42b9e4eb415ca57bdf4a..11d7309824b7b02cc5d5335f811df55014be356d 100644 (file)
@@ -2684,7 +2684,7 @@ Std_ReturnType Dem_GetDTCOfEvent(Dem_EventIdType eventId, Dem_DTCKindType dtcKin
  * Procedure:  Dem_ReportErrorStatus\r
  * Reentrant:  Yes\r
  */\r
-void Dem_ReportErrorStatus( Dem_EventIdType eventId, Dem_EventStatusType eventStatus ) /** @req DEM107 *//** @req DEM206 */\r
+void Dem_ReportErrorStatus( Dem_EventIdType eventId, Dem_EventStatusType eventStatus ) /** @req DEM206 */\r
 {\r
 \r
        switch (demState) {\r
@@ -2933,11 +2933,8 @@ Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTC
                                                                                storeFreezeFrameDataPerMem();\r
                                                                                break;\r
 \r
-                                                                       case DEM_DTC_ORIGIN_PERMANENT_MEMORY:\r
-\r
-                                                                               break;\r
-\r
                                                                        case DEM_DTC_ORIGIN_SECONDARY_MEMORY:\r
+                                                                       case DEM_DTC_ORIGIN_PERMANENT_MEMORY:\r
                                                                        case DEM_DTC_ORIGIN_MIRROR_MEMORY:\r
                                                                                // Not yet supported\r
                                                                                returnCode = DEM_CLEAR_WRONG_DTCORIGIN;\r
@@ -3147,39 +3144,35 @@ Dem_ReturnGetFreezeFrameDataByDTCType Dem_GetFreezeFrameDataByDTC(uint32  dtc,De
                        if (checkDtcKind(dtcKind, eventRec->eventParamRef)) {\r
                                if (checkDtcOrigin(dtcOrigin, eventRec->eventParamRef)) {\r
                                        if (lookupFreezeFrameDataRecNumParam(recordNumber, eventRec->eventParamRef, &FFDataRecordClass)) {\r
-                                               if(lookupFreezeFrameDataSize(recordNumber, &FFDataRecordClass, &FFDataSize)){\r
-                                                       if (*bufSize >= FFDataSize) {\r
-                                                               switch (dtcOrigin)\r
-                                                               {\r
-                                                               case DEM_DTC_ORIGIN_PRIMARY_MEMORY:\r
-                                                                       if (lookupFreezeFrameDataPriMem(eventRec->eventId,recordNumber, &freezeframe)) {\r
-                                                                               memcpy(destBuffer, freezeframe->data, FFDataSize); /** @req DEM071 */\r
-                                                                               *bufSize = FFDataSize;\r
-                                                                               returnCode = DEM_GET_FFDATABYDTC_OK;\r
-                                                                       }\r
-                                                                       else {\r
-                                                                               *bufSize = 0;\r
-                                                                               returnCode = DEM_GET_FFDATABYDTC_OK;\r
-                                                                       }\r
-                                                                       break;\r
-\r
-                                                               case DEM_DTC_ORIGIN_SECONDARY_MEMORY:\r
-                                                               case DEM_DTC_ORIGIN_PERMANENT_MEMORY:\r
-                                                               case DEM_DTC_ORIGIN_MIRROR_MEMORY:\r
-                                                                       // Not yet supported\r
-                                                                       returnCode = DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN;\r
-                                                                       DET_REPORTERROR(MODULE_ID_DEM, 0, DEM_GETFREEZEFRAMEDATARECORDBYDTC_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
-                                                                       break;\r
-                                                               default:\r
-                                                                       returnCode = DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN;\r
-                                                                       break;\r
+                                               lookupFreezeFrameDataSize(recordNumber, &FFDataRecordClass, &FFDataSize);\r
+                                               if (*bufSize >= FFDataSize) {\r
+                                                       switch (dtcOrigin)\r
+                                                       {\r
+                                                       case DEM_DTC_ORIGIN_PRIMARY_MEMORY:\r
+                                                               if (lookupFreezeFrameDataPriMem(eventRec->eventId,recordNumber, &freezeframe)) {\r
+                                                                       memcpy(destBuffer, freezeframe->data, FFDataSize); /** @req DEM071 */\r
+                                                                       *bufSize = FFDataSize;\r
+                                                                       returnCode = DEM_GET_FFDATABYDTC_OK;\r
                                                                }\r
-                                                       }\r
-                                                       else{\r
-                                                               returnCode = DEM_GET_FFDATABYDTC_BUFFERSIZE;\r
+                                                               else {\r
+                                                                       *bufSize = 0;\r
+                                                                       returnCode = DEM_GET_FFDATABYDTC_OK;\r
+                                                               }\r
+                                                               break;\r
+\r
+                                                       case DEM_DTC_ORIGIN_SECONDARY_MEMORY:\r
+                                                       case DEM_DTC_ORIGIN_PERMANENT_MEMORY:\r
+                                                       case DEM_DTC_ORIGIN_MIRROR_MEMORY:\r
+                                                               // Not yet supported\r
+                                                               returnCode = DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN;\r
+                                                               DET_REPORTERROR(MODULE_ID_DEM, 0, DEM_GETFREEZEFRAMEDATARECORDBYDTC_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                                                               break;\r
+                                                       default:\r
+                                                               returnCode = DEM_GET_FFDATABYDTC_WRONG_DTCORIGIN;\r
+                                                               break;\r
                                                        }\r
                                                }\r
-                                               else {\r
+                                               else{\r
                                                        returnCode = DEM_GET_FFDATABYDTC_BUFFERSIZE;\r
                                                }\r
                                        }\r
@@ -3232,17 +3225,16 @@ Dem_GetFreezeFameDataIdentifierByDTCType Dem_GetFreezeFrameDataIdentifierByDTC(u
                                        if (lookupFreezeFrameDataRecNumParam(recordNumber, eventRec->eventParamRef, &FFDataRecordClass)) {\r
                                                if(FFDataRecordClass->FFIdClassRef != NULL){\r
                                                        for(i=0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FFDataRecordClass->FFIdClassRef[i].Arc_EOL)); i++){\r
-                                                               if(didNum < *arraySize){\r
-                                                                       dataId[didNum] = &FFDataRecordClass->FFIdClassRef[i].DidIdentifier;/** @req DEM073 */\r
-                                                                       didNum++;\r
-                                                                       returnCode = DEM_GET_ID_OK;\r
-                                                               }else{\r
-                                                                       returnCode = DEM_GET_ID_WRONG_FF_TYPE;\r
-                                                               }\r
+                                                               dataId[didNum] = &FFDataRecordClass->FFIdClassRef[i].DidIdentifier;/** @req DEM073 */\r
+                                                               didNum++;\r
+                                                               returnCode = DEM_GET_ID_OK;\r
+\r
                                                        }\r
                                                        *arraySize = didNum;\r
                                                }\r
-\r
+                                               else {\r
+                                                       returnCode = DEM_GET_ID_WRONG_FF_TYPE;\r
+                                               }\r
                                        }\r
                                        else{\r
                                                returnCode = DEM_GET_ID_WRONG_FF_TYPE;\r
@@ -3289,6 +3281,7 @@ Dem_ReturnGetSizeOfFreezeFrameType Dem_GetSizeOfFreezeFrame(uint32  dtc,Dem_DTCK
                                if (checkDtcOrigin(dtcOrigin, eventRec->eventParamRef)) {\r
                                        if (lookupFreezeFrameDataRecNumParam(recordNumber, eventRec->eventParamRef, &FFDataRecordClass)) {\r
                                                if(FFDataRecordClass->FFIdClassRef != NULL){\r
+                                                       /* Note - there is a function called lookupFreezeFrameDataSize that can be used here */\r
                                                        for(i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FFDataRecordClass->FFIdClassRef[i].Arc_EOL)); i++){\r
                                                                /* read out the did size */\r
                                                                if(FFDataRecordClass->FFIdClassRef[i].DidReadDataLengthFnc != NULL){\r
@@ -3304,6 +3297,9 @@ Dem_ReturnGetSizeOfFreezeFrameType Dem_GetSizeOfFreezeFrame(uint32  dtc,Dem_DTCK
                                                                returnCode = DEM_GET_SIZEOFFF_OK;\r
                                                        }\r
                                                }\r
+                                               else {\r
+                                                       returnCode = DEM_GET_SIZEOFFF_WRONG_RNUM;\r
+                                               }\r
                                        }\r
                                        else{\r
                                                returnCode = DEM_GET_SIZEOFFF_WRONG_RNUM;\r
index 07211e3a56e032d6d0f5cc6d410955390c9c972e..5a471e2b6eae6a7c713772685d354343b8a5d8d2 100644 (file)
@@ -93,7 +93,7 @@
 #define DEM_ENABLEDTCSTORAGE_ID                                        0x25\r
 \r
 #define DEM_GETFREEZEFRAMEDATARECORDBYDTC_ID           0x26\r
-#define DEM_GETFREEZEFRAMEDATAIDENTIFIERBYDTC_ID               0x26\r
+#define DEM_GETFREEZEFRAMEDATAIDENTIFIERBYDTC_ID               0x27\r
 \r
 #define DEM_GETTRANSLATIONTYPE_ID                              0x3c\r
 #define DEM_GETFAULTDETECTIONCOUNTER_ID                0x3E\r