add source for ces2019
[apps/agl-service-windowmanager-2017.git] / policy_manager / stm / zipc / StateTransitionor / CarState / ZCAR_CarState.c
1 /************************************************************/
2 /*     ZCAR_CarState.c                                      */
3 /*     CarState State transition model source file          */
4 /*     ZIPC Designer Version 1.2.0                          */
5 /************************************************************/
6 #include "../ZST_include.h"
7
8 /* State management variable */
9 static uint8_t ZCAR_CarStateState[ZCAR_CARSTATESTATENOMAX];
10
11 static void ZCAR_CarStates0e1( void );
12 static void ZCAR_CarStates1e0( void );
13 static void ZCAR_CarStates0Event( void );
14 static void ZCAR_CarStates1Event( void );
15
16 /****************************************/
17 /* Action function                      */
18 /*   STM : CarState                     */
19 /*   State : car_stop( No 0 )           */
20 /*   Event : stt_accel_pedal_on( No 1 ) */
21 /****************************************/
22 static void ZCAR_CarStates0e1( void )
23 {
24     ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES1;
25     stm_rns_start_activity_car_run();
26 }
27
28 /****************************************/
29 /* Action function                      */
30 /*   STM : CarState                     */
31 /*   State : car_run( No 1 )            */
32 /*   Event : stt_accel_pedal_off( No 0 )*/
33 /****************************************/
34 static void ZCAR_CarStates1e0( void )
35 {
36     ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES0;
37     stm_rns_start_activity_car_stop();
38 }
39
40 /****************************************/
41 /* Event appraisal function             */
42 /*   STM : CarState                     */
43 /*   State : car_stop( No 0 )           */
44 /****************************************/
45 static void ZCAR_CarStates0Event( void )
46 {
47     /*stt_lightstatus_brake_off*/
48     if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
49     {
50         /*stt_accel_pedal_on*/
51         if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOn )
52         {
53             ZCAR_CarStates0e1();
54         }
55         else
56         {
57             /*Else and default design have not done.*/
58             /*Please confirm the STM and design else and default.*/
59         }
60     }
61     else
62     {
63         /*Else and default design have not done.*/
64         /*Please confirm the STM and design else and default.*/
65     }
66 }
67
68 /****************************************/
69 /* Event appraisal function             */
70 /*   STM : CarState                     */
71 /*   State : car_run( No 1 )            */
72 /****************************************/
73 static void ZCAR_CarStates1Event( void )
74 {
75     /*stt_lightstatus_brake_off*/
76     if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOff )
77     {
78         /*stt_accel_pedal_off*/
79         if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOff )
80         {
81             ZCAR_CarStates1e0();
82         }
83         else
84         {
85             /*Else and default design have not done.*/
86             /*Please confirm the STM and design else and default.*/
87         }
88     }
89     /*stt_lightstatus_brake_on*/
90     else if( g_stm_crr_state.car_element[StmCarElementNoLightstatusBrake].state == StmLightstatusBrakeSttNoOn )
91     {
92         /*stt_accel_pedal_off*/
93         if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOff )
94         {
95             ZCAR_CarStates1e0();
96         }
97         /*stt_accel_pedal_on*/
98         else if( g_stm_crr_state.car_element[StmCarElementNoAccelPedal].state == StmAccelPedalSttNoOn )
99         {
100             ZCAR_CarStates1e0();
101         }
102         else
103         {
104             /*Else and default design have not done.*/
105             /*Please confirm the STM and design else and default.*/
106         }
107     }
108     else
109     {
110         /*Else and default design have not done.*/
111         /*Please confirm the STM and design else and default.*/
112     }
113 }
114
115 /****************************************/
116 /* Event call function                  */
117 /*   STM : CarState                     */
118 /****************************************/
119 void stm_rns_event_call( void )
120 {
121     stm_rns_start_stm();
122     switch( ZCAR_CarStateState[ZCAR_CARSTATE] )
123     {
124     case ZCAR_CARSTATES0:
125         ZCAR_CarStates0Event();
126         break;
127     case ZCAR_CARSTATES1:
128         ZCAR_CarStates1Event();
129         break;
130     default:
131         /*Not accessible to this else (default).*/
132         break;
133     }
134 }
135
136 /****************************************/
137 /* Initial function                     */
138 /*   STM : CarState                     */
139 /****************************************/
140 void stm_rns_initialize( void )
141 {
142     ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATES0;
143     stm_rns_start_activity_car_stop();
144 }
145
146 /****************************************/
147 /* Terminate function                   */
148 /*   STM : CarState                     */
149 /****************************************/
150 void ZCAR_CarStateTerminate( void )
151 {
152     ZCAR_CarStateState[ZCAR_CARSTATE] = ( uint8_t )ZCAR_CARSTATETERMINATE;
153 }
154