add source for ces2019
[apps/agl-service-windowmanager-2017.git] / policy_manager / stm / zipc / StateTransitionor / CarState / ZCAR_CarState.c
diff --git a/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.c b/policy_manager/stm/zipc/StateTransitionor/CarState/ZCAR_CarState.c
new file mode 100644 (file)
index 0000000..8e20123
--- /dev/null
@@ -0,0 +1,154 @@
+/************************************************************/
+/*     ZCAR_CarState.c                                      */
+/*     CarState State transition model source file          */
+/*     ZIPC Designer Version 1.2.0                          */
+/************************************************************/
+#include "../ZST_include.h"
+
+/* State management variable */
+static uint8_t ZCAR_CarStateState[ZCAR_CARSTATESTATENOMAX];
+
+static void ZCAR_CarStates0e1( void );
+static void ZCAR_CarStates1e0( void );
+static void ZCAR_CarStates0Event( void );
+static void ZCAR_CarStates1Event( void );
+
+/****************************************/
+/* Action function                      */
+/*   STM : CarState                     */
+/*   State : car_stop( No 0 )           */
+/*   Event : stt_accel_pedal_on( No 1 ) */
+/****************************************/
+static void ZCAR_CarStates0e1( void )
+{
+    ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES1;
+    stm_rns_start_activity_car_run();
+}
+
+/****************************************/
+/* Action function                      */
+/*   STM : CarState                     */
+/*   State : car_run( No 1 )            */
+/*   Event : stt_accel_pedal_off( No 0 )*/
+/****************************************/
+static void ZCAR_CarStates1e0( void )
+{
+    ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES0;
+    stm_rns_start_activity_car_stop();
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : CarState                     */
+/*   State : car_stop( No 0 )           */
+/****************************************/
+static void ZCAR_CarStates0Event( void )
+{
+    /*stt_lightstatus_brake_off*/
+    if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
+    {
+        /*stt_accel_pedal_on*/
+        if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOn )
+        {
+            ZCAR_CarStates0e1();
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event appraisal function             */
+/*   STM : CarState                     */
+/*   State : car_run( No 1 )            */
+/****************************************/
+static void ZCAR_CarStates1Event( void )
+{
+    /*stt_lightstatus_brake_off*/
+    if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
+    {
+        /*stt_accel_pedal_off*/
+        if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOff )
+        {
+            ZCAR_CarStates1e0();
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    /*stt_lightstatus_brake_on*/
+    else if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
+    {
+        /*stt_accel_pedal_off*/
+        if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOff )
+        {
+            ZCAR_CarStates1e0();
+        }
+        /*stt_accel_pedal_on*/
+        else if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOn )
+        {
+            ZCAR_CarStates1e0();
+        }
+        else
+        {
+            /*Else and default design have not done.*/
+            /*Please confirm the STM and design else and default.*/
+        }
+    }
+    else
+    {
+        /*Else and default design have not done.*/
+        /*Please confirm the STM and design else and default.*/
+    }
+}
+
+/****************************************/
+/* Event call function                  */
+/*   STM : CarState                     */
+/****************************************/
+void stm_rns_event_call( void )
+{
+    stm_rns_start_stm();
+    switch( ZCAR_CarStateState[ZCAR_CARSTATE] )
+    {
+    case ZCAR_CARSTATES0:
+        ZCAR_CarStates0Event();
+        break;
+    case ZCAR_CARSTATES1:
+        ZCAR_CarStates1Event();
+        break;
+    default:
+        /*Not accessible to this else (default).*/
+        break;
+    }
+}
+
+/****************************************/
+/* Initial function                     */
+/*   STM : CarState                     */
+/****************************************/
+void stm_rns_initialize( void )
+{
+    ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES0;
+    stm_rns_start_activity_car_stop();
+}
+
+/****************************************/
+/* Terminate function                   */
+/*   STM : CarState                     */
+/****************************************/
+void ZCAR_CarStateTerminate( void )
+{
+    ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATETERMINATE;
+}
+