From: john Date: Mon, 17 Sep 2012 14:25:07 +0000 (+0200) Subject: Dem, Changed types to match tool output. X-Git-Url: https://rtime.felk.cvut.cz/gitweb/arc.git/commitdiff_plain/e5ea80c3a24c57ac722d622f79b2294b768f8d12?ds=sidebyside Dem, Changed types to match tool output. --- diff --git a/diagnostic/Dcm/Dcm_Dsp.c b/diagnostic/Dcm/Dcm_Dsp.c index f36bb888..c852abf4 100644 --- a/diagnostic/Dcm/Dcm_Dsp.c +++ b/diagnostic/Dcm/Dcm_Dsp.c @@ -734,7 +734,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x04(const PduInfoType *pd for (index = 0; pEventParaTemp->FreezeFrameClassRef[index] != NULL; index++){ if (pEventParaTemp->FreezeFrameClassRef[index]->FFRecordNumber == RecordNumber) { // Calculate the Number of Dids in FF - for (FFIdNumber = 0; pEventParaTemp->FreezeFrameClassRef[index]->FFIdClassRef[FFIdNumber].Arc_EOL != FALSE; FFIdNumber++) { + for (FFIdNumber = 0; pEventParaTemp->FreezeFrameClassRef[index]->FFIdClassRef[FFIdNumber]->Arc_EOL != FALSE; FFIdNumber++) { ; } } diff --git a/diagnostic/Dem/Dem.c b/diagnostic/Dem/Dem.c index 11d73098..af82bdcc 100644 --- a/diagnostic/Dem/Dem.c +++ b/diagnostic/Dem/Dem.c @@ -937,19 +937,22 @@ static void getFreezeFrameData(const Dem_EventParameterType *eventParam, } /* Find out the corresponding FF class */ - for(i = 0;(iFreezeFrameClassRef[i] != NULL);i++){ - if(eventParam->FreezeFrameClassRef[i]->FFStorageCondition == prefailedOrFailed){ - FreezeFrameLocal = eventParam->FreezeFrameClassRef[i]; - break; + if( eventParam->FreezeFrameClassRef != NULL ) { + for(i = 0;(iFreezeFrameClassRef[i] != NULL);i++){ + if(eventParam->FreezeFrameClassRef[i]->FFStorageCondition == prefailedOrFailed){ + FreezeFrameLocal = eventParam->FreezeFrameClassRef[i]; + break; + } } } + /* get the dids */ if(FreezeFrameLocal != NULL){ if(FreezeFrameLocal->FFIdClassRef != NULL){ - for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FreezeFrameLocal->FFIdClassRef[i].Arc_EOL)); i++) { - if(FreezeFrameLocal->FFIdClassRef[i].PidOrDidUsePort == FALSE){ - if(FreezeFrameLocal->FFIdClassRef[i].DidReadDataLengthFnc != NULL){ - callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i].DidReadDataLengthFnc(&recordSize); + for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FreezeFrameLocal->FFIdClassRef[i]->Arc_EOL)); i++) { + if(FreezeFrameLocal->FFIdClassRef[i]->PidOrDidUsePort == FALSE){ + if(FreezeFrameLocal->FFIdClassRef[i]->DidReadDataLengthFnc != NULL){ + callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i]->DidReadDataLengthFnc(&recordSize); if(callbackReturnCode != E_OK){ //if fail to read data length,discard the storage of FF freezeFrame->eventId = DEM_EVENT_ID_NULL; @@ -959,21 +962,21 @@ static void getFreezeFrameData(const Dem_EventParameterType *eventParam, } /* if no readDidDataLengthFunction, then try the PidOrDidSize. */ else{ - recordSize = FreezeFrameLocal->FFIdClassRef[i].PidOrDidSize; + recordSize = FreezeFrameLocal->FFIdClassRef[i]->PidOrDidSize; } /* read out the did data */ if ((storeIndex + recordSize + DEM_DID_IDENTIFIER_SIZE_OF_BYTES) <= DEM_MAX_SIZE_FF_DATA) { /* store DID */ - freezeFrame->data[storeIndex] = (FreezeFrameLocal->FFIdClassRef[i].DidIdentifier>> 8) & 0xFFu; + freezeFrame->data[storeIndex] = (FreezeFrameLocal->FFIdClassRef[i]->DidIdentifier>> 8) & 0xFFu; storeIndex++; - freezeFrame->data[storeIndex] = FreezeFrameLocal->FFIdClassRef[i].DidIdentifier & 0xFFu; + freezeFrame->data[storeIndex] = FreezeFrameLocal->FFIdClassRef[i]->DidIdentifier & 0xFFu; storeIndex++; /* store data */ - if(FreezeFrameLocal->FFIdClassRef[i].DidConditionCheckReadFnc != NULL){ - callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i].DidConditionCheckReadFnc(&errorCode); + if(FreezeFrameLocal->FFIdClassRef[i]->DidConditionCheckReadFnc != NULL){ + callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i]->DidConditionCheckReadFnc(&errorCode); if ((callbackReturnCode == E_OK) && (errorCode == DCM_E_POSITIVERESPONSE)) { - if(FreezeFrameLocal->FFIdClassRef[i].DidReadFnc!= NULL){ - callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i].DidReadFnc(&freezeFrame->data[storeIndex]); + if(FreezeFrameLocal->FFIdClassRef[i]->DidReadFnc!= NULL){ + callbackReturnCode = FreezeFrameLocal->FFIdClassRef[i]->DidReadFnc(&freezeFrame->data[storeIndex]); if (callbackReturnCode != E_OK) { memset(&freezeFrame->data[storeIndex], DEM_FREEZEFRAME_DEFAULT_VALUE, recordSize); } @@ -1707,15 +1710,15 @@ static boolean lookupFreezeFrameDataSize(uint8 recordNumber, Dem_FreezeFrameClas uint16 i; if (*freezeFrameClassPtr != NULL) { - for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && ((*freezeFrameClassPtr)->FFIdClassRef[i].Arc_EOL != TRUE); i++) { - if((*freezeFrameClassPtr)->FFIdClassRef[i].DidReadDataLengthFnc != NULL){ - callbackReturnCode = (*freezeFrameClassPtr)->FFIdClassRef[i].DidReadDataLengthFnc(&dataSizeLocal); + for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && ((*freezeFrameClassPtr)->FFIdClassRef[i]->Arc_EOL != TRUE); i++) { + if((*freezeFrameClassPtr)->FFIdClassRef[i]->DidReadDataLengthFnc != NULL){ + callbackReturnCode = (*freezeFrameClassPtr)->FFIdClassRef[i]->DidReadDataLengthFnc(&dataSizeLocal); if(callbackReturnCode != E_OK){ return (dataSizeFound = FALSE); } } else{ - dataSizeLocal = (*freezeFrameClassPtr)->FFIdClassRef[i].PidOrDidSize; + dataSizeLocal = (*freezeFrameClassPtr)->FFIdClassRef[i]->PidOrDidSize; } *dataSize += dataSizeLocal + DEM_DID_IDENTIFIER_SIZE_OF_BYTES; @@ -3224,8 +3227,8 @@ Dem_GetFreezeFameDataIdentifierByDTCType Dem_GetFreezeFrameDataIdentifierByDTC(u if (checkDtcOrigin(dtcOrigin, eventRec->eventParamRef)) { if (lookupFreezeFrameDataRecNumParam(recordNumber, eventRec->eventParamRef, &FFDataRecordClass)) { if(FFDataRecordClass->FFIdClassRef != NULL){ - for(i=0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FFDataRecordClass->FFIdClassRef[i].Arc_EOL)); i++){ - dataId[didNum] = &FFDataRecordClass->FFIdClassRef[i].DidIdentifier;/** @req DEM073 */ + for(i=0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FFDataRecordClass->FFIdClassRef[i]->Arc_EOL)); i++){ + dataId[didNum] = &FFDataRecordClass->FFIdClassRef[i]->DidIdentifier;/** @req DEM073 */ didNum++; returnCode = DEM_GET_ID_OK; @@ -3282,16 +3285,16 @@ Dem_ReturnGetSizeOfFreezeFrameType Dem_GetSizeOfFreezeFrame(uint32 dtc,Dem_DTCK if (lookupFreezeFrameDataRecNumParam(recordNumber, eventRec->eventParamRef, &FFDataRecordClass)) { if(FFDataRecordClass->FFIdClassRef != NULL){ /* Note - there is a function called lookupFreezeFrameDataSize that can be used here */ - for(i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FFDataRecordClass->FFIdClassRef[i].Arc_EOL)); i++){ + for(i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_FREEZEFRAME_DATA) && (!(FFDataRecordClass->FFIdClassRef[i]->Arc_EOL)); i++){ /* read out the did size */ - if(FFDataRecordClass->FFIdClassRef[i].DidReadDataLengthFnc != NULL){ - callbackReturnCode = FFDataRecordClass->FFIdClassRef[i].DidReadDataLengthFnc(&dataSize); + if(FFDataRecordClass->FFIdClassRef[i]->DidReadDataLengthFnc != NULL){ + callbackReturnCode = FFDataRecordClass->FFIdClassRef[i]->DidReadDataLengthFnc(&dataSize); if(callbackReturnCode != E_OK){ return (returnCode = DEM_GET_SIZEOFFF_PENDING); } } else{ - dataSize = FFDataRecordClass->FFIdClassRef[i].PidOrDidSize; + dataSize = FFDataRecordClass->FFIdClassRef[i]->PidOrDidSize; } *sizeOfFreezeFrame += dataSize+DEM_DID_IDENTIFIER_SIZE_OF_BYTES;/** @req DEM074 */ returnCode = DEM_GET_SIZEOFFF_OK; diff --git a/include/Dem_Lcfg.h b/include/Dem_Lcfg.h index 2a0205fe..66940833 100644 --- a/include/Dem_Lcfg.h +++ b/include/Dem_Lcfg.h @@ -120,7 +120,7 @@ typedef struct { Dem_FreezeFrameKindType FFKind; // (1) uint8 FFRecordNumber; // (1)/** @req DEM040 */ Dem_FreezeFrameStorageConditonType FFStorageCondition;/** @req Dem001_private */ - const Dem_PidOrDidType *FFIdClassRef; // (1..255)/** @req DEM039 */ + const Dem_PidOrDidType **FFIdClassRef; // (1..255)/** @req DEM039 */ } Dem_FreezeFrameClassType; /** @req DEM136 */ @@ -235,7 +235,7 @@ typedef struct { Dem_EventKindType EventKind; // (1) const Dem_EventClassType *EventClass; // (1) const Dem_ExtendedDataClassType *ExtendedDataClassRef; // (0..1) - const Dem_FreezeFrameClassType *FreezeFrameClassRef[DEM_MAX_NR_OF_CLASSES_IN_FREEZEFRAME_DATA+1]; // (0..255) (Only 0..1 supported)/** @req DEM021 */ + const Dem_FreezeFrameClassType **FreezeFrameClassRef; //[DEM_MAX_NR_OF_CLASSES_IN_FREEZEFRAME_DATA+1]; // (0..255) (Only 0..1 supported)/** @req DEM021 */ const Dem_CallbackInitMforEType *CallbackInitMforE; // (0..1) const Dem_CallbackEventStatusChangedType *CallbackEventStatusChanged;// (0..*) const Dem_DTCClassType *DTCClassRef; // (0..1)