]> rtime.felk.cvut.cz Git - arc.git/commitdiff
EcuM update. Added switch-case.
authoreija <devnull@localhost>
Tue, 1 Feb 2011 10:00:40 +0000 (11:00 +0100)
committereija <devnull@localhost>
Tue, 1 Feb 2011 10:00:40 +0000 (11:00 +0100)
system/EcuM/EcuM_Main.c

index 4a7ba9162e7721b3aa191c02ccc7a6bcbcbd7686..f669b0251a0b7954883c991ba71086dd582ab461 100644 (file)
@@ -98,8 +98,10 @@ static NvM_RequestResultType writeAllResult;
 \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
@@ -111,10 +113,8 @@ VALIDATE_NO_RV(internal_data.initiated, ECUM_MAINFUNCTION_ID, ECUM_E_NOT_INITIAT
                        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
@@ -127,10 +127,8 @@ VALIDATE_NO_RV(internal_data.initiated, ECUM_MAINFUNCTION_ID, ECUM_E_NOT_INITIAT
                        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
@@ -144,10 +142,8 @@ VALIDATE_NO_RV(internal_data.initiated, ECUM_MAINFUNCTION_ID, ECUM_E_NOT_INITIAT
                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
@@ -162,11 +158,13 @@ VALIDATE_NO_RV(internal_data.initiated, ECUM_MAINFUNCTION_ID, ECUM_E_NOT_INITIAT
 #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