RTSA-lab01-CacheAnalysis/test/src/statemate.c

1274 lines
51 KiB
C
Executable File

/*
*----------------------------------------------------------
*
* statemate.c
*
* This code was automatically generated by
* the STAtechart Real-time-Code generator STARC
* which was developed at C-LAB.
*
* The original StateChart specifies an experimental
* car window lift control.
*
* Modified and maintained by
* Friedhelm Stappert
* C-LAB, Paderborn, Germany
* fst@c-lab.de
*
* Modifications:
* o '#define float int' so we don't need a
* floating point library.
*
* o modified the Bitlist functions.
* 'Bitlist is now just a array of char's
* so we don't need the BitList library.
*
*----------------------------------------------------------
*/
/*
** actually, we don't really need floating point here
*/
#define float int
static char Bitlist[64];
#define SYS_bit_get(a,b) (a)[(b)]
#define SYS_bit_clr(a,b) (a)[(b)] = 0
#define SYS_bit_set(a,b) (a)[(b)] = 1
#define SYS_bit_cpy(a1,i1,a2,i2) (a1)[(i1)] = (a2)[(i2)]
#define active_KINDERSICHERUNG_CTRL_IDX 10
#define active_KINDERSICHERUNG_CTRL_copy_IDX 11
#define active_KINDERSICHERUNG_CTRL_old_IDX 12
#define active_FH_TUERMODUL_CTRL_IDX 13
#define active_FH_TUERMODUL_CTRL_copy_IDX 14
#define active_FH_TUERMODUL_CTRL_old_IDX 15
#define active_EINKLEMMSCHUTZ_CTRL_IDX 16
#define active_EINKLEMMSCHUTZ_CTRL_copy_IDX 17
#define active_EINKLEMMSCHUTZ_CTRL_old_IDX 18
#define active_BLOCK_ERKENNUNG_CTRL_IDX 19
#define active_BLOCK_ERKENNUNG_CTRL_copy_IDX 20
#define active_BLOCK_ERKENNUNG_CTRL_old_IDX 21
#define entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX 0
#define entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_copy_IDX 1
unsigned long tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy;
#define entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX 4
#define entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX 5
#define exited_BEREIT_FH_TUERMODUL_CTRL_IDX 6
#define exited_BEREIT_FH_TUERMODUL_CTRL_copy_IDX 7
unsigned long tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL;
unsigned long tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL;
unsigned long sc_FH_TUERMODUL_CTRL_2375_2 ;
unsigned long sc_FH_TUERMODUL_CTRL_2352_1 ;
unsigned long sc_FH_TUERMODUL_CTRL_2329_1 ;
int FH_TUERMODUL_CTRL__N;
int FH_TUERMODUL_CTRL__N_copy;
int FH_TUERMODUL_CTRL__N_old;
unsigned long sc_FH_TUERMODUL_CTRL_1781_10 ;
unsigned long sc_FH_TUERMODUL_CTRL_1739_10 ;
float FH_TUERMODUL__POSITION ;
float FH_TUERMODUL__I_EIN ;
float FH_TUERMODUL__I_EIN_old;
int FH_DU__MFH;
int FH_DU__MFH_copy;
float FH_DU__POSITION ;
float FH_DU__I_EIN ;
float FH_DU__I_EIN_old;
float BLOCK_ERKENNUNG_CTRL__I_EIN_MAX;
float BLOCK_ERKENNUNG_CTRL__I_EIN_MAX_copy;
int BLOCK_ERKENNUNG_CTRL__N;
int BLOCK_ERKENNUNG_CTRL__N_copy;
int BLOCK_ERKENNUNG_CTRL__N_old;
char FH_TUERMODUL_CTRL__INREVERS2;
char FH_TUERMODUL_CTRL__INREVERS2_copy;
char FH_TUERMODUL_CTRL__INREVERS1;
char FH_TUERMODUL_CTRL__INREVERS1_copy;
char FH_TUERMODUL_CTRL__FT ;
char FH_TUERMODUL__SFHZ_ZENTRAL ;
char FH_TUERMODUL__SFHZ_ZENTRAL_old;
char FH_TUERMODUL__SFHZ_MEC ;
char FH_TUERMODUL__SFHZ_MEC_old;
char FH_TUERMODUL__SFHA_ZENTRAL ;
char FH_TUERMODUL__SFHA_ZENTRAL_old;
char FH_TUERMODUL__SFHA_MEC ;
char FH_TUERMODUL__SFHA_MEC_old;
char FH_TUERMODUL__KL_50 ;
char FH_TUERMODUL__BLOCK;
char FH_TUERMODUL__BLOCK_copy;
char FH_TUERMODUL__BLOCK_old;
char FH_TUERMODUL__FT ;
char FH_TUERMODUL__SFHZ;
char FH_TUERMODUL__SFHZ_copy;
char FH_TUERMODUL__SFHZ_old;
char FH_TUERMODUL__SFHA;
char FH_TUERMODUL__SFHA_copy;
char FH_TUERMODUL__SFHA_old;
char FH_TUERMODUL__MFHZ;
char FH_TUERMODUL__MFHZ_copy;
char FH_TUERMODUL__MFHZ_old;
char FH_TUERMODUL__MFHA;
char FH_TUERMODUL__MFHA_copy;
char FH_TUERMODUL__MFHA_old;
char FH_TUERMODUL__EKS_LEISTE_AKTIV ;
char FH_TUERMODUL__EKS_LEISTE_AKTIV_old;
char FH_TUERMODUL__COM_OPEN ;
char FH_TUERMODUL__COM_CLOSE ;
char FH_DU__KL_50 ;
char FH_DU__S_FH_FTZU;
char FH_DU__S_FH_FTAUF;
char FH_DU__FT ;
char FH_DU__EKS_LEISTE_AKTIV ;
char FH_DU__EKS_LEISTE_AKTIV_old;
char FH_DU__S_FH_TMBFAUFCAN;
char FH_DU__S_FH_TMBFAUFCAN_copy;
char FH_DU__S_FH_TMBFAUFCAN_old;
char FH_DU__S_FH_TMBFZUCAN;
char FH_DU__S_FH_TMBFZUCAN_copy;
char FH_DU__S_FH_TMBFZUCAN_old;
char FH_DU__S_FH_TMBFZUDISC ;
char FH_DU__S_FH_TMBFZUDISC_old;
char FH_DU__S_FH_TMBFAUFDISC ;
char FH_DU__S_FH_TMBFAUFDISC_old;
char FH_DU__S_FH_ZUDISC ;
char FH_DU__S_FH_AUFDISC ;
char FH_DU__DOOR_ID ;
char FH_DU__BLOCK;
char FH_DU__BLOCK_copy;
char FH_DU__BLOCK_old;
char FH_DU__MFHZ;
char FH_DU__MFHZ_copy;
char FH_DU__MFHZ_old;
char FH_DU__MFHA;
char FH_DU__MFHA_copy;
char FH_DU__MFHA_old;
#define FH_TUERMODUL_CTRL__END_REVERS_IDX 22
#define FH_TUERMODUL_CTRL__END_REVERS_copy_IDX 23
#define FH_TUERMODUL__EINKLEMMUNG_IDX 24
unsigned long time;
char stable;
char step;
char NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state; /** 2 bits **/
char ZENTRAL_KINDERSICHERUNG_CTRL_next_state; /** 1 bits **/
char MEC_KINDERSICHERUNG_CTRL_next_state; /** 1 bits **/
char KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state; /** 2 bits **/
char B_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/
char A_FH_TUERMODUL_CTRL_next_state; /** 1 bits **/
char WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state; /** 1 bits **/
char INITIALISIERT_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/
char TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/
char MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/
char OEFFNEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/
char SCHLIESSEN_FH_TUERMODUL_CTRL_next_state; /** 2 bits **/
char FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state; /** 2 bits **/
char EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state; /** 2 bits **/
char BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state; /** 2 bits **/
char BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state; /** 2 bits **/
void interface(void)
{
if (SYS_bit_get(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX))
tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL = time;
if (SYS_bit_get(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX) || SYS_bit_get (Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX))
tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL = time;
if ((sc_FH_TUERMODUL_CTRL_2375_2 != 0) && (time - sc_FH_TUERMODUL_CTRL_2375_2 >= 0.5))
{
FH_TUERMODUL__MFHA_copy = 0;
sc_FH_TUERMODUL_CTRL_2375_2 = 0;
}
if ((sc_FH_TUERMODUL_CTRL_2352_1 != 0) && (time - sc_FH_TUERMODUL_CTRL_2352_1 >= 0.5))
{
FH_TUERMODUL__MFHZ_copy = 0;
sc_FH_TUERMODUL_CTRL_2352_1 = 0;
}
if ((sc_FH_TUERMODUL_CTRL_2329_1 != 0) && (time - sc_FH_TUERMODUL_CTRL_2329_1 >= 0.5))
{
FH_TUERMODUL__MFHZ_copy = 0;
sc_FH_TUERMODUL_CTRL_2329_1 = 0;
}
if ((sc_FH_TUERMODUL_CTRL_1781_10 != 0) && (time - sc_FH_TUERMODUL_CTRL_1781_10 >= 0.5))
{
sc_FH_TUERMODUL_CTRL_1781_10 = 0;
}
if ((sc_FH_TUERMODUL_CTRL_1739_10 != 0) && (time - sc_FH_TUERMODUL_CTRL_1739_10 >= 0.5))
{
sc_FH_TUERMODUL_CTRL_1739_10 = 0;
}
if ((SYS_bit_get(Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX) || BLOCK_ERKENNUNG_CTRL__N != BLOCK_ERKENNUNG_CTRL__N_old))
tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy = time;
}/** interface **/
void init(void)
{
tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy = 0;
tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL = 0;
tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL = 0;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 0;
ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 0;
MEC_KINDERSICHERUNG_CTRL_next_state = 0;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 0;
B_FH_TUERMODUL_CTRL_next_state = 0;
A_FH_TUERMODUL_CTRL_next_state = 0;
WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 0;
TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0;
MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0;
OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0;
SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0;
FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 0;
EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 0;
BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 0;
BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 0;
}/** init **/
void generic_KINDERSICHERUNG_CTRL(void)
{
if (SYS_bit_get(Bitlist,active_KINDERSICHERUNG_CTRL_IDX))
{
switch (KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state)
{
case 1 : /** state ZENTRAL in chart KINDERSICHERUNG_CTRL **/
{
if (!(FH_TUERMODUL__SFHA_ZENTRAL || FH_TUERMODUL__SFHZ_ZENTRAL))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 0;
FH_TUERMODUL__SFHA_copy = 0;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3;
ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 0;
break;
}
switch (ZENTRAL_KINDERSICHERUNG_CTRL_next_state)
{
case 1 : /** state IN_ZENTRAL in chart KINDERSICHERUNG_CTRL **/
{
if ((FH_TUERMODUL__SFHA_ZENTRAL && !(FH_TUERMODUL__SFHA_ZENTRAL_old)))
{
stable = 0;
FH_TUERMODUL__SFHA_copy = 1;
ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((FH_TUERMODUL__SFHZ_ZENTRAL && !(FH_TUERMODUL__SFHZ_ZENTRAL_old)))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 1;
ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((!(FH_TUERMODUL__SFHA_ZENTRAL) && FH_TUERMODUL__SFHA_ZENTRAL_old))
{
stable = 0;
FH_TUERMODUL__SFHA_copy = 0;
ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((!(FH_TUERMODUL__SFHZ_ZENTRAL) && FH_TUERMODUL__SFHZ_ZENTRAL_old))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 0;
ZENTRAL_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
break;
}
default:
{
stable = 0;
break;
}
}/** switch ZENTRAL_KINDERSICHERUNG_CTRL_next_state **/
break;
}
case 2 : /** state MEC in chart KINDERSICHERUNG_CTRL **/
{
if (!(FH_TUERMODUL__SFHA_MEC || FH_TUERMODUL__SFHZ_MEC))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 0;
FH_TUERMODUL__SFHA_copy = 0;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3;
MEC_KINDERSICHERUNG_CTRL_next_state = 0;
break;
}
switch (MEC_KINDERSICHERUNG_CTRL_next_state)
{
case 1 : /** state INMEC in chart KINDERSICHERUNG_CTRL **/
{
if ((FH_TUERMODUL__SFHA_MEC && !(FH_TUERMODUL__SFHA_MEC_old)))
{
stable = 0;
FH_TUERMODUL__SFHA_copy = 1;
MEC_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((FH_TUERMODUL__SFHZ_MEC && !(FH_TUERMODUL__SFHZ_MEC_old)))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 1;
MEC_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((!(FH_TUERMODUL__SFHA_MEC) && FH_TUERMODUL__SFHA_MEC_old))
{
stable = 0;
FH_TUERMODUL__SFHA_copy = 0;
MEC_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((!(FH_TUERMODUL__SFHZ_MEC) && FH_TUERMODUL__SFHZ_MEC_old))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 0;
MEC_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
break;
}
default:
{
stable = 0;
break;
}
}/** switch MEC_KINDERSICHERUNG_CTRL_next_state **/
break;
}
case 3 : /** state WAITING in chart KINDERSICHERUNG_CTRL **/
{
if ((!FH_TUERMODUL__KL_50) && (FH_TUERMODUL__SFHZ_MEC && FH_TUERMODUL__SFHA_MEC))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 1;
FH_TUERMODUL__SFHA_copy = 1;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 2;
break;
}
if ((!FH_TUERMODUL__KL_50) && (FH_TUERMODUL__SFHZ_MEC && !FH_TUERMODUL__SFHA_MEC))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 1;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 2;
break;
}
if ((!FH_TUERMODUL__KL_50) && (!FH_TUERMODUL__SFHZ_MEC && FH_TUERMODUL__SFHA_MEC))
{
stable = 0;
FH_TUERMODUL__SFHA_copy = 1;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 2;
break;
}
if ((!FH_TUERMODUL__SFHZ_ZENTRAL && FH_TUERMODUL__SFHA_ZENTRAL && !FH_TUERMODUL__KL_50))
{
stable = 0;
FH_TUERMODUL__SFHA_copy = 1;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((FH_TUERMODUL__SFHZ_ZENTRAL && FH_TUERMODUL__SFHA_ZENTRAL))
{
stable = 0;
FH_TUERMODUL__SFHA_copy = 1;
FH_TUERMODUL__SFHZ_copy = 1;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
if ((FH_TUERMODUL__SFHZ_ZENTRAL && !FH_TUERMODUL__SFHA_ZENTRAL && !FH_TUERMODUL__KL_50))
{
stable = 0;
FH_TUERMODUL__SFHZ_copy = 1;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 1;
break;
}
break;
}
default:
{
stable = 0;
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3;
break;
}
}/** switch KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state **/
}
}
void generic_FH_TUERMODUL_CTRL(void)
{
if (!SYS_bit_get(Bitlist, active_FH_TUERMODUL_CTRL_IDX) && SYS_bit_get(Bitlist,active_FH_TUERMODUL_CTRL_old_IDX) && !SYS_bit_get(Bitlist,active_FH_TUERMODUL_CTRL_copy_IDX))
{
SYS_bit_clr (Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX);
SYS_bit_clr (Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX);
}
if (SYS_bit_get(Bitlist,active_FH_TUERMODUL_CTRL_IDX))
{
if (!SYS_bit_get(Bitlist, active_KINDERSICHERUNG_CTRL_IDX))
{
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3;
}
SYS_bit_clr (Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX);
if (!SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX))
{
SYS_bit_clr (Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX);
BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1;
}
SYS_bit_clr (Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX);
SYS_bit_set (Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX);
SYS_bit_set (Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX);
switch (B_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state ZAEHLER_WHSP_ZU_HOCH in chart FH_TUERMODUL_CTRL **/
{
if ((FH_TUERMODUL_CTRL__N == 59 && !(FH_TUERMODUL_CTRL__N_old == 59)))
{
stable = 0;
B_FH_TUERMODUL_CTRL_next_state = 3;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
break;
}
break;
}
case 2 : /** state NICHT_INITIALISIERT in chart FH_TUERMODUL_CTRL **/
{
if (((FH_TUERMODUL__BLOCK && !(FH_TUERMODUL__BLOCK_old))) && ((FH_TUERMODUL__MFHZ)))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
sc_FH_TUERMODUL_CTRL_2329_1 = time;
B_FH_TUERMODUL_CTRL_next_state = 3;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
break;
}
switch (NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state)
{
case 1 : /** state SCHLIESSEN in chart NICHT_INITIALISIERT **/
{
if (!(FH_TUERMODUL__SFHZ))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3;
break;
}
break;
}
case 2 : /** state OEFFNEN in chart NICHT_INITIALISIERT **/
{
if (!(FH_TUERMODUL__SFHA))
{
stable = 0;
FH_TUERMODUL__MFHA_copy = 0;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3;
break;
}
break;
}
case 3 : /** state BEREIT in chart NICHT_INITIALISIERT **/
{
if ((FH_TUERMODUL__SFHA))
{
stable = 0;
FH_TUERMODUL__MFHA_copy = 1;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 2;
break;
}
if ((FH_TUERMODUL__SFHZ))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 1;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 1;
break;
}
break;
}
default:
{
stable = 0;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3;
break;
}
}/** switch NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state **/
break;
}
case 3 : /** state INITIALISIERT in chart FH_TUERMODUL_CTRL **/
{
if (((FH_TUERMODUL_CTRL__N > 60 && !(FH_TUERMODUL_CTRL__N_old > 60))) && ((!(FH_TUERMODUL_CTRL__INREVERS1 || FH_TUERMODUL_CTRL__INREVERS2))))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
FH_TUERMODUL__MFHA_copy = 0;
B_FH_TUERMODUL_CTRL_next_state = 1;
break;
}
if (((FH_TUERMODUL__BLOCK && !(FH_TUERMODUL__BLOCK_old))) && ((FH_TUERMODUL__MFHA)))
{
stable = 0;
FH_TUERMODUL__MFHA_copy = 0;
sc_FH_TUERMODUL_CTRL_2375_2 = time;
B_FH_TUERMODUL_CTRL_next_state = 2;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3;
break;
}
if (((FH_TUERMODUL__BLOCK && !(FH_TUERMODUL__BLOCK_old))) && ((FH_TUERMODUL__MFHZ)))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
sc_FH_TUERMODUL_CTRL_2352_1 = time;
B_FH_TUERMODUL_CTRL_next_state = 2;
NICHT_INITIALISIERT_NICHT_INITIALISIERT_next_state = 3;
break;
}
switch (INITIALISIERT_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state OEFFNEN in chart FH_TUERMODUL_CTRL **/
{
if ((FH_TUERMODUL__POSITION >= 405))
{
stable = 0;
FH_TUERMODUL__MFHA_copy = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
break;
}
switch (OEFFNEN_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state TIPP_OEFFNEN in chart FH_TUERMODUL_CTRL **/
{
if ((FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old)) || (FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old)))
{
stable = 0;
FH_TUERMODUL__MFHA_copy = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0;
break;
}
break;
}
case 2 : /** state MAN_OEFFNEN in chart FH_TUERMODUL_CTRL **/
{
if ((FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old)))
{
stable = 0;
OEFFNEN_FH_TUERMODUL_CTRL_next_state = 1;
break;
}
if ((!(FH_TUERMODUL__SFHA) && FH_TUERMODUL__SFHA_old))
{
stable = 0;
FH_TUERMODUL__MFHA_copy = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
OEFFNEN_FH_TUERMODUL_CTRL_next_state = 0;
break;
}
break;
}
default:
{
stable = 0;
OEFFNEN_FH_TUERMODUL_CTRL_next_state = 2;
break;
}
}/** switch OEFFNEN_FH_TUERMODUL_CTRL_next_state **/
break;
}
case 2 : /** state SCHLIESSEN in chart FH_TUERMODUL_CTRL **/
{
if ((FH_TUERMODUL__POSITION <= 0))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
break;
}
switch (SCHLIESSEN_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state TIPP_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/
{
if ((FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old)) || (FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old)))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
break;
}
switch (TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state REVERSIEREN2 in chart FH_TUERMODUL_CTRL **/
{
SYS_bit_clr (Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX);
if (SYS_bit_get (Bitlist, FH_TUERMODUL_CTRL__END_REVERS_IDX))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 1;
FH_TUERMODUL_CTRL__INREVERS2_copy = 0;
TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
FH_TUERMODUL__MFHA_copy = 0;
SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
break;
}
break;
}
case 2 : /** state TIPP_SCHLIESSEN1 in chart FH_TUERMODUL_CTRL **/
{
if (SYS_bit_get (Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX))
{
stable = 0;
FH_TUERMODUL_CTRL__INREVERS2_copy = 1;
SYS_bit_set (Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX);
TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1;
SYS_bit_clr(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
FH_TUERMODUL__MFHZ_copy = 0;
sc_FH_TUERMODUL_CTRL_1781_10 = time;
FH_TUERMODUL__MFHA_copy = 1;
break;
}
break;
}
default:
{
stable = 0;
TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
break;
}
}/** switch TIPP_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/
break;
}
case 2 : /** state MANUELL_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/
{
if ((!(FH_TUERMODUL__SFHZ) && FH_TUERMODUL__SFHZ_old))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
break;
}
switch (MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state REVERSIEREN1 in chart FH_TUERMODUL_CTRL **/
{
SYS_bit_clr (Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX);
if (SYS_bit_get (Bitlist, FH_TUERMODUL_CTRL__END_REVERS_IDX))
{
stable = 0;
FH_TUERMODUL_CTRL__INREVERS1_copy = 0;
MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
FH_TUERMODUL__MFHA_copy = 0;
SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
FH_TUERMODUL__MFHZ_copy = 1;
break;
}
break;
}
case 2 : /** state MAN_SCHLIESSEN in chart FH_TUERMODUL_CTRL **/
{
if (SYS_bit_get (Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX))
{
stable = 0;
FH_TUERMODUL__MFHZ_copy = 0;
FH_TUERMODUL_CTRL__INREVERS1_copy = 1;
SYS_bit_set (Bitlist, FH_TUERMODUL_CTRL__END_REVERS_copy_IDX);
MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1;
SYS_bit_clr(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
sc_FH_TUERMODUL_CTRL_1739_10 = time;
FH_TUERMODUL__MFHA_copy = 1;
break;
}
if ((FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old)))
{
stable = 0;
SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 1;
MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 0;
break;
}
break;
}
default:
{
stable = 0;
MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
FH_TUERMODUL__MFHZ_copy = 1;
break;
}
}/** switch MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/
break;
}
default:
{
stable = 0;
SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
FH_TUERMODUL__MFHZ_copy = 1;
break;
}
}/** switch SCHLIESSEN_FH_TUERMODUL_CTRL_next_state **/
break;
}
case 3 : /** state BEREIT in chart FH_TUERMODUL_CTRL **/
{
if (((FH_TUERMODUL__SFHZ && !(FH_TUERMODUL__SFHZ_old))) && ((FH_TUERMODUL__POSITION > 0)))
{
stable = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 2;
SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
MANUELL_SCHLIESSEN_FH_TUERMODUL_CTRL_next_state = 2;
SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
FH_TUERMODUL__MFHZ_copy = 1;
break;
}
if (((FH_TUERMODUL__SFHA && !(FH_TUERMODUL__SFHA_old))) && ((FH_TUERMODUL__POSITION < 405)))
{
stable = 0;
FH_TUERMODUL__MFHA_copy = 1;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 1;
OEFFNEN_FH_TUERMODUL_CTRL_next_state = 2;
break;
}
break;
}
default:
{
stable = 0;
INITIALISIERT_FH_TUERMODUL_CTRL_next_state = 3;
break;
}
}/** switch INITIALISIERT_FH_TUERMODUL_CTRL_next_state **/
break;
}
default:
{
stable = 0;
B_FH_TUERMODUL_CTRL_next_state = 2;
break;
}
}/** switch B_FH_TUERMODUL_CTRL_next_state **/
switch (A_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state WIEDERHOLSPERRE in chart FH_TUERMODUL_CTRL **/
{
SYS_bit_clr (Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX);
if ((step == 1 && tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL != 0 && (time - tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRLexited_BEREIT_FH_TUERMODUL_CTRL == 1)) && ((FH_TUERMODUL__MFHZ || FH_TUERMODUL__MFHA)))
{
stable = 0;
FH_TUERMODUL_CTRL__N = FH_TUERMODUL_CTRL__N + 1;
A_FH_TUERMODUL_CTRL_next_state = 1;
SYS_bit_set (Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX);
WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1;
break;
}
switch (WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state)
{
case 1 : /** state WDHSP in chart FH_TUERMODUL_CTRL **/
{
if ((step == 1 && tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL != 0 && (time - tm_entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL == 3)) && (((!(FH_TUERMODUL__MFHZ || FH_TUERMODUL__MFHA)) && FH_TUERMODUL_CTRL__N > 0)))
{
stable = 0;
FH_TUERMODUL_CTRL__N = FH_TUERMODUL_CTRL__N - 1;
WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1;
break;
}
break;
}
default:
{
stable = 0;
SYS_bit_set (Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX);
WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1;
break;
}
}/** switch WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state **/
break;
}
default:
{
stable = 0;
FH_TUERMODUL_CTRL__N = 0;
A_FH_TUERMODUL_CTRL_next_state = 1;
SYS_bit_set (Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX);
WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1;
break;
}
}/** switch A_FH_TUERMODUL_CTRL_next_state **/
SYS_bit_cpy(Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX, Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX);
SYS_bit_cpy (Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_copy_IDX, Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX);
}
}
void generic_EINKLEMMSCHUTZ_CTRL(void)
{
if (SYS_bit_get(Bitlist,active_EINKLEMMSCHUTZ_CTRL_IDX))
{
switch (EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state)
{
case 1 : /** state NORMALBETRIEB in chart EINKLEMMSCHUTZ_CTRL **/
{
if (((FH_TUERMODUL__EKS_LEISTE_AKTIV && !(FH_TUERMODUL__EKS_LEISTE_AKTIV_old))) && ((!(FH_TUERMODUL__SFHZ && FH_TUERMODUL__SFHA))))
{
stable = 0;
SYS_bit_set (Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX);
EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 2;
break;
}
break;
}
case 2 : /** state EINKLEMMUNG in chart EINKLEMMSCHUTZ_CTRL **/
{
SYS_bit_clr (Bitlist, FH_TUERMODUL__EINKLEMMUNG_IDX);
if ((!(FH_TUERMODUL__EKS_LEISTE_AKTIV) && FH_TUERMODUL__EKS_LEISTE_AKTIV_old))
{
stable = 0;
EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1;
break;
}
break;
}
default:
{
stable = 0;
EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1;
break;
}
}/** switch EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state **/
}
}
void generic_BLOCK_ERKENNUNG_CTRL(void)
{
if (!SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX) && SYS_bit_get(Bitlist,active_BLOCK_ERKENNUNG_CTRL_old_IDX) && !SYS_bit_get(Bitlist,active_BLOCK_ERKENNUNG_CTRL_copy_IDX))
{
SYS_bit_clr (Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX);
}
if (SYS_bit_get(Bitlist,active_BLOCK_ERKENNUNG_CTRL_IDX))
{
switch (BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state)
{
case 1 : /** state KEINE_BEWEGUNG in chart BLOCK_ERKENNUNG_CTRL **/
{
if ((FH_TUERMODUL__I_EIN != FH_TUERMODUL__I_EIN_old) && ((FH_TUERMODUL__I_EIN > 0)))
{
stable = 0;
FH_TUERMODUL__BLOCK_copy = 0;
BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 2;
BLOCK_ERKENNUNG_CTRL__N = 0;
BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = 2;
BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 3;
SYS_bit_set (Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX);
break;
}
break;
}
case 2 : /** state BEWEGUNG in chart BLOCK_ERKENNUNG_CTRL **/
{
if ((!(FH_TUERMODUL__MFHA) && FH_TUERMODUL__MFHA_old) || (!(FH_TUERMODUL__MFHZ) && FH_TUERMODUL__MFHZ_old))
{
stable = 0;
BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1;
BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 0;
break;
}
switch (BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state)
{
case 1 : /** state FENSTER_BLOCKIERT in chart BLOCK_ERKENNUNG_CTRL **/
{
break;
}
case 2 : /** state FENSTER_BEWEGT_SICH in chart BLOCK_ERKENNUNG_CTRL **/
{
if ((FH_TUERMODUL__I_EIN > (BLOCK_ERKENNUNG_CTRL__I_EIN_MAX - 2)))
{
stable = 0;
FH_TUERMODUL__BLOCK_copy = 1;
BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 1;
break;
}
break;
}
case 3 : /** state EINSCHALTSTROM_MESSEN in chart BLOCK_ERKENNUNG_CTRL **/
{
SYS_bit_clr (Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX);
if ((BLOCK_ERKENNUNG_CTRL__N == 11 && !(BLOCK_ERKENNUNG_CTRL__N_old == 11)))
{
stable = 0;
BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 2;
break;
}
/** static reactions: **/
if (BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state == 3)
{
if (step == 1 && tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy != 0 && (time - tm_entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRLch_BLOCK_ERKENNUNG_CTRL__N_copy == 0.002))
{
BLOCK_ERKENNUNG_CTRL__N = BLOCK_ERKENNUNG_CTRL__N + 1;
if ((FH_TUERMODUL__I_EIN > BLOCK_ERKENNUNG_CTRL__I_EIN_MAX))
{
BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = FH_TUERMODUL__I_EIN;
}
}
}
/** end static reactions **/
break;
}
default:
{
stable = 0;
BLOCK_ERKENNUNG_CTRL__N = 0;
BLOCK_ERKENNUNG_CTRL__I_EIN_MAX = 2;
BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state = 3;
SYS_bit_set (Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX);
break;
}
}/** switch BEWEGUNG_BLOCK_ERKENNUNG_CTRL_next_state **/
break;
}
default:
{
stable = 0;
BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1;
break;
}
}/** switch BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state **/
}
}
void FH_DU(void)
{
time = 1; /**SYS_get_clock()**/
stable = 0;
step = 0;
while (!stable)
{
stable = 1;
step++;
{
switch (FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state)
{
case 1 : /** state SCHLIESSEN in chart FH_STEUERUNG_DUMMY **/
{
if ((!(FH_DU__MFHZ) && FH_DU__MFHZ_old))
{
stable = 0;
FH_DU__MFH = 0;
FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2;
break;
}
break;
}
case 2 : /** state BEREIT in chart FH_STEUERUNG_DUMMY **/
{
if ((FH_DU__MFHZ && !(FH_DU__MFHZ_old)))
{
stable = 0;
FH_DU__MFH = -100;
FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 1;
break;
}
if ((FH_DU__MFHA && !(FH_DU__MFHA_old)))
{
stable = 0;
FH_DU__MFH = 100;
FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 3;
break;
}
break;
}
case 3 : /** state OEFFNEN in chart FH_STEUERUNG_DUMMY **/
{
if ((!(FH_DU__MFHA) && FH_DU__MFHA_old))
{
stable = 0;
FH_DU__MFH = 0;
FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2;
break;
}
break;
}
default:
{
stable = 0;
FH_DU__MFH = 0;
FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state = 2;
break;
}
}/** switch FH_STEUERUNG_DUMMY_FH_STEUERUNG_DUMMY_next_state **/
}
{
{
if (!SYS_bit_get(Bitlist, active_KINDERSICHERUNG_CTRL_IDX))
{
KINDERSICHERUNG_CTRL_KINDERSICHERUNG_CTRL_next_state = 3;
}
SYS_bit_clr(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX);
if (!SYS_bit_get(Bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX))
{
EINKLEMMSCHUTZ_CTRL_EINKLEMMSCHUTZ_CTRL_next_state = 1;
}
SYS_bit_clr(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
if (!SYS_bit_get(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX))
{
SYS_bit_clr (Bitlist, entered_EINSCHALTSTROM_MESSEN_BLOCK_ERKENNUNG_CTRL_IDX);
BLOCK_ERKENNUNG_CTRL_BLOCK_ERKENNUNG_CTRL_next_state = 1;
}
SYS_bit_clr(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX);
if (!SYS_bit_get(Bitlist, active_FH_TUERMODUL_CTRL_IDX))
{
SYS_bit_clr (Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_IDX);
SYS_bit_clr (Bitlist, exited_BEREIT_FH_TUERMODUL_CTRL_IDX);
B_FH_TUERMODUL_CTRL_next_state = 2;
FH_TUERMODUL_CTRL__N = 0;
A_FH_TUERMODUL_CTRL_next_state = 1;
SYS_bit_set (Bitlist, entered_WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_copy_IDX);
WIEDERHOLSPERRE_FH_TUERMODUL_CTRL_next_state = 1;
}
SYS_bit_clr(Bitlist, active_FH_TUERMODUL_CTRL_copy_IDX);
SYS_bit_set(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX);
SYS_bit_set(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX);
SYS_bit_set(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX);
SYS_bit_set(Bitlist, active_FH_TUERMODUL_CTRL_copy_IDX);
/** static reactions: **/
if (FH_DU__S_FH_TMBFZUCAN != FH_DU__S_FH_TMBFZUCAN_old)
{
if ((!FH_DU__DOOR_ID))
{
FH_DU__S_FH_FTZU = FH_DU__S_FH_TMBFZUCAN;
}
}
if (FH_DU__S_FH_TMBFZUDISC != FH_DU__S_FH_TMBFZUDISC_old)
{
if (FH_DU__DOOR_ID)
{
FH_DU__S_FH_TMBFZUCAN = FH_DU__S_FH_TMBFZUDISC;
}
}
if (FH_DU__S_FH_TMBFAUFCAN != FH_DU__S_FH_TMBFAUFCAN_old)
{
if ((!FH_DU__DOOR_ID))
{
FH_DU__S_FH_FTAUF = FH_DU__S_FH_TMBFAUFCAN;
}
}
if (FH_DU__S_FH_TMBFAUFDISC != FH_DU__S_FH_TMBFAUFDISC_old)
{
if (FH_DU__DOOR_ID)
{
FH_DU__S_FH_TMBFAUFCAN = FH_DU__S_FH_TMBFAUFDISC;
}
}
/** end static reactions **/
}
}
SYS_bit_cpy(Bitlist, active_KINDERSICHERUNG_CTRL_IDX, Bitlist, active_KINDERSICHERUNG_CTRL_old_IDX);
SYS_bit_cpy(Bitlist, active_FH_TUERMODUL_CTRL_IDX, Bitlist, active_FH_TUERMODUL_CTRL_old_IDX);
SYS_bit_cpy(Bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX, Bitlist, active_EINKLEMMSCHUTZ_CTRL_old_IDX);
SYS_bit_cpy(Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX, Bitlist, active_BLOCK_ERKENNUNG_CTRL_old_IDX);
FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC;
FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF;
FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC;
FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU;
generic_KINDERSICHERUNG_CTRL();
FH_DU__MFHA = FH_TUERMODUL__MFHA;
FH_DU__MFHZ = FH_TUERMODUL__MFHZ;
FH_DU__I_EIN = FH_TUERMODUL__I_EIN;
FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV;
FH_DU__POSITION = FH_TUERMODUL__POSITION;
FH_DU__FT = FH_TUERMODUL__FT;
FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC;
FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL;
FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC;
FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL;
FH_DU__KL_50 = FH_TUERMODUL__KL_50;
FH_DU__BLOCK = FH_TUERMODUL__BLOCK;
FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC;
FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF;
FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC;
FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU;
generic_FH_TUERMODUL_CTRL();
FH_DU__MFHA = FH_TUERMODUL__MFHA;
FH_DU__MFHZ = FH_TUERMODUL__MFHZ;
FH_DU__I_EIN = FH_TUERMODUL__I_EIN;
FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV;
FH_DU__POSITION = FH_TUERMODUL__POSITION;
FH_DU__FT = FH_TUERMODUL__FT;
FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC;
FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL;
FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC;
FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL;
FH_DU__KL_50 = FH_TUERMODUL__KL_50;
FH_DU__BLOCK = FH_TUERMODUL__BLOCK;
FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC;
FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF;
FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC;
FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU;
generic_EINKLEMMSCHUTZ_CTRL();
FH_DU__MFHA = FH_TUERMODUL__MFHA;
FH_DU__MFHZ = FH_TUERMODUL__MFHZ;
FH_DU__I_EIN = FH_TUERMODUL__I_EIN;
FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV;
FH_DU__POSITION = FH_TUERMODUL__POSITION;
FH_DU__FT = FH_TUERMODUL__FT;
FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC;
FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL;
FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC;
FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL;
FH_DU__KL_50 = FH_TUERMODUL__KL_50;
FH_DU__BLOCK = FH_TUERMODUL__BLOCK;
FH_TUERMODUL__SFHA_MEC = FH_DU__S_FH_AUFDISC;
FH_TUERMODUL__SFHA_ZENTRAL = FH_DU__S_FH_FTAUF;
FH_TUERMODUL__SFHZ_MEC = FH_DU__S_FH_ZUDISC;
FH_TUERMODUL__SFHZ_ZENTRAL = FH_DU__S_FH_FTZU;
generic_BLOCK_ERKENNUNG_CTRL();
FH_DU__MFHA = FH_TUERMODUL__MFHA;
FH_DU__MFHZ = FH_TUERMODUL__MFHZ;
FH_DU__I_EIN = FH_TUERMODUL__I_EIN;
FH_DU__EKS_LEISTE_AKTIV = FH_TUERMODUL__EKS_LEISTE_AKTIV;
FH_DU__POSITION = FH_TUERMODUL__POSITION;
FH_DU__FT = FH_TUERMODUL__FT;
FH_DU__S_FH_AUFDISC = FH_TUERMODUL__SFHA_MEC;
FH_DU__S_FH_FTAUF = FH_TUERMODUL__SFHA_ZENTRAL;
FH_DU__S_FH_ZUDISC = FH_TUERMODUL__SFHZ_MEC;
FH_DU__S_FH_FTZU = FH_TUERMODUL__SFHZ_ZENTRAL;
FH_DU__KL_50 = FH_TUERMODUL__KL_50;
FH_DU__BLOCK = FH_TUERMODUL__BLOCK;
SYS_bit_cpy(Bitlist, active_KINDERSICHERUNG_CTRL_copy_IDX, Bitlist, active_KINDERSICHERUNG_CTRL_IDX);
SYS_bit_cpy(Bitlist, active_FH_TUERMODUL_CTRL_copy_IDX, Bitlist, active_FH_TUERMODUL_CTRL_IDX);
SYS_bit_cpy(Bitlist, active_EINKLEMMSCHUTZ_CTRL_copy_IDX, Bitlist, active_EINKLEMMSCHUTZ_CTRL_IDX);
SYS_bit_cpy(Bitlist, active_BLOCK_ERKENNUNG_CTRL_copy_IDX, Bitlist, active_BLOCK_ERKENNUNG_CTRL_IDX);
FH_TUERMODUL_CTRL__N_old = FH_TUERMODUL_CTRL__N;
FH_TUERMODUL__I_EIN_old = FH_TUERMODUL__I_EIN;
FH_DU__MFH = FH_DU__MFH_copy;
FH_DU__I_EIN_old = FH_DU__I_EIN;
BLOCK_ERKENNUNG_CTRL__N_old = BLOCK_ERKENNUNG_CTRL__N;
FH_TUERMODUL__SFHZ_ZENTRAL_old = FH_TUERMODUL__SFHZ_ZENTRAL;
FH_TUERMODUL__SFHZ_MEC_old = FH_TUERMODUL__SFHZ_MEC;
FH_TUERMODUL__SFHA_ZENTRAL_old = FH_TUERMODUL__SFHA_ZENTRAL;
FH_TUERMODUL__SFHA_MEC_old = FH_TUERMODUL__SFHA_MEC;
FH_TUERMODUL__BLOCK = FH_TUERMODUL__BLOCK_copy;
FH_TUERMODUL__BLOCK_old = FH_TUERMODUL__BLOCK;
FH_TUERMODUL__SFHZ = FH_TUERMODUL__SFHZ_copy;
FH_TUERMODUL__SFHZ_old = FH_TUERMODUL__SFHZ;
FH_TUERMODUL__SFHA = FH_TUERMODUL__SFHA_copy;
FH_TUERMODUL__SFHA_old = FH_TUERMODUL__SFHA;
FH_TUERMODUL__MFHZ = FH_TUERMODUL__MFHZ_copy;
FH_TUERMODUL__MFHZ_old = FH_TUERMODUL__MFHZ;
FH_TUERMODUL__MFHA = FH_TUERMODUL__MFHA_copy;
FH_TUERMODUL__MFHA_old = FH_TUERMODUL__MFHA;
FH_TUERMODUL__EKS_LEISTE_AKTIV_old = FH_TUERMODUL__EKS_LEISTE_AKTIV;
FH_DU__EKS_LEISTE_AKTIV_old = FH_DU__EKS_LEISTE_AKTIV;
FH_DU__S_FH_TMBFAUFCAN_old = FH_DU__S_FH_TMBFAUFCAN;
FH_DU__S_FH_TMBFZUCAN_old = FH_DU__S_FH_TMBFZUCAN;
FH_DU__S_FH_TMBFZUDISC_old = FH_DU__S_FH_TMBFZUDISC;
FH_DU__S_FH_TMBFAUFDISC_old = FH_DU__S_FH_TMBFAUFDISC;
FH_DU__BLOCK = FH_DU__BLOCK_copy;
FH_DU__BLOCK_old = FH_DU__BLOCK;
FH_DU__MFHZ = FH_DU__MFHZ_copy;
FH_DU__MFHZ_old = FH_DU__MFHZ;
FH_DU__MFHA = FH_DU__MFHA_copy;
FH_DU__MFHA_old = FH_DU__MFHA;
}/** while(!stable) **/
}/** FH_DU **/
int main(void)
{
init();
interface();
FH_DU();
return 0;
}