\r
VALIDATE_NO_RV(internal_data.initiated, ECUM_MAINFUNCTION_ID, ECUM_E_NOT_INITIATED);\r
\r
- if (internal_data.current_state == ECUM_STATE_APP_RUN)\r
- {\r
+\r
+switch(internal_data.current_state){\r
+\r
+ case ECUM_STATE_APP_RUN:\r
if (internal_data_run_state_timeout)\r
{\r
internal_data_run_state_timeout--;\r
enter_post_run_mode();/** @req EcuM2865 */\r
/*lint --e(904)*/ return;\r
}\r
- }\r
-\r
- if (internal_data.current_state == ECUM_STATE_APP_POST_RUN)\r
- {\r
+ break;\r
+ case ECUM_STATE_APP_POST_RUN:\r
if (hasRunRequests())\r
{\r
EcuM_enter_run_mode(); /** @req EcuM2866 */\r
enter_prep_shutdown_mode();/** @req EcuM2761 */\r
/*lint --e(904)*/ return;\r
}\r
- }\r
-\r
- if (internal_data.current_state == ECUM_STATE_PREP_SHUTDOWN)\r
- {\r
+ break;\r
+ case ECUM_STATE_PREP_SHUTDOWN:\r
#if defined(USE_DEM)\r
// DEM shutdown\r
Dem_Shutdown();\r
if (internal_data.shutdown_target == ECUM_STATE_SLEEP) {\r
enter_go_sleep_mode();\r
}\r
- }\r
-\r
- if (internal_data.current_state == ECUM_STATE_GO_OFF_ONE)\r
- {\r
+ break;\r
+ case ECUM_STATE_GO_OFF_ONE:\r
#if defined(USE_NVM)\r
if (internal_data_go_off_one_state_timeout){\r
internal_data_go_off_one_state_timeout--;\r
#else\r
ShutdownOS(E_OK);\r
#endif\r
- }\r
-\r
- if (internal_data.current_state == ECUM_STATE_GO_SLEEP)\r
- {\r
+ break;\r
+ case ECUM_STATE_GO_SLEEP:\r
// TODO: Fill out\r
- }\r
+ break;\r
+ default:\r
+ //TODO: Do something if the state does not belong to main at all?\r
+ break;\r
+}\r
\r
}\r