static Dcm_NegativeResponseCodeType DspIOControlReturnControlToECU(const Dcm_DspDidType *DidPtr,const PduInfoType *pduRxData,PduInfoType *pduTxData)\r
{\r
Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidReturnControlToEcu == TRUE)\r
+ if(pduRxData->SduLength > 4)\r
{\r
- if(pduRxData->SduLength > 4)\r
+ if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
{\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
+ if(((DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidReturnControlToEcu->DspDidControlOptionRecordSize + 7) >> 3) == (pduRxData->SduLength - 4))\r
{\r
- if(((DidPtr->DspDidControlRecordSize->DspDidControlRecordSize + 7) >> 3) == (pduRxData->SduLength - 4))\r
+ if(DidPtr->DspDidReturnControlToEcuFnc != NULL)\r
{\r
- if(DidPtr->DspDidReturnControlToEcuFnc != NULL)\r
- {\r
- DidPtr->DspDidReturnControlToEcuFnc(NULL,&pduRxData->SduDataPtr[4],&pduTxData->SduDataPtr[4],&responseCode);\r
- \r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ DidPtr->DspDidReturnControlToEcuFnc(NULL,&pduRxData->SduDataPtr[4],&pduTxData->SduDataPtr[4],&responseCode);\r
+\r
}\r
else\r
{\r
}\r
else\r
{\r
- if(DidPtr->DspDidReturnControlToEcuFnc != NULL)\r
- {\r
+ responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if(DidPtr->DspDidReturnControlToEcuFnc != NULL)\r
+ {\r
\r
- if(DidPtr->DspDidControlRecordSize != NULL)\r
- {\r
- DidPtr->DspDidReturnControlToEcuFnc(NULL,NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
- pduTxData->SduLength = DidPtr->DspDidControlRecordSize->DspDidControlStatusRecordSize + 4;\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ if(DidPtr->DspDidControlRecordSize != NULL)\r
+ {\r
+ DidPtr->DspDidReturnControlToEcuFnc(NULL,NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
+ pduTxData->SduLength = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidReturnControlToEcu->DspDidControlStatusRecordSize + 4;\r
}\r
else\r
{\r
responseCode = DCM_E_REQUESTOUTOFRANGE;\r
}\r
}\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ else\r
+ {\r
+ responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ }\r
}\r
if(responseCode == DCM_E_POSITIVERESPONSE)\r
{\r
- pduTxData->SduLength = DidPtr->DspDidControlRecordSize->DspDidControlStatusRecordSize + 4;\r
+ pduTxData->SduLength = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidReturnControlToEcu->DspDidControlStatusRecordSize + 4;\r
pduTxData->SduDataPtr[3] = DCM_RETURN_CONTROL_TO_ECU;\r
}\r
\r
static Dcm_NegativeResponseCodeType DspIOControlResetToDefault(const Dcm_DspDidType *DidPtr,const PduInfoType *pduRxData,PduInfoType *pduTxData)\r
{\r
Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidResetToDefault == TRUE)\r
+ if(pduRxData->SduLength > 4)\r
{\r
- if(pduRxData->SduLength > 4)\r
+ if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
{\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
+ if(((DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidResetToDefault->DspDidControlOptionRecordSize + 7) >> 3) == (pduRxData->SduLength - 4))\r
{\r
- if(((DidPtr->DspDidControlRecordSize->DspDidControlRecordSize + 7) >> 3) == (pduRxData->SduLength - 4))\r
+ if(DidPtr->DspDidReturnControlToEcuFnc != NULL)\r
{\r
- if(DidPtr->DspDidReturnControlToEcuFnc != NULL)\r
- {\r
- DidPtr->DspDidResetToDeaultFnc(NULL,&pduRxData->SduDataPtr[4],&pduTxData->SduDataPtr[4],&responseCode);\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ DidPtr->DspDidResetToDeaultFnc(NULL,&pduRxData->SduDataPtr[4],&pduTxData->SduDataPtr[4],&responseCode);\r
}\r
else\r
{\r
}\r
else\r
{\r
- if(DidPtr->DspDidResetToDeaultFnc != NULL)\r
- {\r
+ responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if(DidPtr->DspDidResetToDeaultFnc != NULL)\r
+ {\r
\r
- if(DidPtr->DspDidControlRecordSize != NULL)\r
- {\r
- DidPtr->DspDidResetToDeaultFnc(NULL,NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
- pduTxData->SduLength = DidPtr->DspDidControlRecordSize->DspDidControlStatusRecordSize + 4;\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ if(DidPtr->DspDidControlRecordSize != NULL)\r
+ {\r
+ DidPtr->DspDidResetToDeaultFnc(NULL,NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
+ pduTxData->SduLength = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidResetToDefault->DspDidControlStatusRecordSize + 4;\r
}\r
else\r
{\r
responseCode = DCM_E_REQUESTOUTOFRANGE;\r
}\r
}\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ else\r
+ {\r
+ responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ }\r
}\r
if(responseCode == DCM_E_POSITIVERESPONSE)\r
{\r
- pduTxData->SduLength = DidPtr->DspDidControlRecordSize->DspDidControlStatusRecordSize+4;\r
+ pduTxData->SduLength = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidResetToDefault->DspDidControlStatusRecordSize+4;\r
pduTxData->SduDataPtr[3] = DCM_RESET_TO_DEFAULT;\r
}\r
return responseCode;\r
static Dcm_NegativeResponseCodeType DspIOControlFreezeCurrentState(const Dcm_DspDidType *DidPtr,const PduInfoType *pduRxData,PduInfoType *pduTxData)\r
{\r
Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidFreezeCurrentState == TRUE)\r
+ if(pduRxData->SduLength > 4)\r
{\r
- if(pduRxData->SduLength > 4)\r
+ if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
{\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
+ if(((DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidFreezeCurrentState->DspDidControlOptionRecordSize + 7) >> 3) == (pduRxData->SduLength - 4))\r
{\r
- if(((DidPtr->DspDidControlRecordSize->DspDidControlRecordSize + 7) >> 3) == (pduRxData->SduLength - 4))\r
+ if(DidPtr->DspDidFreezeCurrentStateFnc != NULL)\r
{\r
- if(DidPtr->DspDidFreezeCurrentStateFnc != NULL)\r
- {\r
- DidPtr->DspDidFreezeCurrentStateFnc(NULL,&pduRxData->SduDataPtr[4],&pduTxData->SduDataPtr[4],&responseCode);\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ DidPtr->DspDidFreezeCurrentStateFnc(NULL,&pduRxData->SduDataPtr[4],&pduTxData->SduDataPtr[4],&responseCode);\r
}\r
else\r
{\r
}\r
else\r
{\r
- if(DidPtr->DspDidFreezeCurrentStateFnc != NULL)\r
- {\r
+ responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if(DidPtr->DspDidFreezeCurrentStateFnc != NULL)\r
+ {\r
\r
- if(DidPtr->DspDidControlRecordSize != 0)\r
- {\r
- DidPtr->DspDidFreezeCurrentStateFnc(NULL,NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
- pduTxData->SduLength = DidPtr->DspDidControlRecordSize->DspDidControlStatusRecordSize + 4;\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ if(DidPtr->DspDidControlRecordSize != 0)\r
+ {\r
+ DidPtr->DspDidFreezeCurrentStateFnc(NULL,NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
+ pduTxData->SduLength = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidFreezeCurrentState->DspDidControlStatusRecordSize + 4;\r
}\r
else\r
{\r
responseCode = DCM_E_REQUESTOUTOFRANGE;\r
}\r
}\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ else\r
+ {\r
+ responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ }\r
}\r
if(responseCode == DCM_E_POSITIVERESPONSE)\r
{\r
- pduTxData->SduLength = DidPtr->DspDidControlRecordSize->DspDidControlStatusRecordSize + 4;\r
+ pduTxData->SduLength = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidFreezeCurrentState->DspDidControlStatusRecordSize + 4;\r
pduTxData->SduDataPtr[3] = DCM_FREEZE_CURRENT_STATE;\r
}\r
\r
static Dcm_NegativeResponseCodeType DspIOControlShortTeamAdjustment(const Dcm_DspDidType *DidPtr,const PduInfoType *pduRxData,PduInfoType *pduTxData)\r
{\r
Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
- uint8 didControlOptionRecordSize = DidPtr->DspDidControlRecordSize->DspDidControlOptionRecordSize;\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidShortTermAdjustment == TRUE)\r
+ uint8 didControlOptionRecordSize = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidShortTermAdjustment->DspDidControlOptionRecordSize;\r
+ if(pduRxData->SduLength > 4)\r
{\r
- if(pduRxData->SduLength > 4)\r
+ if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
{\r
- if(DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl != NULL)\r
+ if(((((DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidShortTermAdjustment->DspDidControlRecordSize + 7)) >> 3) + (didControlOptionRecordSize)) == (pduRxData->SduLength - 4))\r
{\r
- if(((((DidPtr->DspDidControlRecordSize->DspDidControlRecordSize + 7)) >> 3) + (didControlOptionRecordSize)) == (pduRxData->SduLength - 4))\r
+ if(DidPtr->DspDidShortTermAdjustmentFnc != NULL)\r
{\r
- if(DidPtr->DspDidShortTermAdjustmentFnc != NULL)\r
- {\r
- DidPtr->DspDidShortTermAdjustmentFnc(&pduRxData->SduDataPtr[4],&pduRxData->SduDataPtr[4 + didControlOptionRecordSize],&pduTxData->SduDataPtr[4],&responseCode);\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ DidPtr->DspDidShortTermAdjustmentFnc(&pduRxData->SduDataPtr[4],&pduRxData->SduDataPtr[4 + didControlOptionRecordSize],&pduTxData->SduDataPtr[4],&responseCode);\r
}\r
- else if((didControlOptionRecordSize) == (pduRxData->SduLength - 4))\r
+ else\r
{\r
- if(DidPtr->DspDidShortTermAdjustmentFnc != NULL)\r
- {\r
- DidPtr->DspDidShortTermAdjustmentFnc(&pduRxData->SduDataPtr[4],NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
- }\r
- else\r
- {\r
- responseCode = DCM_E_REQUESTOUTOFRANGE;\r
- }\r
+ responseCode = DCM_E_REQUESTOUTOFRANGE;\r
+ }\r
+ }\r
+ else if((didControlOptionRecordSize) == (pduRxData->SduLength - 4))\r
+ {\r
+ if(DidPtr->DspDidShortTermAdjustmentFnc != NULL)\r
+ {\r
+ DidPtr->DspDidShortTermAdjustmentFnc(&pduRxData->SduDataPtr[4],NULL,&pduTxData->SduDataPtr[4],&responseCode);\r
}\r
else\r
{\r
responseCode = DCM_E_REQUESTOUTOFRANGE;\r
}\r
}\r
- else \r
+ else\r
{\r
responseCode = DCM_E_REQUESTOUTOFRANGE;\r
}\r
}\r
if(responseCode == DCM_E_POSITIVERESPONSE)\r
{\r
- pduTxData->SduLength = DidPtr->DspDidControlRecordSize->DspDidControlStatusRecordSize + 4;\r
+ pduTxData->SduLength = DidPtr->DspDidInfoRef->DspDidAccess.DspDidControl->DspDidShortTermAdjustment->DspDidControlStatusRecordSize + 4;\r
pduTxData->SduDataPtr[3] = DCM_SHORT_TERM_ADJUSTMENT;\r
}\r
\r