-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathisgfunc.h
More file actions
130 lines (117 loc) · 6.55 KB
/
isgfunc.h
File metadata and controls
130 lines (117 loc) · 6.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/* isgfunc.h - gegenereerd met TLCGen 12.4.0.19 */
#ifndef ISGFUNC_H
#define ISGFUNC_H
#include <stdarg.h>
/* Global variables */
extern mulv TNL_type[FCMAX][FCMAX];
extern mulv FK_type[FCMAX][FCMAX];
extern mulv TISG_PR[FCMAX][FCMAX];
extern mulv TVG_basis[FCMAX];
extern mulv TVG_AR[FCMAX];
extern mulv TISG_AR[FCMAX][FCMAX];
extern mulv TISG_AR_los[FCMAX][FCMAX];
extern mulv TVG_PR[FCMAX];
extern mulv TVG_old[FCMAX];
extern mulv TVG_AR_old[FCMAX];
extern mulv REALISATIETIJD_max[FCMAX];
extern mulv TIGR[FCMAX][FCMAX];
extern mulv PRIOFC[FCMAX];
extern boolv NietGroentijdOphogen[FCMAX];
extern mulv twacht[FCMAX];
extern mulv twacht_wtv[FCMAX];
extern mulv twacht_AR[FCMAX];
extern mulv twacht_AR_wtv[FCMAX];
extern mulv twacht_afkap[FCMAX];
extern mulv REALISATIETIJD[FCMAX][FCMAX];
extern mulv REALISATIETIJD_wtv[FCMAX][FCMAX];
extern boolv Volgrichting[FCMAX];
extern boolv AfslaandDeelconflict[FCMAX];
extern boolv PAR_los[FCMAX];
/* Type naloop */
#define TNL_NG -1 /* Geen */
#define TNL_SG 0 /* Naloop van StartGroen bv TNL_type[fc31][fc32] = TNL_SG*/
#define TNL_ECV 1 /* Naloop vanaf Einde verlenggroen bv TNL_type[fc22][fc21] = TNL_ECV */
#define TNL_EG 2 /* Naloop vanaf EindeGroen nv TNL_type[fc02][fc62] = TNL_EG*/
/* Type fictief conflict*/
#define FK_NG -1 /* Geen */
#define FK_SG 0 /* bijv FK_type[fc32][fc02] = FK_SG Starttijd 02 kan worden bepaald op basis StartGroen van fc32 */
#define FK_EVG 1 /* bv FK_type[fc22][fc02] = FK_EV Starttijd 02 kan worden bepaald op basis van EindeVerlengGroen van fc22 */
#define FK_EG 2 /* bv FK_type[fc02][fc05] = FK_EG Starttijd 05 kan worden bepaald op bais van Einde Groen fc02 */
#define offsetAR 5
/* Externs from other modules */
extern mulv TISG_rgv[FCMAX][FCMAX];
extern mulv TISG_basis[FCMAX][FCMAX];
extern mulv TVG_rgv[FCMAX];
extern mulv init_tvg;
extern mulv TISG_afkap[FCMAX][FCMAX];
extern boolv PAR_los[FCMAX];
/* Function prototypes */
void BepaalIntergroenTijden(void);
void corrigeerTIGRvoorNalopen(count fc1, count fc2, mulv tnleg, mulv tnlegd, mulv tvgnaloop);
void InitRealisatieTijden(void);
void RealisatieTijden_VulHardeConflictenIn(void);
void RealisatieTijden_VulGroenGroenConflictenIn(void);
void CorrigeerRealisatieTijdenObvGarantieTijden(void);
void Realisatietijd_NLEG(count i, count j, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void Realisatietijd_NLEVG(count i, count j, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop);
void Realisatietijd_NLSG(count i, count j, count tnlsg, count tnlsgd);
void Realisatietijd_HardMeeverlengenDeelconflict(mulv fc1, mulv fc2);
void Realisatietijd_Ontruiming_Voorstart(count fcns, count fcvs, count tfo);
void Realisatietijd_Ontruiming_Gelijkstart(count fc1, count fc2, count tfo12, count tfo21);
void Realisatietijd_Ontruiming_LateRelease(count fcvs, count fclr, count tlr, count tfo);
boolv Realisatietijd_Voorstart_Correctie(count fcvs, count fcns, count tvs);
boolv Realisatietijd_Gelijkstart_Correctie(count fc1, count fc2);
boolv Realisatietijd_LateRelease_Correctie(count fclr, count fcvs, count tlr);
boolv Realisatietijd_LateRelease_Correctie_wtv(count fclr, count fcvs, count tlr);
void Bepaal_Realisatietijd_voor_richting(count i);
void Bepaal_Realisatietijd_alle_richtingen();
boolv ym_max_tig_Realisatietijd(count i, count prmomx);
void TegenhoudenDoorRealisatietijden(void);
void InitInterStartGroenTijden(void);
void InterStartGroenTijden_VulHardeConflictenIn(void);
void InterStartGroenTijden_VulGroenGroenConflictenIn(void);
void InterStartGroenTijd_NLEG(count i, count j, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void InterStartGroenTijd_NLEVG(count i, count j, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop);
void InterStartGroenTijd_NLSG(count i, count j, count tnlsg, count tnlsgd);
void InterStartGroentijd_HardMeeverlengenDeelconflict(mulv fc1, mulv fc2);
boolv InterStartGroenTijd_Voorstart_Correctie(count fcvs, count fcns, count tvs);
boolv InterStartGroenTijd_Gelijkstart_Correctie(count fc1, count fc2);
boolv InterStartGroenTijd_LateRelease_Correctie(count fclr, count fcvs, count tlr);
void NaloopEG_TVG_Correctie(count fc1, count fc2, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void NaloopEVG_TVG_Correctie(count fc1, count fc2, count tnlfg, count tnlfgd, count tnlcv, count tnlcvd, count tvgnaloop);
void NaloopVtg_TVG_Correctie(count fc1, count fc2, count hnlsg, count tnlsg, count tnlsgd);
void NaloopVtg(count fc1, count fc2, count dk, count hdk, boolv hnlsg, count tnlsg, count tnlsgd);
void NaloopEG(count fc1, count fc2, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop, ...);
void NaloopEVG(count fc1, count fc2, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop, ...);
boolv max_par(count fc, mulv t_wacht[]);
boolv max_par_los(count fc, mulv t_wacht[]);
void max_wachttijd_modulen_primair_ISG(boolv* prml[], count ml, count ml_max);
boolv yml_cv_pr_nl_ISG(boolv* prml[], count ml, count ml_max);
void set_PG_Deelconflict_Voorstart(mulv fc1, mulv fc2);
void set_PG_Deelconflict_LateRelease(mulv fc1, mulv fc2, mulv tlr);
void MeeverlengenUitDoorDeelconflictVoorstart(mulv fc1, mulv fc2);
void MeeverlengenUitDoorDeelconflictLateRelease(mulv fc1, mulv fc2, mulv tlr);
void MeeverlengenUitDoorVoetgangerLos(count fcvtg, count hmadk);
void PercentageVerlengGroenTijdenISG(count fc, mulv percentage);
boolv hf_wsg_nlISG(void);
void afsluiten_aanvraaggebied_prISG(boolv* prml[], count ml);
void BepaalVolgrichtingen(void);
void PrioAanwezig(void);
void InitInterfunc(void);
void IsgDebug(void);
void IsgCorrectieTvgPrTvgMax(void);
void IsgCorrectieTvgTimerTvgMax(void);
void InitInterStartGroenTijden_rgv(void);
void InterStartGroenTijden_VulHardeConflictenIn_rgv(void);
void InterStartGroenTijden_VulGroenGroenConflictenIn_rgv(void);
void InterStartGroenTijd_NLEG_rgv(count i, count j, count tnlfg, count tnlfgd, count tnleg, count tnlegd, count tvgnaloop);
void InterStartGroenTijd_NLEVG_rgv(count i, count j, count tnlfg, count tnlfgd, count tnlevg, count tnlevgd, count tvgnaloop);
void InterStartGroenTijd_NLSG_rgv(count i, count j, count tnlsg, count tnlsgd);
void InterStartGroentijd_MeeverlengenDeelconflict_rgv(mulv fc1, mulv fc2);
boolv Correctie_TISG_Voorstart_rgv(count fcvs, count fcns, count tvs);
boolv Correctie_TISG_Gelijkstart_rgv(count fc1, count fc2);
boolv Correctie_TISG_LateRelease_rgv(count fclr, count fcvs, count tlr);
void ResetNaloopBits();
boolv Realisatietijd_Lokgroen_Correctie(count fc1, count fc2);
boolv Realisatietijd_Lokgroen_Correctie_wtv(count fc1, count fc2);
#endif /* ISGFUNC_H */