]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Added requirement tagging for Dcm. refs #109
authorpete <devnull@localhost>
Mon, 9 Aug 2010 13:14:13 +0000 (15:14 +0200)
committerpete <devnull@localhost>
Mon, 9 Aug 2010 13:14:13 +0000 (15:14 +0200)
diagnostic/Dcm/Dcm.c
diagnostic/Dcm/Dcm_Dsd.c
diagnostic/Dcm/Dcm_Dsl.c
diagnostic/Dcm/Dcm_Dsp.c
diagnostic/Dcm/Dcm_Lcfg.h
include/Dcm.h
include/Dcm_Cbk.h

index b724089baeeee7a75dcdf4bd4dd356d78d8e83c2..ecc1868f7ba0133adf77f078428f6072361defb9 100644 (file)
 \r
 \r
 \r
+/*\r
+ *  General requirements\r
+ */\r
+/** @req DCM054.Partially */ /** @req DCM055.Partially */ /** @req DCM110 */ /** @req DCM107 */ /** @req DCM332 */\r
+/** @req DCM012 */ /** @req DCM044 */ /** @req DCM364 */ /** @req DCM041 */\r
+/** @req DCM042 */ /** @req DCM049 */\r
+/** @req DCM033 */\r
+/** @req DCM171 */\r
+\r
 #include <string.h>\r
 #include "Dcm.h"\r
 #include "Dcm_Internal.h"\r
@@ -55,7 +64,7 @@ static Dcm_StateType dcmState = DCM_UNINITIALIZED;
  * Procedure:  Dcm_Init\r
  * Reentrant:  No\r
  */\r
