diff options
author | Joshua Bakita <bakitajoshua@gmail.com> | 2019-10-07 19:13:39 -0400 |
---|---|---|
committer | Joshua Bakita <bakitajoshua@gmail.com> | 2019-10-07 19:13:39 -0400 |
commit | 386b7d3366f1359a265da207a9cafa3edf553b64 (patch) | |
tree | c76120c2c138faed822e4ae386be6ef22a738a78 /baseline/source/statemate/statemate.c | |
parent | 54a3f7091a2146b29c73a6fdc4b62a5c4ad7a3d8 (diff) |
Reorganize and commit all the modified TACLeBench code and run scripts
Diffstat (limited to 'baseline/source/statemate/statemate.c')
-rw-r--r-- | baseline/source/statemate/statemate.c | 1286 |
1 files changed, 1286 insertions, 0 deletions
diff --git a/baseline/source/statemate/statemate.c b/baseline/source/statemate/statemate.c new file mode 100644 index 0000000..379366a --- /dev/null +++ b/baseline/source/statemate/statemate.c | |||
@@ -0,0 +1,1286 @@ | |||
1 | /* | ||
2 | |||
3 | This program is part of the TACLeBench benchmark suite. | ||
4 | Version V 2.0 | ||
5 | |||
6 | Name: statemate | ||
7 | |||
8 | Author: Friedhelm Stappert, C-LAB, Paderborn, Germany | ||
9 | |||
10 | Function: This code was automatically generated by | ||
11 | the STAtechart Real-time-Code generator STARC | ||
12 | which was developed at C-LAB. | ||
13 | |||
14 | The original StateChart specifies an experimental | ||
15 | car window lift control. | ||
16 | |||
17 | Source: MRTC | ||
18 | http://www.mrtc.mdh.se/projects/wcet/wcet_bench/statemate/statemate.c | ||
19 | |||
20 | Changes: no major functional changes | ||
21 | |||
22 | License: may be used, modified, and re-distributed freely | ||
23 | |||
24 | */ | ||
25 | |||
26 | /* | ||
27 | Macro definitions | ||
28 | */ | ||
29 | |||
30 | #include "../extra.h" | ||
31 | |||
32 | #define SYS_bit_get(a,b) (a)[(b)] | ||
33 | #define SYS_bit_clr(a,b) (a)[(b)] = 0 | ||
34 | #define SYS_bit_set(a,b) (a)[(b)] = 1 | ||
35 | #define SYS_bit_cpy(a1,i1,a2,i2) (a1)[(i1)] = (a2)[(i2)] | ||
36 | |||
37 | #define active_KINDERSICHERUNG_CTRL_IDX 10 | ||
38 | #define active_KINDERSICHERUNG_CTRL_copy_IDX 11 | ||
39 | #define active_KINDERSICHERUNG_CTRL_old_IDX 12 | ||
40 | #define active_FH_TUERMODUL_CTRL_IDX 13 | ||
41 | #define active_FH_TUERMODUL_CTRL_copy_IDX 14 | ||
42 | #define active_FH_TUERMODUL_CTRL_old_IDX 15 | ||
43 | #define active_EINKLEMMSCHUTZ_CTRL_IDX 16 | ||
44 | #define active_EINKLEMMSCHUTZ_CTRL_copy_IDX 17 | ||
45 | #define active_EINKLEMMSCHUTZ_CTRL_old_IDX 18 | ||
46 | #define active_BLOCK_ERKENNUNG_CTRL_IDX 19 | ||
47 | #define active_BLOCK_ERKENNUNG_CTRL_copy_IDX 20 | ||
48 | #define active_BLOCK_ERKENNUNG_CTRL_old_IDX 21 | ||
49 | #define entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX 0 | ||
50 | |||
51 | #define entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX 4 | ||
52 | #define entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX 5 | ||
53 | #define exited_BEREIT_FH_TUERMODUL_CTRL_IDX 6 | ||
54 | #define exited_BEREIT_FH_TUERMODUL_CTRL_copy_IDX 7 | ||
55 | |||
56 | #define FH_TUERMODUL_CTRL__END_REVERS_IDX 22 | ||
57 | #define FH_TUERMODUL_CTRL__END_REVERS_copy_IDX 23 | ||
58 | #define FH_TUERMODUL__EINKLEMMUNG_IDX 24 | ||
59 | |||
60 | |||
61 | /* | ||
62 | Forward declaration of functions | ||
63 | */ | ||
64 | |||
65 | void statemate_init( void ); | ||
66 | void statemate_interface( void ); | ||
67 | void statemate_generic_KINDERSICHERUNG_CTRL( void ); | ||
68 | void statemate_generic_FH_TUERMODUL_CTRL( void ); | ||
69 | void statemate_generic_EINKLEMMSCHUTZ_CTRL( void ); | ||
70 | void statemate_generic_BLOCK_ERKENNUNG_CTRL( void ); | ||
71 | void statemate_FH_DU( void ); | ||
72 | void statemate_main( void ); | ||
73 | int statemate_return ( void ); | ||
74 | |||
75 | |||
76 | /* | ||
77 | Declaration of global variables | ||
78 | */ | ||
79 | |||
80 | static char statemate_bitlist[64]; | ||
81 | unsigned long | ||
82 | statemate_tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy; | ||
83 | unsigned long | ||
84 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL; | ||
85 | unsigned long statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL; | ||
86 | unsigned long statemate_sc_FH_TUERMODUL_CTRL_2375_2; | ||
87 | unsigned long statemate_sc_FH_TUERMODUL_CTRL_2352_1; | ||
88 | unsigned long statemate_sc_FH_TUERMODUL_CTRL_2329_1; | ||
89 | int statemate_FH_TUERMODUL_CTRL__N; | ||
90 | int statemate_FH_TUERMODUL_CTRL__N_old; | ||
91 | unsigned long statemate_sc_FH_TUERMODUL_CTRL_1781_10; | ||
92 | unsigned long statemate_sc_FH_TUERMODUL_CTRL_1739_10; | ||
93 | int statemate_FH_TUERMODUL__POSITION; | ||
94 | int statemate_FH_TUERMODUL__I_EIN; | ||
95 | int statemate_FH_TUERMODUL__I_EIN_old; | ||
96 | int statemate_FH_DU__MFH; | ||
97 | int statemate_FH_DU__MFH_copy; | ||
98 | int statemate_FH_DU__POSITION; | ||
99 | int statemate_FH_DU__I_EIN; | ||
100 | int statemate_FH_DU__I_EIN_old; | ||
101 | int statemate_BLOCK_ERKENNUNG_CTRL__I_EIN_MAX; | ||
102 | int statemate_BLOCK_ERKENNUNG_CTRL__N; | ||
103 | int statemate_BLOCK_ERKENNUNG_CTRL__N_old; | ||
104 | char statemate_FH_TUERMODUL_CTRL__INREVERS2; | ||
105 | char statemate_FH_TUERMODUL_CTRL__INREVERS2_copy; | ||
106 | char statemate_FH_TUERMODUL_CTRL__INREVERS1; | ||
107 | char statemate_FH_TUERMODUL_CTRL__INREVERS1_copy; | ||
108 | char statemate_FH_TUERMODUL__SFHZ_ZENTRAL; | ||
109 | char statemate_FH_TUERMODUL__SFHZ_ZENTRAL_old; | ||
110 | char statemate_FH_TUERMODUL__SFHZ_MEC; | ||
111 | char statemate_FH_TUERMODUL__SFHZ_MEC_old; | ||
112 | char statemate_FH_TUERMODUL__SFHA_ZENTRAL; | ||
113 | char statemate_FH_TUERMODUL__SFHA_ZENTRAL_old; | ||
114 | char statemate_FH_TUERMODUL__SFHA_MEC; | ||
115 | char statemate_FH_TUERMODUL__SFHA_MEC_old; | ||
116 | char statemate_FH_TUERMODUL__KL_50; | ||
117 | char statemate_FH_TUERMODUL__BLOCK; | ||
118 | char statemate_FH_TUERMODUL__BLOCK_copy; | ||
119 | char statemate_FH_TUERMODUL__BLOCK_old; | ||
120 | char statemate_FH_TUERMODUL__FT; | ||
121 | char statemate_FH_TUERMODUL__SFHZ; | ||
122 | char statemate_FH_TUERMODUL__SFHZ_copy; | ||
123 | char statemate_FH_TUERMODUL__SFHZ_old; | ||
124 | char statemate_FH_TUERMODUL__SFHA; | ||
125 | char statemate_FH_TUERMODUL__SFHA_copy; | ||
126 | char statemate_FH_TUERMODUL__SFHA_old; | ||
127 | char statemate_FH_TUERMODUL__MFHZ; | ||
128 | char statemate_FH_TUERMODUL__MFHZ_copy; | ||
129 | char statemate_FH_TUERMODUL__MFHZ_old; | ||
130 | char statemate_FH_TUERMODUL__MFHA; | ||
131 | char statemate_FH_TUERMODUL__MFHA_copy; | ||
132 | char statemate_FH_TUERMODUL__MFHA_old; | ||
133 | char statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV; | ||
134 | char statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV_old; | ||
135 | char statemate_FH_DU__KL_50; | ||
136 | char statemate_FH_DU__S_FH_FTZU; | ||
137 | char statemate_FH_DU__S_FH_FTAUF; | ||
138 | char statemate_FH_DU__FT; | ||
139 | char statemate_FH_DU__EKS_LEISTE_AKTIV; | ||
140 | char statemate_FH_DU__EKS_LEISTE_AKTIV_old; | ||
141 | char statemate_FH_DU__S_FH_TMBFAUFCAN; | ||
142 | char statemate_FH_DU__S_FH_TMBFAUFCAN_old; | ||
143 | char statemate_FH_DU__S_FH_TMBFZUCAN; | ||
144 | char statemate_FH_DU__S_FH_TMBFZUCAN_old; | ||
145 | char statemate_FH_DU__S_FH_TMBFZUDISC; | ||
146 | char statemate_FH_DU__S_FH_TMBFZUDISC_old; | ||
147 | char statemate_FH_DU__S_FH_TMBFAUFDISC; | ||
148 | char statemate_FH_DU__S_FH_TMBFAUFDISC_old; | ||
149 | char statemate_FH_DU__S_FH_ZUDISC; | ||
150 | char statemate_FH_DU__S_FH_AUFDISC; | ||
151 | char statemate_FH_DU__DOOR_ID; | ||
152 | char statemate_FH_DU__BLOCK; | ||
153 | char statemate_FH_DU__BLOCK_copy; | ||
154 | char statemate_FH_DU__BLOCK_old; | ||
155 | char statemate_FH_DU__MFHZ; | ||
156 | char statemate_FH_DU__MFHZ_copy; | ||
157 | char statemate_FH_DU__MFHZ_old; | ||
158 | char statemate_FH_DU__MFHA; | ||
159 | char statemate_FH_DU__MFHA_copy; | ||
160 | char statemate_FH_DU__MFHA_old; | ||
161 | |||
162 | unsigned long statemate_time; | ||
163 | char statemate_stable; | ||
164 | char statemate_step; | ||
165 | |||
166 | char | ||
167 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state; /** 2 bits **/ | ||
168 | char | ||
169 | statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state; /** 1 bits **/ | ||
170 | char statemate_MEC_KINDERSICHERUNG_CTRL_next_state; /** 1 bits **/ | ||
171 | char | ||
172 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state; /** 2 bits **/ | ||
173 | char statemate_B_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/ | ||
174 | char statemate_A_FH_TUERMODUL_CTRL_next_state; /** 1 bits **/ | ||
175 | char | ||
176 | statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state; /** 1 bits **/ | ||
177 | char | ||
178 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/ | ||
179 | char | ||
180 | statemate_TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/ | ||
181 | char | ||
182 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/ | ||
183 | char statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/ | ||
184 | char | ||
185 | statemate_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/ | ||
186 | char | ||
187 | statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state; /** 2 bits **/ | ||
188 | char | ||
189 | statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state; /** 2 bits **/ | ||
190 | char | ||
191 | statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state; /** 2 bits **/ | ||
192 | char | ||
193 | statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state; /** 2 bits **/ | ||
194 | |||
195 | |||
196 | /* | ||
197 | Initialization-related functions | ||
198 | */ | ||
199 | |||
200 | void statemate_init( void ) | ||
201 | { | ||
202 | statemate_tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy | ||
203 | = 0; | ||
204 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL | ||
205 | = 0; | ||
206 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL = 0; | ||
207 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 0; | ||
208 | statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 0; | ||
209 | statemate_MEC_KINDERSICHERUNG_CTRL_next_state = 0; | ||
210 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 0; | ||
211 | statemate_B_FH_TUERMODUL_CTRL_next_state = 0; | ||
212 | statemate_A_FH_TUERMODUL_CTRL_next_state = 0; | ||
213 | statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 0; | ||
214 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 0; | ||
215 | statemate_TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0; | ||
216 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0; | ||
217 | statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0; | ||
218 | statemate_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0; | ||
219 | statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 0; | ||
220 | statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 0; | ||
221 | statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 0; | ||
222 | statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 0; | ||
223 | |||
224 | statemate_interface(); | ||
225 | } /** statemate_init **/ | ||
226 | |||
227 | |||
228 | void statemate_interface( void ) | ||
229 | { | ||
230 | if ( SYS_bit_get( statemate_bitlist, | ||
231 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX ) ) | ||
232 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL = statemate_time; | ||
233 | if ( SYS_bit_get( statemate_bitlist, | ||
234 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX ) || | ||
235 | SYS_bit_get( statemate_bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX ) ) | ||
236 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL | ||
237 | = statemate_time; | ||
238 | if ( ( statemate_sc_FH_TUERMODUL_CTRL_2375_2 != 0 ) && | ||
239 | ( statemate_time - statemate_sc_FH_TUERMODUL_CTRL_2375_2 >= 500 ) ) { | ||
240 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
241 | statemate_sc_FH_TUERMODUL_CTRL_2375_2 = 0; | ||
242 | } | ||
243 | if ( ( statemate_sc_FH_TUERMODUL_CTRL_2352_1 != 0 ) && | ||
244 | ( statemate_time - statemate_sc_FH_TUERMODUL_CTRL_2352_1 >= 500 ) ) { | ||
245 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
246 | statemate_sc_FH_TUERMODUL_CTRL_2352_1 = 0; | ||
247 | } | ||
248 | if ( ( statemate_sc_FH_TUERMODUL_CTRL_2329_1 != 0 ) && | ||
249 | ( statemate_time - statemate_sc_FH_TUERMODUL_CTRL_2329_1 >= 500 ) ) { | ||
250 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
251 | statemate_sc_FH_TUERMODUL_CTRL_2329_1 = 0; | ||
252 | } | ||
253 | if ( ( statemate_sc_FH_TUERMODUL_CTRL_1781_10 != 0 ) && | ||
254 | ( statemate_time - statemate_sc_FH_TUERMODUL_CTRL_1781_10 >= 500 ) ) | ||
255 | statemate_sc_FH_TUERMODUL_CTRL_1781_10 = 0; | ||
256 | |||
257 | if ( ( statemate_sc_FH_TUERMODUL_CTRL_1739_10 != 0 ) && | ||
258 | ( statemate_time - statemate_sc_FH_TUERMODUL_CTRL_1739_10 >= 500 ) ) | ||
259 | statemate_sc_FH_TUERMODUL_CTRL_1739_10 = 0; | ||
260 | |||
261 | if ( ( SYS_bit_get( statemate_bitlist, | ||
262 | entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX ) || | ||
263 | statemate_BLOCK_ERKENNUNG_CTRL__N != statemate_BLOCK_ERKENNUNG_CTRL__N_old ) ) | ||
264 | statemate_tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy | ||
265 | = statemate_time; | ||
266 | } /** statemate_interface **/ | ||
267 | |||
268 | |||
269 | /* | ||
270 | Algorithm core functions | ||
271 | */ | ||
272 | |||
273 | void statemate_generic_KINDERSICHERUNG_CTRL( void ) | ||
274 | { | ||
275 | if ( SYS_bit_get( statemate_bitlist, active_KINDERSICHERUNG_CTRL_IDX ) ) { | ||
276 | switch ( statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state ) { | ||
277 | case 1: { /** state ZENTRAL in chart KINDERSICHERUNG_CTRL **/ | ||
278 | if ( !( statemate_FH_TUERMODUL__SFHA_ZENTRAL || | ||
279 | statemate_FH_TUERMODUL__SFHZ_ZENTRAL ) ) { | ||
280 | statemate_stable = 0; | ||
281 | statemate_FH_TUERMODUL__SFHZ_copy = 0; | ||
282 | statemate_FH_TUERMODUL__SFHA_copy = 0; | ||
283 | |||
284 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3; | ||
285 | statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 0; | ||
286 | break; | ||
287 | } | ||
288 | switch ( statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state ) { | ||
289 | case 1: { /** state IN_ZENTRAL in chart KINDERSICHERUNG_CTRL **/ | ||
290 | if ( ( statemate_FH_TUERMODUL__SFHA_ZENTRAL && | ||
291 | !( statemate_FH_TUERMODUL__SFHA_ZENTRAL_old ) ) ) { | ||
292 | statemate_stable = 0; | ||
293 | statemate_FH_TUERMODUL__SFHA_copy = 1; | ||
294 | |||
295 | statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1; | ||
296 | break; | ||
297 | } | ||
298 | if ( ( statemate_FH_TUERMODUL__SFHZ_ZENTRAL && | ||
299 | !( statemate_FH_TUERMODUL__SFHZ_ZENTRAL_old ) ) ) { | ||
300 | statemate_stable = 0; | ||
301 | statemate_FH_TUERMODUL__SFHZ_copy = 1; | ||
302 | |||
303 | statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1; | ||
304 | break; | ||
305 | } | ||
306 | if ( ( !( statemate_FH_TUERMODUL__SFHA_ZENTRAL ) && | ||
307 | statemate_FH_TUERMODUL__SFHA_ZENTRAL_old ) ) { | ||
308 | statemate_stable = 0; | ||
309 | statemate_FH_TUERMODUL__SFHA_copy = 0; | ||
310 | |||
311 | statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1; | ||
312 | break; | ||
313 | } | ||
314 | if ( ( !( statemate_FH_TUERMODUL__SFHZ_ZENTRAL ) && | ||
315 | statemate_FH_TUERMODUL__SFHZ_ZENTRAL_old ) ) { | ||
316 | statemate_stable = 0; | ||
317 | statemate_FH_TUERMODUL__SFHZ_copy = 0; | ||
318 | |||
319 | statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1; | ||
320 | break; | ||
321 | } | ||
322 | break; | ||
323 | } | ||
324 | default: { | ||
325 | statemate_stable = 0; | ||
326 | break; | ||
327 | } | ||
328 | } /** switch statemate_ZENTRAL_KINDERSICHERUNG_CTRL_next_state **/ | ||
329 | break; | ||
330 | } | ||
331 | case 2: { /** state MEC in chart KINDERSICHERUNG_CTRL **/ | ||
332 | if ( !( statemate_FH_TUERMODUL__SFHA_MEC || | ||
333 | statemate_FH_TUERMODUL__SFHZ_MEC ) ) { | ||
334 | statemate_stable = 0; | ||
335 | statemate_FH_TUERMODUL__SFHZ_copy = 0; | ||
336 | statemate_FH_TUERMODUL__SFHA_copy = 0; | ||
337 | |||
338 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3; | ||
339 | statemate_MEC_KINDERSICHERUNG_CTRL_next_state = 0; | ||
340 | break; | ||
341 | } | ||
342 | switch ( statemate_MEC_KINDERSICHERUNG_CTRL_next_state ) { | ||
343 | case 1: { /** state INMEC in chart KINDERSICHERUNG_CTRL **/ | ||
344 | if ( ( statemate_FH_TUERMODUL__SFHA_MEC && | ||
345 | !( statemate_FH_TUERMODUL__SFHA_MEC_old ) ) ) { | ||
346 | statemate_stable = 0; | ||
347 | statemate_FH_TUERMODUL__SFHA_copy = 1; | ||
348 | |||
349 | statemate_MEC_KINDERSICHERUNG_CTRL_next_state = 1; | ||
350 | break; | ||
351 | } | ||
352 | if ( ( statemate_FH_TUERMODUL__SFHZ_MEC && | ||
353 | !( statemate_FH_TUERMODUL__SFHZ_MEC_old ) ) ) { | ||
354 | statemate_stable = 0; | ||
355 | statemate_FH_TUERMODUL__SFHZ_copy = 1; | ||
356 | |||
357 | statemate_MEC_KINDERSICHERUNG_CTRL_next_state = 1; | ||
358 | break; | ||
359 | } | ||
360 | if ( ( !( statemate_FH_TUERMODUL__SFHA_MEC ) && | ||
361 | statemate_FH_TUERMODUL__SFHA_MEC_old ) ) { | ||
362 | statemate_stable = 0; | ||
363 | statemate_FH_TUERMODUL__SFHA_copy = 0; | ||
364 | |||
365 | statemate_MEC_KINDERSICHERUNG_CTRL_next_state = 1; | ||
366 | break; | ||
367 | } | ||
368 | if ( ( !( statemate_FH_TUERMODUL__SFHZ_MEC ) && | ||
369 | statemate_FH_TUERMODUL__SFHZ_MEC_old ) ) { | ||
370 | statemate_stable = 0; | ||
371 | statemate_FH_TUERMODUL__SFHZ_copy = 0; | ||
372 | |||
373 | statemate_MEC_KINDERSICHERUNG_CTRL_next_state = 1; | ||
374 | break; | ||
375 | } | ||
376 | break; | ||
377 | } | ||
378 | default: { | ||
379 | statemate_stable = 0; | ||
380 | break; | ||
381 | } | ||
382 | } /** switch statemate_MEC_KINDERSICHERUNG_CTRL_next_state **/ | ||
383 | break; | ||
384 | } | ||
385 | case 3: { /** state WAITING in chart KINDERSICHERUNG_CTRL **/ | ||
386 | if ( ( !statemate_FH_TUERMODUL__KL_50 ) && ( statemate_FH_TUERMODUL__SFHZ_MEC && | ||
387 | statemate_FH_TUERMODUL__SFHA_MEC ) ) { | ||
388 | statemate_stable = 0; | ||
389 | statemate_FH_TUERMODUL__SFHZ_copy = 1; | ||
390 | statemate_FH_TUERMODUL__SFHA_copy = 1; | ||
391 | |||
392 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 2; | ||
393 | break; | ||
394 | } | ||
395 | if ( ( !statemate_FH_TUERMODUL__KL_50 ) && ( statemate_FH_TUERMODUL__SFHZ_MEC && | ||
396 | !statemate_FH_TUERMODUL__SFHA_MEC ) ) { | ||
397 | statemate_stable = 0; | ||
398 | statemate_FH_TUERMODUL__SFHZ_copy = 1; | ||
399 | |||
400 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 2; | ||
401 | break; | ||
402 | } | ||
403 | if ( ( !statemate_FH_TUERMODUL__KL_50 ) && | ||
404 | ( !statemate_FH_TUERMODUL__SFHZ_MEC && | ||
405 | statemate_FH_TUERMODUL__SFHA_MEC ) ) { | ||
406 | statemate_stable = 0; | ||
407 | statemate_FH_TUERMODUL__SFHA_copy = 1; | ||
408 | |||
409 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 2; | ||
410 | break; | ||
411 | } | ||
412 | if ( ( !statemate_FH_TUERMODUL__SFHZ_ZENTRAL && | ||
413 | statemate_FH_TUERMODUL__SFHA_ZENTRAL && | ||
414 | !statemate_FH_TUERMODUL__KL_50 ) ) { | ||
415 | statemate_stable = 0; | ||
416 | statemate_FH_TUERMODUL__SFHA_copy = 1; | ||
417 | |||
418 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 1; | ||
419 | break; | ||
420 | } | ||
421 | if ( ( statemate_FH_TUERMODUL__SFHZ_ZENTRAL && | ||
422 | statemate_FH_TUERMODUL__SFHA_ZENTRAL ) ) { | ||
423 | statemate_stable = 0; | ||
424 | statemate_FH_TUERMODUL__SFHA_copy = 1; | ||
425 | statemate_FH_TUERMODUL__SFHZ_copy = 1; | ||
426 | |||
427 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 1; | ||
428 | break; | ||
429 | } | ||
430 | if ( ( statemate_FH_TUERMODUL__SFHZ_ZENTRAL && | ||
431 | !statemate_FH_TUERMODUL__SFHA_ZENTRAL && | ||
432 | !statemate_FH_TUERMODUL__KL_50 ) ) { | ||
433 | statemate_stable = 0; | ||
434 | statemate_FH_TUERMODUL__SFHZ_copy = 1; | ||
435 | |||
436 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 1; | ||
437 | break; | ||
438 | } | ||
439 | break; | ||
440 | } | ||
441 | default: { | ||
442 | statemate_stable = 0; | ||
443 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3; | ||
444 | break; | ||
445 | } | ||
446 | } /** switch statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state **/ | ||
447 | } | ||
448 | } | ||
449 | |||
450 | |||
451 | void statemate_generic_FH_TUERMODUL_CTRL( void ) | ||
452 | { | ||
453 | if ( !SYS_bit_get( statemate_bitlist, active_FH_TUERMODUL_CTRL_IDX ) && | ||
454 | SYS_bit_get( statemate_bitlist, active_FH_TUERMODUL_CTRL_old_IDX ) && | ||
455 | !SYS_bit_get( statemate_bitlist, active_FH_TUERMODUL_CTRL_copy_IDX ) ) { | ||
456 | SYS_bit_clr( statemate_bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX ); | ||
457 | SYS_bit_clr( statemate_bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX ); | ||
458 | } | ||
459 | if ( SYS_bit_get( statemate_bitlist, active_FH_TUERMODUL_CTRL_IDX ) ) { | ||
460 | if ( !SYS_bit_get( statemate_bitlist, active_KINDERSICHERUNG_CTRL_IDX ) ) | ||
461 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3; | ||
462 | SYS_bit_clr( statemate_bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX ); | ||
463 | if ( !SYS_bit_get( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX ) ) { | ||
464 | SYS_bit_clr( statemate_bitlist, | ||
465 | entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX ); | ||
466 | statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; | ||
467 | } | ||
468 | SYS_bit_clr( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX ); | ||
469 | SYS_bit_set( statemate_bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX ); | ||
470 | SYS_bit_set( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX ); | ||
471 | switch ( statemate_B_FH_TUERMODUL_CTRL_next_state ) { | ||
472 | case 1: { /** state ZAEHLER_WHSP_ZU_HOCH in chart FH_TUERMODUL_CTRL **/ | ||
473 | if ( ( statemate_FH_TUERMODUL_CTRL__N == 59 && | ||
474 | !( statemate_FH_TUERMODUL_CTRL__N_old == 59 ) ) ) { | ||
475 | statemate_stable = 0; | ||
476 | |||
477 | statemate_B_FH_TUERMODUL_CTRL_next_state = 3; | ||
478 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
479 | break; | ||
480 | } | ||
481 | break; | ||
482 | } | ||
483 | case 2: { /** state NICHT_INITIALISIERT in chart FH_TUERMODUL_CTRL **/ | ||
484 | if ( ( ( statemate_FH_TUERMODUL__BLOCK && | ||
485 | !( statemate_FH_TUERMODUL__BLOCK_old ) ) ) && | ||
486 | ( ( statemate_FH_TUERMODUL__MFHZ ) ) ) { | ||
487 | statemate_stable = 0; | ||
488 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
489 | statemate_sc_FH_TUERMODUL_CTRL_2329_1 = statemate_time; | ||
490 | |||
491 | statemate_B_FH_TUERMODUL_CTRL_next_state = 3; | ||
492 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
493 | break; | ||
494 | } | ||
495 | switch ( statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state ) { | ||
496 | case 1: { /** state SCHLIESSEN in chart NICHT_INITIALISIERT **/ | ||
497 | if ( !( statemate_FH_TUERMODUL__SFHZ ) ) { | ||
498 | statemate_stable = 0; | ||
499 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
500 | |||
501 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; | ||
502 | break; | ||
503 | } | ||
504 | break; | ||
505 | } | ||
506 | case 2: { /** state OEFFNEN in chart NICHT_INITIALISIERT **/ | ||
507 | if ( !( statemate_FH_TUERMODUL__SFHA ) ) { | ||
508 | statemate_stable = 0; | ||
509 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
510 | |||
511 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; | ||
512 | break; | ||
513 | } | ||
514 | break; | ||
515 | } | ||
516 | case 3: { /** state BEREIT in chart NICHT_INITIALISIERT **/ | ||
517 | if ( ( statemate_FH_TUERMODUL__SFHA ) ) { | ||
518 | statemate_stable = 0; | ||
519 | statemate_FH_TUERMODUL__MFHA_copy = 1; | ||
520 | |||
521 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 2; | ||
522 | break; | ||
523 | } | ||
524 | if ( ( statemate_FH_TUERMODUL__SFHZ ) ) { | ||
525 | statemate_stable = 0; | ||
526 | statemate_FH_TUERMODUL__MFHZ_copy = 1; | ||
527 | |||
528 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 1; | ||
529 | break; | ||
530 | } | ||
531 | break; | ||
532 | } | ||
533 | default: { | ||
534 | statemate_stable = 0; | ||
535 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; | ||
536 | break; | ||
537 | } | ||
538 | } /** switch statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state **/ | ||
539 | break; | ||
540 | } | ||
541 | case 3: { /** state INITIALISIERT in chart FH_TUERMODUL_CTRL **/ | ||
542 | if ( ( ( statemate_FH_TUERMODUL_CTRL__N > 60 && | ||
543 | !( statemate_FH_TUERMODUL_CTRL__N_old > 60 ) ) ) && | ||
544 | ( ( !( statemate_FH_TUERMODUL_CTRL__INREVERS1 || | ||
545 | statemate_FH_TUERMODUL_CTRL__INREVERS2 ) ) ) ) { | ||
546 | statemate_stable = 0; | ||
547 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
548 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
549 | |||
550 | statemate_B_FH_TUERMODUL_CTRL_next_state = 1; | ||
551 | break; | ||
552 | } | ||
553 | if ( ( ( statemate_FH_TUERMODUL__BLOCK && | ||
554 | !( statemate_FH_TUERMODUL__BLOCK_old ) ) ) && | ||
555 | ( ( statemate_FH_TUERMODUL__MFHA ) ) ) { | ||
556 | statemate_stable = 0; | ||
557 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
558 | statemate_sc_FH_TUERMODUL_CTRL_2375_2 = statemate_time; | ||
559 | |||
560 | statemate_B_FH_TUERMODUL_CTRL_next_state = 2; | ||
561 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; | ||
562 | break; | ||
563 | } | ||
564 | if ( ( ( statemate_FH_TUERMODUL__BLOCK && | ||
565 | !( statemate_FH_TUERMODUL__BLOCK_old ) ) ) && | ||
566 | ( ( statemate_FH_TUERMODUL__MFHZ ) ) ) { | ||
567 | statemate_stable = 0; | ||
568 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
569 | statemate_sc_FH_TUERMODUL_CTRL_2352_1 = statemate_time; | ||
570 | |||
571 | statemate_B_FH_TUERMODUL_CTRL_next_state = 2; | ||
572 | statemate_NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3; | ||
573 | break; | ||
574 | } | ||
575 | switch ( statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state ) { | ||
576 | case 1: { /** state OEFFNEN in chart FH_TUERMODUL_CTRL **/ | ||
577 | if ( ( statemate_FH_TUERMODUL__POSITION >= 405 ) ) { | ||
578 | statemate_stable = 0; | ||
579 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
580 | |||
581 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
582 | break; | ||
583 | } | ||
584 | switch ( statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state ) { | ||
585 | case 1: { /** state TIPP_OEFFNEN in chart FH_TUERMODUL_CTRL **/ | ||
586 | if ( ( statemate_FH_TUERMODUL__SFHZ && | ||
587 | !( statemate_FH_TUERMODUL__SFHZ_old ) ) || | ||
588 | ( statemate_FH_TUERMODUL__SFHA && !( statemate_FH_TUERMODUL__SFHA_old ) ) ) { | ||
589 | statemate_stable = 0; | ||
590 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
591 | |||
592 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
593 | statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0; | ||
594 | break; | ||
595 | } | ||
596 | break; | ||
597 | } | ||
598 | case 2: { /** state MAN_OEFFNEN in chart FH_TUERMODUL_CTRL **/ | ||
599 | if ( ( statemate_FH_TUERMODUL__SFHZ && | ||
600 | !( statemate_FH_TUERMODUL__SFHZ_old ) ) ) { | ||
601 | statemate_stable = 0; | ||
602 | |||
603 | statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state = 1; | ||
604 | break; | ||
605 | } | ||
606 | if ( ( !( statemate_FH_TUERMODUL__SFHA ) && | ||
607 | statemate_FH_TUERMODUL__SFHA_old ) ) { | ||
608 | statemate_stable = 0; | ||
609 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
610 | |||
611 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
612 | statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0; | ||
613 | break; | ||
614 | } | ||
615 | break; | ||
616 | } | ||
617 | default: { | ||
618 | statemate_stable = 0; | ||
619 | statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
620 | break; | ||
621 | } | ||
622 | } /** switch statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state **/ | ||
623 | break; | ||
624 | } | ||
625 | case 2: { /** state SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ | ||
626 | if ( ( statemate_FH_TUERMODUL__POSITION <= 0 ) ) { | ||
627 | statemate_stable = 0; | ||
628 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
629 | |||
630 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
631 | break; | ||
632 | } | ||
633 | switch ( statemate_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state ) { | ||
634 | case 1: { /** state TIPP_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ | ||
635 | if ( ( statemate_FH_TUERMODUL__SFHA && | ||
636 | !( statemate_FH_TUERMODUL__SFHA_old ) ) || | ||
637 | ( statemate_FH_TUERMODUL__SFHZ && !( statemate_FH_TUERMODUL__SFHZ_old ) ) ) { | ||
638 | statemate_stable = 0; | ||
639 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
640 | |||
641 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
642 | break; | ||
643 | } | ||
644 | switch ( statemate_TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state ) { | ||
645 | case 1: { /** state REVERSIEREN2 in chart FH_TUERMODUL_CTRL **/ | ||
646 | SYS_bit_clr( statemate_bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX ); | ||
647 | if ( SYS_bit_get( statemate_bitlist, FH_TUERMODUL_CTRL__END_REVERS_IDX ) ) { | ||
648 | statemate_stable = 0; | ||
649 | statemate_FH_TUERMODUL__MFHZ_copy = 1; | ||
650 | statemate_FH_TUERMODUL_CTRL__INREVERS2_copy = 0; | ||
651 | |||
652 | statemate_TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
653 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
654 | |||
655 | SYS_bit_set( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
656 | break; | ||
657 | } | ||
658 | break; | ||
659 | } | ||
660 | case 2: { /** state TIPP_SCHLIESSEN1 in chart FH_TUERMODUL_CTRL **/ | ||
661 | if ( SYS_bit_get( statemate_bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX ) ) { | ||
662 | statemate_stable = 0; | ||
663 | statemate_FH_TUERMODUL_CTRL__INREVERS2_copy = 1; | ||
664 | |||
665 | SYS_bit_set( statemate_bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX ); | ||
666 | statemate_TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1; | ||
667 | SYS_bit_clr( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
668 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
669 | |||
670 | statemate_sc_FH_TUERMODUL_CTRL_1781_10 = statemate_time; | ||
671 | statemate_FH_TUERMODUL__MFHA_copy = 1; | ||
672 | break; | ||
673 | } | ||
674 | break; | ||
675 | } | ||
676 | default: { | ||
677 | statemate_stable = 0; | ||
678 | statemate_TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
679 | SYS_bit_set( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
680 | break; | ||
681 | } | ||
682 | } /** switch statemate_TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/ | ||
683 | break; | ||
684 | } | ||
685 | case 2: { /** state MANUELL_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ | ||
686 | if ( ( !( statemate_FH_TUERMODUL__SFHZ ) && | ||
687 | statemate_FH_TUERMODUL__SFHZ_old ) ) { | ||
688 | statemate_stable = 0; | ||
689 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
690 | |||
691 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
692 | break; | ||
693 | } | ||
694 | switch ( statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state ) { | ||
695 | case 1: { /** state REVERSIEREN1 in chart FH_TUERMODUL_CTRL **/ | ||
696 | SYS_bit_clr( statemate_bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX ); | ||
697 | if ( SYS_bit_get( statemate_bitlist, FH_TUERMODUL_CTRL__END_REVERS_IDX ) ) { | ||
698 | statemate_stable = 0; | ||
699 | statemate_FH_TUERMODUL_CTRL__INREVERS1_copy = 0; | ||
700 | |||
701 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
702 | statemate_FH_TUERMODUL__MFHA_copy = 0; | ||
703 | |||
704 | SYS_bit_set( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
705 | statemate_FH_TUERMODUL__MFHZ_copy = 1; | ||
706 | break; | ||
707 | } | ||
708 | break; | ||
709 | } | ||
710 | case 2: { /** state MAN_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/ | ||
711 | if ( SYS_bit_get( statemate_bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX ) ) { | ||
712 | statemate_stable = 0; | ||
713 | statemate_FH_TUERMODUL__MFHZ_copy = 0; | ||
714 | statemate_FH_TUERMODUL_CTRL__INREVERS1_copy = 1; | ||
715 | |||
716 | SYS_bit_set( statemate_bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX ); | ||
717 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1; | ||
718 | SYS_bit_clr( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
719 | |||
720 | statemate_sc_FH_TUERMODUL_CTRL_1739_10 = statemate_time; | ||
721 | statemate_FH_TUERMODUL__MFHA_copy = 1; | ||
722 | break; | ||
723 | } | ||
724 | if ( ( statemate_FH_TUERMODUL__SFHA && | ||
725 | !( statemate_FH_TUERMODUL__SFHA_old ) ) ) { | ||
726 | statemate_stable = 0; | ||
727 | |||
728 | statemate_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1; | ||
729 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0; | ||
730 | break; | ||
731 | } | ||
732 | break; | ||
733 | } | ||
734 | default: { | ||
735 | statemate_stable = 0; | ||
736 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
737 | SYS_bit_set( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
738 | statemate_FH_TUERMODUL__MFHZ_copy = 1; | ||
739 | break; | ||
740 | } | ||
741 | } /** switch statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/ | ||
742 | break; | ||
743 | } | ||
744 | default: { | ||
745 | statemate_stable = 0; | ||
746 | statemate_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
747 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
748 | SYS_bit_set( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
749 | statemate_FH_TUERMODUL__MFHZ_copy = 1; | ||
750 | break; | ||
751 | } | ||
752 | } /** switch statemate_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/ | ||
753 | break; | ||
754 | } | ||
755 | case 3: { /** state BEREIT in chart FH_TUERMODUL_CTRL **/ | ||
756 | if ( ( ( statemate_FH_TUERMODUL__SFHZ && | ||
757 | !( statemate_FH_TUERMODUL__SFHZ_old ) ) ) && | ||
758 | ( ( statemate_FH_TUERMODUL__POSITION > 0 ) ) ) { | ||
759 | statemate_stable = 0; | ||
760 | |||
761 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 2; | ||
762 | statemate_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
763 | statemate_MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
764 | SYS_bit_set( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
765 | statemate_FH_TUERMODUL__MFHZ_copy = 1; | ||
766 | break; | ||
767 | } | ||
768 | if ( ( ( statemate_FH_TUERMODUL__SFHA && | ||
769 | !( statemate_FH_TUERMODUL__SFHA_old ) ) ) && | ||
770 | ( ( statemate_FH_TUERMODUL__POSITION < 405 ) ) ) { | ||
771 | statemate_stable = 0; | ||
772 | statemate_FH_TUERMODUL__MFHA_copy = 1; | ||
773 | |||
774 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 1; | ||
775 | statemate_OEFFNEN_FH_TUERMODUL_CTRL_next_state = 2; | ||
776 | break; | ||
777 | } | ||
778 | break; | ||
779 | } | ||
780 | default: { | ||
781 | statemate_stable = 0; | ||
782 | statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3; | ||
783 | break; | ||
784 | } | ||
785 | } /** switch statemate_INITIALISIERT_FH_TUERMODUL_CTRL_next_state **/ | ||
786 | break; | ||
787 | } | ||
788 | default: { | ||
789 | statemate_stable = 0; | ||
790 | statemate_B_FH_TUERMODUL_CTRL_next_state = 2; | ||
791 | break; | ||
792 | } | ||
793 | } /** switch statemate_B_FH_TUERMODUL_CTRL_next_state **/ | ||
794 | switch ( statemate_A_FH_TUERMODUL_CTRL_next_state ) { | ||
795 | case 1: { /** state WIEDERHOLSPERRE in chart FH_TUERMODUL_CTRL **/ | ||
796 | SYS_bit_clr( statemate_bitlist, | ||
797 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX ); | ||
798 | if ( ( statemate_step == 1 && | ||
799 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL | ||
800 | != 0 | ||
801 | && ( statemate_time - | ||
802 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL | ||
803 | == | ||
804 | 1 ) ) && ( ( statemate_FH_TUERMODUL__MFHZ || | ||
805 | statemate_FH_TUERMODUL__MFHA ) ) ) { | ||
806 | statemate_stable = 0; | ||
807 | statemate_FH_TUERMODUL_CTRL__N = statemate_FH_TUERMODUL_CTRL__N + 1; | ||
808 | |||
809 | statemate_A_FH_TUERMODUL_CTRL_next_state = 1; | ||
810 | SYS_bit_set( statemate_bitlist, | ||
811 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX ); | ||
812 | statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; | ||
813 | break; | ||
814 | } | ||
815 | switch ( statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state ) { | ||
816 | case 1: { /** state WDHSP in chart FH_TUERMODUL_CTRL **/ | ||
817 | if ( ( statemate_step == 1 && | ||
818 | statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL != 0 && | ||
819 | ( statemate_time - statemate_tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL == | ||
820 | 3 ) ) && | ||
821 | ( ( ( !( statemate_FH_TUERMODUL__MFHZ || statemate_FH_TUERMODUL__MFHA ) ) && | ||
822 | statemate_FH_TUERMODUL_CTRL__N > 0 ) ) ) { | ||
823 | statemate_stable = 0; | ||
824 | statemate_FH_TUERMODUL_CTRL__N = statemate_FH_TUERMODUL_CTRL__N - 1; | ||
825 | |||
826 | statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; | ||
827 | break; | ||
828 | } | ||
829 | break; | ||
830 | } | ||
831 | default: { | ||
832 | statemate_stable = 0; | ||
833 | SYS_bit_set( statemate_bitlist, | ||
834 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX ); | ||
835 | statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; | ||
836 | break; | ||
837 | } | ||
838 | } /** switch statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state **/ | ||
839 | break; | ||
840 | } | ||
841 | default: { | ||
842 | statemate_stable = 0; | ||
843 | statemate_FH_TUERMODUL_CTRL__N = 0; | ||
844 | statemate_A_FH_TUERMODUL_CTRL_next_state = 1; | ||
845 | SYS_bit_set( statemate_bitlist, | ||
846 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX ); | ||
847 | statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; | ||
848 | break; | ||
849 | } | ||
850 | } /** switch statemate_A_FH_TUERMODUL_CTRL_next_state **/ | ||
851 | SYS_bit_cpy( statemate_bitlist, | ||
852 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX, | ||
853 | statemate_bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX ); | ||
854 | SYS_bit_cpy( statemate_bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_copy_IDX, | ||
855 | statemate_bitlist, | ||
856 | exited_BEREIT_FH_TUERMODUL_CTRL_IDX ); | ||
857 | } | ||
858 | } | ||
859 | |||
860 | |||
861 | void statemate_generic_EINKLEMMSCHUTZ_CTRL( void ) | ||
862 | { | ||
863 | if ( SYS_bit_get( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX ) ) { | ||
864 | switch ( statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state ) { | ||
865 | case 1: { /** state NORMALBETRIEB in chart EINKLEMMSCHUTZ_CTRL **/ | ||
866 | if ( ( ( statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV && | ||
867 | !( statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV_old ) ) ) && | ||
868 | ( ( !( statemate_FH_TUERMODUL__SFHZ && | ||
869 | statemate_FH_TUERMODUL__SFHA ) ) ) ) { | ||
870 | statemate_stable = 0; | ||
871 | |||
872 | SYS_bit_set( statemate_bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX ); | ||
873 | statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 2; | ||
874 | break; | ||
875 | } | ||
876 | break; | ||
877 | } | ||
878 | case 2: { /** state EINKLEMMUNG in chart EINKLEMMSCHUTZ_CTRL **/ | ||
879 | SYS_bit_clr( statemate_bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX ); | ||
880 | if ( ( !( statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV ) && | ||
881 | statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV_old ) ) { | ||
882 | statemate_stable = 0; | ||
883 | |||
884 | statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1; | ||
885 | break; | ||
886 | } | ||
887 | break; | ||
888 | } | ||
889 | default: { | ||
890 | statemate_stable = 0; | ||
891 | statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1; | ||
892 | break; | ||
893 | } | ||
894 | } /** switch statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state **/ | ||
895 | } | ||
896 | } | ||
897 | |||
898 | |||
899 | void statemate_generic_BLOCK_ERKENNUNG_CTRL( void ) | ||
900 | { | ||
901 | if ( !SYS_bit_get( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX ) && | ||
902 | SYS_bit_get( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_old_IDX ) && | ||
903 | !SYS_bit_get( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX ) ) | ||
904 | SYS_bit_clr( statemate_bitlist, | ||
905 | entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX ); | ||
906 | if ( SYS_bit_get( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX ) ) { | ||
907 | switch ( statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state ) { | ||
908 | case 1: { /** state KEINE_BEWEGUNG in chart BLOCK_ERKENNUNG_CTRL **/ | ||
909 | if ( ( statemate_FH_TUERMODUL__I_EIN != statemate_FH_TUERMODUL__I_EIN_old ) && | ||
910 | ( ( statemate_FH_TUERMODUL__I_EIN > 0 ) ) ) { | ||
911 | statemate_stable = 0; | ||
912 | statemate_FH_TUERMODUL__BLOCK_copy = 0; | ||
913 | |||
914 | statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 2; | ||
915 | statemate_BLOCK_ERKENNUNG_CTRL__N = 0; | ||
916 | statemate_BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = 2; | ||
917 | statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 3; | ||
918 | SYS_bit_set( statemate_bitlist, | ||
919 | entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX ); | ||
920 | break; | ||
921 | } | ||
922 | break; | ||
923 | } | ||
924 | case 2: { /** state BEWEGUNG in chart BLOCK_ERKENNUNG_CTRL **/ | ||
925 | if ( ( !( statemate_FH_TUERMODUL__MFHA ) && | ||
926 | statemate_FH_TUERMODUL__MFHA_old ) || | ||
927 | ( !( statemate_FH_TUERMODUL__MFHZ ) && statemate_FH_TUERMODUL__MFHZ_old ) ) { | ||
928 | statemate_stable = 0; | ||
929 | |||
930 | statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; | ||
931 | statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 0; | ||
932 | break; | ||
933 | } | ||
934 | switch ( statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state ) { | ||
935 | case 1: { /** state FENSTER_BLOCKIERT in chart BLOCK_ERKENNUNG_CTRL **/ | ||
936 | break; | ||
937 | } | ||
938 | case 2: { /** state FENSTER_BEWEGT_SICH in chart BLOCK_ERKENNUNG_CTRL **/ | ||
939 | if ( ( statemate_FH_TUERMODUL__I_EIN > | ||
940 | ( statemate_BLOCK_ERKENNUNG_CTRL__I_EIN_MAX - 2 ) ) ) { | ||
941 | statemate_stable = 0; | ||
942 | statemate_FH_TUERMODUL__BLOCK_copy = 1; | ||
943 | |||
944 | statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 1; | ||
945 | break; | ||
946 | } | ||
947 | break; | ||
948 | } | ||
949 | case 3: { /** state EINSCHALTSTROM_MESSEN in chart BLOCK_ERKENNUNG_CTRL **/ | ||
950 | SYS_bit_clr( statemate_bitlist, | ||
951 | entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX ); | ||
952 | if ( ( statemate_BLOCK_ERKENNUNG_CTRL__N == 11 && | ||
953 | !( statemate_BLOCK_ERKENNUNG_CTRL__N_old == 11 ) ) ) { | ||
954 | statemate_stable = 0; | ||
955 | |||
956 | statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 2; | ||
957 | break; | ||
958 | } | ||
959 | /** static reactions: **/ | ||
960 | if ( statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state == 3 ) { | ||
961 | if ( statemate_step == 1 && | ||
962 | statemate_tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy | ||
963 | != 0 && ( statemate_time - | ||
964 | statemate_tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy | ||
965 | == 2 ) ) { | ||
966 | statemate_BLOCK_ERKENNUNG_CTRL__N = statemate_BLOCK_ERKENNUNG_CTRL__N + 1; | ||
967 | if ( ( statemate_FH_TUERMODUL__I_EIN > | ||
968 | statemate_BLOCK_ERKENNUNG_CTRL__I_EIN_MAX ) ) | ||
969 | statemate_BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = statemate_FH_TUERMODUL__I_EIN; | ||
970 | |||
971 | } | ||
972 | } | ||
973 | /** end static reactions **/ | ||
974 | break; | ||
975 | } | ||
976 | default: { | ||
977 | statemate_stable = 0; | ||
978 | statemate_BLOCK_ERKENNUNG_CTRL__N = 0; | ||
979 | statemate_BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = 2; | ||
980 | statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 3; | ||
981 | SYS_bit_set( statemate_bitlist, | ||
982 | entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX ); | ||
983 | break; | ||
984 | } | ||
985 | } /** switch statemate_BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state **/ | ||
986 | break; | ||
987 | } | ||
988 | default: { | ||
989 | statemate_stable = 0; | ||
990 | statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; | ||
991 | break; | ||
992 | } | ||
993 | } /** switch statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state **/ | ||
994 | } | ||
995 | } | ||
996 | |||
997 | |||
998 | void statemate_FH_DU( void ) | ||
999 | { | ||
1000 | statemate_time = 1; /**SYS_get_clock()**/ | ||
1001 | statemate_stable = 0; | ||
1002 | statemate_step = 0; | ||
1003 | // patched for wcet: replacing while statement by for | ||
1004 | //while (!statemate_stable) | ||
1005 | int i; | ||
1006 | _Pragma( "loopbound min 100 max 100" ) | ||
1007 | for ( i = 0; i < 100; i++ ) { | ||
1008 | statemate_stable = 1; | ||
1009 | statemate_step++; | ||
1010 | { | ||
1011 | switch ( statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state ) { | ||
1012 | case 1: { /** state SCHLIESSEN in chart FH_STEUERUNG_DUMMY **/ | ||
1013 | if ( ( !( statemate_FH_DU__MFHZ ) && statemate_FH_DU__MFHZ_old ) ) { | ||
1014 | statemate_stable = 0; | ||
1015 | statemate_FH_DU__MFH = 0; | ||
1016 | |||
1017 | statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2; | ||
1018 | break; | ||
1019 | } | ||
1020 | break; | ||
1021 | } | ||
1022 | case 2: { /** state BEREIT in chart FH_STEUERUNG_DUMMY **/ | ||
1023 | if ( ( statemate_FH_DU__MFHZ && !( statemate_FH_DU__MFHZ_old ) ) ) { | ||
1024 | statemate_stable = 0; | ||
1025 | statemate_FH_DU__MFH = -100; | ||
1026 | |||
1027 | statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 1; | ||
1028 | break; | ||
1029 | } | ||
1030 | if ( ( statemate_FH_DU__MFHA && !( statemate_FH_DU__MFHA_old ) ) ) { | ||
1031 | statemate_stable = 0; | ||
1032 | statemate_FH_DU__MFH = 100; | ||
1033 | |||
1034 | statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 3; | ||
1035 | break; | ||
1036 | } | ||
1037 | break; | ||
1038 | } | ||
1039 | case 3: { /** state OEFFNEN in chart FH_STEUERUNG_DUMMY **/ | ||
1040 | if ( ( !( statemate_FH_DU__MFHA ) && statemate_FH_DU__MFHA_old ) ) { | ||
1041 | statemate_stable = 0; | ||
1042 | statemate_FH_DU__MFH = 0; | ||
1043 | |||
1044 | statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2; | ||
1045 | break; | ||
1046 | } | ||
1047 | break; | ||
1048 | } | ||
1049 | default: { | ||
1050 | statemate_stable = 0; | ||
1051 | statemate_FH_DU__MFH = 0; | ||
1052 | statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2; | ||
1053 | break; | ||
1054 | } | ||
1055 | } /** switch statemate_FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state **/ | ||
1056 | } | ||
1057 | { | ||
1058 | { | ||
1059 | if ( !SYS_bit_get( statemate_bitlist, active_KINDERSICHERUNG_CTRL_IDX ) ) | ||
1060 | statemate_KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3; | ||
1061 | SYS_bit_clr( statemate_bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX ); | ||
1062 | if ( !SYS_bit_get( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX ) ) | ||
1063 | statemate_EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1; | ||
1064 | SYS_bit_clr( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
1065 | if ( !SYS_bit_get( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX ) ) { | ||
1066 | SYS_bit_clr( statemate_bitlist, | ||
1067 | entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX ); | ||
1068 | statemate_BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1; | ||
1069 | } | ||
1070 | SYS_bit_clr( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX ); | ||
1071 | if ( !SYS_bit_get( statemate_bitlist, active_FH_TUERMODUL_CTRL_IDX ) ) { | ||
1072 | SYS_bit_clr( statemate_bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX ); | ||
1073 | SYS_bit_clr( statemate_bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX ); | ||
1074 | statemate_B_FH_TUERMODUL_CTRL_next_state = 2; | ||
1075 | statemate_FH_TUERMODUL_CTRL__N = 0; | ||
1076 | statemate_A_FH_TUERMODUL_CTRL_next_state = 1; | ||
1077 | SYS_bit_set( statemate_bitlist, | ||
1078 | entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX ); | ||
1079 | statemate_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1; | ||
1080 | } | ||
1081 | SYS_bit_clr( statemate_bitlist, active_FH_TUERMODUL_CTRL_copy_IDX ); | ||
1082 | SYS_bit_set( statemate_bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX ); | ||
1083 | SYS_bit_set( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX ); | ||
1084 | SYS_bit_set( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX ); | ||
1085 | SYS_bit_set( statemate_bitlist, active_FH_TUERMODUL_CTRL_copy_IDX ); | ||
1086 | /** static reactions: **/ | ||
1087 | if ( statemate_FH_DU__S_FH_TMBFZUCAN != statemate_FH_DU__S_FH_TMBFZUCAN_old ) { | ||
1088 | if ( ( !statemate_FH_DU__DOOR_ID ) ) | ||
1089 | statemate_FH_DU__S_FH_FTZU = statemate_FH_DU__S_FH_TMBFZUCAN; | ||
1090 | |||
1091 | } | ||
1092 | if ( statemate_FH_DU__S_FH_TMBFZUDISC != | ||
1093 | statemate_FH_DU__S_FH_TMBFZUDISC_old ) { | ||
1094 | if ( statemate_FH_DU__DOOR_ID ) | ||
1095 | statemate_FH_DU__S_FH_TMBFZUCAN = statemate_FH_DU__S_FH_TMBFZUDISC; | ||
1096 | |||
1097 | } | ||
1098 | if ( statemate_FH_DU__S_FH_TMBFAUFCAN != | ||
1099 | statemate_FH_DU__S_FH_TMBFAUFCAN_old ) { | ||
1100 | if ( ( !statemate_FH_DU__DOOR_ID ) ) | ||
1101 | statemate_FH_DU__S_FH_FTAUF = statemate_FH_DU__S_FH_TMBFAUFCAN; | ||
1102 | |||
1103 | } | ||
1104 | if ( statemate_FH_DU__S_FH_TMBFAUFDISC != | ||
1105 | statemate_FH_DU__S_FH_TMBFAUFDISC_old ) { | ||
1106 | if ( statemate_FH_DU__DOOR_ID ) | ||
1107 | statemate_FH_DU__S_FH_TMBFAUFCAN = statemate_FH_DU__S_FH_TMBFAUFDISC; | ||
1108 | |||
1109 | } | ||
1110 | /** end static reactions **/ | ||
1111 | } | ||
1112 | } | ||
1113 | SYS_bit_cpy( statemate_bitlist, active_KINDERSICHERUNG_CTRL_IDX, | ||
1114 | statemate_bitlist, | ||
1115 | active_KINDERSICHERUNG_CTRL_old_IDX ); | ||
1116 | SYS_bit_cpy( statemate_bitlist, active_FH_TUERMODUL_CTRL_IDX, statemate_bitlist, | ||
1117 | active_FH_TUERMODUL_CTRL_old_IDX ); | ||
1118 | SYS_bit_cpy( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX, | ||
1119 | statemate_bitlist, | ||
1120 | active_EINKLEMMSCHUTZ_CTRL_old_IDX ); | ||
1121 | SYS_bit_cpy( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX, | ||
1122 | statemate_bitlist, | ||
1123 | active_BLOCK_ERKENNUNG_CTRL_old_IDX ); | ||
1124 | statemate_FH_TUERMODUL__SFHA_MEC = statemate_FH_DU__S_FH_AUFDISC; | ||
1125 | statemate_FH_TUERMODUL__SFHA_ZENTRAL = statemate_FH_DU__S_FH_FTAUF; | ||
1126 | statemate_FH_TUERMODUL__SFHZ_MEC = statemate_FH_DU__S_FH_ZUDISC; | ||
1127 | statemate_FH_TUERMODUL__SFHZ_ZENTRAL = statemate_FH_DU__S_FH_FTZU; | ||
1128 | |||
1129 | statemate_generic_KINDERSICHERUNG_CTRL(); | ||
1130 | |||
1131 | statemate_FH_DU__MFHA = statemate_FH_TUERMODUL__MFHA; | ||
1132 | statemate_FH_DU__MFHZ = statemate_FH_TUERMODUL__MFHZ; | ||
1133 | statemate_FH_DU__I_EIN = statemate_FH_TUERMODUL__I_EIN; | ||
1134 | statemate_FH_DU__EKS_LEISTE_AKTIV = statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV; | ||
1135 | statemate_FH_DU__POSITION = statemate_FH_TUERMODUL__POSITION; | ||
1136 | statemate_FH_DU__FT = statemate_FH_TUERMODUL__FT; | ||
1137 | statemate_FH_DU__S_FH_AUFDISC = statemate_FH_TUERMODUL__SFHA_MEC; | ||
1138 | statemate_FH_DU__S_FH_FTAUF = statemate_FH_TUERMODUL__SFHA_ZENTRAL; | ||
1139 | statemate_FH_DU__S_FH_ZUDISC = statemate_FH_TUERMODUL__SFHZ_MEC; | ||
1140 | statemate_FH_DU__S_FH_FTZU = statemate_FH_TUERMODUL__SFHZ_ZENTRAL; | ||
1141 | statemate_FH_DU__KL_50 = statemate_FH_TUERMODUL__KL_50; | ||
1142 | statemate_FH_DU__BLOCK = statemate_FH_TUERMODUL__BLOCK; | ||
1143 | |||
1144 | statemate_FH_TUERMODUL__SFHA_MEC = statemate_FH_DU__S_FH_AUFDISC; | ||
1145 | statemate_FH_TUERMODUL__SFHA_ZENTRAL = statemate_FH_DU__S_FH_FTAUF; | ||
1146 | statemate_FH_TUERMODUL__SFHZ_MEC = statemate_FH_DU__S_FH_ZUDISC; | ||
1147 | statemate_FH_TUERMODUL__SFHZ_ZENTRAL = statemate_FH_DU__S_FH_FTZU; | ||
1148 | |||
1149 | statemate_generic_FH_TUERMODUL_CTRL(); | ||
1150 | |||
1151 | statemate_FH_DU__MFHA = statemate_FH_TUERMODUL__MFHA; | ||
1152 | statemate_FH_DU__MFHZ = statemate_FH_TUERMODUL__MFHZ; | ||
1153 | statemate_FH_DU__I_EIN = statemate_FH_TUERMODUL__I_EIN; | ||
1154 | statemate_FH_DU__EKS_LEISTE_AKTIV = statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV; | ||
1155 | statemate_FH_DU__POSITION = statemate_FH_TUERMODUL__POSITION; | ||
1156 | statemate_FH_DU__FT = statemate_FH_TUERMODUL__FT; | ||
1157 | statemate_FH_DU__S_FH_AUFDISC = statemate_FH_TUERMODUL__SFHA_MEC; | ||
1158 | statemate_FH_DU__S_FH_FTAUF = statemate_FH_TUERMODUL__SFHA_ZENTRAL; | ||
1159 | statemate_FH_DU__S_FH_ZUDISC = statemate_FH_TUERMODUL__SFHZ_MEC; | ||
1160 | statemate_FH_DU__S_FH_FTZU = statemate_FH_TUERMODUL__SFHZ_ZENTRAL; | ||
1161 | statemate_FH_DU__KL_50 = statemate_FH_TUERMODUL__KL_50; | ||
1162 | statemate_FH_DU__BLOCK = statemate_FH_TUERMODUL__BLOCK; | ||
1163 | |||
1164 | statemate_FH_TUERMODUL__SFHA_MEC = statemate_FH_DU__S_FH_AUFDISC; | ||
1165 | statemate_FH_TUERMODUL__SFHA_ZENTRAL = statemate_FH_DU__S_FH_FTAUF; | ||
1166 | statemate_FH_TUERMODUL__SFHZ_MEC = statemate_FH_DU__S_FH_ZUDISC; | ||
1167 | statemate_FH_TUERMODUL__SFHZ_ZENTRAL = statemate_FH_DU__S_FH_FTZU; | ||
1168 | |||
1169 | statemate_generic_EINKLEMMSCHUTZ_CTRL(); | ||
1170 | |||
1171 | statemate_FH_DU__MFHA = statemate_FH_TUERMODUL__MFHA; | ||
1172 | statemate_FH_DU__MFHZ = statemate_FH_TUERMODUL__MFHZ; | ||
1173 | statemate_FH_DU__I_EIN = statemate_FH_TUERMODUL__I_EIN; | ||
1174 | statemate_FH_DU__EKS_LEISTE_AKTIV = statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV; | ||
1175 | statemate_FH_DU__POSITION = statemate_FH_TUERMODUL__POSITION; | ||
1176 | statemate_FH_DU__FT = statemate_FH_TUERMODUL__FT; | ||
1177 | statemate_FH_DU__S_FH_AUFDISC = statemate_FH_TUERMODUL__SFHA_MEC; | ||
1178 | statemate_FH_DU__S_FH_FTAUF = statemate_FH_TUERMODUL__SFHA_ZENTRAL; | ||
1179 | statemate_FH_DU__S_FH_ZUDISC = statemate_FH_TUERMODUL__SFHZ_MEC; | ||
1180 | statemate_FH_DU__S_FH_FTZU = statemate_FH_TUERMODUL__SFHZ_ZENTRAL; | ||
1181 | statemate_FH_DU__KL_50 = statemate_FH_TUERMODUL__KL_50; | ||
1182 | statemate_FH_DU__BLOCK = statemate_FH_TUERMODUL__BLOCK; | ||
1183 | |||
1184 | statemate_FH_TUERMODUL__SFHA_MEC = statemate_FH_DU__S_FH_AUFDISC; | ||
1185 | statemate_FH_TUERMODUL__SFHA_ZENTRAL = statemate_FH_DU__S_FH_FTAUF; | ||
1186 | statemate_FH_TUERMODUL__SFHZ_MEC = statemate_FH_DU__S_FH_ZUDISC; | ||
1187 | statemate_FH_TUERMODUL__SFHZ_ZENTRAL = statemate_FH_DU__S_FH_FTZU; | ||
1188 | |||
1189 | statemate_generic_BLOCK_ERKENNUNG_CTRL(); | ||
1190 | |||
1191 | statemate_FH_DU__MFHA = statemate_FH_TUERMODUL__MFHA; | ||
1192 | statemate_FH_DU__MFHZ = statemate_FH_TUERMODUL__MFHZ; | ||
1193 | statemate_FH_DU__I_EIN = statemate_FH_TUERMODUL__I_EIN; | ||
1194 | statemate_FH_DU__EKS_LEISTE_AKTIV = statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV; | ||
1195 | statemate_FH_DU__POSITION = statemate_FH_TUERMODUL__POSITION; | ||
1196 | statemate_FH_DU__FT = statemate_FH_TUERMODUL__FT; | ||
1197 | statemate_FH_DU__S_FH_AUFDISC = statemate_FH_TUERMODUL__SFHA_MEC; | ||
1198 | statemate_FH_DU__S_FH_FTAUF = statemate_FH_TUERMODUL__SFHA_ZENTRAL; | ||
1199 | statemate_FH_DU__S_FH_ZUDISC = statemate_FH_TUERMODUL__SFHZ_MEC; | ||
1200 | statemate_FH_DU__S_FH_FTZU = statemate_FH_TUERMODUL__SFHZ_ZENTRAL; | ||
1201 | statemate_FH_DU__KL_50 = statemate_FH_TUERMODUL__KL_50; | ||
1202 | statemate_FH_DU__BLOCK = statemate_FH_TUERMODUL__BLOCK; | ||
1203 | |||
1204 | SYS_bit_cpy( statemate_bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX, | ||
1205 | statemate_bitlist, | ||
1206 | active_KINDERSICHERUNG_CTRL_IDX ); | ||
1207 | SYS_bit_cpy( statemate_bitlist, active_FH_TUERMODUL_CTRL_copy_IDX, | ||
1208 | statemate_bitlist, | ||
1209 | active_FH_TUERMODUL_CTRL_IDX ); | ||
1210 | SYS_bit_cpy( statemate_bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX, | ||
1211 | statemate_bitlist, | ||
1212 | active_EINKLEMMSCHUTZ_CTRL_IDX ); | ||
1213 | SYS_bit_cpy( statemate_bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX, | ||
1214 | statemate_bitlist, | ||
1215 | active_BLOCK_ERKENNUNG_CTRL_IDX ); | ||
1216 | statemate_FH_TUERMODUL_CTRL__N_old = statemate_FH_TUERMODUL_CTRL__N; | ||
1217 | statemate_FH_TUERMODUL__I_EIN_old = statemate_FH_TUERMODUL__I_EIN; | ||
1218 | statemate_FH_DU__MFH = statemate_FH_DU__MFH_copy; | ||
1219 | statemate_FH_DU__I_EIN_old = statemate_FH_DU__I_EIN; | ||
1220 | statemate_BLOCK_ERKENNUNG_CTRL__N_old = statemate_BLOCK_ERKENNUNG_CTRL__N; | ||
1221 | statemate_FH_TUERMODUL__SFHZ_ZENTRAL_old = statemate_FH_TUERMODUL__SFHZ_ZENTRAL; | ||
1222 | statemate_FH_TUERMODUL__SFHZ_MEC_old = statemate_FH_TUERMODUL__SFHZ_MEC; | ||
1223 | statemate_FH_TUERMODUL__SFHA_ZENTRAL_old = statemate_FH_TUERMODUL__SFHA_ZENTRAL; | ||
1224 | statemate_FH_TUERMODUL__SFHA_MEC_old = statemate_FH_TUERMODUL__SFHA_MEC; | ||
1225 | statemate_FH_TUERMODUL__BLOCK = statemate_FH_TUERMODUL__BLOCK_copy; | ||
1226 | statemate_FH_TUERMODUL__BLOCK_old = statemate_FH_TUERMODUL__BLOCK; | ||
1227 | statemate_FH_TUERMODUL__SFHZ = statemate_FH_TUERMODUL__SFHZ_copy; | ||
1228 | statemate_FH_TUERMODUL__SFHZ_old = statemate_FH_TUERMODUL__SFHZ; | ||
1229 | statemate_FH_TUERMODUL__SFHA = statemate_FH_TUERMODUL__SFHA_copy; | ||
1230 | statemate_FH_TUERMODUL__SFHA_old = statemate_FH_TUERMODUL__SFHA; | ||
1231 | statemate_FH_TUERMODUL__MFHZ = statemate_FH_TUERMODUL__MFHZ_copy; | ||
1232 | statemate_FH_TUERMODUL__MFHZ_old = statemate_FH_TUERMODUL__MFHZ; | ||
1233 | statemate_FH_TUERMODUL__MFHA = statemate_FH_TUERMODUL__MFHA_copy; | ||
1234 | statemate_FH_TUERMODUL__MFHA_old = statemate_FH_TUERMODUL__MFHA; | ||
1235 | statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV_old = | ||
1236 | statemate_FH_TUERMODUL__EKS_LEISTE_AKTIV; | ||
1237 | statemate_FH_DU__EKS_LEISTE_AKTIV_old = statemate_FH_DU__EKS_LEISTE_AKTIV; | ||
1238 | statemate_FH_DU__S_FH_TMBFAUFCAN_old = statemate_FH_DU__S_FH_TMBFAUFCAN; | ||
1239 | statemate_FH_DU__S_FH_TMBFZUCAN_old = statemate_FH_DU__S_FH_TMBFZUCAN; | ||
1240 | statemate_FH_DU__S_FH_TMBFZUDISC_old = statemate_FH_DU__S_FH_TMBFZUDISC; | ||
1241 | statemate_FH_DU__S_FH_TMBFAUFDISC_old = statemate_FH_DU__S_FH_TMBFAUFDISC; | ||
1242 | statemate_FH_DU__BLOCK = statemate_FH_DU__BLOCK_copy; | ||
1243 | statemate_FH_DU__BLOCK_old = statemate_FH_DU__BLOCK; | ||
1244 | statemate_FH_DU__MFHZ = statemate_FH_DU__MFHZ_copy; | ||
1245 | statemate_FH_DU__MFHZ_old = statemate_FH_DU__MFHZ; | ||
1246 | statemate_FH_DU__MFHA = statemate_FH_DU__MFHA_copy; | ||
1247 | statemate_FH_DU__MFHA_old = statemate_FH_DU__MFHA; | ||
1248 | |||
1249 | } /** while(!statemate_stable) **/ | ||
1250 | |||
1251 | } /** statemate_FH_DU **/ | ||
1252 | |||
1253 | |||
1254 | /* | ||
1255 | Main functions | ||
1256 | */ | ||
1257 | |||
1258 | int statemate_return() | ||
1259 | { | ||
1260 | unsigned long int checksum = 0; | ||
1261 | int index; | ||
1262 | for ( index=63 ; index>=0 ; index-- ){ | ||
1263 | checksum += (unsigned long) (statemate_bitlist[index] << index); | ||
1264 | } | ||
1265 | return(checksum == 18446744073709551614ul); | ||
1266 | } | ||
1267 | |||
1268 | void _Pragma ( "entrypoint" ) statemate_main( void ) | ||
1269 | { | ||
1270 | statemate_FH_DU(); | ||
1271 | } | ||
1272 | |||
1273 | |||
1274 | int main ( int argc, char **argv ) | ||
1275 | { | ||
1276 | SET_UP | ||
1277 | for (jobsComplete=-1; jobsComplete<maxJobs; jobsComplete++){ | ||
1278 | START_LOOP | ||
1279 | statemate_init(); | ||
1280 | statemate_main(); | ||
1281 | STOP_LOOP | ||
1282 | } | ||
1283 | WRITE_TO_FILE | ||
1284 | |||
1285 | return statemate_return(); | ||
1286 | } | ||