SUMO - Simulation of Urban MObility
TraCIConstants.h
Go to the documentation of this file.
1 /****************************************************************************/
18 /****************************************************************************/
19 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
20 // Copyright (C) 2007-2015 DLR (http://www.dlr.de/) and contributors
21 /****************************************************************************/
22 //
23 // This file is part of SUMO.
24 // SUMO is free software: you can redistribute it and/or modify
25 // it under the terms of the GNU General Public License as published by
26 // the Free Software Foundation, either version 3 of the License, or
27 // (at your option) any later version.
28 //
29 /****************************************************************************/
30 #ifndef TRACICONSTANTS_H
31 #define TRACICONSTANTS_H
32 
33 
34 // ****************************************
35 // VERSION
36 // ****************************************
37 #define TRACI_VERSION 10
38 
39 
40 // ****************************************
41 // COMMANDS
42 // ****************************************
43 // command: get version
44 #define CMD_GETVERSION 0x00
45 
46 // command: simulation step
47 #define CMD_SIMSTEP2 0x02
48 
49 // command: stop node
50 #define CMD_STOP 0x12
51 
52 // command: Resume from parking
53 #define CMD_RESUME 0x19
54 
55 // command: set lane
56 #define CMD_CHANGELANE 0x13
57 
58 // command: slow down
59 #define CMD_SLOWDOWN 0x14
60 
61 // command: change target
62 #define CMD_CHANGETARGET 0x31
63 
64 // command: close sumo
65 #define CMD_CLOSE 0x7F
66 
67 
68 // command: subscribe induction loop (e1) context
69 #define CMD_SUBSCRIBE_INDUCTIONLOOP_CONTEXT 0x80
70 // response: subscribe induction loop (e1) context
71 #define RESPONSE_SUBSCRIBE_INDUCTIONLOOP_CONTEXT 0x90
72 // command: get induction loop (e1) variable
73 #define CMD_GET_INDUCTIONLOOP_VARIABLE 0xa0
74 // response: get induction loop (e1) variable
75 #define RESPONSE_GET_INDUCTIONLOOP_VARIABLE 0xb0
76 // command: subscribe induction loop (e1) variable
77 #define CMD_SUBSCRIBE_INDUCTIONLOOP_VARIABLE 0xd0
78 // response: subscribe induction loop (e1) variable
79 #define RESPONSE_SUBSCRIBE_INDUCTIONLOOP_VARIABLE 0xe0
80 
81 // command: subscribe multi-entry/multi-exit detector (e3) context
82 #define CMD_SUBSCRIBE_MULTI_ENTRY_EXIT_DETECTOR_CONTEXT 0x81
83 // response: subscribe multi-entry/multi-exit detector (e3) context
84 #define RESPONSE_SUBSCRIBE_MULTI_ENTRY_EXIT_DETECTOR_CONTEXT 0x91
85 // command: get multi-entry/multi-exit detector (e3) variable
86 #define CMD_GET_MULTI_ENTRY_EXIT_DETECTOR_VARIABLE 0xa1
87 // response: get multi-entry/multi-exit detector (e3) variable
88 #define RESPONSE_GET_MULTI_ENTRY_EXIT_DETECTOR_VARIABLE 0xb1
89 // command: subscribe multi-entry/multi-exit detector (e3) variable
90 #define CMD_SUBSCRIBE_MULTI_ENTRY_EXIT_DETECTOR_VARIABLE 0xd1
91 // response: subscribe multi-entry/multi-exit detector (e3) variable
92 #define RESPONSE_SUBSCRIBE_MULTI_ENTRY_EXIT_DETECTOR_VARIABLE 0xe1
93 
94 // command: subscribe traffic lights context
95 #define CMD_SUBSCRIBE_TL_CONTEXT 0x82
96 // response: subscribe traffic lights context
97 #define RESPONSE_SUBSCRIBE_TL_CONTEXT 0x92
98 // command: get traffic lights variable
99 #define CMD_GET_TL_VARIABLE 0xa2
100 // response: get traffic lights variable
101 #define RESPONSE_GET_TL_VARIABLE 0xb2
102 // command: set traffic lights variable
103 #define CMD_SET_TL_VARIABLE 0xc2
104 // command: subscribe traffic lights variable
105 #define CMD_SUBSCRIBE_TL_VARIABLE 0xd2
106 // response: subscribe traffic lights variable
107 #define RESPONSE_SUBSCRIBE_TL_VARIABLE 0xe2
108 
109 // command: subscribe lane context
110 #define CMD_SUBSCRIBE_LANE_CONTEXT 0x83
111 // response: subscribe lane context
112 #define RESPONSE_SUBSCRIBE_LANE_CONTEXT 0x93
113 // command: get lane variable
114 #define CMD_GET_LANE_VARIABLE 0xa3
115 // response: get lane variable
116 #define RESPONSE_GET_LANE_VARIABLE 0xb3
117 // command: set lane variable
118 #define CMD_SET_LANE_VARIABLE 0xc3
119 // command: subscribe lane variable
120 #define CMD_SUBSCRIBE_LANE_VARIABLE 0xd3
121 // response: subscribe lane variable
122 #define RESPONSE_SUBSCRIBE_LANE_VARIABLE 0xe3
123 
124 // command: subscribe vehicle context
125 #define CMD_SUBSCRIBE_VEHICLE_CONTEXT 0x84
126 // response: subscribe vehicle context
127 #define RESPONSE_SUBSCRIBE_VEHICLE_CONTEXT 0x94
128 // command: get vehicle variable
129 #define CMD_GET_VEHICLE_VARIABLE 0xa4
130 // response: get vehicle variable
131 #define RESPONSE_GET_VEHICLE_VARIABLE 0xb4
132 // command: set vehicle variable
133 #define CMD_SET_VEHICLE_VARIABLE 0xc4
134 // command: subscribe vehicle variable
135 #define CMD_SUBSCRIBE_VEHICLE_VARIABLE 0xd4
136 // response: subscribe vehicle variable
137 #define RESPONSE_SUBSCRIBE_VEHICLE_VARIABLE 0xe4
138 
139 // command: subscribe vehicle type context
140 #define CMD_SUBSCRIBE_VEHICLETYPE_CONTEXT 0x85
141 // response: subscribe vehicle type context
142 #define RESPONSE_SUBSCRIBE_VEHICLETYPE_CONTEXT 0x95
143 // command: get vehicle type variable
144 #define CMD_GET_VEHICLETYPE_VARIABLE 0xa5
145 // response: get vehicle type variable
146 #define RESPONSE_GET_VEHICLETYPE_VARIABLE 0xb5
147 // command: set vehicle type variable
148 #define CMD_SET_VEHICLETYPE_VARIABLE 0xc5
149 // command: subscribe vehicle type variable
150 #define CMD_SUBSCRIBE_VEHICLETYPE_VARIABLE 0xd5
151 // response: subscribe vehicle type variable
152 #define RESPONSE_SUBSCRIBE_VEHICLETYPE_VARIABLE 0xe5
153 
154 // command: subscribe route context
155 #define CMD_SUBSCRIBE_ROUTE_CONTEXT 0x86
156 // response: subscribe route context
157 #define RESPONSE_SUBSCRIBE_ROUTE_CONTEXT 0x96
158 // command: get route variable
159 #define CMD_GET_ROUTE_VARIABLE 0xa6
160 // response: get route variable
161 #define RESPONSE_GET_ROUTE_VARIABLE 0xb6
162 // command: set route variable
163 #define CMD_SET_ROUTE_VARIABLE 0xc6
164 // command: subscribe route variable
165 #define CMD_SUBSCRIBE_ROUTE_VARIABLE 0xd6
166 // response: subscribe route variable
167 #define RESPONSE_SUBSCRIBE_ROUTE_VARIABLE 0xe6
168 
169 // command: subscribe poi context
170 #define CMD_SUBSCRIBE_POI_CONTEXT 0x87
171 // response: subscribe poi context
172 #define RESPONSE_SUBSCRIBE_POI_CONTEXT 0x97
173 // command: get poi variable
174 #define CMD_GET_POI_VARIABLE 0xa7
175 // response: get poi variable
176 #define RESPONSE_GET_POI_VARIABLE 0xb7
177 // command: set poi variable
178 #define CMD_SET_POI_VARIABLE 0xc7
179 // command: subscribe poi variable
180 #define CMD_SUBSCRIBE_POI_VARIABLE 0xd7
181 // response: subscribe poi variable
182 #define RESPONSE_SUBSCRIBE_POI_VARIABLE 0xe7
183 
184 // command: subscribe polygon context
185 #define CMD_SUBSCRIBE_POLYGON_CONTEXT 0x88
186 // response: subscribe polygon context
187 #define RESPONSE_SUBSCRIBE_POLYGON_CONTEXT 0x98
188 // command: get polygon variable
189 #define CMD_GET_POLYGON_VARIABLE 0xa8
190 // response: get polygon variable
191 #define RESPONSE_GET_POLYGON_VARIABLE 0xb8
192 // command: set polygon variable
193 #define CMD_SET_POLYGON_VARIABLE 0xc8
194 // command: subscribe polygon variable
195 #define CMD_SUBSCRIBE_POLYGON_VARIABLE 0xd8
196 // response: subscribe polygon variable
197 #define RESPONSE_SUBSCRIBE_POLYGON_VARIABLE 0xe8
198 
199 // command: subscribe junction context
200 #define CMD_SUBSCRIBE_JUNCTION_CONTEXT 0x89
201 // response: subscribe junction context
202 #define RESPONSE_SUBSCRIBE_JUNCTION_CONTEXT 0x99
203 // command: get junction variable
204 #define CMD_GET_JUNCTION_VARIABLE 0xa9
205 // response: get junction variable
206 #define RESPONSE_GET_JUNCTION_VARIABLE 0xb9
207 // command: set junction variable
208 #define CMD_SET_JUNCTION_VARIABLE 0xc9
209 // command: subscribe junction variable
210 #define CMD_SUBSCRIBE_JUNCTION_VARIABLE 0xd9
211 // response: subscribe junction variable
212 #define RESPONSE_SUBSCRIBE_JUNCTION_VARIABLE 0xe9
213 
214 // command: subscribe edge context
215 #define CMD_SUBSCRIBE_EDGE_CONTEXT 0x8a
216 // response: subscribe edge context
217 #define RESPONSE_SUBSCRIBE_EDGE_CONTEXT 0x9a
218 // command: get edge variable
219 #define CMD_GET_EDGE_VARIABLE 0xaa
220 // response: get edge variable
221 #define RESPONSE_GET_EDGE_VARIABLE 0xba
222 // command: set edge variable
223 #define CMD_SET_EDGE_VARIABLE 0xca
224 // command: subscribe edge variable
225 #define CMD_SUBSCRIBE_EDGE_VARIABLE 0xda
226 // response: subscribe edge variable
227 #define RESPONSE_SUBSCRIBE_EDGE_VARIABLE 0xea
228 
229 // command: subscribe simulation context
230 #define CMD_SUBSCRIBE_SIM_CONTEXT 0x8b
231 // response: subscribe simulation context
232 #define RESPONSE_SUBSCRIBE_SIM_CONTEXT 0x9b
233 // command: get simulation variable
234 #define CMD_GET_SIM_VARIABLE 0xab
235 // response: get simulation variable
236 #define RESPONSE_GET_SIM_VARIABLE 0xbb
237 // command: set simulation variable
238 #define CMD_SET_SIM_VARIABLE 0xcb
239 // command: subscribe simulation variable
240 #define CMD_SUBSCRIBE_SIM_VARIABLE 0xdb
241 // response: subscribe simulation variable
242 #define RESPONSE_SUBSCRIBE_SIM_VARIABLE 0xeb
243 
244 // command: subscribe GUI context
245 #define CMD_SUBSCRIBE_GUI_CONTEXT 0x8c
246 // response: subscribe GUI context
247 #define RESPONSE_SUBSCRIBE_GUI_CONTEXT 0x9c
248 // command: get GUI variable
249 #define CMD_GET_GUI_VARIABLE 0xac
250 // response: get GUI variable
251 #define RESPONSE_GET_GUI_VARIABLE 0xbc
252 // command: set GUI variable
253 #define CMD_SET_GUI_VARIABLE 0xcc
254 // command: subscribe GUI variable
255 #define CMD_SUBSCRIBE_GUI_VARIABLE 0xdc
256 // response: subscribe GUI variable
257 #define RESPONSE_SUBSCRIBE_GUI_VARIABLE 0xec
258 
259 // command: subscribe areal detector (e2) context
260 #define CMD_SUBSCRIBE_AREAL_DETECTOR_CONTEXT 0x8d
261 // response: subscribe areal detector (e2) context
262 #define RESPONSE_SUBSCRIBE_AREAL_DETECTOR_CONTEXT 0x9d
263 // command: get areal detector (e2) variable
264 #define CMD_GET_AREAL_DETECTOR_VARIABLE 0xad
265 // response: get areal detector (e2) variable
266 #define RESPONSE_GET_AREAL_DETECTOR_VARIABLE 0xbd
267 // command: subscribe areal detector (e2) variable
268 #define CMD_SUBSCRIBE_AREAL_DETECTOR_VARIABLE 0xdd
269 // response: subscribe areal detector (e2) variable
270 #define RESPONSE_SUBSCRIBE_AREAL_DETECTOR_VARIABLE 0xed
271 
272 // command: subscribe person context
273 #define CMD_SUBSCRIBE_PERSON_CONTEXT 0x8e
274 // response: subscribe person context
275 #define RESPONSE_SUBSCRIBE_PERSON_CONTEXT 0x9e
276 // command: get person variable
277 #define CMD_GET_PERSON_VARIABLE 0xae
278 // response: get person variable
279 #define RESPONSE_GET_PERSON_VARIABLE 0xbe
280 // command: set person variable
281 #define CMD_SET_PERSON_VARIABLE 0xce
282 // command: subscribe person variable
283 #define CMD_SUBSCRIBE_PERSON_VARIABLE 0xde
284 // response: subscribe person variable
285 #define RESPONSE_SUBSCRIBE_PERSON_VARIABLE 0xee
286 
287 
288 // ****************************************
289 // POSITION REPRESENTATIONS
290 // ****************************************
291 // Position in geo-coordinates
292 #define POSITION_LON_LAT 0x00
293 // 2D cartesian coordinates
294 #define POSITION_2D 0x01
295 // Position in geo-coordinates with altitude
296 #define POSITION_LON_LAT_ALT 0x02
297 // 3D cartesian coordinates
298 #define POSITION_3D 0x03
299 // Position on road map
300 #define POSITION_ROADMAP 0x04
301 
302 
303 // ****************************************
304 // DATA TYPES
305 // ****************************************
306 // Boundary Box (4 doubles)
307 #define TYPE_BOUNDINGBOX 0x05
308 // Polygon (2*n doubles)
309 #define TYPE_POLYGON 0x06
310 // unsigned byte
311 #define TYPE_UBYTE 0x07
312 // signed byte
313 #define TYPE_BYTE 0x08
314 // 32 bit signed integer
315 #define TYPE_INTEGER 0x09
316 // float
317 #define TYPE_FLOAT 0x0A
318 // double
319 #define TYPE_DOUBLE 0x0B
320 // 8 bit ASCII string
321 #define TYPE_STRING 0x0C
322 // list of traffic light phases
323 #define TYPE_TLPHASELIST 0x0D
324 // list of strings
325 #define TYPE_STRINGLIST 0x0E
326 // compound object
327 #define TYPE_COMPOUND 0x0F
328 // color (four ubytes)
329 #define TYPE_COLOR 0x11
330 
331 
332 // ****************************************
333 // RESULT TYPES
334 // ****************************************
335 // result type: Ok
336 #define RTYPE_OK 0x00
337 // result type: not implemented
338 #define RTYPE_NOTIMPLEMENTED 0x01
339 // result type: error
340 #define RTYPE_ERR 0xFF
341 
342 // return value for invalid queries (especially vehicle is not on the road)
343 #define INVALID_DOUBLE_VALUE -1001.
344 // return value for invalid queries (especially vehicle is not on the road)
345 #define INVALID_INT_VALUE -1
346 
347 
348 // ****************************************
349 // TRAFFIC LIGHT PHASES
350 // ****************************************
351 // red phase
352 #define TLPHASE_RED 0x01
353 // yellow phase
354 #define TLPHASE_YELLOW 0x02
355 // green phase
356 #define TLPHASE_GREEN 0x03
357 // tl is blinking
358 #define TLPHASE_BLINKING 0x04
359 // tl is off and not blinking
360 #define TLPHASE_NOSIGNAL 0x05
361 
362 
363 // ****************************************
364 // DIFFERENT DISTANCE REQUESTS
365 // ****************************************
366 // air distance
367 #define REQUEST_AIRDIST 0x00
368 // driving distance
369 #define REQUEST_DRIVINGDIST 0x01
370 
371 
372 // ****************************************
373 // VEHICLE REMOVAL REASONS
374 // ****************************************
375 // vehicle started teleport
376 #define REMOVE_TELEPORT 0x00
377 // vehicle removed while parking
378 #define REMOVE_PARKING 0x01
379 // vehicle arrived
380 #define REMOVE_ARRIVED 0x02
381 // vehicle was vaporized
382 #define REMOVE_VAPORIZED 0x03
383 // vehicle finished route during teleport
384 #define REMOVE_TELEPORT_ARRIVED 0x04
385 
386 // ****************************************
387 // PERSON/CONTAINER STAGES
388 // ****************************************
389 // person walking / container transhiping
390 #define STAGE_WALKING 0x00
391 // person riding / container being transported
392 #define STAGE_DRIVING 0x01
393 // person / container stopping
394 #define STAGE_WAITING 0x02
395 
396 
397 // ****************************************
398 // VARIABLE TYPES (for CMD_GET_*_VARIABLE)
399 // ****************************************
400 // list of instances' ids (get: all)
401 #define ID_LIST 0x00
402 
403 // count of instances (get: all)
404 #define ID_COUNT 0x01
405 
406 // subscribe object variables (get: all)
407 #define OBJECT_VARIABLES_SUBSCRIPTION 0x02
408 
409 // subscribe context variables (get: all)
410 #define SURROUNDING_VARIABLES_SUBSCRIPTION 0x03
411 
412 // last step vehicle number (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
413 #define LAST_STEP_VEHICLE_NUMBER 0x10
414 
415 // last step vehicle number (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
416 #define LAST_STEP_MEAN_SPEED 0x11
417 
418 // last step vehicle list (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
419 #define LAST_STEP_VEHICLE_ID_LIST 0x12
420 
421 // last step occupancy (get: induction loops, lanes, edges)
422 #define LAST_STEP_OCCUPANCY 0x13
423 
424 // last step vehicle halting number (get: multi-entry/multi-exit detector, lanes, edges)
425 #define LAST_STEP_VEHICLE_HALTING_NUMBER 0x14
426 
427 // last step mean vehicle length (get: induction loops, lanes, edges)
428 #define LAST_STEP_LENGTH 0x15
429 
430 // last step time since last detection (get: induction loops)
431 #define LAST_STEP_TIME_SINCE_DETECTION 0x16
432 
433 // entry times
434 #define LAST_STEP_VEHICLE_DATA 0x17
435 
436 // last step jam length in vehicles
437 #define JAM_LENGTH_VEHICLE 0x18
438 
439 // last step jam length in meters
440 #define JAM_LENGTH_METERS 0x19
441 
442 // last step person list (get: edges)
443 #define LAST_STEP_PERSON_ID_LIST 0x1a
444 
445 
446 // traffic light states, encoded as rRgGyYoO tuple (get: traffic lights)
447 #define TL_RED_YELLOW_GREEN_STATE 0x20
448 
449 // index of the phase (set: traffic lights)
450 #define TL_PHASE_INDEX 0x22
451 
452 // traffic light program (set: traffic lights)
453 #define TL_PROGRAM 0x23
454 
455 // phase duration (set: traffic lights)
456 #define TL_PHASE_DURATION 0x24
457 
458 // controlled lanes (get: traffic lights)
459 #define TL_CONTROLLED_LANES 0x26
460 
461 // controlled links (get: traffic lights)
462 #define TL_CONTROLLED_LINKS 0x27
463 
464 // index of the current phase (get: traffic lights)
465 #define TL_CURRENT_PHASE 0x28
466 
467 // name of the current program (get: traffic lights)
468 #define TL_CURRENT_PROGRAM 0x29
469 
470 // controlled junctions (get: traffic lights)
471 #define TL_CONTROLLED_JUNCTIONS 0x2a
472 
473 // complete definition (get: traffic lights)
474 #define TL_COMPLETE_DEFINITION_RYG 0x2b
475 
476 // complete program (set: traffic lights)
477 #define TL_COMPLETE_PROGRAM_RYG 0x2c
478 
479 // assumed time to next switch (get: traffic lights)
480 #define TL_NEXT_SWITCH 0x2d
481 
482 // current state, using external signal names (get: traffic lights)
483 #define TL_EXTERNAL_STATE 0x2e
484 
485 
486 
487 // outgoing link number (get: lanes)
488 #define LANE_LINK_NUMBER 0x30
489 
490 // id of parent edge (get: lanes)
491 #define LANE_EDGE_ID 0x31
492 
493 // outgoing link definitions (get: lanes)
494 #define LANE_LINKS 0x33
495 
496 // list of allowed vehicle classes (get&set: lanes)
497 #define LANE_ALLOWED 0x34
498 
499 // list of not allowed vehicle classes (get&set: lanes)
500 #define LANE_DISALLOWED 0x35
501 
502 
503 // speed (get: vehicle)
504 #define VAR_SPEED 0x40
505 
506 // maximum allowed/possible speed (get: vehicle types, lanes, set: edges, lanes)
507 #define VAR_MAXSPEED 0x41
508 
509 // position (2D) (get: vehicle, poi, inductionloop, areadetector; set: poi)
510 #define VAR_POSITION 0x42
511 
512 // position (3D) (get: vehicle, poi, set: poi)
513 #define VAR_POSITION3D 0x39
514 
515 // angle (get: vehicle)
516 #define VAR_ANGLE 0x43
517 
518 // angle (get: vehicle types, lanes, arealdetector, set: lanes)
519 #define VAR_LENGTH 0x44
520 
521 // color (get: vehicles, vehicle types, polygons, pois)
522 #define VAR_COLOR 0x45
523 
524 // max. acceleration (get: vehicle types)
525 #define VAR_ACCEL 0x46
526 
527 // max. deceleration (get: vehicle types)
528 #define VAR_DECEL 0x47
529 
530 // driver reaction time (get: vehicle types)
531 #define VAR_TAU 0x48
532 
533 // vehicle class (get: vehicle types)
534 #define VAR_VEHICLECLASS 0x49
535 
536 // emission class (get: vehicle types)
537 #define VAR_EMISSIONCLASS 0x4a
538 
539 // shape class (get: vehicle types)
540 #define VAR_SHAPECLASS 0x4b
541 
542 // minimum gap (get: vehicle types)
543 #define VAR_MINGAP 0x4c
544 
545 // width (get: vehicle types, lanes)
546 #define VAR_WIDTH 0x4d
547 
548 // shape (get: polygons)
549 #define VAR_SHAPE 0x4e
550 
551 // type id (get: vehicles, polygons, pois)
552 #define VAR_TYPE 0x4f
553 
554 // road id (get: vehicles)
555 #define VAR_ROAD_ID 0x50
556 
557 // lane id (get: vehicles, inductionloop, arealdetector)
558 #define VAR_LANE_ID 0x51
559 
560 // lane index (get: vehicles)
561 #define VAR_LANE_INDEX 0x52
562 
563 // route id (get & set: vehicles)
564 #define VAR_ROUTE_ID 0x53
565 
566 // edges (get: routes)
567 #define VAR_EDGES 0x54
568 
569 // filled? (get: polygons)
570 #define VAR_FILL 0x55
571 
572 // position (1D along lane) (get: vehicle)
573 #define VAR_LANEPOSITION 0x56
574 
575 // route (set: vehicles)
576 #define VAR_ROUTE 0x57
577 
578 // travel time information (get&set: vehicle)
579 #define VAR_EDGE_TRAVELTIME 0x58
580 
581 // effort information (get&set: vehicle)
582 #define VAR_EDGE_EFFORT 0x59
583 
584 // last step travel time (get: edge, lane)
585 #define VAR_CURRENT_TRAVELTIME 0x5a
586 
587 // signals state (get/set: vehicle)
588 #define VAR_SIGNALS 0x5b
589 
590 // new lane/position along (set: vehicle)
591 #define VAR_MOVE_TO 0x5c
592 
593 // driver imperfection (set: vehicle)
594 #define VAR_IMPERFECTION 0x5d
595 
596 // speed factor (set: vehicle)
597 #define VAR_SPEED_FACTOR 0x5e
598 
599 // speed deviation (set: vehicle)
600 #define VAR_SPEED_DEVIATION 0x5f
601 
602 
603 
604 // speed without TraCI influence (get: vehicle)
605 #define VAR_SPEED_WITHOUT_TRACI 0xb1
606 
607 // best lanes (get: vehicle)
608 #define VAR_BEST_LANES 0xb2
609 
610 // how speed is set (set: vehicle)
611 #define VAR_SPEEDSETMODE 0xb3
612 
613 // move vehicle, VTD version (set: vehicle)
614 #define VAR_MOVE_TO_VTD 0xb4
615 
616 // is the vehicle stopped, and if so parked and/or triggered?
617 // value = stopped + 2 * parking + 4 * triggered
618 #define VAR_STOPSTATE 0xb5
619 
620 // how lane changing is performed (set: vehicle)
621 #define VAR_LANECHANGE_MODE 0xb6
622 
623 // maximum speed regarding max speed on the current lane and speed factor (get: vehicle)
624 #define VAR_ALLOWED_SPEED 0xb7
625 
626 
627 // current CO2 emission of a node (get: vehicle, lane, edge)
628 #define VAR_CO2EMISSION 0x60
629 
630 // current CO emission of a node (get: vehicle, lane, edge)
631 #define VAR_COEMISSION 0x61
632 
633 // current HC emission of a node (get: vehicle, lane, edge)
634 #define VAR_HCEMISSION 0x62
635 
636 // current PMx emission of a node (get: vehicle, lane, edge)
637 #define VAR_PMXEMISSION 0x63
638 
639 // current NOx emission of a node (get: vehicle, lane, edge)
640 #define VAR_NOXEMISSION 0x64
641 
642 // current fuel consumption of a node (get: vehicle, lane, edge)
643 #define VAR_FUELCONSUMPTION 0x65
644 
645 // current noise emission of a node (get: vehicle, lane, edge)
646 #define VAR_NOISEEMISSION 0x66
647 
648 // current person number (get: vehicle)
649 #define VAR_PERSON_NUMBER 0x67
650 
651 // number of persons waiting at a defined bus stop (get: simulation)
652 #define VAR_BUS_STOP_WAITING 0x67
653 
654 // current leader together with gap (get: vehicle)
655 #define VAR_LEADER 0x68
656 
657 // edge index in current route (get: vehicle)
658 #define VAR_ROUTE_INDEX 0x69
659 
660 //current waiting time (get: vehicle, lane)
661 #define VAR_WAITING_TIME 0x7a
662 
663 // current time step (get: simulation)
664 #define VAR_TIME_STEP 0x70
665 
666 // number of loaded vehicles (get: simulation)
667 #define VAR_LOADED_VEHICLES_NUMBER 0x71
668 
669 // loaded vehicle ids (get: simulation)
670 #define VAR_LOADED_VEHICLES_IDS 0x72
671 
672 // number of departed vehicle (get: simulation)
673 #define VAR_DEPARTED_VEHICLES_NUMBER 0x73
674 
675 // departed vehicle ids (get: simulation)
676 #define VAR_DEPARTED_VEHICLES_IDS 0x74
677 
678 // number of vehicles starting to teleport (get: simulation)
679 #define VAR_TELEPORT_STARTING_VEHICLES_NUMBER 0x75
680 
681 // ids of vehicles starting to teleport (get: simulation)
682 #define VAR_TELEPORT_STARTING_VEHICLES_IDS 0x76
683 
684 // number of vehicles ending to teleport (get: simulation)
685 #define VAR_TELEPORT_ENDING_VEHICLES_NUMBER 0x77
686 
687 // ids of vehicles ending to teleport (get: simulation)
688 #define VAR_TELEPORT_ENDING_VEHICLES_IDS 0x78
689 
690 // number of arrived vehicles (get: simulation)
691 #define VAR_ARRIVED_VEHICLES_NUMBER 0x79
692 
693 // ids of arrived vehicles (get: simulation)
694 #define VAR_ARRIVED_VEHICLES_IDS 0x7a
695 
696 // delta t (get: simulation)
697 #define VAR_DELTA_T 0x7b
698 
699 // bounding box (get: simulation)
700 #define VAR_NET_BOUNDING_BOX 0x7c
701 
702 // minimum number of expected vehicles (get: simulation)
703 #define VAR_MIN_EXPECTED_VEHICLES 0x7d
704 
705 // number of vehicles starting to park (get: simulation)
706 #define VAR_STOP_STARTING_VEHICLES_NUMBER 0x68
707 
708 // ids of vehicles starting to park (get: simulation)
709 #define VAR_STOP_STARTING_VEHICLES_IDS 0x69
710 
711 // number of vehicles ending to park (get: simulation)
712 #define VAR_STOP_ENDING_VEHICLES_NUMBER 0x6a
713 
714 // ids of vehicles ending to park (get: simulation)
715 #define VAR_STOP_ENDING_VEHICLES_IDS 0x6b
716 
717 // number of vehicles starting to park (get: simulation)
718 #define VAR_PARKING_STARTING_VEHICLES_NUMBER 0x6c
719 
720 // ids of vehicles starting to park (get: simulation)
721 #define VAR_PARKING_STARTING_VEHICLES_IDS 0x6d
722 
723 // number of vehicles ending to park (get: simulation)
724 #define VAR_PARKING_ENDING_VEHICLES_NUMBER 0x6e
725 
726 // ids of vehicles ending to park (get: simulation)
727 #define VAR_PARKING_ENDING_VEHICLES_IDS 0x6f
728 
729 // clears the simulation of all not inserted vehicles (set: simulation)
730 #define CMD_CLEAR_PENDING_VEHICLES 0x94
731 
732 // sets/retrieves abstract parameter
733 #define VAR_PARAMETER 0x7e
734 
735 
736 
737 // add an instance (poi, polygon, vehicle, route)
738 #define ADD 0x80
739 
740 // remove an instance (poi, polygon, vehicle)
741 #define REMOVE 0x81
742 
743 // convert coordinates
744 #define POSITION_CONVERSION 0x82
745 
746 // distance between points or vehicles
747 #define DISTANCE_REQUEST 0x83
748 
749 //the current driving distance
750 #define VAR_DISTANCE 0x84
751 
752 // add a fully specified instance (vehicle)
753 #define ADD_FULL 0x85
754 
755 // force rerouting based on travel time (vehicles)
756 #define CMD_REROUTE_TRAVELTIME 0x90
757 
758 // force rerouting based on effort (vehicles)
759 #define CMD_REROUTE_EFFORT 0x91
760 
761 // validates current route (vehicles)
762 #define VAR_ROUTE_VALID 0x92
763 
764 // retrieve information regarding the current person/container stage
765 #define VAR_STAGE 0xc0
766 
767 // retrieve information regarding the next edge including crossings and walkingAreas (pedestrians only)
768 #define VAR_NEXT_EDGE 0xc1
769 
770 // retrieve the number of stages (person, container)
771 #define VAR_NUM_STAGES 0xc2
772 
773 // zoom
774 #define VAR_VIEW_ZOOM 0xa0
775 
776 // view position
777 #define VAR_VIEW_OFFSET 0xa1
778 
779 // view schema
780 #define VAR_VIEW_SCHEMA 0xa2
781 
782 // view by boundary
783 #define VAR_VIEW_BOUNDARY 0xa3
784 
785 // screenshot
786 #define VAR_SCREENSHOT 0xa5
787 
788 // track vehicle
789 #define VAR_TRACK_VEHICLE 0xa6
790 
791 
792 #endif