-void Dcm_Init(void)\r
+void Dcm_Init(void) /** @req DCM037 */\r
 {\r
        if ((DCM_Config.Dsl == NULL) || (DCM_Config.Dsd == NULL) || (DCM_Config.Dsp == NULL)) {\r
 #if (DCM_DEV_ERROR_DETECT == STD_ON)\r
index 2dab4020ab2674d42b481e21a9f23f2ef05fb21d..3dfb178ccf3b78bc7c537b4dbb9ac91aed9bcbb5 100644 (file)
 \r
 \r
 \r
+/*\r
+ *  General requirements\r
+ */\r
+\r
+\r
 #include <string.h>\r
 #include "Dcm.h"\r
 #include "Dcm_Internal.h"\r
@@ -64,12 +69,12 @@ static boolean askApplicationForServicePermission(uint8 *requestData, uint16 dat
 static void createAndSendNcr(Dcm_NegativeResponseCodeType responseCode)\r
 {\r
        if (!((msgData.addrType == DCM_PROTOCOL_FUNCTIONAL_ADDR_TYPE)\r
-                 && ((responseCode == DCM_E_SERVICENOTSUPPORTED) || (responseCode == DCM_E_SUBFUNCTIONNOTSUPPORTED) || (responseCode == DCM_E_REQUESTOUTOFRANGE)))) {   /** @req DCM001 **/\r
+                 && ((responseCode == DCM_E_SERVICENOTSUPPORTED) || (responseCode == DCM_E_SUBFUNCTIONNOTSUPPORTED) || (responseCode == DCM_E_REQUESTOUTOFRANGE)))) {   /** @req DCM001 */\r
                msgData.pduTxData->SduDataPtr[0] = SID_NEGATIVE_RESPONSE;\r
                msgData.pduTxData->SduDataPtr[1] = currentSid;\r
                msgData.pduTxData->SduDataPtr[2] = responseCode;\r
                msgData.pduTxData->SduLength = 3;\r
-               DslDsdProcessingDone(msgData.rxPduId, DSD_TX_RESPONSE_READY);   /** @req DCM114 **/ /** @req DCM232.1 **/\r
+               DslDsdProcessingDone(msgData.rxPduId, DSD_TX_RESPONSE_READY);   /** @req DCM114 */ /** @req DCM232.Ncr */\r
        }\r
        else {\r
                DslDsdProcessingDone(msgData.rxPduId, DSD_TX_RESPONSE_SUPPRESSED);\r
@@ -79,7 +84,7 @@ static void createAndSendNcr(Dcm_NegativeResponseCodeType responseCode)
 \r
 static void selectServiceFunction(uint8 sid)\r
 {\r
-       switch (sid)     /** @req DCM221 **/\r
+       switch (sid)     /** @req DCM221 */\r
        {\r
        case SID_DIAGNOSTIC_SESSION_CONTROL:\r
                DspUdsDiagnosticSessionControl(msgData.pduRxData, msgData.pduTxData);\r
@@ -178,50 +183,50 @@ void DsdHandleRequest(void)
        Std_ReturnType result;\r
        const Dcm_DsdServiceType *sidConfPtr = NULL;\r
 \r
-       currentSid = msgData.pduRxData->SduDataPtr[0];  /** @req DCM198 **/\r
+       currentSid = msgData.pduRxData->SduDataPtr[0];  /** @req DCM198 */\r
 \r
-       /** @req DCM178 **/\r
-       if (DCM_RESPOND_ALL_REQUEST || ((currentSid & 0x7F) < 0x40)) {          /** @req DCM084 **/\r
-               if (lookupSid(currentSid, &sidConfPtr)) {               /** @req DCM192 **/ /** @req DCM193 **/ /** @req DCM196 **/\r
+       /** @req DCM178 */\r
+       if (DCM_RESPOND_ALL_REQUEST || ((currentSid & 0x7F) < 0x40)) {          /** @req DCM084 */\r
+               if (lookupSid(currentSid, &sidConfPtr)) {               /** @req DCM192 */ /** @req DCM193 */ /** @req DCM196 */\r
                        // SID found!\r
-                       if (DspCheckSessionLevel(sidConfPtr->DsdSidTabSessionLevelRef)) {                /** @req DCM211 **/\r
-                               if (DspCheckSecurityLevel(sidConfPtr->DsdSidTabSecurityLevelRef)) {      /** @req DCM217 **/\r
-                                       if (DCM_REQUEST_INDICATION_ENABLED) {    /** @req DCM218 **/\r
+                       if (DspCheckSessionLevel(sidConfPtr->DsdSidTabSessionLevelRef)) {                /** @req DCM211 */\r
+                               if (DspCheckSecurityLevel(sidConfPtr->DsdSidTabSecurityLevelRef)) {      /** @req DCM217 */\r
+                                       if (DCM_REQUEST_INDICATION_ENABLED) {    /** @req DCM218 */\r
                                                 result = askApplicationForServicePermission(msgData.pduRxData->SduDataPtr, msgData.pduRxData->SduLength);\r
                                        }\r
                                        if (!DCM_REQUEST_INDICATION_ENABLED || result == E_OK) {\r
                                                // Yes! All conditions met!\r
                                                // Check if response shall be suppressed\r
-                                               if (sidConfPtr->DsdSidTabSubfuncAvail && (msgData.pduRxData->SduDataPtr[1] & SUPPRESS_POS_RESP_BIT)) {  /** @req DCM204 **/\r
-                                                       suppressPosRspMsg = TRUE;       /** @req DCM202 **/\r
-                                                       msgData.pduRxData->SduDataPtr[1] &= ~SUPPRESS_POS_RESP_BIT;     /** @req DCM201 **/\r
+                                               if (sidConfPtr->DsdSidTabSubfuncAvail && (msgData.pduRxData->SduDataPtr[1] & SUPPRESS_POS_RESP_BIT)) {  /** @req DCM204 */\r
+                                                       suppressPosRspMsg = TRUE;       /** @req DCM202 */\r
+                                                       msgData.pduRxData->SduDataPtr[1] &= ~SUPPRESS_POS_RESP_BIT;     /** @req DCM201 */\r
                                                }\r
                                                else\r
                                                {\r
-                                                       suppressPosRspMsg = FALSE;      /** @req DCM202 **/\r
+                                                       suppressPosRspMsg = FALSE;      /** @req DCM202 */\r
                                                }\r
                                                selectServiceFunction(currentSid);\r
                                        }\r
                                        else {\r
                                                if (result == E_REQUEST_ENV_NOK) {\r
-                                                       createAndSendNcr(DCM_E_CONDITIONSNOTCORRECT);   /** @req DCM463 **/\r
+                                                       createAndSendNcr(DCM_E_CONDITIONSNOTCORRECT);   /** @req DCM463 */\r
                                                }\r
                                                else {\r
-                                                       // Do not send any response             /** @req DCM462 **/\r
+                                                       // Do not send any response             /** @req DCM462 */\r
                                                        DslDsdProcessingDone(msgData.rxPduId, DSD_TX_RESPONSE_SUPPRESSED);\r
                                                }\r
                                        }\r
                                }\r
                                else {\r
-                                       createAndSendNcr(DCM_E_SECUTITYACCESSDENIED);   /** @req DCM217 **/\r
+                                       createAndSendNcr(DCM_E_SECUTITYACCESSDENIED);   /** @req DCM217 */\r
                                }\r
                        }\r
                        else {\r
-                               createAndSendNcr(DCM_E_SERVICENOTSUPPORTEDINACTIVESESSION);     /** @req DCM211 **/\r
+                               createAndSendNcr(DCM_E_SERVICENOTSUPPORTEDINACTIVESESSION);     /** @req DCM211 */\r
                        }\r
                }\r
                else {\r
-                       createAndSendNcr(DCM_E_SERVICENOTSUPPORTED);    /** @req DCM197 **/\r
+                       createAndSendNcr(DCM_E_SERVICENOTSUPPORTED);    /** @req DCM197 */\r
                }\r
        }\r
        else {\r
@@ -234,18 +239,18 @@ void DsdHandleRequest(void)
 void DsdDspProcessingDone(Dcm_NegativeResponseCodeType responseCode)\r
 {\r
        if (responseCode == DCM_E_POSITIVERESPONSE) {\r
-               if (!suppressPosRspMsg) {       /** @req DCM200 **/ /** @req DCM231 **/\r
-                       /** @req DCM222 **/\r
-                       msgData.pduTxData->SduDataPtr[0] = currentSid | SID_RESPONSE_BIT;       /** @req DCM223 **/ /** @req DCM224 **/\r
-                       DslDsdProcessingDone(msgData.rxPduId, DSD_TX_RESPONSE_READY);   /** @req DCM114 **/ /** @req DCM225 **/ /** @req DCM232.2 **/\r
+               if (!suppressPosRspMsg) {       /** @req DCM200 */ /** @req DCM231 */\r
+                       /** @req DCM222 */\r
+                       msgData.pduTxData->SduDataPtr[0] = currentSid | SID_RESPONSE_BIT;       /** @req DCM223 */ /** @req DCM224 */\r
+                       DslDsdProcessingDone(msgData.rxPduId, DSD_TX_RESPONSE_READY);   /** @req DCM114 */ /** @req DCM225 */ /** @req DCM232.Ok */\r
                }\r
                else {\r
-                       DspDcmConfirmation(msgData.txPduId);    /** @req DCM236 **/ /** @req DCM240 **/\r
+                       DspDcmConfirmation(msgData.txPduId);    /** @req DCM236 */ /** @req DCM240 */\r
                        DslDsdProcessingDone(msgData.rxPduId, DSD_TX_RESPONSE_SUPPRESSED);\r
                }\r
        }\r
        else {\r
-               createAndSendNcr(responseCode); /** @req DCM228 **/\r
+               createAndSendNcr(responseCode); /** @req DCM228 */\r
        }\r
 \r
 }\r
@@ -253,7 +258,7 @@ void DsdDspProcessingDone(Dcm_NegativeResponseCodeType responseCode)
 \r
 void DsdDataConfirmation(PduIdType confirmPduId, NotifResultType result)\r
 {\r
-       DspDcmConfirmation(confirmPduId);       /** @req DCM236 **/\r
+       DspDcmConfirmation(confirmPduId);       /** @req DCM236 */\r
 }\r
 \r
 \r
index 0e2af259cd01c53388093809465843b1a4e02d34..8ef58a5ca3f534771924305cd1efcb4980f5e2b4 100644 (file)
  * for more details.\r
  * -------------------------------- Arctic Core ------------------------------*/\r
 \r
+/*\r
+ *  General requirements\r
+ */\r
+/** @req DCM030 */\r
+\r
+\r
 #include <string.h>\r
 #include "Mcu.h"\r
 #include "Dcm.h"\r
@@ -73,7 +79,7 @@ void ComM_DCM_InactivateDiagnostic() {
 \r
 //\r
 // This function reset/stars the session (S3) timer. See requirement\r
-// @DCM141 when that action should be taken.\r
+// DCM141 when that action should be taken.\r
 //\r
 static inline void startS3SessionTimer(Dcm_DslRunTimeProtocolParametersType *runtime, const Dcm_DslProtocolRowType *protocolRow) {\r
        const Dcm_DslProtocolTimingRowType *timeParams;\r
@@ -85,7 +91,7 @@ static inline void startS3SessionTimer(Dcm_DslRunTimeProtocolParametersType *run
 \r
 //\r
 // This function reset/stars the session (S3) timer. See requirement\r
-// @DCM141 when that action should be taken.\r
+// DCM141 when that action should be taken.\r
 //\r
 static inline void stopS3SessionTimer(Dcm_DslRunTimeProtocolParametersType *runtime) {\r
        runtime->S3ServerTimeoutCount = 0;\r
@@ -94,13 +100,13 @@ static inline void stopS3SessionTimer(Dcm_DslRunTimeProtocolParametersType *runt
 // - - - - - - - - - - -\r
 \r
 //\r
-//     This function implements the requirement @DCM139 when\r
+//     This function implements the requirement DCM139 when\r
 //     transition from one session to another.\r
 //\r
 static void changeDiagnosticSession(Dcm_DslRunTimeProtocolParametersType *runtime,\r
                Dcm_SesCtrlType newSession) {\r
 \r
-       /** @req DCM139 **/\r
+       /** @req DCM139 */\r
 \r
        switch (runtime->sessionControl) {\r
        case DCM_DEFAULT_SESSION: // "default".\r
@@ -115,7 +121,7 @@ static void changeDiagnosticSession(Dcm_DslRunTimeProtocolParametersType *runtim
 \r
        default:\r
                // TODO: Log this error.\r
-               DEBUG(DEBUG_MEDIUM, "Old session invalid")\r
+               DEBUG(DEBUG_MEDIUM, "Old session invalid");\r
                break;\r
        }\r
 \r
@@ -130,7 +136,7 @@ static void changeDiagnosticSession(Dcm_DslRunTimeProtocolParametersType *runtim
 \r
        default:\r
                // TODO: Log this error.\r
-               DEBUG(DEBUG_MEDIUM, "New session invalid")\r
+               DEBUG(DEBUG_MEDIUM, "New session invalid");\r
                break;\r
        }\r
 }\r
@@ -142,12 +148,12 @@ void DslResetSessionTimeoutTimer() {
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
        activeProtocol = DcmDslRunTimeData.activeProtocol;\r
        runtime = activeProtocol->DslRunTimeProtocolParameters;\r
-       startS3SessionTimer(runtime, activeProtocol); // @DCM141\r
+       startS3SessionTimer(runtime, activeProtocol); /** @req DCM141 */\r
 }\r
 \r
 // - - - - - - - - - - -\r
 \r
-void DslGetCurrentServiceTable(const Dcm_DsdServiceTableType **currentServiceTable) {\r
+void DslGetCurrentServiceTable(const Dcm_DsdServiceTableType **currentServiceTable) { /** @req DCM195 */\r
        const Dcm_DslProtocolRowType *activeProtocol = NULL;\r
        activeProtocol = DcmDslRunTimeData.activeProtocol;\r
        if (activeProtocol != NULL) {\r
@@ -157,7 +163,7 @@ void DslGetCurrentServiceTable(const Dcm_DsdServiceTableType **currentServiceTab
 \r
 // - - - - - - - - - - -\r
 \r
-Std_ReturnType DslGetActiveProtocol(Dcm_ProtocolType *protocolId) { /** @req DCM340 **/\r
+Std_ReturnType DslGetActiveProtocol(Dcm_ProtocolType *protocolId) { /** @req DCM340 */\r
        Std_ReturnType ret = E_NOT_OK;\r
        const Dcm_DslProtocolRowType *activeProtocol = NULL;\r
        activeProtocol = DcmDslRunTimeData.activeProtocol;\r
@@ -170,7 +176,7 @@ Std_ReturnType DslGetActiveProtocol(Dcm_ProtocolType *protocolId) { /** @req DCM
 \r
 // - - - - - - - - - - -\r
 \r
-void DslSetSecurityLevel(Dcm_SecLevelType secLevel) { /** @req DCM020 **/\r
+void DslSetSecurityLevel(Dcm_SecLevelType secLevel) { /** @req DCM020 */\r
        const Dcm_DslProtocolRowType *activeProtocol = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
        activeProtocol = DcmDslRunTimeData.activeProtocol;\r
@@ -180,7 +186,7 @@ void DslSetSecurityLevel(Dcm_SecLevelType secLevel) { /** @req DCM020 **/
 \r
 // - - - - - - - - - - -\r
 \r
-Std_ReturnType DslGetSecurityLevel(Dcm_SecLevelType *secLevel) {  /** @req DCM020 **//** @req DCM338 **/\r
+Std_ReturnType DslGetSecurityLevel(Dcm_SecLevelType *secLevel) {  /** @req DCM020 *//** @req DCM338 */\r
        Std_ReturnType ret = E_NOT_OK;\r
        const Dcm_DslProtocolRowType *activeProtocol = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
@@ -195,7 +201,7 @@ Std_ReturnType DslGetSecurityLevel(Dcm_SecLevelType *secLevel) {  /** @req DCM02
 \r
 // - - - - - - - - - - -\r
 \r
-void DslSetSesCtrlType(Dcm_SesCtrlType sesCtrl) {  /** @req DCM022 **/\r
+void DslSetSesCtrlType(Dcm_SesCtrlType sesCtrl) {  /** @req DCM022 */\r
        const Dcm_DslProtocolRowType *activeProtocol = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
        activeProtocol = DcmDslRunTimeData.activeProtocol;\r
@@ -210,7 +216,7 @@ void DslSetSesCtrlType(Dcm_SesCtrlType sesCtrl) {  /** @req DCM022 **/
 \r
 // - - - - - - - - - - -\r
 \r
-Std_ReturnType DslGetSesCtrlType(Dcm_SesCtrlType *sesCtrlType) { /** @req DCM022 **//** @req DCM339 **/\r
+Std_ReturnType DslGetSesCtrlType(Dcm_SesCtrlType *sesCtrlType) { /** @req DCM022 *//** @req DCM339 */\r
        Std_ReturnType ret = E_NOT_OK;\r
        const Dcm_DslProtocolRowType *activeProtocol = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
@@ -311,9 +317,9 @@ void DslDsdProcessingDone(PduIdType rxPduIdRef, DsdProcessingDoneResultType resp
                imask_t state = McuE_EnterCriticalSection();\r
                switch (responseResult) {\r
                case DSD_TX_RESPONSE_READY:\r
-                       runtime->externalTxBufferStatus = DSD_PENDING_RESPONSE_SIGNALED; /** @req DCM114 **/\r
+                       runtime->externalTxBufferStatus = DSD_PENDING_RESPONSE_SIGNALED; /** @req DCM114 */\r
                        break;\r
-               case DSD_TX_RESPONSE_SUPPRESSED:\r
+               case DSD_TX_RESPONSE_SUPPRESSED: /** @req DCM238 */\r
                        DEBUG( DEBUG_MEDIUM, "DslDsdProcessingDone called with DSD_TX_RESPONSE_SUPPRESSED.\n");\r
                        releaseExternalRxTxBuffersHelper(rxPduIdRef);\r
                        break;\r
@@ -340,7 +346,7 @@ static void sendResponse(const Dcm_DslProtocolRowType *protocol,
        const Dcm_DslProtocolRowType *protocolRow = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
 \r
-       /** @req DCM119 **/\r
+       /** @req DCM119 */\r
        imask_t state = McuE_EnterCriticalSection();\r
        if (findRxPduIdParentConfigurationLeafs(protocol->DslRunTimeProtocolParameters->diagReqestRxPduId, &protocolRx, &mainConnection, &connection, &protocolRow, &runtime)) {\r
                if (runtime->localTxBuffer.status == NOT_IN_USE) {\r
@@ -351,7 +357,7 @@ static void sendResponse(const Dcm_DslProtocolRowType *protocol,
                        runtime->localTxBuffer.PduInfo.SduDataPtr = runtime->localTxBuffer.buffer;\r
                        runtime->localTxBuffer.PduInfo.SduLength = 3;\r
                        runtime->localTxBuffer.status = DCM_TRANSMIT_SIGNALED; // In the DslProvideTxBuffer 'callback' this state signals it is the local buffer we are interested in sending.\r
-                       PduR_DcmTransmit(mainConnection->DslProtocolTx->DcmDslProtocolTxPduId, &(runtime->localTxBuffer.PduInfo));/** @req DCM115, the P2ServerMin has not been implemented. **/\r
+                       PduR_DcmTransmit(mainConnection->DslProtocolTx->DcmDslProtocolTxPduId, &(runtime->localTxBuffer.PduInfo));/** @req DCM115.Partially */ /* The P2ServerMin has not been implemented. */\r
                }\r
        }\r
        McuE_ExitCriticalSection(state);\r
@@ -364,11 +370,9 @@ static Std_ReturnType StartProtocolHelper(Dcm_ProtocolType protocolId) {
        uint16 i;\r
 \r
        for (i = 0; !DCM_Config.Dsl->DslCallbackDCMRequestService[i].Arc_EOL; i++) {\r
-               if (DCM_Config.Dsl->DslCallbackDCMRequestService[i].StartProtocol\r
-                               != NULL) {\r
-                       ret = DCM_Config.Dsl->DslCallbackDCMRequestService[i]. StartProtocol(\r
-                                                       protocolId);\r
-                       if (ret != E_OK) { // qqq: eqvivalent to DCM_E_OK?\r
+               if (DCM_Config.Dsl->DslCallbackDCMRequestService[i].StartProtocol != NULL) {\r
+                       ret = DCM_Config.Dsl->DslCallbackDCMRequestService[i]. StartProtocol(protocolId);\r
+                       if (ret != E_OK) {\r
                                break;\r
                        }\r
                }\r
@@ -389,7 +393,7 @@ static boolean isTesterPresentCommand(const PduInfoType *rxPdu) {
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\r
 //     Implements 'void Dcm_Init(void)' for DSL.\r
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\r
-void DslInit(void) { /** @req DCM037 - for DSL submodule. **/\r
+void DslInit(void) {\r
        const Dcm_DslProtocolRowType *listEntry = NULL;\r
        Dcm_DslRunTimeProtocolParametersType *runtime = NULL;\r
 \r
@@ -400,8 +404,8 @@ void DslInit(void) { /** @req DCM037 - for DSL submodule. **/
                runtime->externalTxBufferStatus = DCM_IDLE;\r
                runtime->localRxBuffer.status = DCM_IDLE;\r
                runtime->localTxBuffer.status = DCM_IDLE;\r
-               runtime->securityLevel = DCM_SEC_LEV_LOCKED; /** @req DCM033 **/\r
-               runtime->sessionControl = DCM_DEFAULT_SESSION;\r
+               runtime->securityLevel = DCM_SEC_LEV_LOCKED; /** @req DCM033 */\r
+               runtime->sessionControl = DCM_DEFAULT_SESSION; /** @req DCM034 */\r
                listEntry->DslProtocolRxBufferID->externalBufferRuntimeData->status = BUFFER_AVAILABLE;\r
                listEntry->DslProtocolRxBufferID->externalBufferRuntimeData->status = BUFFER_AVAILABLE;\r
                listEntry++;\r
@@ -428,7 +432,7 @@ void DslMain(void) {
                        if (runtime->sessionControl != DCM_DEFAULT_SESSION) { // Timeout if tester present is lost.\r
                                DECREMENT(runtime->S3ServerTimeoutCount);\r
                                if (runtime->S3ServerTimeoutCount == 0) {\r
-                                       changeDiagnosticSession(runtime, DCM_DEFAULT_SESSION); /** @req DCM140 **/\r
+                                       changeDiagnosticSession(runtime, DCM_DEFAULT_SESSION); /** @req DCM140 */\r
                                }\r
                        }\r
                        switch (runtime->externalTxBufferStatus) { // #### TX buffer state. ####\r
@@ -445,10 +449,10 @@ void DslMain(void) {
                                        if (DCM_Config.Dsl->DslDiagResp != NULL) {\r
                                                if (DCM_Config.Dsl->DslDiagResp->DslDiagRespForceRespPendEn == TRUE) {\r
                                                        if (runtime->responsePendingCount != 0) {\r
-                                                               sendResponse(protocolRowEntry, DCM_E_RESPONSEPENDING);  /** @req DCM024 **/\r
+                                                               sendResponse(protocolRowEntry, DCM_E_RESPONSEPENDING);  /** @req DCM024 */\r
                                                                DECREMENT( runtime->responsePendingCount );\r
                                                        } else {\r
-                                                               sendResponse(protocolRowEntry, DCM_E_GENERALREJECT); /** @req DCM120 **/\r
+                                                               sendResponse(protocolRowEntry, DCM_E_GENERALREJECT); /** @req DCM120 */\r
                                                                releaseExternalRxTxBuffers(protocolRowEntry, runtime);\r
                                                        }\r
                                                } else {\r
@@ -475,14 +479,14 @@ void DslMain(void) {
                                                const uint32 txPduId = mainConnection->DslProtocolTx->DcmDslProtocolTxPduId;\r
                                                DEBUG( DEBUG_MEDIUM, "runtime->externalTxBufferStatus enter state DCM_TRANSMIT_SIGNALED.\n" );\r
                                                runtime->externalTxBufferStatus = DCM_TRANSMIT_SIGNALED;\r
-                                               PduR_DcmTransmit(txPduId, &runtime->diagnosticResponseFromDsd); /** @req DCM237 **//* Will trigger PduR (CanTP) to call DslProvideTxBuffer(). */\r
+                                               PduR_DcmTransmit(txPduId, &runtime->diagnosticResponseFromDsd); /** @req DCM237 *//* Will trigger PduR (CanTP) to call DslProvideTxBuffer(). */\r
                                        } else {\r
                                                DEBUG( DEBUG_MEDIUM, "***** WARNING, THIS IS UNEXPECTED !!! ********.\n" );\r
                                                const uint32 txPduId = protocolRowEntry->DslConnection->DslMainConnection->DslProtocolTx->DcmDslProtocolTxPduId;\r
                                                DEBUG( DEBUG_MEDIUM, "runtime->externalTxBufferStatus enter state DSD_PENDING_RESPONSE_SIGNALED.\n", txPduId);\r
                                                runtime->externalTxBufferStatus = DCM_TRANSMIT_SIGNALED;\r
                                                DEBUG( DEBUG_MEDIUM, "Calling PduR_DcmTransmit with txPduId = %d from DslMain\n", txPduId);\r
-                                               PduR_DcmTransmit(txPduId, &runtime->diagnosticResponseFromDsd); /** @req DCM237 **//* Will trigger PduR (CanTP) to call DslProvideTxBuffer(). */\r
+                                               PduR_DcmTransmit(txPduId, &runtime->diagnosticResponseFromDsd); /** @req DCM237 *//* Will trigger PduR (CanTP) to call DslProvideTxBuffer(). */\r
                                        }\r
                                }\r
                                break;\r
@@ -509,7 +513,7 @@ void DslMain(void) {
 //  received a FF or a single frame and needs to obtain a buffer from the\r
 //  receiver so that received data can be forwarded.\r
 \r
-BufReq_ReturnType DslProvideRxBufferToPdur(PduIdType dcmRxPduId, /** @req DCM094 **/\r
+BufReq_ReturnType DslProvideRxBufferToPdur(PduIdType dcmRxPduId,\r
                PduLengthType tpSduLength, const PduInfoType **pduInfoPtr) {\r
        BufReq_ReturnType ret = BUFREQ_NOT_OK;\r
        const Dcm_DslProtocolRxType *protocolRx = NULL;\r
@@ -522,7 +526,7 @@ BufReq_ReturnType DslProvideRxBufferToPdur(PduIdType dcmRxPduId, /** @req DCM094
        imask_t state = McuE_EnterCriticalSection();\r
        if (findRxPduIdParentConfigurationLeafs(dcmRxPduId, &protocolRx, &mainConnection, &connection, &protocolRow, &runtime)) {\r
                const Dcm_DslBufferType *externalRxBuffer = protocolRow->DslProtocolRxBufferID;\r
-               if (externalRxBuffer->pduInfo.SduLength >= tpSduLength) { /** @req DCM443 **/\r
+               if (externalRxBuffer->pduInfo.SduLength >= tpSduLength) { /** @req DCM443 */\r
                        if ((runtime->externalRxBufferStatus == NOT_IN_USE) && (externalRxBuffer->externalBufferRuntimeData->status == BUFFER_AVAILABLE)) {\r
                                DEBUG( DEBUG_MEDIUM, "External buffer available!\n");\r
                                // ### EXTERNAL BUFFER IS AVAILABLE; GRAB IT AND REMEBER THAT WE OWN IT! ###\r
@@ -530,7 +534,7 @@ BufReq_ReturnType DslProvideRxBufferToPdur(PduIdType dcmRxPduId, /** @req DCM094
                                runtime->diagnosticRequestFromTester.SduDataPtr = externalRxBuffer->pduInfo.SduDataPtr;\r
                                runtime->diagnosticRequestFromTester.SduLength = tpSduLength;\r
                                *pduInfoPtr = &(runtime->diagnosticRequestFromTester);\r
-                               runtime->externalRxBufferStatus = PROVIDED_TO_PDUR; /** @req DCM342 **/\r
+                               runtime->externalRxBufferStatus = PROVIDED_TO_PDUR; /** @req DCM342 */\r
                                ret = BUFREQ_OK;\r
                        } else {\r
                                DEBUG( DEBUG_MEDIUM, "Local buffer available!\n");\r
@@ -551,14 +555,14 @@ BufReq_ReturnType DslProvideRxBufferToPdur(PduIdType dcmRxPduId, /** @req DCM094
                                        // The buffer is in use by the PduR, we can not help this because then\r
                                        // we would have two different Rx-indications with same PduId but we\r
                                        // will not know which buffer the indication should free.\r
-                                       ret = BUFREQ_BUSY; /** @req DCM445 **/\r
+                                       ret = BUFREQ_BUSY; /** @req DCM445 */\r
                                }\r
                        }\r
                } else {\r
-                       ret = BUFREQ_OVFL; /** @req DCM444 **/\r
+                       ret = BUFREQ_OVFL; /** @req DCM444 */\r
                }\r
                if (ret == BUFREQ_OK) {\r
-                       stopS3SessionTimer(runtime); /** @req DCM141 **/\r
+                       stopS3SessionTimer(runtime); /** @req DCM141 */\r
                }\r
        }\r
        McuE_ExitCriticalSection(state);\r
@@ -570,9 +574,9 @@ BufReq_ReturnType DslProvideRxBufferToPdur(PduIdType dcmRxPduId, /** @req DCM094
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\r
 //     This function is called called by the PduR typically when CanTp has\r
 //     received the diagnostic request, copied it to the provided buffer and need to indicate\r
-//     this to the DCM (DSL) module via propritary API.\r
+//     this to the DCM (DSL) module via proprietary API.\r
 \r
-void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {  /** @req DCM093 **/\r
+void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {\r
        const Dcm_DslProtocolRxType *protocolRx = NULL;\r
        const Dcm_DslMainConnectionType *mainConnection = NULL;\r
        const Dcm_DslConnectionType *connection = NULL;\r
@@ -582,7 +586,7 @@ void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {  /*
        Std_ReturnType higherLayerResp;\r
        imask_t state;\r
 \r
-       /** @req DCM345, this needs to be verified when connection to CanIf works. **/\r
+       /** @req DCM345, this needs to be verified when connection to CanIf works. */\r
 \r
        if (findRxPduIdParentConfigurationLeafs(dcmRxPduId, &protocolRx, &mainConnection, &connection, &protocolRow, &runtime)) {\r
                timeParams = protocolRow->DslProtocolTimeLimit;\r
@@ -591,14 +595,14 @@ void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {  /*
                // the Concurrent "Test Present" functionality.\r
                state = McuE_EnterCriticalSection();\r
                if (runtime->externalRxBufferStatus == PROVIDED_TO_PDUR) {\r
-                       if ( result == NTFRSLT_OK ) { /** @req DCM111 **/\r
+                       if ( result == NTFRSLT_OK ) { /** @req DCM111 */\r
                                if (isTesterPresentCommand(&(protocolRow->DslProtocolRxBufferID->pduInfo))) {\r
-                                       startS3SessionTimer(runtime, protocolRow); /** @req DCM141 **//** @req DCM112 **//** @req DCM113 **/\r
+                                       startS3SessionTimer(runtime, protocolRow); /** @req DCM141 *//** @req DCM112 *//** @req DCM113 */\r
                                        runtime->externalRxBufferStatus = NOT_IN_USE;\r
                                        protocolRow->DslProtocolRxBufferID->externalBufferRuntimeData->status = BUFFER_AVAILABLE;\r
                                } else {\r
                                        if (runtime->protocolStarted == FALSE) {\r
-                                               higherLayerResp = StartProtocolHelper(protocolRow->DslProtocolID); /** @req DCM036 **/\r
+                                               higherLayerResp = StartProtocolHelper(protocolRow->DslProtocolID); /** @req DCM036 */\r
                                                if (higherLayerResp == E_OK) {\r
                                                        runtime->protocolStarted = TRUE;\r
                                                        DcmDslRunTimeData.activeProtocol = protocolRow;\r
@@ -606,18 +610,18 @@ void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {  /*
                                        }\r
                                        if (runtime->protocolStarted == TRUE) {\r
                                                if (runtime->diagnosticActiveComM == FALSE) {\r
-                                                       ComM_DCM_ActivateDiagnostic(); /* @DCM163 */\r
+                                                       ComM_DCM_ActivateDiagnostic(); /** @req DCM163 */\r
                                                        runtime->diagnosticActiveComM = TRUE;\r
                                                }\r
                                                timeParams = protocolRow->DslProtocolTimeLimit;\r
                                                runtime->stateTimeoutCount = DCM_CONVERT_MS_TO_MAIN_CYCLES(timeParams->TimStrP2ServerMax); /* See 9.2.2. */\r
-                                               runtime->externalRxBufferStatus = PROVIDED_TO_DSD; /** @req DCM241 **/\r
+                                               runtime->externalRxBufferStatus = PROVIDED_TO_DSD; /** @req DCM241 */\r
                                                if (runtime->externalTxBufferStatus == NOT_IN_USE) {\r
                                                        DEBUG( DEBUG_MEDIUM, "External Tx buffer available, we can pass it to DSD.\n");\r
                                                } else {\r
                                                        DEBUG( DEBUG_MEDIUM, "External buffer not available, a response is being transmitted?\n");\r
                                                }\r
-                                               runtime->externalTxBufferStatus = PROVIDED_TO_DSD; /** @req DCM241 **/\r
+                                               runtime->externalTxBufferStatus = PROVIDED_TO_DSD; /** @req DCM241 */\r
                                                runtime->responsePendingCount = DCM_Config.Dsl->DslDiagResp->DslDiagRespMaxNumRespPend;\r
                                                runtime->diagnosticResponseFromDsd.SduDataPtr = protocolRow->DslProtocolTxBufferID->pduInfo.SduDataPtr;\r
                                                runtime->diagnosticResponseFromDsd.SduLength = protocolRow->DslProtocolTxBufferID->pduInfo.SduLength;\r
@@ -632,7 +636,7 @@ void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {  /*
                                                                dcmRxPduId);\r
                                        }\r
                                }\r
-                       } else { /** @req DCM344 **/\r
+                       } else { /** @req DCM344 */\r
                                // The indication was not equal to NTFRSLT_OK, release the resources and no forward to DSD.\r
                                runtime->externalRxBufferStatus = NOT_IN_USE;\r
                                protocolRow->DslProtocolRxBufferID->externalBufferRuntimeData->status = BUFFER_AVAILABLE;\r
@@ -644,7 +648,7 @@ void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {  /*
                        if (runtime->localRxBuffer.status == PROVIDED_TO_PDUR) {\r
                                if ( result == NTFRSLT_OK ) { // Make sure that the data in buffer is valid.\r
                                        if (isTesterPresentCommand(&(runtime->localRxBuffer.PduInfo))) {\r
-                                               startS3SessionTimer(runtime, protocolRow); /** @req DCM141 **//** @req DCM112 **//** @req DCM113 **/\r
+                                               startS3SessionTimer(runtime, protocolRow); /** @req DCM141 *//** @req DCM112 *//** @req DCM113 */\r
                                        }\r
                                }\r
                                runtime->localRxBuffer.status = NOT_IN_USE;\r
@@ -664,7 +668,7 @@ void DslRxIndicationFromPduR(PduIdType dcmRxPduId, NotifResultType result) {  /*
 //  it has detected that the pending request has been answered by DSD\r
 //  (or any other module?).\r
 \r
-BufReq_ReturnType DslProvideTxBuffer(PduIdType dcmTxPduId, const PduInfoType **pduInfoPtr, PduLengthType length) {     /** @req DCM092 **/\r
+BufReq_ReturnType DslProvideTxBuffer(PduIdType dcmTxPduId, const PduInfoType **pduInfoPtr, PduLengthType length) {\r
        BufReq_ReturnType ret = BUFREQ_NOT_OK;\r
        const Dcm_DslProtocolTxType *protocolTx = NULL;\r
        const Dcm_DslMainConnectionType *mainConnection = NULL;\r
@@ -676,9 +680,9 @@ BufReq_ReturnType DslProvideTxBuffer(PduIdType dcmTxPduId, const PduInfoType **p
        if (findTxPduIdParentConfigurationLeafs(dcmTxPduId, &protocolTx, &mainConnection, &connection, &protocolRow, &runtime)) {\r
                switch (runtime->externalTxBufferStatus) { // ### EXTERNAL TX BUFFER ###\r
                case DCM_TRANSMIT_SIGNALED: {\r
-                       /** @req DCM346 - length verification is already done if this state is reached. **/\r
+                       /** @req DCM346 */ /* Length verification is already done if this state is reached. */\r
                        *pduInfoPtr = &(protocolRow->DslProtocolTxBufferID->pduInfo);\r
-                       runtime->externalTxBufferStatus = PROVIDED_TO_PDUR; /** @req DCM349 **/\r
+                       runtime->externalTxBufferStatus = PROVIDED_TO_PDUR; /** @req DCM349 */\r
                        ret = BUFREQ_OK;\r
                        break;\r
                }\r
@@ -730,12 +734,12 @@ void DslTxConfirmation(PduIdType dcmTxPduId, NotifResultType result) {
                state = McuE_EnterCriticalSection();\r
                switch (runtime->externalTxBufferStatus) { // ### EXTERNAL TX BUFFER ###\r
                case PROVIDED_TO_PDUR: {\r
-                       ComM_DCM_InactivateDiagnostic();\r
-                       startS3SessionTimer(runtime, protocolRow); // @DCM141\r
-                       releaseExternalRxTxBuffers(protocolRow, runtime); /** @req DCM118 **//** @req DCM353 **//** @req DCM354 **/\r
+                       ComM_DCM_InactivateDiagnostic(); /** @req DCM164 */\r
+                       startS3SessionTimer(runtime, protocolRow); /** @req DCM141 */\r
+                       releaseExternalRxTxBuffers(protocolRow, runtime); /** @req DCM118 *//** @req DCM353 *//** @req DCM354 */\r
                        externalBufferReleased = TRUE;\r
                        DEBUG( DEBUG_MEDIUM, "Released external buffer OK!\n");\r
-                       DsdDataConfirmation(mainConnection->DslProtocolTx->DcmDslProtocolTxPduId, result); /** @req DCM117 **//** @req DCM235 **/\r
+                       DsdDataConfirmation(mainConnection->DslProtocolTx->DcmDslProtocolTxPduId, result); /** @req DCM117 *//** @req DCM235 */\r
                        break;\r
                }\r
                default:\r
index aa5aa02c1f73aca3fdff8a2607a0eb18a30616b4..e3e1bd8c48a008288f6cbe6b9f47bef52fab0dbb 100644 (file)
 \r
 \r
 \r
+/*\r
+ *  General requirements\r
+ */\r
+/** @req DCM273 */ /** @req DCM272 */\r
+/** @req DCM039 */ /** @req DCM038 */ /** @req DCM269 */\r
+/** @req DCM271 */ /** @req DCM274 */ /** @req DCM275 */ /** @req DCM424 */\r
+/** @req DCM007 */\r
+\r
 #include <string.h>\r
 #include "Dcm.h"\r
 #include "Dcm_Internal.h"\r
@@ -123,7 +131,7 @@ static Std_ReturnType askApplicationForSessionPermission(Dcm_SesCtrlType newSess
 \r
 void DspUdsDiagnosticSessionControl(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
-       // @req DCM250 **/\r
+       /** @req DCM250 */\r
        const Dcm_DspSessionRowType *sessionRow = DCM_Config.Dsp->DspSession->DspSessionRow;\r
        Dcm_SesCtrlType reqSessionType;\r
        Std_ReturnType result;\r
@@ -138,32 +146,31 @@ void DspUdsDiagnosticSessionControl(const PduInfoType *pduRxData, PduInfoType *p
                if (!sessionRow->Arc_EOL) {\r
                        result = askApplicationForSessionPermission(reqSessionType);\r
                        if (result == E_OK) {\r
-                               DslSetSesCtrlType(reqSessionType);              /** @req DCM311 **/\r
+                               DslSetSesCtrlType(reqSessionType);              /** @req DCM311 */\r
                                // Create positive response\r
-                               /** @req DCM039.2 **/\r
                                pduTxData->SduDataPtr[1] = reqSessionType;\r
                                pduTxData->SduLength = 2;\r
-                               DsdDspProcessingDone(DCM_E_POSITIVERESPONSE); /** @req DCM269.2 **/\r
+                               DsdDspProcessingDone(DCM_E_POSITIVERESPONSE);\r
                        }\r
                        else {\r
                                // TODO: Add handling of special case of E_FORCE_RCRRP (Dcm138)\r
-                               DsdDspProcessingDone(DCM_E_CONDITIONSNOTCORRECT);       /** @req DCM308 **/\r
+                               DsdDspProcessingDone(DCM_E_CONDITIONSNOTCORRECT);       /** @req DCM308 */\r
                        }\r
                }\r
                else {\r
-                       DsdDspProcessingDone(DCM_E_SUBFUNCTIONNOTSUPPORTED);    /** @req DCM307 **/\r
+                       DsdDspProcessingDone(DCM_E_SUBFUNCTIONNOTSUPPORTED);    /** @req DCM307 */\r
                }\r
        }\r
        else {\r
                // Wrong length\r
-               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);      /** @req DCM272.1 **/\r
+               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);\r
        }\r
 }\r
 \r
 \r
 void DspUdsEcuReset(const PduInfoType *pduRxData, PduIdType txPduId, PduInfoType *pduTxData)\r
 {\r
-       // @req DCM260 **/\r
+       /** @req DCM260 */\r
        uint8 reqResetType;\r
 \r
        if (pduRxData->SduLength == 2) {\r
@@ -179,41 +186,40 @@ void DspUdsEcuReset(const PduInfoType *pduRxData, PduIdType txPduId, PduInfoType
                        dspUdsEcuResetData.resetPduId = txPduId;\r
 \r
                        // Create positive response\r
-                       /** @req DCM039.1 **/\r
                        pduTxData->SduDataPtr[1] = reqResetType;\r
                        pduTxData->SduLength = 2;\r
-                       DsdDspProcessingDone(DCM_E_POSITIVERESPONSE); /** @req DCM269.3 **/\r
+                       DsdDspProcessingDone(DCM_E_POSITIVERESPONSE);\r
                        break;\r
 \r
                default:\r
-                       DsdDspProcessingDone(DCM_E_SUBFUNCTIONNOTSUPPORTED);    /** @req DCM273.3 **/\r
+                       DsdDspProcessingDone(DCM_E_SUBFUNCTIONNOTSUPPORTED);\r
                        break;\r
                }\r
        }\r
        else {\r
                // Wrong length\r
-               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);      /** @req DCM272.3 **/\r
+               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);\r
        }\r
 }\r
 \r
 \r
 void DspUdsClearDiagnosticInformation(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
+       /** @req DCM247 */\r
        uint32 dtc;\r
        Dem_ReturnClearDTCType result;\r
 \r
        if (pduRxData->SduLength == 4) {\r
                dtc = BYTES_TO_DTC(pduRxData->SduDataPtr[1], pduRxData->SduDataPtr[2], pduRxData->SduDataPtr[3]);\r
 \r
-               result = Dem_ClearDTC(dtc, DEM_DTC_KIND_ALL_DTCS, DEM_DTC_ORIGIN_PRIMARY_MEMORY);\r
+               result = Dem_ClearDTC(dtc, DEM_DTC_KIND_ALL_DTCS, DEM_DTC_ORIGIN_PRIMARY_MEMORY); /** @req DCM005 */\r
 \r
                switch (result)\r
                {\r
                case DEM_CLEAR_OK:\r
                        // Create positive response\r
-                       /** @req DCM039.1 **/\r
                        pduTxData->SduLength = 1;\r
-                       DsdDspProcessingDone(DCM_E_POSITIVERESPONSE); /** @req DCM269.4 **/\r
+                       DsdDspProcessingDone(DCM_E_POSITIVERESPONSE);\r
                        break;\r
 \r
                default:\r
@@ -223,7 +229,7 @@ void DspUdsClearDiagnosticInformation(const PduInfoType *pduRxData, PduInfoType
        }\r
        else {\r
                // Wrong length\r
-               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);      /** @req DCM272.1 **/\r
+               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);\r
        }\r
 }\r
 \r
@@ -243,7 +249,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x01_0x07_0x11_0x12(const
        Dem_ReturnSetDTCFilterType setDtcFilterResult;\r
 \r
        // Setup the DTC filter\r
-       switch (pduRxData->SduDataPtr[1])       /** @reg DCM293 **/\r
+       switch (pduRxData->SduDataPtr[1])       /** @reg DCM293 */\r
        {\r
        case 0x01:      // reportNumberOfDTCByStatusMask\r
                setDtcFilterResult = Dem_SetDTCFilter(pduRxData->SduDataPtr[2], DEM_DTC_KIND_ALL_DTCS, DEM_DTC_ORIGIN_PRIMARY_MEMORY, DEM_FILTER_WITH_SEVERITY_NO, VALUE_IS_NOT_USED, DEM_FILTER_FOR_FDC_NO);\r
@@ -274,13 +280,12 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x01_0x07_0x11_0x12(const
                uint8 dtcStatusMask;\r
                TxDataType *txData = (TxDataType*)pduTxData->SduDataPtr;\r
 \r
-               /** @reg DCM376 **/\r
+               /** @reg DCM376 */\r
                Dem_GetNumberOfFilteredDtc(&numberOfFilteredDtc);\r
                Dem_GetDTCStatusAvailabilityMask(&dtcStatusMask);\r
 \r
                // Create positive response (ISO 14229-1 table 251)\r
-               /** @req DCM039.0x19 **/\r
-               txData->reportType = pduRxData->SduDataPtr[1];                  // reportType\r
+               txData->reportType = pduRxData->SduDataPtr[1];                                          // reportType\r
                txData->dtcStatusAvailabilityMask = dtcStatusMask;                                      // DTCStatusAvailabilityMask\r
                txData->dtcFormatIdentifier = Dem_GetTranslationType();                         // DTCFormatIdentifier\r
                txData->dtcCountHighByte = (numberOfFilteredDtc >> 8);                          // DTCCount high byte\r
@@ -315,7 +320,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x02_0x0A_0x0F_0x13_0x15(c
        } TxDataType;\r
 \r
        // Setup the DTC filter\r
-       switch (pduRxData->SduDataPtr[1])       /** @reg DCM378 **/\r
+       switch (pduRxData->SduDataPtr[1])       /** @reg DCM378 */\r
        {\r
        case 0x02:      // reportDTCByStatusMask\r
                setDtcFilterResult = Dem_SetDTCFilter(pduRxData->SduDataPtr[2], DEM_DTC_KIND_ALL_DTCS, DEM_DTC_ORIGIN_PRIMARY_MEMORY, DEM_FILTER_WITH_SEVERITY_NO, VALUE_IS_NOT_USED, DEM_FILTER_FOR_FDC_NO);\r
@@ -353,15 +358,14 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x02_0x0A_0x0F_0x13_0x15(c
                Dem_EventStatusExtendedType dtcStatus;\r
                uint16 nrOfDtcs = 0;\r
 \r
-               /** @reg DCM377 **/\r
+               /** @reg DCM377 */\r
                Dem_GetDTCStatusAvailabilityMask(&dtcStatusMask);\r
 \r
                // Create positive response (ISO 14229-1 table 252)\r
-               /** @req DCM039.0x19 **/\r
                txData->reportType = pduRxData->SduDataPtr[1];\r
                txData->dtcStatusAvailabilityMask = dtcStatusMask;\r
 \r
-               if (dtcStatusMask != 0x00) {    /** @req DCM008 **/\r
+               if (dtcStatusMask != 0x00) {    /** @req DCM008 */\r
                        getNextFilteredDtcResult = Dem_GetNextFilteredDTC(&dtc, &dtcStatus);\r
                        while (getNextFilteredDtcResult == DEM_FILTERED_OK) {\r
                                txData->dtcAndStatusRecord[nrOfDtcs].dtcHighByte = DTC_HIGH_BYTE(dtc);\r
@@ -416,7 +420,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x06_0x10(const PduInfoTyp
        uint8 endRecNum;\r
 \r
        // Switch on sub function\r
-       switch (pduRxData->SduDataPtr[1])       /** @reg DCM378 **/\r
+       switch (pduRxData->SduDataPtr[1])       /** @reg DCM378 */\r
        {\r
        case 0x06:      // reportDTCExtendedDataRecordByDTCNumber\r
                dtcOrigin = DEM_DTC_ORIGIN_PRIMARY_MEMORY;\r
@@ -459,14 +463,14 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x06_0x10(const PduInfoTyp
                Dem_EventStatusExtendedType statusOfDtc;\r
 \r
                dtc = BYTES_TO_DTC(pduRxData->SduDataPtr[2], pduRxData->SduDataPtr[3], pduRxData->SduDataPtr[4]);\r
-               getStatusOfDtcResult = Dem_GetStatusOfDTC(dtc, DEM_DTC_KIND_ALL_DTCS, dtcOrigin, &statusOfDtc); /** @req DCM295 **/ /** @req DCM475 **/\r
+               getStatusOfDtcResult = Dem_GetStatusOfDTC(dtc, DEM_DTC_KIND_ALL_DTCS, dtcOrigin, &statusOfDtc); /** @req DCM295 */ /** @req DCM475 */\r
                if (getStatusOfDtcResult == DEM_STATUS_OK) {\r
                        Dem_ReturnGetExtendedDataRecordByDTCType getExtendedDataRecordByDtcResult;\r
                        uint16 recNum;\r
                        uint8 recLength;\r
                        uint16 txIndex = 6;\r
 \r
-                       /** @req DCM297 **/ /** @req DCM474 **/ /** @req DCM386 **/\r
+                       /** @req DCM297 */ /** @req DCM474 */ /** @req DCM386 */\r
                        pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];                    // Sub function\r
                        pduTxData->SduDataPtr[2] = DTC_HIGH_BYTE(dtc);                                  // DTC high byte\r
                        pduTxData->SduDataPtr[3] = DTC_MID_BYTE(dtc);                                   // DTC mid byte\r
@@ -474,12 +478,12 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x06_0x10(const PduInfoTyp
                        pduTxData->SduDataPtr[5] = statusOfDtc;                                                 // DTC status\r
                        for (recNum = startRecNum; recNum <= endRecNum; recNum++) {\r
                                recLength = pduTxData->SduLength - txIndex -1;  // Calculate what's left in buffer\r
-                               /** @req DCM296 **/ /** @req DCM476 **/ /** @req DCM382 **/\r
+                               /** @req DCM296 */ /** @req DCM476 */ /** @req DCM382 */\r
                                getExtendedDataRecordByDtcResult = Dem_GetExtendedDataRecordByDTC(dtc, DEM_DTC_KIND_ALL_DTCS, dtcOrigin, recNum, &pduTxData->SduDataPtr[txIndex+1], &recLength);\r
                                if (getExtendedDataRecordByDtcResult == DEM_RECORD_OK) {\r
                                        pduTxData->SduDataPtr[txIndex++] = recNum;\r
                                        /* Instead of calling Dem_GetSizeOfExtendedDataRecordByDTC() the result from Dem_GetExtendedDataRecordByDTC() is used */\r
-                                       /** @req DCM478 **/ /** @req DCM479 **/ /** @req DCM480 **/\r
+                                       /** @req DCM478 */ /** @req DCM479 */ /** @req DCM480 */\r
                                        txIndex += recLength;\r
                                }\r
                                else {\r
@@ -554,7 +558,7 @@ static Dcm_NegativeResponseCodeType udsReadDtcInfoSub_0x14(const PduInfoType *pd
 \r
 void DspUdsReadDtcInformation(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
-       /** @reg DCM248 **/\r
+       /** @reg DCM248 */\r
        // Sub function number         0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F 10 11 12 13 14 15\r
        const uint8 sduLength[0x16] = {0, 3, 3, 6, 6, 3, 6, 4, 4, 5, 2, 2, 2, 2, 2, 3, 6, 3, 3, 3, 2, 2};\r
 \r
@@ -626,7 +630,7 @@ void DspUdsReadDtcInformation(const PduInfoType *pduRxData, PduInfoType *pduTxDa
                }\r
                else {\r
                        // Wrong length\r
-                       responseCode = DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT;     /** @req DCM272.0x19 **/\r
+                       responseCode = DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT;\r
                }\r
        }\r
        else {\r
@@ -660,16 +664,16 @@ static Dcm_NegativeResponseCodeType readDidData(const Dcm_DspDidType *didPtr, Pd
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
 \r
-       if ((didPtr->DspDidInfoRef->DspDidAccess.DspDidRead != NULL) && (didPtr->DspDidConditionCheckReadFnc != NULL) && (didPtr->DspDidReadDataFnc != NULL)) { /** @req DCM433 **/\r
-               if (DspCheckSessionLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidRead->DspDidReadSessionRef)) { /** @req DCM434 **/\r
-                       if (DspCheckSecurityLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidRead->DspDidReadSecurityLevelRef)) { /** @req DCM435 **/\r
+       if ((didPtr->DspDidInfoRef->DspDidAccess.DspDidRead != NULL) && (didPtr->DspDidConditionCheckReadFnc != NULL) && (didPtr->DspDidReadDataFnc != NULL)) { /** @req DCM433 */\r
+               if (DspCheckSessionLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidRead->DspDidReadSessionRef)) { /** @req DCM434 */\r
+                       if (DspCheckSecurityLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidRead->DspDidReadSecurityLevelRef)) { /** @req DCM435 */\r
                                Std_ReturnType result;\r
                                Dcm_NegativeResponseCodeType errorCode;\r
                                result = didPtr->DspDidConditionCheckReadFnc(&errorCode);\r
-                               if ((result == E_OK) && (errorCode == DCM_E_POSITIVERESPONSE)) {        /** @req DCM439 **/\r
+                               if ((result == E_OK) && (errorCode == DCM_E_POSITIVERESPONSE)) {        /** @req DCM439 */\r
                                        uint16 didLen;\r
                                        result = E_NOT_OK;\r
-                                       if (didPtr->DspDidInfoRef->DspDidFixedLength) { /** @req DCM436 **/\r
+                                       if (didPtr->DspDidInfoRef->DspDidFixedLength) { /** @req DCM436 */\r
                                                didLen = didPtr->DspDidSize;\r
                                                result = E_OK;\r
                                        }\r
@@ -686,7 +690,7 @@ static Dcm_NegativeResponseCodeType readDidData(const Dcm_DspDidType *didPtr, Pd
                                                        (*txPos)++;\r
                                                        pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 0) & 0xFF;\r
                                                        (*txPos)++;\r
-                                                       result = didPtr->DspDidReadDataFnc(&pduTxData->SduDataPtr[*txPos]);     /** @req DCM437 **/\r
+                                                       result = didPtr->DspDidReadDataFnc(&pduTxData->SduDataPtr[*txPos]);     /** @req DCM437 */\r
                                                        *txPos += didLen;\r
 \r
                                                        if (result != E_OK) {\r
@@ -718,7 +722,7 @@ static Dcm_NegativeResponseCodeType readDidData(const Dcm_DspDidType *didPtr, Pd
        }\r
 \r
        if (responseCode == DCM_E_POSITIVERESPONSE) {\r
-               // Recurse trough the rest of the dids.         /** @req DCM440 **/\r
+               // Recurse trough the rest of the dids.         /** @req DCM440 */\r
                uint16 i;\r
                for (i=0; (!didPtr->DspDidRef[i]->Arc_EOL) && (responseCode == DCM_E_POSITIVERESPONSE); i++) {\r
                        responseCode = readDidData(didPtr->DspDidRef[i], pduTxData, txPos);\r
@@ -730,7 +734,7 @@ static Dcm_NegativeResponseCodeType readDidData(const Dcm_DspDidType *didPtr, Pd
 \r
 void DspUdsReadDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
-       /** @req DCM253 **/\r
+       /** @req DCM253 */\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
        uint8 nrOfDids;\r
        uint16 didNr;\r
@@ -744,7 +748,7 @@ void DspUdsReadDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduTx
 \r
                for (i = 0; (i < nrOfDids) && (responseCode == DCM_E_POSITIVERESPONSE); i++) {\r
                        didNr = (pduRxData->SduDataPtr[1+i*2] << 8) + pduRxData->SduDataPtr[2+i*2];\r
-                       if (lookupDid(didNr, &didPtr)) {        /** @req DCM438 **/\r
+                       if (lookupDid(didNr, &didPtr)) {        /** @req DCM438 */\r
                                responseCode = readDidData(didPtr, pduTxData, &txPos);\r
                        }\r
                        else { // DID not found\r
@@ -780,7 +784,7 @@ static Dcm_NegativeResponseCodeType readDidScalingData(const Dcm_DspDidType *did
                        (*txPos)++;\r
                        pduTxData->SduDataPtr[*txPos] = (didPtr->DspDidIdentifier >> 0) & 0xFF;\r
                        (*txPos)++;\r
-                       result = didPtr->DspDidGetScalingInfoFnc(&pduTxData->SduDataPtr[*txPos], &errorCode);   /** @req DCM394 **/\r
+                       result = didPtr->DspDidGetScalingInfoFnc(&pduTxData->SduDataPtr[*txPos], &errorCode);   /** @req DCM394 */\r
                        *txPos += scalingInfoLen;\r
 \r
                        if ((result != E_OK) || (errorCode != DCM_E_POSITIVERESPONSE)) {\r
@@ -800,7 +804,7 @@ static Dcm_NegativeResponseCodeType readDidScalingData(const Dcm_DspDidType *did
 \r
 void DspUdsReadScalingDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
-       /** @req DCM258 **/\r
+       /** @req DCM258 */\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
        uint16 didNr;\r
        const Dcm_DspDidType *didPtr = NULL;\r
@@ -833,16 +837,16 @@ static Dcm_NegativeResponseCodeType writeDidData(const Dcm_DspDidType *didPtr, c
 {\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
 \r
-       if ((didPtr->DspDidInfoRef->DspDidAccess.DspDidWrite != NULL) && (didPtr->DspDidConditionCheckWriteFnc != NULL) && (didPtr->DspDidWriteDataFnc != NULL)) {      /** @req DCM468 **/\r
-               if (DspCheckSessionLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidWrite->DspDidWriteSessionRef)) { /** @req DCM469 **/\r
-                       if (DspCheckSecurityLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidWrite->DspDidWriteSecurityLevelRef)) { /** @req DCM470 **/\r
+       if ((didPtr->DspDidInfoRef->DspDidAccess.DspDidWrite != NULL) && (didPtr->DspDidConditionCheckWriteFnc != NULL) && (didPtr->DspDidWriteDataFnc != NULL)) {      /** @req DCM468 */\r
+               if (DspCheckSessionLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidWrite->DspDidWriteSessionRef)) { /** @req DCM469 */\r
+                       if (DspCheckSecurityLevel(didPtr->DspDidInfoRef->DspDidAccess.DspDidWrite->DspDidWriteSecurityLevelRef)) { /** @req DCM470 */\r
                                Std_ReturnType result;\r
                                Dcm_NegativeResponseCodeType errorCode;\r
-                               result = didPtr->DspDidConditionCheckWriteFnc(&errorCode);      /** @req DCM471 **/\r
+                               result = didPtr->DspDidConditionCheckWriteFnc(&errorCode);      /** @req DCM471 */\r
                                if ((result == E_OK) && (errorCode == DCM_E_POSITIVERESPONSE)) {\r
                                        uint16 didLen;\r
                                        result = E_NOT_OK;\r
-                                       if (didPtr->DspDidInfoRef->DspDidFixedLength) { /** @req DCM472 **/\r
+                                       if (didPtr->DspDidInfoRef->DspDidFixedLength) { /** @req DCM472 */\r
                                                didLen = didPtr->DspDidSize;\r
                                                result = E_OK;\r
                                        }\r
@@ -853,8 +857,8 @@ static Dcm_NegativeResponseCodeType writeDidData(const Dcm_DspDidType *didPtr, c
                                        }\r
 \r
                                        if (result == E_OK) {\r
-                                               if (didLen == writeDidLen) {    /** @req DCM473 **/\r
-                                                       result = didPtr->DspDidWriteDataFnc(&pduRxData->SduDataPtr[3], didLen, &errorCode);     /** @req DCM395 **/\r
+                                               if (didLen == writeDidLen) {    /** @req DCM473 */\r
+                                                       result = didPtr->DspDidWriteDataFnc(&pduRxData->SduDataPtr[3], didLen, &errorCode);     /** @req DCM395 */\r
                                                        if ((result != E_OK) || (errorCode != DCM_E_POSITIVERESPONSE)) {\r
                                                                responseCode = DCM_E_CONDITIONSNOTCORRECT;\r
                                                        }\r
@@ -888,7 +892,7 @@ static Dcm_NegativeResponseCodeType writeDidData(const Dcm_DspDidType *didPtr, c
 \r
 void DspUdsWriteDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
-       /** @req DCM255 **/\r
+       /** @req DCM255 */\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
        uint16 didNr;\r
        const Dcm_DspDidType *didPtr = NULL;\r
@@ -897,7 +901,7 @@ void DspUdsWriteDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduT
 \r
        didDataLength = pduRxData->SduLength - 3;\r
        didNr = (pduRxData->SduDataPtr[1] << 8) + pduRxData->SduDataPtr[2];\r
-       if (lookupDid(didNr, &didPtr)) {        /** @req DCM467 **/\r
+       if (lookupDid(didNr, &didPtr)) {        /** @req DCM467 */\r
                responseCode = writeDidData(didPtr, pduRxData, didDataLength);\r
        }\r
        else { // DID not found\r
@@ -916,7 +920,7 @@ void DspUdsWriteDataByIdentifier(const PduInfoType *pduRxData, PduInfoType *pduT
 \r
 void DspUdsSecurityAccess(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
-       /** @req DCM252 **/\r
+       /** @req DCM252 */\r
        Dcm_NegativeResponseCodeType responseCode = DCM_E_POSITIVERESPONSE;\r
 \r
        // Check sub function range (0x01 to 0x42)\r
@@ -935,10 +939,10 @@ void DspUdsSecurityAccess(const PduInfoType *pduRxData, PduInfoType *pduTxData)
                        }\r
                        if (!securityRow->Arc_EOL) {\r
                                // Check length\r
-                               if (pduRxData->SduLength == (2 + securityRow->DspSecurityADRSize)) {    /** @req DCM321.1 **/\r
+                               if (pduRxData->SduLength == (2 + securityRow->DspSecurityADRSize)) {    /** @req DCM321.RequestSeed */\r
                                        Dcm_SecLevelType activeSecLevel;\r
                                        Dcm_GetSecurityLevel(&activeSecLevel);\r
-                                       if (requestedSecurityLevel == activeSecLevel) {         /** @req DCM323 **/\r
+                                       if (requestedSecurityLevel == activeSecLevel) {         /** @req DCM323 */\r
                                                pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];\r
                                                // If same level set the seed to zeroes\r
                                                memset(&pduTxData->SduDataPtr[2], 0, securityRow->DspSecuritySeedSize);\r
@@ -946,7 +950,7 @@ void DspUdsSecurityAccess(const PduInfoType *pduRxData, PduInfoType *pduTxData)
                                        }\r
                                        else {\r
                                                // New security level ask for seed\r
-                                               getSeedResult = securityRow->GetSeed(&pduRxData->SduDataPtr[2], &pduTxData->SduDataPtr[2], &getSeedErrorCode);\r
+                                               getSeedResult = securityRow->GetSeed(&pduRxData->SduDataPtr[2], &pduTxData->SduDataPtr[2], &getSeedErrorCode); /** @req DCM324.RequestSeed */\r
                                                if ((getSeedResult == E_OK) && (getSeedErrorCode == E_OK)) {\r
                                                        // Everything ok add sub function to tx message and send it.\r
                                                        pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];\r
@@ -975,14 +979,14 @@ void DspUdsSecurityAccess(const PduInfoType *pduRxData, PduInfoType *pduTxData)
                else {\r
                        // sendKey message\r
                        if (dspUdsSecurityAccesData.reqInProgress) {\r
-                               if (pduRxData->SduLength == (2 + dspUdsSecurityAccesData.reqSecLevelRef->DspSecurityKeySize)) { /** @req DCM321 **/\r
+                               if (pduRxData->SduLength == (2 + dspUdsSecurityAccesData.reqSecLevelRef->DspSecurityKeySize)) { /** @req DCM321.SendKey */\r
                                        if (requestedSecurityLevel == dspUdsSecurityAccesData.reqSecLevel) {\r
                                                Std_ReturnType compareKeyResult;\r
-                                               compareKeyResult = dspUdsSecurityAccesData.reqSecLevelRef->CompareKey(&pduRxData->SduDataPtr[2]);\r
+                                               compareKeyResult = dspUdsSecurityAccesData.reqSecLevelRef->CompareKey(&pduRxData->SduDataPtr[2]); /** @req DCM324.SendKey */\r
                                                if (compareKeyResult == E_OK) {\r
                                                        // Request accepted\r
                                                        // Kill timer\r
-                                                       DslSetSecurityLevel(dspUdsSecurityAccesData.reqSecLevelRef->DspSecurityLevel);\r
+                                                       DslSetSecurityLevel(dspUdsSecurityAccesData.reqSecLevelRef->DspSecurityLevel); /** @req DCM325 */\r
                                                        dspUdsSecurityAccesData.reqInProgress = FALSE;\r
                                                        pduTxData->SduDataPtr[1] = pduRxData->SduDataPtr[1];\r
                                                        pduTxData->SduLength = 2;\r
@@ -1016,39 +1020,40 @@ void DspUdsSecurityAccess(const PduInfoType *pduRxData, PduInfoType *pduTxData)
 \r
 void DspUdsTesterPresent(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
+       /** @req DCM251 */\r
        if (pduRxData->SduLength == 2) {\r
                switch (pduRxData->SduDataPtr[1])\r
                {\r
                case ZERO_SUB_FUNCTION:\r
                        DslResetSessionTimeoutTimer();\r
                        // Create positive response\r
-                       /** @req DCM039.1 **/\r
                        pduTxData->SduDataPtr[1] = ZERO_SUB_FUNCTION;\r
                        pduTxData->SduLength = 2;\r
-                       DsdDspProcessingDone(DCM_E_POSITIVERESPONSE); /** @req DCM269.1 **/\r
+                       DsdDspProcessingDone(DCM_E_POSITIVERESPONSE);\r
                        break;\r
 \r
                default:\r
-                       DsdDspProcessingDone(DCM_E_SUBFUNCTIONNOTSUPPORTED);    /** @req DCM273.1 **/\r
+                       DsdDspProcessingDone(DCM_E_SUBFUNCTIONNOTSUPPORTED);\r
                        break;\r
                }\r
        }\r
        else {\r
                // Wrong length\r
-               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);      /** @req DCM272.1 **/\r
+               DsdDspProcessingDone(DCM_E_INCORRECTMESSAGELENGTHORINVALIDFORMAT);\r
        }\r
 }\r
 \r
 \r
 void DspUdsControlDtcSetting(const PduInfoType *pduRxData, PduInfoType *pduTxData)\r
 {\r
+       /** @req DCM249 */\r
        Dem_ReturnControlDTCStorageType resultCode;\r
 \r
        if (pduRxData->SduLength == 2) {\r
                switch (pduRxData->SduDataPtr[1])\r
                {\r
-               case 0x01:      // ON   /** @req DCM249.1 **/\r
-                       resultCode = Dem_EnableDTCStorage(DEM_DTC_GROUP_ALL_DTCS, DEM_DTC_KIND_ALL_DTCS);               /** @req DCM304 **/\r
+               case 0x01:      // ON\r
+                       resultCode = Dem_EnableDTCStorage(DEM_DTC_GROUP_ALL_DTCS, DEM_DTC_KIND_ALL_DTCS);               /** @req DCM304 */\r
                        if (resultCode == DEM_CONTROL_DTC_STORAGE_OK) {\r
                                pduTxData->SduDataPtr[1] = 0x01;\r
                                pduTxData->SduLength = 2;\r
@@ -1059,8 +1064,8 @@ void DspUdsControlDtcSetting(const PduInfoType *pduRxData, PduInfoType *pduTxDat
                        }\r
                        break;\r
 \r
-               case 0x02:      // OFF  /** @req DCM249.2 **/\r
-                       resultCode = Dem_DisableDTCStorage(DEM_DTC_GROUP_ALL_DTCS, DEM_DTC_KIND_ALL_DTCS);              /** @req DCM406 **/\r
+               case 0x02:      // OFF\r
+                       resultCode = Dem_DisableDTCStorage(DEM_DTC_GROUP_ALL_DTCS, DEM_DTC_KIND_ALL_DTCS);              /** @req DCM406 */\r
                        if (resultCode == DEM_CONTROL_DTC_STORAGE_OK) {\r
                                pduTxData->SduDataPtr[1] = 0x02;\r
                                pduTxData->SduLength = 2;\r
index 33e9f2c0a3fc040d1e0a6d3b1510a543f2a604c7..be05a7c95e7f10aec27e73f01c9d991757dde4bd 100644 (file)
 #ifndef DCM_LCFG_H_\r
 #define DCM_LCFG_H_\r
 \r
+/*\r
+ *  General requirements\r
+ */\r
+/** @req DCM075 */ /** @req DCM076 */\r
+\r
+\r
 #include "ComStack_Types.h"\r
 #include "Dcm_Types.h"\r
 \r
@@ -91,55 +97,55 @@ typedef Std_ReturnType (*Dcm_CallbackEcuResetType)(uint8 resetType, Dcm_Negative
 \r
 // 10.2.44\r
 typedef struct {\r
-       Dcm_SesCtrlType DspSessionLevel; // (1)\r
-       uint16 DspSessionP2ServerMax; // (1)\r
-       uint16 DspSessionP2StarServerMax; // (1)\r
-       boolean Arc_EOL;\r
-} Dcm_DspSessionRowType;\r
+       Dcm_SesCtrlType DspSessionLevel;                        // (1)\r
+       uint16                  DspSessionP2ServerMax;          // (1)\r
+       uint16                  DspSessionP2StarServerMax;      // (1)\r
+       boolean                 Arc_EOL;\r
+} Dcm_DspSessionRowType; /** @req DCM072 */\r
 \r
 // 10.2.42\r
 typedef struct {\r
-       Dcm_SecLevelType DspSecurityLevel; // (1)\r
-       uint16 DspSecurityDelayTimeOnBoot; // (1)\r
-       uint8 DspSecurityNumAttDelay; // (1)\r
-       uint16 DspSecurityDelayTime; // (1)\r
-       uint8 DspSecurityNumAttLock; // (1)\r
-       uint8 DspSecurityADRSize; // (0..1)\r
-       uint8 DspSecuritySeedSize; // (1)\r
-       uint8 DspSecurityKeySize; // (1)\r
-       Dcm_CallbackGetSeedFncType GetSeed;\r
-       Dcm_CallbackCompareKeyFncType CompareKey;\r
-       boolean Arc_EOL;\r
-} Dcm_DspSecurityRowType;\r
+       Dcm_SecLevelType                                DspSecurityLevel;                       // (1)\r
+       uint16                                                  DspSecurityDelayTimeOnBoot;     // (1)\r
+       uint8                                                   DspSecurityNumAttDelay;         // (1)\r
+       uint16                                                  DspSecurityDelayTime;           // (1)\r
+       uint8                                                   DspSecurityNumAttLock;          // (1)\r
+       uint8                                                   DspSecurityADRSize;                     // (0..1)\r
+       uint8                                                   DspSecuritySeedSize;            // (1)\r
+       uint8                                                   DspSecurityKeySize;                     // (1)\r
+       Dcm_CallbackGetSeedFncType              GetSeed;\r
+       Dcm_CallbackCompareKeyFncType   CompareKey;\r
+       boolean                                                 Arc_EOL;\r
+} Dcm_DspSecurityRowType; /** @req DCM073 */\r
 \r
 // 10.2.23\r
 typedef struct {\r
-       uint8 DspDidControlRecordSize; // (1)\r
-       uint8 DspDidControlOptionRecordSize; // (1)\r
-       uint8 DspDidControlStatusRecordSize; // (1)\r
+       uint8 DspDidControlRecordSize;                  // (1)\r
+       uint8 DspDidControlOptionRecordSize;    // (1)\r
+       uint8 DspDidControlStatusRecordSize;    // (1)\r
 } Dcm_DspDidControlRecordSizesType;\r
 \r
 // 10.2.26\r
 typedef struct {\r
-       const Dcm_DspSessionRowType **DspDidControlSessionRef; // (1..*)\r
-       const Dcm_DspSecurityRowType **DspDidControlSecurityLevelRef; // (1..*)\r
-       const Dcm_DspDidControlRecordSizesType *DspDidFreezeCurrentState; // (0..1)\r
-       const Dcm_DspDidControlRecordSizesType *DspDidResetToDefault; // (0..1)\r
-       const Dcm_DspDidControlRecordSizesType *DspDidReturnControlToEcu; // (0..1)\r
-       const Dcm_DspDidControlRecordSizesType *DspDidShortTermAdjustment; // (0..1)\r
-} Dcm_DspDidControlType;\r
+       const Dcm_DspSessionRowType                             **DspDidControlSessionRef;                      // (1..*)       /** @req DCM621 */\r
+       const Dcm_DspSecurityRowType                    **DspDidControlSecurityLevelRef;        // (1..*)       /** @req DCM620 */\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
 typedef struct {\r
-       const Dcm_DspSessionRowType **DspDidReadSessionRef; // (1..*)\r
-       const Dcm_DspSecurityRowType **DspDidReadSecurityLevelRef; // (1..*)\r
-} Dcm_DspDidReadType;\r
+       const Dcm_DspSessionRowType             **DspDidReadSessionRef;                 // (1..*)       /** @req DCM615 */\r
+       const Dcm_DspSecurityRowType    **DspDidReadSecurityLevelRef;   // (1..*)       /** @req DCM614 */\r
+} Dcm_DspDidReadType; /** @req DCM613 */\r
 \r
 // 10.2.28\r
 typedef struct {\r
-       const Dcm_DspSessionRowType **DspDidWriteSessionRef; // (1..*)\r
-       const Dcm_DspSecurityRowType **DspDidWriteSecurityLevelRef; // (1..*)\r
-} Dcm_DspDidWriteType;\r
+       const Dcm_DspSessionRowType             **DspDidWriteSessionRef;                // (1..*)       /** @req DCM618 */\r
+       const Dcm_DspSecurityRowType    **DspDidWriteSecurityLevelRef;  // (1..*)       /** @req DCM617 */\r
+} Dcm_DspDidWriteType; /** @req DCM616 */\r
 \r
 // 10.2.25\r
 typedef struct {\r
@@ -151,167 +157,166 @@ typedef struct {
 \r
 // 10.2.24\r
 typedef struct {\r
-       boolean DspDidDynamicllyDefined; // (1)\r
-       boolean DspDidFixedLength; // (1)\r
-       uint8 DspDidScalingInfoSize; // (0..1)\r
+       boolean                                 DspDidDynamicllyDefined;        // (1)          /** @req DCM612 */\r
+       boolean                                 DspDidFixedLength;                      // (1)          /** @req DCM608 */\r
+       uint8                                   DspDidScalingInfoSize;          // (0..1)       /** @req DCM611 */\r
        // Containers\r
-       Dcm_DspDidAccessType DspDidAccess; // (1)\r
-} Dcm_DspDidInfoType;\r
+       Dcm_DspDidAccessType    DspDidAccess;                           // (1)\r
+} Dcm_DspDidInfoType; /** @req DCM607 */\r
 \r
 // 10.2.22\r
 typedef struct _Dcm_DspDidType {\r
        boolean                                                                         DspDidUsePort;                                  // (1)\r
-       uint16                                                                          DspDidIdentifier;                               // (1)\r
-       const Dcm_DspDidInfoType                                        *DspDidInfoRef;                                 // (1)\r
-       const struct _Dcm_DspDidType                            **DspDidRef;                                    // (0..*)\r
-       uint16                                                                          DspDidSize;                                             // (1)\r
-       Dcm_CallbackReadDataLengthFncType                       DspDidReadDataLengthFnc;                // (0..1)\r
-       Dcm_CallbackConditionCheckReadFncType           DspDidConditionCheckReadFnc;    // (0..1)\r
-       Dcm_CallbackReadDataFncType                                     DspDidReadDataFnc;                              // (0..1)\r
-       Dcm_CallbackConditionCheckWriteFncType          DspDidConditionCheckWriteFnc;   // (0..1)\r
-       Dcm_CallbackWriteDataFncType                            DspDidWriteDataFnc;                             // (0..1)\r
-       Dcm_CallbackGetScalingInformationFncType        DspDidGetScalingInfoFnc;                // (0..1)\r
-       Dcm_CallbackFreezeCurrentStateFncType           DspDidFreezeCurrentStateFnc;    // (0..1)\r
-       Dcm_CallbackResetToDefaultFncType                       DspDidResetToDeaultFnc;                 // (0..1)\r
-       Dcm_CallbackReturnControlToECUFncType           DspDidReturnControlToEcuFnc;    // (0..1)\r
-       Dcm_CallbackShortTermAdjustmentFncType          DspDidShortTermAdjustmentFnc;   // (0..1)\r
+       uint16                                                                          DspDidIdentifier;                               // (1)          /** @req DCM602 */\r
+       const Dcm_DspDidInfoType                                        *DspDidInfoRef;                                 // (1)          /** @req DCM604 */\r
+       const struct _Dcm_DspDidType                            **DspDidRef;                                    // (0..*)       /** @req DCM606 */\r
+       uint16                                                                          DspDidSize;                                             // (1)          /** @req DCM605 */\r
+       Dcm_CallbackReadDataLengthFncType                       DspDidReadDataLengthFnc;                // (0..1)       /** @req DCM671 */\r
+       Dcm_CallbackConditionCheckReadFncType           DspDidConditionCheckReadFnc;    // (0..1)       /** @req DCM677 */\r
+       Dcm_CallbackReadDataFncType                                     DspDidReadDataFnc;                              // (0..1)       /** @req DCM669 */\r
+       Dcm_CallbackConditionCheckWriteFncType          DspDidConditionCheckWriteFnc;   // (0..1)       /** @req DCM678 */\r
+       Dcm_CallbackWriteDataFncType                            DspDidWriteDataFnc;                             // (0..1)       /** @req DCM670 */\r
+       Dcm_CallbackGetScalingInformationFncType        DspDidGetScalingInfoFnc;                // (0..1)       /** @req DCM676 */\r
+       Dcm_CallbackFreezeCurrentStateFncType           DspDidFreezeCurrentStateFnc;    // (0..1)       /** @req DCM674 */\r
+       Dcm_CallbackResetToDefaultFncType                       DspDidResetToDeaultFnc;                 // (0..1)       /** @req DCM673 */\r
+       Dcm_CallbackReturnControlToECUFncType           DspDidReturnControlToEcuFnc;    // (0..1)       /** @req DCM672 */\r
+       Dcm_CallbackShortTermAdjustmentFncType          DspDidShortTermAdjustmentFnc;   // (0..1)       /** @req DCM675 */\r
        // Containers\r
        const Dcm_DspDidControlRecordSizesType          *DspDidControlRecordSize;               // (0..*)\r
        boolean                                                                         Arc_EOL;\r
-} Dcm_DspDidType;\r
+} Dcm_DspDidType; /** @req DCM601 */\r
 \r
 // 10.2.30\r
 typedef struct {\r
-       const Dcm_DspSessionRowType **DspEcuResetSessionRef; // (1..*)\r
-       const Dcm_DspSecurityRowType **DspEcuResetSecurityLevelRef; // (1..*)\r
-\r
-} Dcm_DspEcuResetType;\r
+       const Dcm_DspSessionRowType             **DspEcuResetSessionRef;                // (1..*)\r
+       const Dcm_DspSecurityRowType    **DspEcuResetSecurityLevelRef;  // (1..*)\r
+} Dcm_DspEcuResetType; /** @req DCM657 */\r
 \r
 // 10.2.31\r
 typedef struct {\r
-       boolean DspPidUsePort; // (1)\r
-       uint8 DspPidIdentifier; // (1)\r
-       uint8 DspPidSize; // (1)\r
-       Dcm_CallbackGetPIDValueFncType DspGetPidValFnc; // (1)\r
-} Dcm_DspPidType;\r
+       boolean                                                 DspPidUsePort;          // (1)\r
+       uint8                                                   DspPidIdentifier;       // (1)  /** @req DCM627 */\r
+       uint8                                                   DspPidSize;             // (1)  /** @req DCM628 */\r
+       Dcm_CallbackGetPIDValueFncType  DspGetPidValFnc;        // (1)  /** @req DCM629 */\r
+} Dcm_DspPidType; /** @req DCM626 */\r
 \r
 // 10.2.33\r
 typedef struct {\r
-       boolean DspDTCInfoSubFuncSupp; // (1)\r
-       uint8 DspDTCInfoSubFuncLevel; // (1)\r
-       const Dcm_DspSecurityRowType **DspDTCInfoSecLevelRef; // (1..*)\r
-} Dcm_DspReadDTCRowType;\r
+       boolean                                                 DspDTCInfoSubFuncSupp;          // (1)\r
+       uint8                                                   DspDTCInfoSubFuncLevel;         // (1)\r
+       const Dcm_DspSecurityRowType    **DspDTCInfoSecLevelRef;        // (1..*)\r
+} Dcm_DspReadDTCRowType; /** @req DCM073 */\r
 \r
 // 10.2.32\r
 typedef struct {\r
        // Containers\r
        Dcm_DspReadDTCRowType *DspReadDTCRow; // (0..*)\r
-} Dcm_DspReadDTCType;\r
+} Dcm_DspReadDTCType; /** @req DCM074 */\r
 \r
 // 10.2.34\r
 typedef struct {\r
-       uint8 DspRequestControl; // (1)\r
-       uint8 DspRequestControlOutBufferSize; // (1)\r
-       uint8 DspRequestControlTestId; // (1)\r
-} Dcm_DspRequestControlType;\r
+       uint8 DspRequestControl;                                // (1)\r
+       uint8 DspRequestControlOutBufferSize;   // (1)\r
+       uint8 DspRequestControlTestId;                  // (1)  /** @req DCM656 */\r
+} Dcm_DspRequestControlType; /** @req DCM637 */\r
 \r
 // 10.2.37\r
 typedef struct {\r
-       const Dcm_DspSessionRowType *DspRoutineSessionRef; // (1..*)\r
-       const Dcm_DspSecurityRowType *DspRoutineSecurityLevelRef; // (1..*)\r
-} Dcm_DspRoutineAuthorizationType;\r
+       const Dcm_DspSessionRowType             *DspRoutineSessionRef;                  // (1..*)       /** @req DCM649 */\r
+       const Dcm_DspSecurityRowType    *DspRoutineSecurityLevelRef;    // (1..*)       /** @req DCM648 */\r
+} Dcm_DspRoutineAuthorizationType; /** @req DCM644 */\r
 \r
 // 10.2.38\r
 typedef struct {\r
-       uint8 DspReqResRtnCtrlOptRecSize; // (1)\r
-} Dcm_DspRoutineRequestResType;\r
+       uint8 DspReqResRtnCtrlOptRecSize; // (1)        /** @req DCM652 */\r
+} Dcm_DspRoutineRequestResType; /** @req DCM646 */\r
 \r
 // 10.2.39\r
 typedef struct {\r
-       uint8 DspStopRoutineCtrlOptRecSize; // (1)\r
-       uint8 DspStopRoutineStsOptRecSize; // (1)\r
-} Dcm_DspRoutineStopType;\r
+       uint8 DspStopRoutineCtrlOptRecSize;     // (1)  /** @req DCM650 */\r
+       uint8 DspStopRoutineStsOptRecSize;      // (1)  /** @req DCM651 */\r
+} Dcm_DspRoutineStopType; /** @req DCM645 */\r
 \r
 // 10.2.40\r
 typedef struct {\r
-       uint8 DspStartRoutineCtrlOptRecSize; // (1)\r
-       uint8 DspStartRoutineStsOptRecSize; // (1)\r
-} Dcm_DspStartRoutineType;\r
+       uint8 DspStartRoutineCtrlOptRecSize;    // (1)  /** @req DCM654 */\r
+       uint8 DspStartRoutineStsOptRecSize;             // (1)  /** @req DCM655 */\r
+} Dcm_DspStartRoutineType; /** @req DCM647 */\r
 \r
 // 10.2.36\r
 typedef struct {\r
        // Containers\r
-       const Dcm_DspRoutineAuthorizationType *DspRoutineAuthorization; // (1)\r
-       const Dcm_DspRoutineRequestResType *DspRoutineRequestRes; // (0..1)\r
-       const Dcm_DspRoutineStopType *DspRoutineStop; // (0..1)\r
-       const Dcm_DspStartRoutineType *DspStartRoutine; // (1)\r
-} Dcm_DspRoutineInfoType;\r
+       const Dcm_DspRoutineAuthorizationType   *DspRoutineAuthorization;       // (1)\r
+       const Dcm_DspRoutineRequestResType              *DspRoutineRequestRes;          // (0..1)\r
+       const Dcm_DspRoutineStopType                    *DspRoutineStop;                        // (0..1)\r
+       const Dcm_DspStartRoutineType                   *DspStartRoutine;                       // (1)\r
+} Dcm_DspRoutineInfoType; /** @req DCM643 */\r
 \r
 // 10.2.35\r
 typedef struct {\r
-       boolean DspRoutineUsePort; // (1)\r
-       uint16 DspRoutineIdentifier; // (1)\r
-       const Dcm_DspRoutineInfoType *DspRoutineInfoRef; // (1)\r
-       Dcm_CallbackStartFncType DspStartRoutineFnc; // (0..1)\r
-       Dcm_CallbackStopFncType DspStopRoutineFnc; // (0..1)\r
-       Dcm_CallbackRequestResultFncType DspRequestResultRoutineFnc; // (0..1)\r
-} Dcm_DspRoutineType;\r
+       boolean                                                         DspRoutineUsePort;                      // (1)\r
+       uint16                                                          DspRoutineIdentifier;           // (1)          /** @req DCM641 */\r
+       const Dcm_DspRoutineInfoType            *DspRoutineInfoRef;                     // (1)          /** @req DCM642 */\r
+       Dcm_CallbackStartFncType                        DspStartRoutineFnc;                     // (0..1)       /** @req DCM664 */\r
+       Dcm_CallbackStopFncType                         DspStopRoutineFnc;                      // (0..1)       /** @req DCM665 */\r
+       Dcm_CallbackRequestResultFncType        DspRequestResultRoutineFnc;     // (0..1)       /** @req DCM665 */\r
+} Dcm_DspRoutineType; /** @req DCM640 */\r
 \r
 // 10.2.41\r
 typedef struct {\r
        // Containers\r
        const Dcm_DspSecurityRowType *DspSecurityRow; // (0..31)\r
-} Dcm_DspSecurityType;\r
+} Dcm_DspSecurityType; /** @req DCM073 */\r
 \r
 // 10.2.43\r
 typedef struct {\r
        // Containers\r
        const Dcm_DspSessionRowType *DspSessionRow; // (0..31)\r
-} Dcm_DspSessionType;\r
+} Dcm_DspSessionType; /** @req DCM072 */\r
 \r
 // 10.2.47\r
 typedef struct {\r
-       uint8 DspTestResultTestId; // (1)\r
-       uint8 DspTestResultUaSid; // (1)\r
-} Dcm_DspTestResultTidType;\r
+       uint8 DspTestResultTestId;      // (1)  /** @req DCM635 */\r
+       uint8 DspTestResultUaSid;       // (1)  /** @req DCM686 */\r
+} Dcm_DspTestResultTidType; /** @req DCM634 */\r
 \r
 // 10.2.46\r
 typedef struct {\r
-       uint8 DspTestResultObdmid; // (1)\r
-       const Dcm_DspTestResultTidType **DspTestResultObdmidTidRef; // (1..*)\r
-} Dcm_DspTestResultObdmidTidType;\r
+       uint8                                                   DspTestResultObdmid;                    // (1)          /** @req DCM684 */\r
+       const Dcm_DspTestResultTidType  **DspTestResultObdmidTidRef;    // (1..*)       /** @req DCM685 */\r
+} Dcm_DspTestResultObdmidTidType; /** @req DCM683 */\r
 \r
 // 10.2.45\r
 typedef struct {\r
        // Containers\r
-       const Dcm_DspTestResultObdmidTidType *DspTestResultObdmidTid; // (0..*)\r
-       const Dcm_DspTestResultTidType *DspTestResultTid; // (0..*)\r
-} Dcm_DspTestResultByObdmidType;\r
+       const Dcm_DspTestResultObdmidTidType    *DspTestResultObdmidTid;        // (0..*)\r
+       const Dcm_DspTestResultTidType                  *DspTestResultTid;                      // (0..*)\r
+} Dcm_DspTestResultByObdmidType; /** @req DCM682 */\r
 \r
 // 10.2.48\r
 typedef struct {\r
-       boolean DspVehInfoUsePort; // (1)\r
-       uint8 DspVehInfoType; // (1)\r
-       uint8 DspVehInfoSize; // (1)\r
-       Dcm_CallbackGetInfoTypeValueFncType DspGetVehInfoTypeFnc; // (1)\r
-} Dcm_DspVehInfoType;\r
+       boolean                                                         DspVehInfoUsePort;              // (1)\r
+       uint8                                                           DspVehInfoType;                 // (1)  /** @req DCM631 */\r
+       uint8                                                           DspVehInfoSize;                 // (1)  /** @req DCM632 */\r
+       Dcm_CallbackGetInfoTypeValueFncType     DspGetVehInfoTypeFnc;   // (1)  /** @req DCM633 */\r
+} Dcm_DspVehInfoType; /** @req DCM630 */\r
 \r
 // 10.2.21\r
 typedef struct {\r
-       uint8 DspMaxDidToRead; // (0..1)\r
+       uint8                                                           DspMaxDidToRead; // (0..1)\r
        // Containers\r
-       const Dcm_DspDidType *DspDid; // (0..*)\r
-       const Dcm_DspDidInfoType *DspDidInfo; // (0..*)\r
-       const Dcm_DspEcuResetType *DspEcuReset; // (0..*)\r
-       const Dcm_DspPidType *DspPid; // (0..*)\r
-       const Dcm_DspReadDTCType *DspReadDTC; // (1)\r
-       const Dcm_DspRequestControlType *DspRequestControl; // (0..*)\r
-       const Dcm_DspRoutineType *DspRoutine; // (0..*)\r
-       const Dcm_DspRoutineInfoType *DspRoutineInfo; // (0..*)\r
-       const Dcm_DspSecurityType *DspSecurity; // (0..*)\r
-       const Dcm_DspSessionType *DspSession; // (1)\r
-       const Dcm_DspTestResultByObdmidType *DspTestResultByObdmid; // (0..*)\r
-       const Dcm_DspVehInfoType *DspVehInfo;\r
+       const Dcm_DspDidType                            *DspDid;        // (0..*)\r
+       const Dcm_DspDidInfoType                        *DspDidInfo;                    // (0..*)\r
+       const Dcm_DspEcuResetType                       *DspEcuReset;                   // (0..*)\r
+       const Dcm_DspPidType                            *DspPid;                                // (0..*)\r
+       const Dcm_DspReadDTCType                        *DspReadDTC;                    // (1)\r
+       const Dcm_DspRequestControlType         *DspRequestControl;             // (0..*)\r
+       const Dcm_DspRoutineType                        *DspRoutine;                    // (0..*)\r
+       const Dcm_DspRoutineInfoType            *DspRoutineInfo;                // (0..*)\r
+       const Dcm_DspSecurityType                       *DspSecurity;                   // (0..*)\r
+       const Dcm_DspSessionType                        *DspSession;                    // (1)\r
+       const Dcm_DspTestResultByObdmidType     *DspTestResultByObdmid; // (0..*)\r
+       const Dcm_DspVehInfoType                        *DspVehInfo;\r
 } Dcm_DspType;\r
 \r
 /*******\r
@@ -319,21 +324,21 @@ typedef struct {
  *******/\r
 // 10.2.4 DcmDsdService\r
 typedef struct {\r
-       uint8 DsdSidTabServiceId; // (1)\r
-       boolean DsdSidTabSubfuncAvail; // (1)\r
-       const Dcm_DspSecurityRowType **DsdSidTabSecurityLevelRef; // (1..*)\r
-       const Dcm_DspSessionRowType **DsdSidTabSessionLevelRef; // (1..*)\r
+       uint8                                                   DsdSidTabServiceId;                             // (1)\r
+       boolean                                                 DsdSidTabSubfuncAvail;                  // (1)\r
+       const Dcm_DspSecurityRowType    **DsdSidTabSecurityLevelRef;    // (1..*)\r
+       const Dcm_DspSessionRowType             **DsdSidTabSessionLevelRef;             // (1..*)\r
        // Containers\r
-       boolean Arc_EOL;\r
+       boolean                                                 Arc_EOL;\r
 } Dcm_DsdServiceType;\r
 \r
 // 10.2.3 DcmDsdServiceTable\r
 typedef struct {\r
-       uint8 DsdSidTabId; // (1)\r
+       uint8                                           DsdSidTabId; // (1)\r
        // Containers\r
-       const Dcm_DsdServiceType *DsdService; // (1..*)\r
-       boolean Arc_EOL;\r
-} Dcm_DsdServiceTableType;\r
+       const Dcm_DsdServiceType        *DsdService; // (1..*)\r
+       boolean                                         Arc_EOL;\r
+} Dcm_DsdServiceTableType; /** @req DCM071 */\r
 \r
 // 10.2.2 DcmDsd\r
 typedef struct {\r
@@ -365,44 +370,43 @@ typedef enum
 \r
 typedef struct {\r
        Dcm_DslBufferStatusType status; // Flag for buffer in use.\r
-\r
 } Dcm_DslBufferRuntimeType;\r
 \r
 // 10.2.6\r
 typedef struct {\r
-       uint8 DslBufferID; // (1) // Kept for reference, will be removed (polite calls will be made).\r
-       uint16 DslBufferSize; // (1)\r
-       PduInfoType pduInfo;\r
-       Dcm_DslBufferRuntimeType *externalBufferRuntimeData;\r
-} Dcm_DslBufferType;\r
+       uint8                                           DslBufferID;    // (1) // Kept for reference, will be removed (polite calls will be made).\r
+       uint16                                          DslBufferSize;  // (1)\r
+       PduInfoType                                     pduInfo;\r
+       Dcm_DslBufferRuntimeType        *externalBufferRuntimeData;\r
+} Dcm_DslBufferType; /** @req DCM032 */\r
 \r
 // 10.2.7\r
 typedef struct {\r
-       Dcm_CallbackStartProtocolFncType StartProtocol;\r
-       Dcm_CallbackStopProtocolFncType StopProtocol;\r
-       boolean Arc_EOL;\r
-} Dcm_DslCallbackDCMRequestServiceType;\r
+       Dcm_CallbackStartProtocolFncType        StartProtocol;\r
+       Dcm_CallbackStopProtocolFncType         StopProtocol;\r
+       boolean                                                         Arc_EOL;\r
+} Dcm_DslCallbackDCMRequestServiceType; /** @req DCM679 */\r
 \r
 // 10.2.8\r
 typedef struct {\r
-       boolean DslDiagRespForceRespPendEn; // (1)\r
-       uint8 DslDiagRespMaxNumRespPend; // (1)\r
+       boolean DslDiagRespForceRespPendEn;     // (1)\r
+       uint8   DslDiagRespMaxNumRespPend;      // (1)\r
 } Dcm_DslDiagRespType;\r
 \r
 // 10.2.18\r
 typedef struct {\r
-       uint16 TimStrP2ServerMax; // (1)\r
-       uint16 TimStrP2ServerMin; // (1)\r
-       uint16 TimStrP2StarServerMax; // (1)\r
-       uint16 TimStrP2StarServerMin; // (1)\r
-       uint16 TimStrS3Server; // (1)\r
-       const boolean Arc_EOL;\r
+       uint16                  TimStrP2ServerMax;              // (1)\r
+       uint16                  TimStrP2ServerMin;              // (1)\r
+       uint16                  TimStrP2StarServerMax;  // (1)\r
+       uint16                  TimStrP2StarServerMin;  // (1)\r
+       uint16                  TimStrS3Server;                 // (1)\r
+       const boolean   Arc_EOL;\r
 } Dcm_DslProtocolTimingRowType;\r
 \r
 // 10.2.17\r
 typedef struct {\r
        const Dcm_DslProtocolTimingRowType *DslProtocolTimingRow; // (0..*)\r
-} Dcm_DslProtocolTimingType;\r
+} Dcm_DslProtocolTimingType; /** @req DCM031 */\r
 \r
 // 10.2.15\r
 typedef struct {\r
@@ -420,12 +424,12 @@ typedef struct Dcm_DslProtocolRxType_t Dcm_DslProtocolRxType;
 \r
 // 10.2.13\r
 struct Dcm_DslProtocolRxType_t {\r
-       const Dcm_DslMainConnectionType *DslMainConnectionParent; // (1) /* Cross reference. */\r
-       const Dcm_ProtocolAddrTypeType DslProtocolAddrType; // (1)\r
-       const uint32 DcmDslProtocolRxPduId; // (1)\r
-       const uint32 DcmDslProtocolRxTesterSourceAddr_v4; // (1)\r
-       const uint8 DcmDslProtocolRxChannelId_v4; // (1)\r
-       const boolean Arc_EOL;\r
+       const Dcm_DslMainConnectionType *DslMainConnectionParent;                               // (1) /* Cross reference. */\r
+       const Dcm_ProtocolAddrTypeType  DslProtocolAddrType;                                    // (1)\r
+       const uint32                                    DcmDslProtocolRxPduId;                                  // (1)\r
+       const uint32                                    DcmDslProtocolRxTesterSourceAddr_v4;    // (1)\r
+       const uint8                                             DcmDslProtocolRxChannelId_v4;                   // (1)\r
+       const boolean                                   Arc_EOL;\r
 };\r
 \r
 /* Makes it possible to cross-reference structures. */\r
@@ -434,9 +438,9 @@ typedef struct Dcm_DslProtocolTxType_t Dcm_DslProtocolTxType;
 \r
 // 10.2.14\r
 struct Dcm_DslProtocolTxType_t {\r
-       const Dcm_DslMainConnectionType *DslMainConnectionParent; // (1) /* Cross reference. */\r
-       const uint32 DcmDslProtocolTxPduId; // (1) /* Will be removed (polite), kept for reference. */\r
-       const boolean Arc_EOL;\r
+       const Dcm_DslMainConnectionType *DslMainConnectionParent;       // (1) /* Cross reference. */\r
+       const uint32                                    DcmDslProtocolTxPduId;          // (1) /* Will be removed (polite), kept for reference. */\r
+       const boolean                                   Arc_EOL;\r
 };\r
 \r
 // -- UH\r
@@ -458,12 +462,12 @@ typedef struct Dcm_DslConnectionType_t Dcm_DslConnectionType;
 \r
 // 10.2.12\r
 struct Dcm_DslMainConnectionType_t { // Cross referenced from Dcm_DslProtocolRxType_t.\r
-       const Dcm_DslConnectionType *DslConnectionParent; // Cross reference.\r
-       const Dcm_DslPeriodicTransmissionType *DslPeriodicTransmissionConRef; // (0..1)\r
-       const Dcm_DslResponseOnEventType *DslROEConnectionRef; // (0..*)\r
+       const Dcm_DslConnectionType                             *DslConnectionParent; // Cross reference.\r
+       const Dcm_DslPeriodicTransmissionType   *DslPeriodicTransmissionConRef; // (0..1)\r
+       const Dcm_DslResponseOnEventType                *DslROEConnectionRef;                   // (0..*)\r
        // Containers\r
-       const Dcm_DslProtocolRxType *DslProtocolRx; // (1..*) Remove?\r
-       const Dcm_DslProtocolTxType *DslProtocolTx; // (1)\r
+       const Dcm_DslProtocolRxType                             *DslProtocolRx;                                 // (1..*) Remove?\r
+       const Dcm_DslProtocolTxType                             *DslProtocolTx;                                 // (1)\r
 };\r
 \r
 /* Make it possible to cross reference. */\r
@@ -472,11 +476,11 @@ typedef struct Dcm_DslProtocolRowType_t Dcm_DslProtocolRowType;
 // 10.2.11\r
 struct Dcm_DslConnectionType_t {\r
        // Containers\r
-       const Dcm_DslProtocolRowType *DslProtocolRow; // Cross reference.\r
-       const Dcm_DslMainConnectionType *DslMainConnection; // (1)\r
-       const Dcm_DslPeriodicTransmissionType *DslPeriodicTransmission; // (0..1)\r
-       const Dcm_DslResponseOnEventType *DslResponseOnEvent; // (0..1)\r
-       boolean Arc_EOL;\r
+       const Dcm_DslProtocolRowType                    *DslProtocolRow;                        // Cross reference.\r
+       const Dcm_DslMainConnectionType                 *DslMainConnection;                     // (1)\r
+       const Dcm_DslPeriodicTransmissionType   *DslPeriodicTransmission;       // (0..1)\r
+       const Dcm_DslResponseOnEventType                *DslResponseOnEvent;            // (0..1)\r
+       boolean                                                                 Arc_EOL;\r
 };\r
 \r
 typedef enum {\r
@@ -503,88 +507,88 @@ typedef enum {
 #define DCM_DSL_LOCAL_BUFFER_LENGTH 8\r
 \r
 typedef struct {\r
-       Dcm_DslBufferUserType status;\r
-       uint8 buffer[DCM_DSL_LOCAL_BUFFER_LENGTH];\r
-       PduLengthType messageLenght;\r
-       PduInfoType PduInfo;\r
+       Dcm_DslBufferUserType   status;\r
+       uint8                                   buffer[DCM_DSL_LOCAL_BUFFER_LENGTH];\r
+       PduLengthType                   messageLenght;\r
+       PduInfoType                             PduInfo;\r
 } Dcm_DslLocalBufferType;\r
 \r
 \r
 typedef struct {\r
-       PduIdType diagReqestRxPduId;  // Tester request PduId.\r
-       uint32 stateTimeoutCount; // Counter for timeout.\r
-       Dcm_DslBufferUserType externalRxBufferStatus;\r
-       PduInfoType diagnosticRequestFromTester;\r
-       PduInfoType diagnosticResponseFromDsd;\r
-       Dcm_DslBufferUserType externalTxBufferStatus;\r
-       boolean protocolStarted; // Has the protocol been started?\r
-       Dcm_DslLocalBufferType localRxBuffer;\r
-       Dcm_DslLocalBufferType localTxBuffer;\r
-       boolean diagnosticActiveComM; //\r
-       uint16 S3ServerTimeoutCount;\r
-       uint8 responsePendingCount;\r
-       Dcm_SecLevelType securityLevel;\r
-       Dcm_SesCtrlType sessionControl;\r
+       PduIdType                               diagReqestRxPduId;  // Tester request PduId.\r
+       uint32                                  stateTimeoutCount; // Counter for timeout.\r
+       Dcm_DslBufferUserType   externalRxBufferStatus;\r
+       PduInfoType                             diagnosticRequestFromTester;\r
+       PduInfoType                             diagnosticResponseFromDsd;\r
+       Dcm_DslBufferUserType   externalTxBufferStatus;\r
+       boolean                                 protocolStarted; // Has the protocol been started?\r
+       Dcm_DslLocalBufferType  localRxBuffer;\r
+       Dcm_DslLocalBufferType  localTxBuffer;\r
+       boolean                                 diagnosticActiveComM; //\r
+       uint16                                  S3ServerTimeoutCount;\r
+       uint8                                   responsePendingCount;\r
+       Dcm_SecLevelType                securityLevel;\r
+       Dcm_SesCtrlType                 sessionControl;\r
 } Dcm_DslRunTimeProtocolParametersType;\r
 \r
 // 10.2.10\r
 struct Dcm_DslProtocolRowType_t { // Cross referenced from Dcm_DslConnectionType_t.\r
-       Dcm_ProtocolType DslProtocolID; // (1)\r
-       boolean DslProtocolIsParallelExecutab; // (1)\r
-       uint16 DslProtocolPreemptTimeout; // (1)\r
-       uint8 DslProtocolPriority; // (1)\r
-       Dcm_ProtocolTransTypeType DslProtocolTransType; // (1)\r
-       const Dcm_DslBufferType *DslProtocolRxBufferID; // (1)\r
-       const Dcm_DslBufferType *DslProtocolTxBufferID; // (1)\r
-       const Dcm_DsdServiceTableType *DslProtocolSIDTable; // (1)\r
-       const Dcm_DslProtocolTimingRowType *DslProtocolTimeLimit; // (0..1)\r
+       Dcm_ProtocolType                                                DslProtocolID; // (1)\r
+       boolean                                                                 DslProtocolIsParallelExecutab; // (1)\r
+       uint16                                                                  DslProtocolPreemptTimeout; // (1)\r
+       uint8                                                                   DslProtocolPriority; // (1)\r
+       Dcm_ProtocolTransTypeType                               DslProtocolTransType; // (1)\r
+       const Dcm_DslBufferType                                 *DslProtocolRxBufferID; // (1)\r
+       const Dcm_DslBufferType                                 *DslProtocolTxBufferID; // (1)\r
+       const Dcm_DsdServiceTableType                   *DslProtocolSIDTable; // (1)\r
+       const Dcm_DslProtocolTimingRowType              *DslProtocolTimeLimit; // (0..1)\r
        // Containers\r
-       const Dcm_DslConnectionType *DslConnection; // (1..*)\r
+       const Dcm_DslConnectionType                             *DslConnection; // (1..*)\r
        // Reference to runtime parameters to this protocol.\r
-       Dcm_DslRunTimeProtocolParametersType *DslRunTimeProtocolParameters; // Maybe this needs to change to index.\r
-       boolean Arc_EOL;\r
+       Dcm_DslRunTimeProtocolParametersType    *DslRunTimeProtocolParameters; // Maybe this needs to change to index.\r
+       boolean                                                                 Arc_EOL;\r
 };\r
 \r
 // 10.2.9\r
 typedef struct {\r
-// Containers\r
-       const Dcm_DslProtocolRxType *DslProtocolRxGlobalList; // (1..*)  A polite list for all RX protocol configurations.\r
-       const Dcm_DslProtocolTxType *DslProtocolTxGlobalList; // (1..*)  A polite list for all TX protocol configurations.\r
-const Dcm_DslProtocolRowType *DslProtocolRowList; // (1..*)\r
+       // Containers\r
+       const Dcm_DslProtocolRxType             *DslProtocolRxGlobalList;       // (1..*)  A polite list for all RX protocol configurations.\r
+       const Dcm_DslProtocolTxType             *DslProtocolTxGlobalList;       // (1..*)  A polite list for all TX protocol configurations.\r
+       const Dcm_DslProtocolRowType    *DslProtocolRowList;            // (1..*)\r
 } Dcm_DslProtocolType;\r
 \r
 // 10.2.19\r
 typedef struct {\r
-Dcm_CallbackIndicationFncType Indication;\r
-boolean Arc_EOL;\r
-} Dcm_DslServiceRequestIndicationType;\r
+       Dcm_CallbackIndicationFncType   Indication;\r
+       boolean                                                 Arc_EOL;\r
+} Dcm_DslServiceRequestIndicationType; /** @req DCM681 */\r
 \r
 // 10.2.20\r
 typedef struct {\r
-Dcm_CallbackGetSesChgPermissionFncType GetSesChgPermission;\r
-Dcm_CallbackChangeIndicationFncType ChangeIndication;\r
-Dcm_CallbackConfirmationRespPendFncType ConfirmationRespPend;\r
-boolean Arc_EOL;\r
-} Dcm_DslSessionControlType;\r
+       Dcm_CallbackGetSesChgPermissionFncType  GetSesChgPermission;\r
+       Dcm_CallbackChangeIndicationFncType             ChangeIndication;\r
+       Dcm_CallbackConfirmationRespPendFncType ConfirmationRespPend;\r
+       boolean                                                                 Arc_EOL;\r
+} Dcm_DslSessionControlType; /** @req DCM680 */\r
 \r
 // 10.2.5\r
 typedef struct {\r
-// Containers\r
-const Dcm_DslBufferType *DslBuffer; // (1..256)\r
-const Dcm_DslCallbackDCMRequestServiceType *DslCallbackDCMRequestService; // (1..*)\r
-const Dcm_DslDiagRespType *DslDiagResp; // (1)\r
-const Dcm_DslProtocolType *DslProtocol; // (1)\r
-const Dcm_DslProtocolTimingType *DslProtocolTiming; // (1)\r
-const Dcm_DslServiceRequestIndicationType *DslServiceRequestIndication; // (0..*)\r
-const Dcm_DslSessionControlType *DslSessionControl; // (1..*)\r
+       // Containers\r
+       const Dcm_DslBufferType                                         *DslBuffer;                                             // (1..256)\r
+       const Dcm_DslCallbackDCMRequestServiceType      *DslCallbackDCMRequestService;  // (1..*)\r
+       const Dcm_DslDiagRespType                                       *DslDiagResp;                                   // (1)\r
+       const Dcm_DslProtocolType                                       *DslProtocol;                                   // (1)\r
+       const Dcm_DslProtocolTimingType                         *DslProtocolTiming;                             // (1)\r
+       const Dcm_DslServiceRequestIndicationType       *DslServiceRequestIndication;   // (0..*)\r
+       const Dcm_DslSessionControlType                         *DslSessionControl;                             // (1..*)\r
 } Dcm_DslType;\r
 \r
 // 10.2.1 Dcm\r
 typedef struct {\r
-// Containers\r
-const Dcm_DspType *Dsp; //     (1)\r
-const Dcm_DsdType *Dsd; //     (1)\r
-const Dcm_DslType *Dsl; //     (1)\r
+       // Containers\r
+       const Dcm_DspType *Dsp; //      (1)\r
+       const Dcm_DsdType *Dsd; //      (1)\r
+       const Dcm_DslType *Dsl; //      (1)\r
 } Dcm_ConfigType;\r
 \r
 /*\r
index cac3e6121a2aa530e17066caffbbf1b13d699b65..88fcc5a867b9024f13b4d702579dcb9fb1243fb1 100644 (file)
@@ -23,7 +23,7 @@
 #ifndef DCM_H_\r
 #define DCM_H_\r
 \r
-#define DCM_MODULE_ID                  MODULE_ID_DCM\r
+#define DCM_MODULE_ID                  MODULE_ID_DCM /** @req DCM052 */\r
 #define DCM_VENDOR_ID                  1\r
 \r
 #define DCM_SW_MAJOR_VERSION    1\r
 /*\r
  * Interfaces for BSW components (8.3.1)\r
  */\r
-#if ( DCM_VERSION_INFO_API == STD_ON )\r
-#define Dcm_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,DCM)\r
+#if ( DCM_VERSION_INFO_API == STD_ON ) /** @req DCM337 */\r
+#define Dcm_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,DCM) /** @req DCM065 */ /** @req DCM335 */ /** @req DCM336 */\r
 #endif /* DCM_VERSION_INFO_API */\r
 \r
-void Dcm_Init( void );\r
+void Dcm_Init( void ); /** @req DCM037 */\r
 \r
 \r
 /*\r
  * Interfaces for BSW modules and to SW-Cs (8.3.2)\r
  */\r
-Std_ReturnType Dcm_GetSecurityLevel(Dcm_SecLevelType *secLevel);\r
-Std_ReturnType Dcm_GetSesCtrlType(Dcm_SesCtrlType *sesCtrlType);\r
-Std_ReturnType Dcm_GetActiveProtocol(Dcm_ProtocolType *activeProtocol);\r
+Std_ReturnType Dcm_GetSecurityLevel(Dcm_SecLevelType *secLevel); /** @req DCM338 */\r
+Std_ReturnType Dcm_GetSesCtrlType(Dcm_SesCtrlType *sesCtrlType); /** @req DCM339 */\r
+Std_ReturnType Dcm_GetActiveProtocol(Dcm_ProtocolType *activeProtocol); /** @req DCM340 */\r
 \r
 /*\r
  * Interface for basic software scheduler (8.5)\r
  */\r
-void Dcm_MainFunction( void );\r
+void Dcm_MainFunction( void ); /** @req DCM053 */\r
 \r
 \r
 #endif /*DCM_H_*/\r
index 39ec3b4eccb762305b89bb8243aed602e673192a..8398918cb0f9531f3e1bbe5249a28b1896173a42 100644 (file)
 /*\r
  * Interfaces for callback notifications from PduR and ComM (8.4)\r
  */\r
-BufReq_ReturnType Dcm_ProvideRxBuffer(PduIdType dcmRxPduId, PduLengthType tpSduLength, PduInfoType **pduInfoPtr);\r
-void Dcm_RxIndication(PduIdType dcmRxPduId, NotifResultType result);\r
-BufReq_ReturnType Dcm_ProvideTxBuffer(PduIdType dcmTxPduId, PduInfoType **pduInfoPtr, PduLengthType length);\r
-void Dcm_TxConfirmation(PduIdType dcmTxPduId, NotifResultType result);\r
-void Dcm_ComM_NoComModeEntered(void);\r
-void Dcm_ComM_SilentComModeEntered(void);\r
-void Dcm_ComM_FullComModeEntered(void);\r
+BufReq_ReturnType Dcm_ProvideRxBuffer(PduIdType dcmRxPduId, PduLengthType tpSduLength, PduInfoType **pduInfoPtr); /** @req DCM094 */\r
+void Dcm_RxIndication(PduIdType dcmRxPduId, NotifResultType result); /** @req DCM093 */\r
+BufReq_ReturnType Dcm_ProvideTxBuffer(PduIdType dcmTxPduId, PduInfoType **pduInfoPtr, PduLengthType length); /** @req DCM092 */\r
+void Dcm_TxConfirmation(PduIdType dcmTxPduId, NotifResultType result); /** @req DCM351 */\r
+void Dcm_ComM_NoComModeEntered(void); /** @req DCM356 */\r
+void Dcm_ComM_SilentComModeEntered(void); /** @req DCM358 */\r
+void Dcm_ComM_FullComModeEntered(void); /** @req DCM360 */\r
 \r
 #endif /*DCM_CBK_H_*/\r