{
Std_ReturnType ret = E_NOT_OK;
VALIDATE_ENTITY_ID(SEid, WDGM_UPDATEALIVECOUNTER_ID);\r
+ VALIDATE((wdgMInternalState.WdgM_ConfigPtr != 0), WDGM_UPDATEALIVECOUNTER_ID, WDGM_E_NO_INIT);
WdgM_SupervisionType *supervisionPtr = &(wdgMInternalState.WdgM_ConfigPtr->WdgM_ConfigSet->WdgM_SupervisionPtr)[SEid];\r
/** @req WDGM083 **/\r
{\r
Std_ReturnType ret = E_NOT_OK;
VALIDATE_ENTITY_ID(SEid, WDGM_ACTIVATEALIVESUPERVISION_ID);
+ VALIDATE((wdgMInternalState.WdgM_ConfigPtr != 0), WDGM_ACTIVATEALIVESUPERVISION_ID, WDGM_E_NO_INIT);
WdgM_SupervisionType *supervisionPtr = &(wdgMInternalState.WdgM_ConfigPtr->WdgM_ConfigSet->WdgM_SupervisionPtr)[SEid];\r
\r
supervisionPtr->ActivationStatus = WDBG_SUPERVISION_ENABLED;\r
{
Std_ReturnType ret;\r
VALIDATE_ENTITY_ID(SEid, WDGM_DEACTIVATEALIVESUPERVISION_ID);
+ VALIDATE((wdgMInternalState.WdgM_ConfigPtr != 0), WDGM_DEACTIVATEALIVESUPERVISION_ID, WDGM_E_NO_INIT);
WdgM_SupervisionType *supervisionPtr = &(wdgMInternalState.WdgM_ConfigPtr->WdgM_ConfigSet->WdgM_SupervisionPtr)[SEid];\r
/** @req WDGM114 **/
{
Std_ReturnType ret;
VALIDATE_ENTITY_ID(SEid, WDGM_GETALIVESUPERVISION_ID);
+ VALIDATE((wdgMInternalState.WdgM_ConfigPtr != 0), WDGM_GETALIVESUPERVISION_ID, WDGM_E_NO_INIT);
WdgM_SupervisionType *supervisionPtr = &(wdgMInternalState.WdgM_ConfigPtr->WdgM_ConfigSet->WdgM_SupervisionPtr)[SEid];
*Status = supervisionPtr->SupervisionStatus;
ret = E_OK;
wdgMInternalState.WdgM_ConfigPtr = ConfigPtr;\r
}
+/* Non standard API for test purpose. */
+void WdgM_DeInit( void)
+{
+ wdgMInternalState.WdgM_GlobalSupervisionStatus = 0;
+ wdgMInternalState.WdgM_ConfigPtr = 0;
+}
+
+
/** @req WDGM060 **/
/** @req WDGM061 **/
/** @req WDGM063 **/\r
/** @req WDGM099 **/\r
/** @req WDGM159 **/
void WdgM_MainFunction_AliveSupervision (void)\r
-{\r
+{
+ VALIDATE_NO_RETURNVAL((wdgMInternalState.WdgM_ConfigPtr != 0), WDGM_MAINFUNCTION_ALIVESUPERVISION_ID, WDGM_E_NO_INIT);
+\r
WdgM_SupervisedEntityIdType SEid;\r
WdgM_SupervisionType *supervisionPtr;\r
const WdgM_SupervisedEntityType *entityPtr;\r
void WdgM_MainFunction_Trigger (void)\r
{\r
uint8 i;
+ /** @req WDGM068 **/
+ VALIDATE_NO_RETURNVAL((wdgMInternalState.WdgM_ConfigPtr != 0), WDGM_MAINFUNCTION_TRIGGER_ID, WDGM_E_NO_INIT);
/* Update trigger counter. */
wdgMInternalState.WdgMTriggerCounter++;
/** @req WDGM109 **/
/* Time to trig this particular watchdog instance? */
if (0 == (wdgMInternalState.WdgMTriggerCounter %
- wdgMInternalState.WdgM_ConfigPtr->WdgM_ConfigSet->WdgM_Trigger[i].WdgM_TriggerReferenceCycle))
+ wdgMInternalState.WdgM_ConfigPtr->WdgM_ConfigSet->WdgM_Trigger[i].WdgM_TriggerReferenceCycle))
{
/** @req WDGM066 **/
WdgIf_Trigger(wdgMInternalState.WdgM_ConfigPtr->WdgM_ConfigSet->WdgM_Trigger[i].WdgM_WatchdogRef);
#include "WdgM_Cfg.h"\r
// API Service ID's
-#define WDGM_INIT_ID 0x00
-#define WDGM_SETMODE_ID 0x03
-#define WDGM_UPDATEALIVECOUNTER_ID 0x04
-#define WDGM_ACTIVATEALIVESUPERVISION_ID 0x05
-#define WDGM_DEACTIVATEALIVESUPERVISION_ID 0x06
-#define WDGM_GETMODE_ID 0x0b
-#define WDGM_GETALIVESUPERVISION_ID 0x0c
-#define WDGM_GETGLOBALSTATUS_ID 0x0d
+#define WDGM_INIT_ID 0x00
+#define WDGM_SETMODE_ID 0x03
+#define WDGM_UPDATEALIVECOUNTER_ID 0x04
+#define WDGM_ACTIVATEALIVESUPERVISION_ID 0x05
+#define WDGM_DEACTIVATEALIVESUPERVISION_ID 0x06
+#define WDGM_MAINFUNCTION_TRIGGER_ID 0x06
+#define WDGM_MAINFUNCTION_ALIVESUPERVISION_ID 0x08
+#define WDGM_GETMODE_ID 0x0b
+#define WDGM_GETALIVESUPERVISION_ID 0x0c
+#define WDGM_GETGLOBALSTATUS_ID 0x0d
/** @req WDGM004 **/
Std_ReturnType WdgM_GetGlobalStatus (WdgM_AliveSupervisionStatusType *Status);
Std_ReturnType WdgM_GetAliveSupervisionStatus (WdgM_SupervisedEntityIdType SEid, WdgM_AliveSupervisionStatusType *Status);\r
void WdgM_Init(const WdgM_ConfigType* ConfigPtr);
+void WdgM_DeInit(void);
Std_ReturnType WdgM_SetMode(WdgM_ModeType Mode);\r
void WdgM_MainFunction_AliveSupervision (void);\r
void WdgM_MainFunction_Trigger (void);\r