-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathprio.h
More file actions
266 lines (241 loc) · 7.56 KB
/
prio.h
File metadata and controls
266 lines (241 loc) · 7.56 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
/* prio.h - gegenereerd met TLCGen 12.4.0.19 */
#ifndef __PRIOH
#define __PRIOH
#define PRIO_A_BIT BIT6
#define PRIO_Z_BIT BIT6
#define PRIO_FM_BIT BIT6
#define PRIO_RW_BIT BIT6
#define PRIO_RR_BIT BIT6
#define PRIO_YV_BIT BIT6
#define PRIO_YM_BIT BIT6
#define PRIO_MK_BIT BIT11 /* Hier geen BIT6 wegens conflict met MeetKriteriumRGprm */
#define PRIO_PP_BIT BIT6
#define PRIO_PAR_BIT BIT6
#define PRIO_RTFB_BIT BIT6
#define MAX_AANTAL_INMELDINGEN 10
#define DEFAULT_MAX_WACHTTIJD 120
#define NO_REALISEREN_TOEGESTAAN
#define MAX_INT 32767L
typedef enum
{
poGeenPrioriteit = 0,
poAanvraag = 1,
poAfkappenKonfliktRichtingen = 2,
poGroenVastHouden = 4,
poBijzonderRealiseren = 8,
poAfkappenKonflikterendOV = 16,
poNoodDienst = 32,
poPLGroenVastHoudenNaTXD = 64,
poPLTegenhoudenHoofdrichting = 128,
poPLAbsolutePrioriteit = 256,
poPLNoodDienst = 512,
} TPrioriteitsOpties;
typedef enum
{
rtsOngehinderd,
rtsBeperktGehinderd,
rtsGehinderd,
} TRijTijdScenario;
#if !defined VLOGMON5STRUCTURE
typedef struct {
boolv voorinov;
boolv inmov;
boolv uitmov;
boolv uitmbewov;
boolv foutuitmov;
boolv uituitmov;
boolv voorinhd;
boolv inmhd;
boolv uitmhd;
boolv uitmbewhd;
} VLOG_MON5_STRUCT;
extern VLOG_MON5_STRUCT VLOG_mon5[FCMAX];
#define VLOGMON5STRUCTURE
#endif
/* Functie declaraties voor functies uit de applicatie */
void PrioInitExtra(void);
void PrioInstellingen(void);
void RijTijdScenario(void);
void InUitMelden(void);
void PrioriteitsOpties(void);
void PrioriteitsToekenningExtra(void);
void TegenhoudenConflictenExtra(void);
void PostAfhandelingPrio(void);
void PrioPARCorrecties(void);
void OnderMaximumExtra(void);
void AfkapGroenExtra(void);
void StartGroenMomentenExtra(void);
void PrioAfkappenExtra(void);
void PrioTerugkomGroenExtra(void);
void PrioGroenVasthoudenExtra(void);
void PrioMeetKriteriumExtra(void);
/* Functie declaraties voor functies uit prio.c */
void AfhandelingPrio(void);
int BepaalPrioriteitsOpties(int prm_prio);
void PrioInit(void);
void PrioInmeldenID(int ov,
int iInmelding,
int iPN, /* prioriteitsniveau */
int iPO, /* prioriteitsopties */
int iRT, /* rijtimer */
int iGBT, /* groenbewakingstimer */
int iID); /* identificatie inmelding */
void PrioInmelden(int ov,
int iInmelding,
int iPN, /* prioriteitsniveau */
int iPO, /* prioriteitsopties */
int iRT, /* rijtimer */
int iGBT); /* groenbewakingstimer */
void PrioUitmelden(int ov,
int iUitmelding);
void PrioUitmeldenIndex(int ov,
int inm,
int iUitmelding,
boolv bGeforceerd);
void PrioUitmeldenID(int ov,
int iUitmelding,
int iID);
int PrioAantalInmeldingenID(int ov,
int iID);
void PrioRijTijdScenario(int ov,
int dkop,
int dlang,
int tbezet);
void PrioCcolElementen(int prio, int tgb, int trt, int hprio, int cvc, int tblk);
void PrioCcol(void);
void KonfliktTijden(void);
void SKVoorStarten(boolv period, count fcvs, count fcls, count tvs, boolv bit);
void SKGelijkStarten(boolv period, count fc1, count fc2, boolv bit, boolv overslag_sg);
void SKFietsVoetganger(boolv period, count fcfts, count fcvtg, boolv bit);
void SKFictiefOntruimen(boolv period, count fcv, count fcn, count tftofcvfcn, boolv bit);
int StartGroenFC(int fc, int iGewenstStartGroen, int iPrioriteitsOptiesFC);
void TegenHoudenStartGroen(int fc, int iStartGroenFC);
void AfkappenStartGroen(int fc, int iStartGr);
void VLOG_mon5_buffer(void);
#ifdef PRIO_ADDFILE
void RijTijdScenario_Add(void);
void InUitMelden_Add(void);
void PrioInstellingen_Add(void);
void WachtTijdBewaking_Add(void);
void KonfliktTijden_Add(void);
void OnderMaximum_Add(void);
void BlokkeringsTijd_Add(void);
void PrioriteitsOpties_Add(void);
void PrioriteitsNiveau_Add(void);
void PrioriteitsToekenning_Add(void);
void AfkapGroen_Add(void);
void StartGroenMomenten_Add(void);
void PrioAanvragen_Add(void);
void RealisatieTijden_Add(void);
void PrioTegenhouden_Add(void);
void PrioAfkappen_Add(void);
void PrioAlternatieven_Add(void);
void PostAfhandelingPrio_Add(void);
#if (!defined AUTOMAAT && !defined AUTOMAAT_TEST) || defined VISSIM
void PrioDebug_Add(void);
#endif
#endif
#if (!defined AUTOMAAT && !defined AUTOMAAT_TEST) || defined VISSIM
void PrioDebug(int ov);
#endif
extern int iMaximumWachtTijdOverschreden[];
extern int iMaximumWachtTijd[];
extern int iVerstrekenGroenTijd[];
extern int iAfkapGroen[];
extern int iAfkapGroenTijd[];
extern int iPercGroenTijd[];
extern int iKonfliktTijd[];
extern int iTerugKomGroenTijd[];
extern int iTerugKomen[];
extern int iInstPercMaxGroenTijdTerugKomen[];
extern int iMaxGroenTijdTerugKomen[];
extern int iInstMinTerugKomGroenTijd[];
extern int iAantalMalenNietAfkappen[];
extern int iInstAantalMalenNietAfkappen[];
extern int iNietAfkappen[];
extern int iMaxGroen[];
extern int iPRM_ALTP[];
extern int iSCH_ALTG[];
extern int iInstAfkapGroenAlt[];
extern int iInstOphoogPercentageMG[];
extern int iOphoogPercentageMG[];
extern int iT_GBix[];
extern int iH_PRIOix[];
extern int iBlokkeringsTijd[];
extern int iBlokkeringsTimer[];
extern int iFC_PRIOix[];
extern int iOnderMaximum[];
extern int iOnderMaximumVerstreken[];
extern int iGroenBewakingsTijd[];
extern int iGroenBewakingsTimer[];
extern int iRijTijd[];
extern int iRijTimer[];
extern int iPrioriteit[];
extern int iPrioriteitNooitAfkappen[];
extern int iKOVPrio[];
extern int iInstPrioriteitsNiveau[];
extern int iInstPrioriteitsOpties[];
extern int iPrioriteitsNiveau[];
extern int iPrioriteitsOpties[];
extern int iStartGroen[];
extern int iBijzonderRealiseren[];
extern int iWachtOpKonflikt[];
extern int iAantalPrioriteitsInmeldingen[];
extern int iRijTijdScenario[];
extern int iRTSOngehinderd[];
extern int iRTSBeperktGehinderd[];
extern int iRTSGehinderd[];
extern int iSelDetFoutNaGB[];
extern int iSelDetFout[];
extern int iAantalInmeldingen[];
extern int iXPrio[];
extern int* iRealisatieTijd[];
extern int* iInPrioriteitsNiveau[];
extern int* iInPrioriteitsOpties[];
extern int* iInRijTimer[];
extern int* iInGroenBewakingsTimer[];
extern int* iInOnderMaximumVerstreken[];
extern int* iInMaxWachtTijdOverschreden[];
extern int* iInID[];
extern int* iPrioMeeRealisatie[];
extern int iM_RealisatieTijd[];
extern int iM_InPrioriteitsNiveau[];
extern int iM_InPrioriteitsOpties[];
extern int iM_InRijTimer[];
extern int iM_InGroenBewakingsTimer[];
extern int iM_InOnderMaximumVerstreken[];
extern int iM_InID[];
extern int iM_InMaxWachtTijdOverschreden[];
extern int iM_PrioMeeRealisatie[];
extern int prioKFC_MAX[];
extern int prioFKFC_MAX[];
extern int prioGKFC_MAX[];
extern int* prioTO_pointer[];
extern int iLangstWachtendeAlternatief;
extern int prioM_TO_pointer[prioFCMAX * prioFCMAX];
extern boolv bHDAanwezig;
/* toegevoegde functies uit prio.c */
void PrioTimers(void);
void WachtTijdBewaking(void);
void BlokkeringsTijd(void);
void OnderMaximum(void);
void TerugKomGroen(void);
void PrioriteitsToekenning(void);
void AfkapGroen(void);
int BepaalRestGroen(int fc, int iPrioriteitsOptiesFC);
void PrioAanvragen(void);
void RealisatieTijden(int fc, int iPrioriteitsOptiesFC);
void PrioTegenhouden(void);
void AfkappenMG(int fc, int iStartGr);
void PrioAfkappen(void);
void PrioBijzonderRealiseren(void);
void PrioGroenVasthouden(void);
void PrioMeetKriterium(void);
void PrioAlternatieven(void);
void mag_eerst(void);
int moet_wachten(int ov);
void StelInTimer(int iIndex, int iActueleWaarde, int iInstelling);
void StelInCounter(int iIndex, int iActueleWaarde, int iInstelling);
/* Alleen in VISSIM-builds bij PrioDebug: */
int PrioriteitsOpties2PRM(int iPO);
#endif // __PRIOH