]> rtime.felk.cvut.cz Git - arc.git/commitdiff
Added requirement tagging for Dem. refs #79
authorpete <devnull@localhost>
Tue, 3 Aug 2010 12:27:40 +0000 (14:27 +0200)
committerpete <devnull@localhost>
Tue, 3 Aug 2010 12:27:40 +0000 (14:27 +0200)
diagnostic/Dem/Dem.c
diagnostic/Dem/Dem_Lcfg.h
diagnostic/Dem/Dem_Types.h
include/Dem.h

index d4454a6c31fa9a14ea318ec7aaae1c8a0fe282c0..4ac7a6a7ebeef293660dc23a3e2ce22ec17d2099 100644 (file)
 #include "MemMap.h"\r
 #include "Mcu.h"\r
 \r
+/*\r
+ *  Global requirements
+ */\r
+/** @req DEM014.14229-1 */\r
+/** @req DEM277 */\r
+/** @req DEM363 */\r
+/** @req DEM113 */ /** @req DEM174 */\r
+/** @req DEM286 */\r
+/** @req DEM267 */\r
 /*\r
  * Local defines\r
  */\r
@@ -61,8 +70,8 @@ typedef struct {
        Dem_EventIdType                         eventId;\r
        const Dem_EventParameterType *eventParamRef;\r
        sint8                                           faultDetectionCounter;\r
-       uint16                                          occurrence;\r
-       Dem_EventStatusExtendedType     eventStatusExtended;\r
+       uint16                                          occurrence;                             /** @req DEM011 */\r
+       Dem_EventStatusExtendedType     eventStatusExtended;    /** @req DEM006 */\r
        boolean                                         errorStatusChanged;\r
 } EventStatusRecType;\r
 \r
@@ -96,7 +105,7 @@ typedef enum
   DEM_UNINITIALIZED = 0,\r
   DEM_PREINITIALIZED,\r
   DEM_INITIALIZED\r
-} Dem_StateType;\r
+} Dem_StateType; /** @req DEM169 */\r
 \r
 \r
 static Dem_StateType demState = DEM_UNINITIALIZED;\r
@@ -127,12 +136,14 @@ static EventStatusRecType eventStatusBuffer[DEM_MAX_NUMBER_EVENT];
 /*\r
  * Allocation of pre-init event memory (used between pre-init and init)\r
  */\r
+/** @req DEM207 */\r
 static FreezeFrameRecType      preInitFreezeFrameBuffer[DEM_MAX_NUMBER_FF_DATA_PRE_INIT];\r
 static ExtDataRecType          preInitExtDataBuffer[DEM_MAX_NUMBER_EXT_DATA_PRE_INIT];\r
 \r
 /*\r
  * Allocation of primary event memory ramlog (after init) in uninitialized memory\r
  */\r
+/** @req DEM162 */\r
 static EventRecType            priMemEventBuffer[DEM_MAX_NUMBER_EVENT_PRI_MEM] __attribute__ ((section (".dem_eventmemory_pri")));\r
 static FreezeFrameRecType      priMemFreezeFrameBuffer[DEM_MAX_NUMBER_FF_DATA_PRI_MEM] __attribute__ ((section (".dem_eventmemory_pri")));\r
 static ExtDataRecType          priMemExtDataBuffer[DEM_MAX_NUMBER_EXT_DATA_PRI_MEM] __attribute__ ((section (".dem_eventmemory_pri")));\r
@@ -311,15 +322,15 @@ static Dem_EventStatusType preDebounceNone(Dem_EventStatusType reportedStatus, E
        Dem_EventStatusType returnCode;\r
 \r
        switch (reportedStatus) {\r
-       case DEM_EVENT_STATUS_FAILED:\r
-       case DEM_EVENT_STATUS_PASSED:\r
+       case DEM_EVENT_STATUS_FAILED: /** @req DEM191.NoneFailed */\r
+       case DEM_EVENT_STATUS_PASSED: /** @req DEM191.NonePassed */\r
                // Already debounced, do nothing.\r
                break;\r
 \r
        default:\r
                // TODO: What to do with PREFAIL and PREPASSED on no debouncing?\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_PREDEBOUNCE_NONE_ID, DEM_E_PARAM_DATA);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_PREDEBOUNCE_NONE_ID, DEM_E_PARAM_DATA); /** @req DEM117 */\r
 #endif\r
                break;\r
        }\r
@@ -367,16 +378,16 @@ static Dem_EventStatusType preDebounceCounterBased(Dem_EventStatusType reportedS
                break;\r
 \r
        case DEM_EVENT_STATUS_FAILED:\r
-               statusRecord->faultDetectionCounter = DEBOUNCE_FDC_TEST_FAILED;\r
+               statusRecord->faultDetectionCounter = DEBOUNCE_FDC_TEST_FAILED; /** @req DEM191.CounterFailed */\r
                break;\r
 \r
        case DEM_EVENT_STATUS_PASSED:\r
-               statusRecord->faultDetectionCounter = DEBOUNCE_FDC_TEST_PASSED;\r
+               statusRecord->faultDetectionCounter = DEBOUNCE_FDC_TEST_PASSED; /** @req DEM191.CounterPassed */\r
                break;\r
 \r
        default:\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_PREDEBOUNCE_COUNTER_BASED_ID, DEM_E_PARAM_DATA);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_PREDEBOUNCE_COUNTER_BASED_ID, DEM_E_PARAM_DATA); /** @req DEM117 */\r
 #endif\r
                break;\r
 \r
@@ -429,7 +440,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
                else {\r
                        // Error: Event status buffer full\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_UPDATE_EVENT_STATUS_ID, DEM_E_EVENT_STATUS_BUFF_FULL);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_UPDATE_EVENT_STATUS_ID, DEM_E_EVENT_STATUS_BUFF_FULL); /** @req DEM117 */\r
 #endif\r
                }\r
        }\r
@@ -437,7 +448,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
 \r
        if (eventStatusRecPtr != NULL) {\r
                // Handle debouncing\r
-               switch (eventParam->EventClass->PreDebounceAlgorithmClass->PreDebounceName) {\r
+               switch (eventParam->EventClass->PreDebounceAlgorithmClass->PreDebounceName) { /** @req DEM004 */ /** @req DEM342 */\r
                case DEM_NO_PRE_DEBOUNCE:\r
                        eventStatus = preDebounceNone(eventStatus, eventStatusRecPtr);\r
                        break;\r
@@ -449,7 +460,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
                default:\r
                        // Don't know how to handle this.\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_UPDATE_EVENT_STATUS_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_UPDATE_EVENT_STATUS_ID, DEM_E_NOT_IMPLEMENTED_YET); /** @req DEM117 */\r
 #endif\r
                        break;\r
                }\r
@@ -463,6 +474,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
                                eventStatusRecPtr->occurrence++;\r
                                eventStatusRecPtr->errorStatusChanged = TRUE;\r
                        }\r
+                       /** @req DEM036.Failed */ /** @req DEM379.PendingSet */\r
                        eventStatusRecPtr->eventStatusExtended |= (DEM_TEST_FAILED | DEM_TEST_FAILED_THIS_OPERATION_CYCLE | DEM_TEST_FAILED_SINCE_LAST_CLEAR | DEM_PENDING_DTC);\r
                        eventStatusRecPtr->eventStatusExtended &= ~(DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR | DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE);\r
                }\r
@@ -472,6 +484,7 @@ static void updateEventStatusRec(const Dem_EventParameterType *eventParam, Dem_E
                        if (eventStatusRecPtr->eventStatusExtended & DEM_TEST_FAILED) {\r
                                eventStatusRecPtr->errorStatusChanged = TRUE;\r
                        }\r
+                       /** @req DEM036.Passed */\r
                        eventStatusRecPtr->eventStatusExtended &= ~DEM_TEST_FAILED;\r
                        eventStatusRecPtr->eventStatusExtended &= ~(DEM_TEST_NOT_COMPLETED_SINCE_LAST_CLEAR | DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE);\r
                }\r
