]> rtime.felk.cvut.cz Git - arc.git/blobdiff - diagnostic/Dem/Dem.c
Dem, NvM wrappers will not use NvM if DEM_UNIT_TEST is defined.
[arc.git] / diagnostic / Dem / Dem.c
index 11d7309824b7b02cc5d5335f811df55014be356d..548b7231d16af60ac14ab10937a6518817184297 100644 (file)
@@ -937,19 +937,22 @@ static void getFreezeFrameData(const Dem_EventParameterType *eventParam,
        }\r
 \r
        /* Find out the corresponding FF class */\r
-       for(i = 0;(i<DEM_MAX_NR_OF_CLASSES_IN_FREEZEFRAME_DATA) && (eventParam->FreezeFrameClassRef[i] != NULL);i++){\r
-               if(eventParam->FreezeFrameClassRef[i]->FFStorageCondition == prefailedOrFailed){\r
-                       FreezeFrameLocal = eventParam->FreezeFrameClassRef[i];\r
-                       break;\r
+       if( eventParam->FreezeFrameClassRef != NULL ) {\r
+               for(i = 0;(i<DEM_MAX_NR_OF_CLASSES_IN_FREEZEFRAME_DATA) && (eventParam->FreezeFrameClassRef[i] != NULL);i++){\r
+                       if(eventParam->FreezeFrameClassRef[i]->FFStorageCondition == prefailedOrFailed){\r
+                               FreezeFrameLocal = eventParam->FreezeFrameClassRef[i];\r
+                               break;\r
+                       }\r
                }\r
        }\r
+\r
        /* get the dids */\r
        if(FreezeFrameLocal != NULL){\r
                if(FreezeFrameLocal->FFIdClassRef != NULL){\r
-                       for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FreezeFrameLocal->FFIdClassRef[i].Arc_EOL)); i++) {\r
-                               if(FreezeFrameLocal->FFIdClassRef[i].PidOrDidUsePort == FALSE){\r
-                                       if(FreezeFrameLocal->FFIdClassRef[i].DidReadDataLengthFnc != NULL){\r
-                                               callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i].DidReadDataLengthFnc(&recordSize);\r
+                       for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FreezeFrameLocal->FFIdClassRef[i]->Arc_EOL)); i++) {\r
+                               if(FreezeFrameLocal->FFIdClassRef[i]->PidOrDidUsePort == FALSE){\r
+                                       if(FreezeFrameLocal->FFIdClassRef[i]->DidReadDataLengthFnc != NULL){\r
+                                               callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i]->DidReadDataLengthFnc(&recordSize);\r
                                                if(callbackReturnCode != E_OK){\r
                                                        //if fail to read data length,discard the storage of FF\r
                                                        freezeFrame->eventId = DEM_EVENT_ID_NULL;\r
@@ -959,21 +962,21 @@ static void getFreezeFrameData(const Dem_EventParameterType *eventParam,
                                        }\r
                                        /* if no readDidDataLengthFunction, then try the PidOrDidSize. */\r
                                        else{\r
-                                               recordSize = FreezeFrameLocal->FFIdClassRef[i].PidOrDidSize;\r
+                                               recordSize = FreezeFrameLocal->FFIdClassRef[i]->PidOrDidSize;\r
                                        }\r
                                        /* read out the did data */\r
                                        if ((storeIndex + recordSize + DEM_DID_IDENTIFIER_SIZE_OF_BYTES) <= DEM_MAX_SIZE_FF_DATA) {\r
                                                /* store DID */\r
-                                               freezeFrame->data[storeIndex] = (FreezeFrameLocal->FFIdClassRef[i].DidIdentifier>> 8) & 0xFFu;\r
+                                               freezeFrame->data[storeIndex] = (FreezeFrameLocal->FFIdClassRef[i]->DidIdentifier>> 8) & 0xFFu;\r
                                                storeIndex++;\r
-                                               freezeFrame->data[storeIndex] = FreezeFrameLocal->FFIdClassRef[i].DidIdentifier & 0xFFu;\r
+                                               freezeFrame->data[storeIndex] = FreezeFrameLocal->FFIdClassRef[i]->DidIdentifier & 0xFFu;\r
                                                storeIndex++;\r
                                                /* store data */\r
-                                               if(FreezeFrameLocal->FFIdClassRef[i].DidConditionCheckReadFnc != NULL){\r
-                                                       callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i].DidConditionCheckReadFnc(&errorCode);\r
+                                               if(FreezeFrameLocal->FFIdClassRef[i]->DidConditionCheckReadFnc != NULL){\r
+                                                       callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i]->DidConditionCheckReadFnc(&errorCode);\r
                                                        if ((callbackReturnCode == E_OK) && (errorCode == DCM_E_POSITIVERESPONSE)) {\r
-                                                               if(FreezeFrameLocal->FFIdClassRef[i].DidReadFnc!= NULL){\r
-                                                                       callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i].DidReadFnc(&freezeFrame->data[storeIndex]);\r
+                                                               if(FreezeFrameLocal->FFIdClassRef[i]->DidReadFnc!= NULL){\r
+                                                                       callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i]->DidReadFnc(&freezeFrame->data[storeIndex]);\r
                                                                        if (callbackReturnCode != E_OK) {\r
                                                                                memset(&freezeFrame->data[storeIndex], DEM_FREEZEFRAME_DEFAULT_VALUE, recordSize);\r
                                                                        }\r
@@ -1478,7 +1481,7 @@ static boolean lookupExtendedDataPriMem(Dem_EventIdType eventId, ExtDataRecType
 Std_ReturnType copyNvmMirror(const NvM_BlockIdType BlockId, uint8 *dstPtr, const uint8 *srcPtr, uint8 len)\r
 {\r
 \r
-#if (DEM_USE_NVM == STD_ON)\r
+#if (DEM_USE_NVM == STD_ON  && DEM_UNIT_TEST == STD_OFF)\r
        Std_ReturnType blockReadStatus = E_NOT_OK;\r
        NvM_RequestResultType requestResult;\r
 \r
@@ -1501,7 +1504,7 @@ Std_ReturnType copyNvmMirror(const NvM_BlockIdType BlockId, uint8 *dstPtr, const
  */\r
 Std_ReturnType writeNvmMirror(const NvM_BlockIdType BlockId, uint8 *dstPtr, const uint8 *srcPtr, uint8 len)\r
 {\r
-#if (DEM_USE_NVM == STD_ON)\r
+#if (DEM_USE_NVM == STD_ON && DEM_UNIT_TEST == STD_OFF)\r
        Std_ReturnType blockWriteStatus = E_NOT_OK;\r
        NvM_RequestResultType requestResult;\r
 \r
@@ -1707,15 +1710,15 @@ static boolean lookupFreezeFrameDataSize(uint8 recordNumber, Dem_FreezeFrameClas
        uint16 i;\r
 \r
        if (*freezeFrameClassPtr != NULL) {\r
-               for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && ((*freezeFrameClassPtr)->FFIdClassRef[i].Arc_EOL != TRUE); i++) {\r
-                       if((*freezeFrameClassPtr)->FFIdClassRef[i].DidReadDataLengthFnc != NULL){\r
-                               callbackReturnCode = (*freezeFrameClassPtr)->FFIdClassRef[i].DidReadDataLengthFnc(&dataSizeLocal);\r
+               for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && ((*freezeFrameClassPtr)->FFIdClassRef[i]->Arc_EOL != TRUE); i++) {\r
+                       if((*freezeFrameClassPtr)->FFIdClassRef[i]->DidReadDataLengthFnc != NULL){\r
+                               callbackReturnCode = (*freezeFrameClassPtr)->FFIdClassRef[i]->DidReadDataLengthFnc(&dataSizeLocal);\r
                                if(callbackReturnCode != E_OK){\r
                                        return (dataSizeFound = FALSE);\r
                                }\r
                        }\r
                        else{\r
-                               dataSizeLocal = (*freezeFrameClassPtr)->FFIdClassRef[i].PidOrDidSize;\r
+                               dataSizeLocal = (*freezeFrameClassPtr)->FFIdClassRef[i]->PidOrDidSize;\r
                        }\r
 \r
                        *dataSize += dataSizeLocal + DEM_DID_IDENTIFIER_SIZE_OF_BYTES;\r
@@ -3224,8 +3227,8 @@ Dem_GetFreezeFameDataIdentifierByDTCType Dem_GetFreezeFrameDataIdentifierByDTC(u
                                if (checkDtcOrigin(dtcOrigin, eventRec->eventParamRef)) {\r
                                        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
-                                                               dataId[didNum] = &FFDataRecordClass->FFIdClassRef[i].DidIdentifier;/** @req DEM073 */\r
+                                                       for(i=0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FFDataRecordClass->FFIdClassRef[i]->Arc_EOL)); i++){\r
+                                                               dataId[didNum] = &FFDataRecordClass->FFIdClassRef[i]->DidIdentifier;/** @req DEM073 */\r
                                                                didNum++;\r
                                                                returnCode = DEM_GET_ID_OK;\r
 \r
@@ -3282,16 +3285,16 @@ Dem_ReturnGetSizeOfFreezeFrameType Dem_GetSizeOfFreezeFrame(uint32  dtc,Dem_DTCK
                                        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
+                                                       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
-                                                                       callbackReturnCode = FFDataRecordClass->FFIdClassRef[i].DidReadDataLengthFnc(&dataSize);\r
+                                                               if(FFDataRecordClass->FFIdClassRef[i]->DidReadDataLengthFnc != NULL){\r
+                                                                       callbackReturnCode = FFDataRecordClass->FFIdClassRef[i]->DidReadDataLengthFnc(&dataSize);\r
                                                                        if(callbackReturnCode != E_OK){\r
                                                                                return (returnCode = DEM_GET_SIZEOFFF_PENDING);\r
                                                                        }\r
                                                                }\r
                                                                else{\r
-                                                                       dataSize = FFDataRecordClass->FFIdClassRef[i].PidOrDidSize;\r
+                                                                       dataSize = FFDataRecordClass->FFIdClassRef[i]->PidOrDidSize;\r
                                                                }\r
                                                                *sizeOfFreezeFrame += dataSize+DEM_DID_IDENTIFIER_SIZE_OF_BYTES;/** @req DEM074 */\r
                                                                returnCode = DEM_GET_SIZEOFFF_OK;\r
@@ -3328,8 +3331,7 @@ Dem_ReturnGetSizeOfFreezeFrameType Dem_GetSizeOfFreezeFrame(uint32  dtc,Dem_DTCK
 \r
 }\r
 \r
-#define DEM_UNIT_TEST\r
-#ifdef DEM_UNIT_TEST\r
+#if (DEM_UNIT_TEST == STD_ON)\r
 void getFFDataPreInit(FreezeFrameRecType **buf)\r
 {\r
        *buf = &preInitFreezeFrameBuffer[0];\r