]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Partial of the delivered changes (20120911) commited. inputoutputcontrol_fix2
authorjohn <devnull@localhost>
Tue, 11 Sep 2012 09:30:24 +0000 (11:30 +0200)
committerjohn <devnull@localhost>
Tue, 11 Sep 2012 09:30:24 +0000 (11:30 +0200)
diagnostic/Dcm/Dcm_Dsp.c
include/Dcm_Lcfg.h

index 9eb18ba862d0e27f031fd87ce8f595f0f2422a6a..a94a10db7a429be33443cb03e3d4c922a13aa9b7 100644 (file)
@@ -2743,23 +2743,16 @@ void DspDynamicallyDefineDataIdentifier(const PduInfoType *pduRxData,PduInfoType
 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
@@ -2773,32 +2766,32 @@ static Dcm_NegativeResponseCodeType DspIOControlReturnControlToECU(const Dcm_Dsp
                }\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
@@ -2808,22 +2801,15 @@ static Dcm_NegativeResponseCodeType DspIOControlReturnControlToECU(const Dcm_Dsp
 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
@@ -2837,32 +2823,32 @@ static Dcm_NegativeResponseCodeType DspIOControlResetToDefault(const Dcm_DspDidT
                }\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
@@ -2874,22 +2860,15 @@ static Dcm_NegativeResponseCodeType DspIOControlResetToDefault(const Dcm_DspDidT
 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
@@ -2903,32 +2882,32 @@ static Dcm_NegativeResponseCodeType DspIOControlFreezeCurrentState(const Dcm_Dsp
                }\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
@@ -2938,41 +2917,34 @@ static Dcm_NegativeResponseCodeType DspIOControlFreezeCurrentState(const Dcm_Dsp
 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
@@ -2988,7 +2960,7 @@ static Dcm_NegativeResponseCodeType DspIOControlShortTeamAdjustment(const Dcm_Ds
        }\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
index 2fc05fd38fc66ac2f82367c737c37d139a43b52d..205791397d4c96f4200f761df6d41b15eaeda15a 100644 (file)
@@ -131,10 +131,10 @@ typedef struct {
 typedef struct {\r
        const Dcm_DspSessionRowType                             **DspDidControlSessionRef;                      // (1..*)       /** @req DCM621 */\r
        const Dcm_DspSecurityRowType                    **DspDidControlSecurityLevelRef;        // (1..*)       /** @req DCM620 */\r
-       const boolean   DspDidFreezeCurrentState;                       // (0..1)       /** @req DCM624 */\r
-       const boolean   DspDidResetToDefault;                           // (0..1)       /** @req DCM623 */\r
-       const boolean   DspDidReturnControlToEcu;                       // (0..1)       /** @req DCM622 */\r
-       const boolean   DspDidShortTermAdjustment;                      // (0..1)       /** @req DCM625 */\r
+       const Dcm_DspDidControlRecordSizesType  *DspDidFreezeCurrentState;                      // (0..1)       /** @req DCM624 */\r
+       const Dcm_DspDidControlRecordSizesType  *DspDidResetToDefault;                          // (0..1)       /** @req DCM623 */\r
+       const Dcm_DspDidControlRecordSizesType  *DspDidReturnControlToEcu;                      // (0..1)       /** @req DCM622 */\r
+       const Dcm_DspDidControlRecordSizesType  *DspDidShortTermAdjustment;                     // (0..1)       /** @req DCM625 */\r
 } Dcm_DspDidControlType; /** @req DCM619 */\r
 \r
 // 10.2.27\r