@@ -525,7 +538,7 @@ static void mergeEventStatusRec(EventRecType *eventRec)
                else {\r
                        // Error: Event status buffer full\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_MERGE_EVENT_STATUS_ID, DEM_E_EVENT_STATUS_BUFF_FULL);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_MERGE_EVENT_STATUS_ID, DEM_E_EVENT_STATUS_BUFF_FULL); /** @req DEM117 */\r
 #endif\r
                }\r
        }\r
@@ -683,7 +696,7 @@ static void getExtendedData(const Dem_EventParameterType *eventParam, ExtDataRec
                for (i = 0; (i < DEM_MAX_NR_OF_RECORDS_IN_EXTENDED_DATA) && (eventParam->ExtendedDataClassRef->ExtendedDataRecordClassRef[i] != NULL); i++) {\r
                        recordSize = eventParam->ExtendedDataClassRef->ExtendedDataRecordClassRef[i]->DataSize;\r
                        if ((storeIndex + recordSize) <= DEM_MAX_SIZE_EXT_DATA) {\r
-                               callbackReturnCode = eventParam->ExtendedDataClassRef->ExtendedDataRecordClassRef[i]->CallbackGetExtDataRecord(&extData->data[storeIndex]);\r
+                               callbackReturnCode = eventParam->ExtendedDataClassRef->ExtendedDataRecordClassRef[i]->CallbackGetExtDataRecord(&extData->data[storeIndex]); /** @req DEM282 */\r
                                if (callbackReturnCode != E_OK) {\r
                                        // Callback data currently not available, clear space.\r
                                        memset(&extData->data[storeIndex], 0xFF, recordSize);\r
@@ -693,7 +706,7 @@ static void getExtendedData(const Dem_EventParameterType *eventParam, ExtDataRec
                        else {\r
                                // Error: Size of extended data record is bigger than reserved space.\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                               Det_ReportError(MODULE_ID_DEM, 0, DEM_GET_EXTENDED_DATA_ID, DEM_E_EXT_DATA_TOO_BIG);\r
+                               Det_ReportError(MODULE_ID_DEM, 0, DEM_GET_EXTENDED_DATA_ID, DEM_E_EXT_DATA_TOO_BIG); /** @req DEM117 */\r
 #endif\r
                                break;  // Break the loop\r
                        }\r
@@ -741,7 +754,7 @@ static void storeExtendedDataPreInit(const Dem_EventParameterType *eventParam, E
                else {\r
                        // Error: Pre init extended data buffer full\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_STORE_EXT_DATA_PRE_INIT_ID, DEM_E_PRE_INIT_EXT_DATA_BUFF_FULL);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_STORE_EXT_DATA_PRE_INIT_ID, DEM_E_PRE_INIT_EXT_DATA_BUFF_FULL); /** @req DEM117 */\r
 #endif\r
                }\r
        }\r
@@ -781,7 +794,7 @@ static void storeEventPriMem(const Dem_EventParameterType *eventParam, EventStat
                else {\r
                        // Error: Pri mem event buffer full\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_STORE_EVENT_PRI_MEM_ID, DEM_E_PRI_MEM_EVENT_BUFF_FULL);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_STORE_EVENT_PRI_MEM_ID, DEM_E_PRI_MEM_EVENT_BUFF_FULL); /** @req DEM117 */\r
 #endif\r
                }\r
        }\r
@@ -825,7 +838,7 @@ static void storeEventEvtMem(const Dem_EventParameterType *eventParam, EventStat
                switch (eventParam->EventClass->EventDestination[i])\r
                {\r
                case DEM_DTC_ORIGIN_PRIMARY_MEMORY:\r
-                       storeEventPriMem(eventParam, eventStatus);\r
+                       storeEventPriMem(eventParam, eventStatus);      /** @req DEM010 */\r
                        break;\r
 \r
                case DEM_DTC_ORIGIN_SECONDARY_MEMORY:\r
@@ -833,7 +846,7 @@ static void storeEventEvtMem(const Dem_EventParameterType *eventParam, EventStat
                case DEM_DTC_ORIGIN_MIRROR_MEMORY:\r
                        // Not yet supported\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GLOBAL_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GLOBAL_ID, DEM_E_NOT_IMPLEMENTED_YET); /** @req DEM117 */\r
 #endif\r
                        break;\r
                default:\r
@@ -848,7 +861,7 @@ static void storeEventEvtMem(const Dem_EventParameterType *eventParam, EventStat
  * Description:        Store the extended data pointed by "extendedData" to the "priMemExtDataBuffer",\r
  *                             if non existent a new entry is created.\r
  */\r
-static void storeExtendedDataPriMem(const Dem_EventParameterType *eventParam, ExtDataRecType *extendedData)\r
+static void storeExtendedDataPriMem(const Dem_EventParameterType *eventParam, ExtDataRecType *extendedData) /** @req DEM041 */\r
 {\r
        uint16 i;\r
        imask_t state = McuE_EnterCriticalSection();\r
@@ -869,7 +882,7 @@ static void storeExtendedDataPriMem(const Dem_EventParameterType *eventParam, Ex
                else {\r
                        // Error: Pri mem extended data buffer full\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_STORE_EXT_DATA_PRI_MEM_ID, DEM_E_PRI_MEM_EXT_DATA_BUFF_FULL);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_STORE_EXT_DATA_PRI_MEM_ID, DEM_E_PRI_MEM_EXT_DATA_BUFF_FULL); /** @req DEM117 */\r
 #endif\r
                }\r
        }\r
@@ -920,7 +933,7 @@ static void storeExtendedDataEvtMem(const Dem_EventParameterType *eventParam, Ex
                case DEM_DTC_ORIGIN_MIRROR_MEMORY:\r
                        // Not yet supported\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GLOBAL_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GLOBAL_ID, DEM_E_NOT_IMPLEMENTED_YET); /** @req DEM117 */\r
 #endif\r
                        break;\r
 \r
@@ -1015,7 +1028,7 @@ static void storeFreezeFrameDataEvtMem(const Dem_EventParameterType *eventParam,
                case DEM_DTC_ORIGIN_MIRROR_MEMORY:\r
                        // Not yet supported\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GLOBAL_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GLOBAL_ID, DEM_E_NOT_IMPLEMENTED_YET); /** @req DEM117 */\r
 #endif\r
                        break;\r
                default:\r
@@ -1105,11 +1118,11 @@ static Std_ReturnType handleEvent(Dem_EventIdType eventId, Dem_EventStatusType e
                                        updateEventStatusRec(eventParam, eventStatus, TRUE, &eventStatusLocal);\r
                                        if (eventStatusLocal.errorStatusChanged) {\r
                                                if (eventStatusLocal.eventStatusExtended & DEM_TEST_FAILED) {\r
-                                                       storeEventEvtMem(eventParam, &eventStatusLocal);\r
+                                                       storeEventEvtMem(eventParam, &eventStatusLocal); /** @req DEM184 */\r
                                                        // Collect freeze frame data\r
                                                        getFreezeFrameData(eventParam, &freezeFrameLocal);\r
                                                        if (freezeFrameLocal.eventId != DEM_EVENT_ID_NULL) {\r
-                                                               storeFreezeFrameDataEvtMem(eventParam, &freezeFrameLocal);\r
+                                                               storeFreezeFrameDataEvtMem(eventParam, &freezeFrameLocal); /** @req DEM190 */\r
                                                        }\r
 \r
                                                        // Collect extended data\r
@@ -1152,7 +1165,7 @@ static void resetEventStatus(Dem_EventIdType eventId)
 \r
        lookupEventStatusRec(eventId, &eventStatusRecPtr);\r
        if (eventStatusRecPtr != NULL) {\r
-               eventStatusRecPtr->eventStatusExtended &= ~DEM_TEST_FAILED;\r
+               eventStatusRecPtr->eventStatusExtended &= ~DEM_TEST_FAILED; /** @req DEM187 */\r
        }\r
 \r
        McuE_ExitCriticalSection(state);\r
@@ -1170,7 +1183,7 @@ static void getEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtendedType
        // Get recorded status\r
        getEventStatusRec(eventId, &eventStatusLocal);\r
        if (eventStatusLocal.eventId == eventId) {\r
-               *eventStatusExtended = eventStatusLocal.eventStatusExtended;\r
+               *eventStatusExtended = eventStatusLocal.eventStatusExtended; /** @req DEM051 */\r
        }\r
        else {\r
                // Event Id not found, no report received.\r
@@ -1190,7 +1203,7 @@ static void getEventFailed(Dem_EventIdType eventId, boolean *eventFailed)
        // Get recorded status\r
        getEventStatusRec(eventId, &eventStatusLocal);\r
        if (eventStatusLocal.eventId == eventId) {\r
-               if (eventStatusLocal.eventStatusExtended & DEM_TEST_FAILED) {\r
+               if (eventStatusLocal.eventStatusExtended & DEM_TEST_FAILED) { /** @req DEM052 */\r
                        *eventFailed = TRUE;\r
                }\r
                else {\r
@@ -1216,7 +1229,7 @@ static void getEventTested(Dem_EventIdType eventId, boolean *eventTested)
        // Get recorded status\r
        getEventStatusRec(eventId, &eventStatusLocal);\r
        if (eventStatusLocal.eventId == eventId) {\r
-               if ( !(eventStatusLocal.eventStatusExtended & DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE)) {\r
+               if ( !(eventStatusLocal.eventStatusExtended & DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE)) { /** @req DEM053 */\r
                        *eventTested = TRUE;\r
                }\r
                else {\r
@@ -1248,7 +1261,7 @@ static Std_ReturnType getFaultDetectionCounter(Dem_EventIdType eventId, sint8 *c
                        case DEM_NO_PRE_DEBOUNCE:\r
                                if (eventParam->EventClass->PreDebounceAlgorithmClass->PreDebounceAlgorithm.PreDebounceMonitorInternal != NULL) {\r
                                        if (eventParam->EventClass->PreDebounceAlgorithmClass->PreDebounceAlgorithm.PreDebounceMonitorInternal->CallbackGetFDCntFnc != NULL) {\r
-                                               returnCode = eventParam->EventClass->PreDebounceAlgorithmClass->PreDebounceAlgorithm.PreDebounceMonitorInternal->CallbackGetFDCntFnc(counter);\r
+                                               returnCode = eventParam->EventClass->PreDebounceAlgorithmClass->PreDebounceAlgorithm.PreDebounceMonitorInternal->CallbackGetFDCntFnc(counter); /** @req DEM204.None */ /** @req DEM264 */ /** @req DEM265 */\r
                                        }\r
                                }\r
                                break;\r
@@ -1259,7 +1272,7 @@ static Std_ReturnType getFaultDetectionCounter(Dem_EventIdType eventId, sint8 *c
 \r
                                        lookupEventStatusRec(eventId, &eventStatusRec);\r
                                        if (eventStatusRec != NULL) {\r
-                                               *counter = eventStatusRec->faultDetectionCounter;\r
+                                               *counter = eventStatusRec->faultDetectionCounter; /** @req DEM204.Counter */\r
                                        } else {\r
                                                *counter = 0;\r
                                        }\r
@@ -1270,13 +1283,13 @@ static Std_ReturnType getFaultDetectionCounter(Dem_EventIdType eventId, sint8 *c
                        case DEM_PRE_DEBOUNCE_FREQUENCY_BASED:\r
                        case DEM_PRE_DEBOUNCE_TIME_BASED:\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETFAULTDETECTIONCOUNTER_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETFAULTDETECTIONCOUNTER_ID, DEM_E_NOT_IMPLEMENTED_YET); /** @req DEM117 */\r
 #endif\r
                                break;\r
 \r
                        default:\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETFAULTDETECTIONCOUNTER_ID, DEM_E_PARAM_DATA);\r
+                               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETFAULTDETECTIONCOUNTER_ID, DEM_E_PARAM_DATA); /** @req DEM117 */\r
 #endif\r
                                break;\r
                        }\r
@@ -1293,7 +1306,7 @@ static Std_ReturnType getFaultDetectionCounter(Dem_EventIdType eventId, sint8 *c
  *                             event connected to this cycle id.\r
  *                             Returns E_OK if operation was successful else E_NOT_OK.\r
  */\r
-static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationCycleId, Dem_OperationCycleStateType cycleState)\r
+static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationCycleId, Dem_OperationCycleStateType cycleState) /** @req DEM338 */\r
 {\r
        uint16 i;\r
        Std_ReturnType returnCode = E_OK;\r
@@ -1318,14 +1331,14 @@ static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationC
                        for (i = 0; i < DEM_MAX_NUMBER_EVENT; i++) {\r
                                if ((eventStatusBuffer[i].eventId != DEM_EVENT_ID_NULL) && (eventStatusBuffer[i].eventParamRef->EventClass->OperationCycleRef == operationCycleId)) {\r
                                        if (!(eventStatusBuffer[i].eventStatusExtended & DEM_TEST_FAILED_THIS_OPERATION_CYCLE) && !(eventStatusBuffer[i].eventStatusExtended & DEM_TEST_NOT_COMPLETED_THIS_OPERATION_CYCLE)) {\r
-                                               eventStatusBuffer[i].eventStatusExtended &= ~DEM_PENDING_DTC;           // Clear pendingDTC bit\r
+                                               eventStatusBuffer[i].eventStatusExtended &= ~DEM_PENDING_DTC;           // Clear pendingDTC bit /** @req DEM379.PendingClear\r
                                        }\r
                                }\r
                        }\r
                        break;\r
                default:\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_SETOPERATIONCYCLESTATE_ID, DEM_E_PARAM_DATA);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_SETOPERATIONCYCLESTATE_ID, DEM_E_PARAM_DATA); /** @req DEM117 */\r
 #endif\r
                        returnCode = E_NOT_OK;\r
                        break;\r
@@ -1333,7 +1346,7 @@ static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationC
        }\r
        else {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_SETOPERATIONCYCLESTATE_ID, DEM_E_PARAM_DATA);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_SETOPERATIONCYCLESTATE_ID, DEM_E_PARAM_DATA); /** @req DEM117 */\r
 #endif\r
                returnCode = E_NOT_OK;\r
                }\r
@@ -1369,11 +1382,12 @@ static Std_ReturnType setOperationCycleState(Dem_OperationCycleIdType operationC
  */\r
 void Dem_PreInit(void)\r
 {\r
+       /** @req DEM180 */\r
        int i, j;\r
 \r
        if (DEM_Config.ConfigSet == NULL) {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_PREINIT_ID, DEM_E_CONFIG_PTR_INVALID);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_PREINIT_ID, DEM_E_CONFIG_PTR_INVALID); /** @req DEM117 */\r
 #endif\r
                return;\r
        } else {\r
@@ -1415,7 +1429,7 @@ void Dem_PreInit(void)
 \r
        disableDtcStorage.storageDisabled = FALSE;\r
 \r
-       setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_START);\r
+       setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_START); /** @req DEM047 */\r
 \r
        demState = DEM_PREINITIALIZED;\r
 }\r
@@ -1520,9 +1534,9 @@ void Dem_Init(void)
  */\r
 void Dem_Shutdown(void)\r
 {\r
-       setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_END);\r
+       setOperationCycleState(DEM_ACTIVE, DEM_CYCLE_STATE_END); /** @req DEM047 */\r
 \r
-       demState = DEM_UNINITIALIZED;\r
+       demState = DEM_UNINITIALIZED; /** @req DEM368 */\r
 }\r
 \r
 \r
@@ -1531,6 +1545,7 @@ void Dem_Shutdown(void)
  */\r
 void Dem_MainFunction(void)\r
 {\r
+       /** @req DEM125 */\r
 \r
 }\r
 \r
@@ -1543,7 +1558,7 @@ void Dem_MainFunction(void)
  * Procedure:  Dem_SetEventStatus\r
  * Reentrant:  Yes\r
  */\r
-Std_ReturnType Dem_SetEventStatus(Dem_EventIdType eventId, Dem_EventStatusType eventStatus)\r
+Std_ReturnType Dem_SetEventStatus(Dem_EventIdType eventId, Dem_EventStatusType eventStatus) /** @req DEM330 */\r
 {\r
        Std_ReturnType returnCode = E_OK;\r
 \r
@@ -1554,9 +1569,9 @@ Std_ReturnType Dem_SetEventStatus(Dem_EventIdType eventId, Dem_EventStatusType e
        else\r
        {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_SETEVENTSTATUS_ID, DEM_E_UNINIT);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_SETEVENTSTATUS_ID, DEM_E_UNINIT); /** @req DEM124.SetEventStatus */ /** @req DEM117 */\r
 #endif\r
-               returnCode = E_NOT_OK;\r
+               returnCode = E_NOT_OK; /** @req DEM370.SetEventStatus */\r
        }\r
 \r
        return returnCode;\r
@@ -1567,7 +1582,7 @@ Std_ReturnType Dem_SetEventStatus(Dem_EventIdType eventId, Dem_EventStatusType e
  * Procedure:  Dem_ResetEventStatus\r
  * Reentrant:  Yes\r
  */\r
-Std_ReturnType Dem_ResetEventStatus(Dem_EventIdType eventId)\r
+Std_ReturnType Dem_ResetEventStatus(Dem_EventIdType eventId) /** @req DEM331 */\r
 {\r
        Std_ReturnType returnCode = E_OK;\r
 \r
@@ -1578,9 +1593,9 @@ Std_ReturnType Dem_ResetEventStatus(Dem_EventIdType eventId)
        else\r
        {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_RESETEVENTSTATUS_ID, DEM_E_UNINIT);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_RESETEVENTSTATUS_ID, DEM_E_UNINIT); /** @req DEM124.ResetEventStatus */ /** @req DEM117 */\r
 #endif\r
-               returnCode = E_NOT_OK;\r
+               returnCode = E_NOT_OK; /** @req DEM370.ResetEventStatus */\r
        }\r
 \r
        return returnCode;\r
@@ -1591,7 +1606,7 @@ Std_ReturnType Dem_ResetEventStatus(Dem_EventIdType eventId)
  * Procedure:  Dem_GetEventStatus\r
  * Reentrant:  Yes\r
  */\r
-Std_ReturnType Dem_GetEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtendedType *eventStatusExtended)\r
+Std_ReturnType Dem_GetEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtendedType *eventStatusExtended) /** @req DEM332 */\r
 {\r
        Std_ReturnType returnCode = E_OK;\r
 \r
@@ -1602,9 +1617,9 @@ Std_ReturnType Dem_GetEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtend
        else\r
        {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEVENTSTATUS_ID, DEM_E_UNINIT);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEVENTSTATUS_ID, DEM_E_UNINIT); /** @req DEM124.GetEventStatus */ /** @req DEM117 */\r
 #endif\r
-               returnCode = E_NOT_OK;\r
+               returnCode = E_NOT_OK; /** @req DEM370.GetEventStatus */\r
        }\r
 \r
        return returnCode;\r
@@ -1615,7 +1630,7 @@ Std_ReturnType Dem_GetEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtend
  * Procedure:  Dem_GetEventFailed\r
  * Reentrant:  Yes\r
  */\r
-Std_ReturnType Dem_GetEventFailed(Dem_EventIdType eventId, boolean *eventFailed)\r
+Std_ReturnType Dem_GetEventFailed(Dem_EventIdType eventId, boolean *eventFailed) /** @req DEM333 */\r
 {\r
        Std_ReturnType returnCode = E_OK;\r
 \r
@@ -1626,9 +1641,9 @@ Std_ReturnType Dem_GetEventFailed(Dem_EventIdType eventId, boolean *eventFailed)
        else\r
        {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEVENTFAILED_ID, DEM_E_UNINIT);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEVENTFAILED_ID, DEM_E_UNINIT); /** @req DEM124.GetEventFailed */ /** @req DEM117 */\r
 #endif\r
-               returnCode = E_NOT_OK;\r
+               returnCode = E_NOT_OK; /** @req DEM370.GetEventFailed */\r
        }\r
 \r
        return returnCode;\r
@@ -1650,9 +1665,9 @@ Std_ReturnType Dem_GetEventTested(Dem_EventIdType eventId, boolean *eventTested)
        else\r
        {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEVENTTESTED_ID, DEM_E_UNINIT);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEVENTTESTED_ID, DEM_E_UNINIT); /** @req DEM124.GetEventTested */ /** @req DEM117 */\r
 #endif\r
-               returnCode = E_NOT_OK;\r
+               returnCode = E_NOT_OK; /** @req DEM370.GetEventTested */\r
        }\r
 \r
        return returnCode;\r
@@ -1674,9 +1689,9 @@ Std_ReturnType Dem_GetFaultDetectionCounter(Dem_EventIdType eventId, sint8 *coun
        else\r
        {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETFAULTDETECTIONCOUNTER_ID, DEM_E_UNINIT);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_GETFAULTDETECTIONCOUNTER_ID, DEM_E_UNINIT); /** @req DEM124.GetFaultDetectionCounter */ /** @req DEM117 */\r
 #endif\r
-               returnCode = E_NOT_OK;\r
+               returnCode = E_NOT_OK; /** @req DEM370.GetFaultDetectionCounter */\r
        }\r
 \r
        return returnCode;\r
@@ -1699,9 +1714,9 @@ Std_ReturnType Dem_SetOperationCycleState(Dem_OperationCycleIdType operationCycl
        else\r
        {\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-               Det_ReportError(MODULE_ID_DEM, 0, DEM_SETOPERATIONCYCLESTATE_ID, DEM_E_UNINIT);\r
+               Det_ReportError(MODULE_ID_DEM, 0, DEM_SETOPERATIONCYCLESTATE_ID, DEM_E_UNINIT); /** @req DEM124.SetOperationCycleState */ /** @req DEM117 */\r
 #endif\r
-               returnCode = E_NOT_OK;\r
+               returnCode = E_NOT_OK; /** @req DEM370.SetOperationCycleState */\r
        }\r
 \r
        return returnCode;\r
@@ -1722,7 +1737,7 @@ Std_ReturnType Dem_GetDTCOfEvent(Dem_EventIdType eventId, Dem_DTCKindType dtcKin
        if (eventParam != NULL) {\r
                if (checkDtcKind(dtcKind, eventParam)) {\r
                        if (eventParam->DTCClassRef != NULL) {\r
-                               *dtcOfEvent = eventParam->DTCClassRef->DTC;\r
+                               *dtcOfEvent = eventParam->DTCClassRef->DTC; /** @req DEM269 */\r
                                returnCode = E_OK;\r
                        }\r
                }\r
@@ -1744,26 +1759,26 @@ Std_ReturnType Dem_GetDTCOfEvent(Dem_EventIdType eventId, Dem_DTCKindType dtcKin
  * Procedure:  Dem_ReportErrorStatus\r
  * Reentrant:  Yes\r
  */\r
-void Dem_ReportErrorStatus( Dem_EventIdType eventId, Dem_EventStatusType eventStatus )\r
+void Dem_ReportErrorStatus( Dem_EventIdType eventId, Dem_EventStatusType eventStatus ) /** @req DEM107 */\r
 {\r
 \r
        switch (demState) {\r
                case DEM_PREINITIALIZED:\r
                        // Update status and check if is to be stored\r
                        if ((eventStatus == DEM_EVENT_STATUS_PASSED) || (eventStatus == DEM_EVENT_STATUS_FAILED)) {\r
-                               handlePreInitEvent(eventId, eventStatus);\r
+                               handlePreInitEvent(eventId, eventStatus); /** @req DEM168 */\r
                        }\r
                        break;\r
 \r
                case DEM_INITIALIZED:\r
-                       (void)handleEvent(eventId, eventStatus);\r
+                       (void)handleEvent(eventId, eventStatus);        /** @req DEM167 */\r
                        break;\r
 \r
                case DEM_UNINITIALIZED:\r
                default:\r
                        // Uninitialized can not do anything\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_REPORTERRORSTATUS_ID, DEM_E_UNINIT);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_REPORTERRORSTATUS_ID, DEM_E_UNINIT); /** @req DEM124.ReportErrorStatus */ /** @req DEM364 */ /** @req DEM117 */\r
 #endif\r
                        break;\r
 \r
@@ -1777,10 +1792,10 @@ void Dem_ReportErrorStatus( Dem_EventIdType eventId, Dem_EventStatusType eventSt
  * Procedure:  Dem_GetDTCStatusAvailabilityMask\r
  * Reentrant:  No\r
  */\r
-Std_ReturnType Dem_GetDTCStatusAvailabilityMask(uint8 *dtcStatusMask)\r
+Std_ReturnType Dem_GetDTCStatusAvailabilityMask(uint8 *dtcStatusMask) /** @req DEM014 */\r
 {\r
        *dtcStatusMask =        DEM_DTC_STATUS_AVAILABILITY_MASK;               // User configuration mask\r
-       *dtcStatusMask &=       DEM_TEST_FAILED                                                 // Mask with supported bits\r
+       *dtcStatusMask &=       DEM_TEST_FAILED                                                 // Mask with supported bits /** @req DEM060 */\r
                                                | DEM_TEST_FAILED_THIS_OPERATION_CYCLE\r
                                                | DEM_PENDING_DTC\r
 //                                             | DEM_CONFIRMED_DTC                                     TODO: Add support for this bit\r
@@ -1820,7 +1835,7 @@ Dem_ReturnSetDTCFilterType Dem_SetDTCFilter(uint8 dtcStatusMask,
 \r
                                // Check filterForFaultDetectionCounter parameter\r
                                if ((filterForFaultDetectionCounter == DEM_FILTER_FOR_FDC_YES) || (filterForFaultDetectionCounter ==  DEM_FILTER_FOR_FDC_NO)) {\r
-                                       // Yes all parameters correct, set the new filters.\r
+                                       // Yes all parameters correct, set the new filters.  /** @req DEM057 */\r
                                        dtcFilter.dtcStatusMask = dtcStatusMask;\r
                                        dtcFilter.dtcKind = dtcKind;\r
                                        dtcFilter.dtcOrigin = dtcOrigin;\r
@@ -1849,11 +1864,11 @@ Dem_ReturnGetStatusOfDTCType Dem_GetStatusOfDTC(uint32 dtc, Dem_DTCKindType dtcK
        if (lookupDtcEvent(dtc, &eventRec)) {\r
                if (checkDtcKind(dtcKind, eventRec->eventParamRef)) {\r
                        if (checkDtcOrigin(dtcOrigin,eventRec->eventParamRef)) {\r
-                               *status = eventRec->eventStatusExtended;\r
+                               *status = eventRec->eventStatusExtended; /** @req DEM059 */\r
                                returnCode = DEM_STATUS_OK;\r
                        }\r
                        else {\r
-                               returnCode = DEM_STATUS_WRONG_DTCORIGIN;\r
+                               returnCode = DEM_STATUS_WRONG_DTCORIGIN; /** @req DEM171 */\r
                        }\r
                }\r
                else {\r
@@ -1861,7 +1876,7 @@ Dem_ReturnGetStatusOfDTCType Dem_GetStatusOfDTC(uint32 dtc, Dem_DTCKindType dtcK
                }\r
        }\r
        else {\r
-               returnCode = DEM_STATUS_WRONG_DTC;\r
+               returnCode = DEM_STATUS_WRONG_DTC; /** @req DEM172 */\r
        }\r
 \r
        return returnCode;\r
@@ -1890,7 +1905,7 @@ Dem_ReturnGetNumberOfFilteredDTCType Dem_GetNumberOfFilteredDtc(uint16 *numberOf
 \r
        //Dem_EnableEventStatusUpdate();\r
 \r
-       *numberOfFilteredDTC = numberOfFaults;\r
+       *numberOfFilteredDTC = numberOfFaults; /** @req DEM061 */\r
 \r
        return DEM_NUMBER_OK;\r
 }\r
@@ -1905,13 +1920,13 @@ Dem_ReturnGetNextFilteredDTCType Dem_GetNextFilteredDTC(uint32 *dtc, Dem_EventSt
        Dem_ReturnGetNextFilteredDTCType returnCode = DEM_FILTERED_OK;\r
        boolean dtcFound = FALSE;\r
 \r
-       // TODO: This job should be done in an more advanced way according to Dem288\r
+       // TODO: This job should be done in an more advanced way according to Dem217\r
        while (!dtcFound && (dtcFilter.faultIndex != 0)) {\r
                dtcFilter.faultIndex--;\r
                if (eventStatusBuffer[dtcFilter.faultIndex].eventId != DEM_EVENT_ID_NULL) {\r
                        if (matchEventWithDtcFilter(&eventStatusBuffer[dtcFilter.faultIndex])) {\r
                                if (eventStatusBuffer[dtcFilter.faultIndex].eventParamRef->DTCClassRef != NULL) {\r
-                                       *dtc = eventStatusBuffer[dtcFilter.faultIndex].eventParamRef->DTCClassRef->DTC;\r
+                                       *dtc = eventStatusBuffer[dtcFilter.faultIndex].eventParamRef->DTCClassRef->DTC; /** @req DEM216 */\r
                                        *dtcStatus = eventStatusBuffer[dtcFilter.faultIndex].eventStatusExtended;\r
                                        dtcFound = TRUE;\r
                                }\r
@@ -1934,7 +1949,7 @@ Dem_ReturnGetNextFilteredDTCType Dem_GetNextFilteredDTC(uint32 *dtc, Dem_EventSt
  */\r
 Dem_ReturnTypeOfDtcSupportedType Dem_GetTranslationType(void)\r
 {\r
-       return DEM_TYPE_OF_DTC_SUPPORTED;\r
+       return DEM_TYPE_OF_DTC_SUPPORTED; /** @req DEM231 */\r
 }\r
 \r
 \r
@@ -1942,7 +1957,7 @@ Dem_ReturnTypeOfDtcSupportedType Dem_GetTranslationType(void)
  * Procedure:  Dem_ClearDTC\r
  * Reentrant:  No\r
  */\r
-Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin)\r
+Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin) /** @req DEM009 */\r
 {\r
        Dem_ReturnClearDTCType returnCode = DEM_CLEAR_OK;\r
        Dem_EventIdType eventId;\r
@@ -1964,6 +1979,7 @@ Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTC
                                                                switch (dtcOrigin)\r
                                                                {\r
                                                                case DEM_DTC_ORIGIN_PRIMARY_MEMORY:\r
+                                                                       /** @req DEM077 */\r
                                                                        deleteEventPriMem(eventParam);\r
                                                                        deleteFreezeFrameDataPriMem(eventParam);\r
                                                                        deleteExtendedDataPriMem(eventParam);\r
@@ -1976,7 +1992,7 @@ Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTC
                                                                        // Not yet supported\r
                                                                        returnCode = DEM_CLEAR_WRONG_DTCORIGIN;\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                                                                       Det_ReportError(MODULE_ID_DEM, 0, DEM_CLEARDTC_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                                                                       Det_ReportError(MODULE_ID_DEM, 0, DEM_CLEARDTC_ID, DEM_E_NOT_IMPLEMENTED_YET); /** @req DEM117 */\r
 #endif\r
                                                                        break;\r
                                                                default:\r
@@ -1991,7 +2007,7 @@ Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTC
                        else {\r
                                // Fatal error, no event parameters found for the stored event!\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                       Det_ReportError(MODULE_ID_DEM, 0, DEM_CLEARDTC_ID, DEM_E_UNEXPECTED_EXECUTION);\r
+                       Det_ReportError(MODULE_ID_DEM, 0, DEM_CLEARDTC_ID, DEM_E_UNEXPECTED_EXECUTION); /** @req DEM117 */\r
 #endif\r
                        }\r
                }\r
@@ -2005,7 +2021,7 @@ Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTC
  * Procedure:  Dem_DisableDTCStorage\r
  * Reentrant:  No\r
  */\r
-Dem_ReturnControlDTCStorageType Dem_DisableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind)\r
+Dem_ReturnControlDTCStorageType Dem_DisableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind) /** @req DEM35 */\r
 {\r
        Dem_ReturnControlDTCStorageType returnCode = DEM_CONTROL_DTC_STORAGE_N_OK;\r
 \r
@@ -2013,6 +2029,7 @@ Dem_ReturnControlDTCStorageType Dem_DisableDTCStorage(Dem_DTCGroupType dtcGroup,
        if (dtcGroup == DEM_DTC_GROUP_ALL_DTCS) {\r
                // Check dtcKind parameter\r
                if ((dtcKind == DEM_DTC_KIND_ALL_DTCS) || (dtcKind ==  DEM_DTC_KIND_EMISSION_REL_DTCS)) {\r
+                       /** @req DEM079 */\r
                        disableDtcStorage.dtcGroup = dtcGroup;\r
                        disableDtcStorage.dtcKind = dtcKind;\r
                        disableDtcStorage.storageDisabled = TRUE;\r
@@ -2035,7 +2052,7 @@ Dem_ReturnControlDTCStorageType Dem_DisableDTCStorage(Dem_DTCGroupType dtcGroup,
 Dem_ReturnControlDTCStorageType Dem_EnableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind)\r
 {\r
        // TODO: Behavior is not defined if group or kind do not match active settings, therefore the filter is just switched off.\r
-       disableDtcStorage.storageDisabled = FALSE;\r
+       disableDtcStorage.storageDisabled = FALSE; /** @req DEM080 */\r
 \r
        return DEM_CONTROL_DTC_STORAGE_OK;\r
 }\r
@@ -2062,7 +2079,7 @@ Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 d
                                                case DEM_DTC_ORIGIN_PRIMARY_MEMORY:\r
                                                        if (lookupExtendedDataPriMem(eventRec->eventId, &extData)) {\r
                                                                // Yes all conditions met, copy the extended data record to destination buffer.\r
-                                                               memcpy(destBuffer, &extData->data[posInExtData], extendedDataRecordClass->DataSize);\r
+                                                               memcpy(destBuffer, &extData->data[posInExtData], extendedDataRecordClass->DataSize); /** @req DEM075 */\r
                                                                *bufSize = extendedDataRecordClass->DataSize;\r
                                                                returnCode = DEM_RECORD_OK;\r
                                                        }\r
@@ -2079,7 +2096,7 @@ Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 d
                                                        // Not yet supported\r
                                                        returnCode = DEM_RECORD_WRONG_DTCORIGIN;\r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-                                                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEXTENDEDDATARECORDBYDTC_ID, DEM_E_NOT_IMPLEMENTED_YET);\r
+                                                       Det_ReportError(MODULE_ID_DEM, 0, DEM_GETEXTENDEDDATARECORDBYDTC_ID, DEM_E_NOT_IMPLEMENTED_YET); /** @req DEM117 */\r
 #endif\r
                                                        break;\r
                                                default:\r
@@ -2123,7 +2140,7 @@ Dem_ReturnGetSizeOfExtendedDataRecordByDTCType Dem_GetSizeOfExtendedDataRecordBy
                if (checkDtcKind(dtcKind, eventRec->eventParamRef)) {\r
                        if (checkDtcOrigin(dtcOrigin, eventRec->eventParamRef)) {\r
                                if (lookupExtendedDataRecNumParam(extendedDataNumber, eventRec->eventParamRef, &extendedDataRecordClass, &posInExtData)) {\r
-                                       *sizeOfExtendedDataRecord = extendedDataRecordClass->DataSize;\r
+                                       *sizeOfExtendedDataRecord = extendedDataRecordClass->DataSize; /** @req DEM076 */\r
                                        returnCode = DEM_GET_SIZEOFEDRBYDTC_OK;\r
                                }\r
                                else {\r
index 2f905d804a64382a511d4c1de601d905d8eed072..0ca19285daa4267eb89b97fa0e2132f1ebc7989b 100644 (file)
@@ -25,7 +25,7 @@
 \r
 #include "Dem_Types.h"\r
 #if defined(USE_DCM)\r
-#include "Dcm_Types.h"\r
+#include "Dcm_Types.h"  /** @req DEM176.Dcm */\r
 #endif\r
 \r
 \r
  */\r
 \r
 // InitMonitorForEvent\r
-typedef Std_ReturnType (*Dem_CallbackInitMonitorForEventFncType)(Dem_InitMonitorKindType InitMonitorKind);\r
+typedef Std_ReturnType (*Dem_CallbackInitMonitorForEventFncType)(Dem_InitMonitorKindType InitMonitorKind); /** @req DEM256 */\r
 \r
 // InitMonitorForFunction\r
-typedef Std_ReturnType (*Dem_CallbackInitMonitorForFunctionFncType)(void);\r
+typedef Std_ReturnType (*Dem_CallbackInitMonitorForFunctionFncType)(void); /** @req DEM258 */\r
 \r
 // EventStatusChanged\r
-typedef Std_ReturnType (*Dem_CallbackEventStatusChangedFncType)(Dem_EventStatusExtendedType EventStatusOld, Dem_EventStatusExtendedType EventStatusNew);\r
+typedef Std_ReturnType (*Dem_CallbackEventStatusChangedFncType)(Dem_EventStatusExtendedType EventStatusOld, Dem_EventStatusExtendedType EventStatusNew); /** @req DEM259 */\r
 \r
 // DTCStatusChanged\r
-typedef Std_ReturnType (*Dem_CallbackDTCStatusChangedFncType)(uint8 DTCStatusOld, uint8 DTCStatusNew);\r
+typedef Std_ReturnType (*Dem_CallbackDTCStatusChangedFncType)(uint8 DTCStatusOld, uint8 DTCStatusNew); /** @req DEM260 */\r
 \r
-// DIDServices\r
+// DIDServices /** @req DEM261 */\r
 #if defined(USE_DCM)\r
 typedef Std_ReturnType (*Dem_CallbackConditionCheckReadFncType)(Dcm_NegativeResponseCodeType *Nrc);\r
 typedef Std_ReturnType (*Dem_CallbackReadDataFncType)(uint8 *Data);\r
@@ -57,17 +57,18 @@ typedef Std_ReturnType (*Dem_CallbackReadDataLength)(uint16 *DidLength);
 #endif\r
 \r
 // GetExtendedDataRecord\r
-typedef Std_ReturnType (*Dem_CallbackGetExtDataRecordFncType)(uint8 *ExtendedDataRecord);\r
+typedef Std_ReturnType (*Dem_CallbackGetExtDataRecordFncType)(uint8 *ExtendedDataRecord); /** @req DEM262 */\r
 \r
 // GetFaultDetectionCounter\r
-typedef Std_ReturnType (*Dem_CallbackGetFaultDetectionCounterFncType)(sint8 *EventIdFaultDetectionCounter);\r
+typedef Std_ReturnType (*Dem_CallbackGetFaultDetectionCounterFncType)(sint8 *EventIdFaultDetectionCounter); /** @req DEM263 */\r
 \r
 // GetPIDValue\r
-typedef Std_ReturnType (*Dem_CallbackGetPIDValueFncType)(uint8 *DataValueBuffer);\r
+typedef Std_ReturnType (*Dem_CallbackGetPIDValueFncType)(uint8 *DataValueBuffer); /** @req DEM326 */\r
 \r
 /*\r
  * DemGeneral types\r
  */\r
+/** @req DEM128 */\r
 \r
 // 10.2.25 DemEnableCondition\r
 typedef struct {\r
@@ -80,12 +81,12 @@ typedef struct {
        uint16  RecordNumber;                                           // (1)\r
        uint16  DataSize;                                                       // (1)\r
        Dem_CallbackGetExtDataRecordFncType     CallbackGetExtDataRecord;// (1)\r
-} Dem_ExtendedDataRecordClassType;\r
+} Dem_ExtendedDataRecordClassType; /** @req DEM135 */\r
 \r
 // 10.2.13 DemExtendedDataClass\r
 typedef struct {\r
        const Dem_ExtendedDataRecordClassType *const ExtendedDataRecordClassRef[DEM_MAX_NR_OF_RECORDS_IN_EXTENDED_DATA+1]; // (1..253)\r
-} Dem_ExtendedDataClassType;\r
+} Dem_ExtendedDataClassType; /** @req DEM135 */\r
 \r
 // 10.2.8 DemPidOrDid\r
 typedef struct {\r
@@ -98,19 +99,19 @@ typedef struct {
        const uint8                                                             *PidIndentifier;                        // (0..1)\r
        Dem_CallbackGetPIDValueFncType                  PidReadFnc;                                     // (0..1)\r
        boolean                                                                 Arc_EOL;\r
-} Dem_PidOrDidType;\r
+} Dem_PidOrDidType; /** @req DEM136 */\r
 \r
 // 10.2.18 DemFreezeFrameClass\r
 typedef struct {\r
        Dem_FreezeFrameKindType FFKind;                 // (1)\r
        uint8                                   FFRecordNumber; // (1)\r
        const Dem_PidOrDidType  *FFIdClassRef;  // (1..255)\r
-} Dem_FreezeFrameClassType;\r
+} Dem_FreezeFrameClassType; /** @req DEM136 */\r
 \r
 // 10.2.4 DemIndicator\r
 typedef struct {\r
        uint16  Indicator;              // (1)\r
-} Dem_IndicatorType;\r
+} Dem_IndicatorType; /** @req DEM129 */\r
 \r
 // 10.2.28 DemNvramBlockId\r
 typedef struct {\r
@@ -124,7 +125,7 @@ typedef struct {
 // 10.2.6 DemCallbackDTCStatusChanged\r
 typedef struct {\r
        Dem_CallbackDTCStatusChangedFncType CallbackDTCStatusChangedFnc;        // (0..1)\r
-} Dem_CallbackDTCStatusChangedType;\r
+} Dem_CallbackDTCStatusChangedType; /** @req DEM140 */\r
 \r
 // 10.2.26 DemCallbackInitMForF\r
 typedef struct {\r
@@ -140,27 +141,28 @@ typedef struct {
        const Dem_CallbackInitMForFType                 *CallbackInitMForF;                     // (0..*)\r
        // Dem_DTCSeverityType                                  DTCSeverity                                     // (0..1)  Optional\r
        boolean                                                                 Arc_EOL;\r
-} Dem_DTCClassType;\r
+} Dem_DTCClassType; /** @req DEM132 */\r
 \r
 // 10.2.5 DemCallbackEventStatusChanged\r
 typedef struct {\r
        Dem_CallbackEventStatusChangedFncType   CallbackEventStatusChangedFnc;  // (0..1)\r
-} Dem_CallbackEventStatusChangedType;\r
+} Dem_CallbackEventStatusChangedType; /** @req DEM140 */\r
 \r
 // 10.2.27 DemCallbackInitMForE\r
 typedef struct {\r
        Dem_CallbackInitMonitorForEventFncType  CallbackInitMForEFnc;   // (0..1)\r
-} Dem_CallbackInitMforEType;\r
+} Dem_CallbackInitMforEType; /** @req DEM130 */\r
 \r
+// 10.2.15\r
 typedef struct {\r
        Dem_IndicatorStatusType IndicatorBehaviour;                     // (1)\r
        Dem_IndicatorType               *LinkedIndicator;                       // (1)\r
-} Dem_IndicatorAttributeType;\r
+} Dem_IndicatorAttributeType; /** @req DEM133 */\r
 \r
 // 10.2.23 DemPreDebounceMonitorInternal\r
 typedef struct {\r
        Dem_CallbackGetFaultDetectionCounterFncType     CallbackGetFDCntFnc;    // (1)\r
-} Dem_PreDebounceMonitorInternalType;\r
+} Dem_PreDebounceMonitorInternalType; /** @req DEM146 */\r
 \r
 // 10.2.21 DemPreDebounceCounterBased\r
 typedef struct {\r
@@ -168,7 +170,7 @@ typedef struct {
        boolean JumpDown;\r
        uint8   CountInStepSize;\r
        uint8   CountOutStepSize;\r
-} Dem_PreDebounceCounterBasedType;\r
+} Dem_PreDebounceCounterBasedType; /** @req DEM144 */\r
 \r
 // 10.2.22 DemPreDebounceFrequencyBased\r
 typedef struct {\r
@@ -180,6 +182,7 @@ typedef struct {
        // TODO: Fill out\r
 } Dem_PreDebounceTimeBasedType;\r
 \r
+// 10.2.20\r
 typedef struct {\r
        Dem_PreDebounceNameType                                         PreDebounceName;                                // (1)\r
        union {\r
@@ -204,7 +207,7 @@ typedef struct {
        const Dem_PreDebounceAlgorithmClassType *PreDebounceAlgorithmClass;                             // (0..255) (Only 0..1 supported)\r
        const Dem_IndicatorAttributeType                *IndicatorAttribute;                                    // (0..255)\r
 //     Dem_OEMSPecific\r
-} Dem_EventClassType;\r
+} Dem_EventClassType; /** @req DEM131 */\r
 \r
 // 10.2.12 DemEventParameter\r
 typedef struct {\r
@@ -217,7 +220,7 @@ typedef struct {
        const Dem_CallbackEventStatusChangedType        *CallbackEventStatusChanged;// (0..*)\r
        const Dem_DTCClassType                                          *DTCClassRef;                           // (0..1)\r
        boolean                                                                         Arc_EOL;\r
-} Dem_EventParameterType;\r
+} Dem_EventParameterType; /** @req DEM130 */\r
 \r
 // 10.2.19 DemGroupOfDTC\r
 typedef struct {\r
@@ -226,8 +229,8 @@ typedef struct {
 \r
 // 10.2.10 DemOemIdClass\r
 typedef struct {\r
-       uint8   OemID;  // (Pre+Post)\r
-} Dem_OemIdClassType;\r
+       uint8   OemID;\r
+} Dem_OemIdClassType; /** @req DEM141 */\r
 \r
 // 10.2.9 DemConfigSet\r
 typedef struct {\r
@@ -235,7 +238,7 @@ typedef struct {
        const Dem_DTCClassType                  *DTCClass;                      // (1..16777214)\r
        const Dem_GroupOfDtcType                *GroupOfDtc;            // (1.16777214)\r
        const Dem_OemIdClassType                *OemIdClass;            // (0..*)\r
-} Dem_ConfigSetType;\r
+} Dem_ConfigSetType; /** @req DEM130 */\r
 \r
 // 10.2.2 Dem\r
 typedef struct {\r
index e1e64e8213b490b48d6aa8373cff759c4c4cacf2..24bf95249d576971934988f01e1ca66d4a3f5b67 100644 (file)
@@ -22,7 +22,7 @@
 \r
 #ifndef DEM_TYPES_H_\r
 #define DEM_TYPES_H_\r
-#include "Std_Types.h"\r
+#include "Std_Types.h" /** @req DEM176.Std */\r
 \r
 /*\r
  * DTC storage types\r
index 14dd15282fc0a85e0124b3728ad8af629c63d739..bf1aba21de0ca402950e3a5aa5e8e3d48f144b75 100644 (file)
 #include "Dem_Types.h"\r
 #include "Dem_Cfg.h"\r
 #include "Dem_Lcfg.h"\r
-#include "Dem_IntErrId.h"\r
+#include "Dem_IntErrId.h" /** @req DEM115 */\r
 #include "Dem_IntEvtId.h"\r
+/** @req DEM153 */ /** @req DEM154 */ /* Realized in Dem_IntErrId.h and Dem_IntEvtId.h */\r
 // #include "Rte_Dem.h"\r
 \r
 \r
 #if (DEM_DEV_ERROR_DETECT == STD_ON)\r
-// Error codes produced by this module\r
+// Error codes reported by this module defined by AUTOSAR /** @req DEM116 */ /** @req DEM173 */\r
 #define DEM_E_CONFIG_PTR_INVALID                       0x01\r
 #define DEM_E_PARAM_CONFIG                                     0x10\r
 #define DEM_E_PARAM_ADDRESS                                    0x11\r
@@ -51,6 +52,7 @@
 #define DEM_E_UNINIT                                           0x20\r
 #define DEM_E_NODATAAVAILABLE                          0x30\r
 \r
+// Other error codes reported by this module\r
 #define DEM_E_EVENT_STATUS_BUFF_FULL           0x40\r
 #define DEM_E_EXT_DATA_TOO_BIG                         0x41\r
 #define DEM_E_PRE_INIT_EXT_DATA_BUFF_FULL      0x42\r
 /*\r
  * Interface for upper layer modules (8.3.1)\r
  */\r
-#if ( DEM_VERSION_INFO_API == STD_ON )\r
-#define Dem_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,DEM)\r
+#if ( DEM_VERSION_INFO_API == STD_ON ) /** @req DEM111 */\r
+#define Dem_GetVersionInfo(_vi) STD_GET_VERSION_INFO(_vi,DEM) /** @req DEM177 */ /** @req DEM110 */ /** @req DEM178 */\r
 #endif /* DEM_VERSION_INFO_API */\r
 \r
 /*\r
  * Interface ECU State Manager <-> DEM (8.3.2)\r
  */\r
-void Dem_PreInit( void );\r
-void Dem_Init( void );\r
-void Dem_Shutdown( void );\r
+void Dem_PreInit( void ); /** @req DEM179 */\r
+void Dem_Init( void ); /** @req DEM181 */\r
+void Dem_Shutdown( void ); /** @req DEM182 */\r
 \r
 \r
 /*\r
  * Interface for basic software scheduler\r
  */\r
-void Dem_MainFunction( void );\r
+void Dem_MainFunction( void ); /** @req DEM266 */\r
 \r
 \r
 /*\r
  * Interface SW-Components via RTE <-> DEM (8.3.3)\r
  */\r
-Std_ReturnType Dem_SetEventStatus(Dem_EventIdType eventId, uint8 eventStatus);\r
-Std_ReturnType Dem_ResetEventStatus(Dem_EventIdType eventId);\r
-Std_ReturnType Dem_GetEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtendedType *eventStatusExtended);\r
-Std_ReturnType Dem_GetEventFailed(Dem_EventIdType eventId, boolean *eventFailed);\r
-Std_ReturnType Dem_GetEventTested(Dem_EventIdType eventId, boolean *eventTested);\r
-Std_ReturnType Dem_GetFaultDetectionCounter(Dem_EventIdType eventId, sint8 *counter);\r
-Std_ReturnType Dem_SetOperationCycleState(Dem_OperationCycleIdType OperationCycleId, Dem_OperationCycleStateType CycleState);\r
-Std_ReturnType Dem_GetDTCOfEvent(Dem_EventIdType eventId, Dem_DTCKindType dtcKind, uint32* dtcOfEvent);\r
+Std_ReturnType Dem_SetEventStatus(Dem_EventIdType eventId, uint8 eventStatus); /** @req DEM183 */\r
+Std_ReturnType Dem_ResetEventStatus(Dem_EventIdType eventId); /** @req DEM185 */\r
+Std_ReturnType Dem_GetEventStatus(Dem_EventIdType eventId, Dem_EventStatusExtendedType *eventStatusExtended); /** @req DEM195 */\r
+Std_ReturnType Dem_GetEventFailed(Dem_EventIdType eventId, boolean *eventFailed); /** @req DEM196 */\r
+Std_ReturnType Dem_GetEventTested(Dem_EventIdType eventId, boolean *eventTested); /** @req DEM197 */\r
+Std_ReturnType Dem_GetFaultDetectionCounter(Dem_EventIdType eventId, sint8 *counter); /** @req DEM203 */\r
+Std_ReturnType Dem_SetOperationCycleState(Dem_OperationCycleIdType OperationCycleId, Dem_OperationCycleStateType CycleState); /** @req DEM194 */\r
+Std_ReturnType Dem_GetDTCOfEvent(Dem_EventIdType eventId, Dem_DTCKindType dtcKind, uint32* dtcOfEvent); /** @req DEM198 */\r
 \r
 \r
 /*\r
  * Interface BSW-Components <-> DEM (8.3.4)\r
  */\r
-void Dem_ReportErrorStatus(Dem_EventIdType eventId ,uint8 eventStatus);\r
+void Dem_ReportErrorStatus(Dem_EventIdType eventId ,uint8 eventStatus); /** @req DEM206 */\r
 \r
 \r
 /*\r
  * Interface DCM <-> DEM (8.3.5)\r
  */\r
-Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin);\r
-Dem_ReturnSetDTCFilterType Dem_SetDTCFilter(uint8 dtcStatusMask,\r
-               Dem_DTCKindType dtcKind,\r
-               Dem_DTCOriginType dtcOrigin,\r
-               Dem_FilterWithSeverityType filterWithSeverity,\r
-               Dem_DTCSeverityType dtcSeverityMask,\r
-               Dem_FilterForFDCType filterForFaultDetectionCounter);\r
-Dem_ReturnGetStatusOfDTCType Dem_GetStatusOfDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, Dem_EventStatusExtendedType* dtcStatus);\r
-Std_ReturnType Dem_GetDTCStatusAvailabilityMask(uint8 *dtcStatusMask);\r
-Dem_ReturnGetNumberOfFilteredDTCType Dem_GetNumberOfFilteredDtc(uint16* numberOfFilteredDTC);\r
-Dem_ReturnGetNextFilteredDTCType Dem_GetNextFilteredDTC(uint32* dtc, Dem_EventStatusExtendedType* dtcStatus);\r
-Dem_ReturnTypeOfDtcSupportedType Dem_GetTranslationType(void);\r
-Dem_ReturnControlDTCStorageType Dem_DisableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind);\r
-Dem_ReturnControlDTCStorageType Dem_EnableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind);\r
-Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint8 *destBuffer, uint8 *bufSize);\r
-Dem_ReturnGetSizeOfExtendedDataRecordByDTCType Dem_GetSizeOfExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint16 *sizeOfExtendedDataRecord);\r
+Dem_ReturnClearDTCType Dem_ClearDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin); /** @req DEM241 */\r
+Dem_ReturnSetDTCFilterType Dem_SetDTCFilter(uint8 dtcStatusMask, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, Dem_FilterWithSeverityType filterWithSeverity, Dem_DTCSeverityType dtcSeverityMask, Dem_FilterForFDCType filterForFaultDetectionCounter);  /** @req DEM208 */\r
+Dem_ReturnGetStatusOfDTCType Dem_GetStatusOfDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, Dem_EventStatusExtendedType* dtcStatus); /** @req DEM212 */\r
+Std_ReturnType Dem_GetDTCStatusAvailabilityMask(uint8 *dtcStatusMask); /** @req DEM213 */\r
+Dem_ReturnGetNumberOfFilteredDTCType Dem_GetNumberOfFilteredDtc(uint16* numberOfFilteredDTC); /** @req DEM214 */\r
+Dem_ReturnGetNextFilteredDTCType Dem_GetNextFilteredDTC(uint32* dtc, Dem_EventStatusExtendedType* dtcStatus); /** @req DEM215 */\r
+Dem_ReturnTypeOfDtcSupportedType Dem_GetTranslationType(void); /** @req DEM230 */\r
+Dem_ReturnControlDTCStorageType Dem_DisableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind); /** @req DEM242 */\r
+Dem_ReturnControlDTCStorageType Dem_EnableDTCStorage(Dem_DTCGroupType dtcGroup, Dem_DTCKindType dtcKind); /** @req DEM243 */\r
+Dem_ReturnGetExtendedDataRecordByDTCType Dem_GetExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint8 *destBuffer, uint8 *bufSize); /** @req DEM239 */\r
+Dem_ReturnGetSizeOfExtendedDataRecordByDTCType Dem_GetSizeOfExtendedDataRecordByDTC(uint32 dtc, Dem_DTCKindType dtcKind, Dem_DTCOriginType dtcOrigin, uint8 extendedDataNumber, uint16 *sizeOfExtendedDataRecord); /** @req DEM240 */\r
 \r
 \r
 \r