SUMO - Simulation of Urban MObility
TraCIConstants.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2007-2018 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
25 // holds codes used for TraCI
26 /****************************************************************************/
27 #ifndef TRACICONSTANTS_H
28 #define TRACICONSTANTS_H
29 
30 // ****************************************
31 // VERSION
32 // ****************************************
33 #define TRACI_VERSION 18
34 
35 // ****************************************
36 // COMMANDS
37 // ****************************************
38 // command: get version
39 #define CMD_GETVERSION 0x00
40 
41 // command: load
42 #define CMD_LOAD 0x01
43 
44 // command: simulation step
45 #define CMD_SIMSTEP 0x02
46 
47 // command: set connection priority (execution order)
48 #define CMD_SETORDER 0x03
49 
50 // command: stop node
51 #define CMD_STOP 0x12
52 
53 // command: reroute to parking area
54 #define CMD_REROUTE_TO_PARKING 0xc2
55 
56 // command: Resume from parking
57 #define CMD_RESUME 0x19
58 
59 // command: set lane
60 #define CMD_CHANGELANE 0x13
61 
62 // command: slow down
63 #define CMD_SLOWDOWN 0x14
64 
65 // command: set sublane (vehicle)
66 #define CMD_CHANGESUBLANE 0x15
67 
68 // command: change target
69 #define CMD_CHANGETARGET 0x31
70 
71 // command: close sumo
72 #define CMD_CLOSE 0x7F
73 
74 // command: add subscription filter
75 #define CMD_ADD_SUBSCRIPTION_FILTER 0x7e
76 
77 
78 // command: subscribe induction loop (e1) context
79 #define CMD_SUBSCRIBE_INDUCTIONLOOP_CONTEXT 0x80
80 // response: subscribe induction loop (e1) context
81 #define RESPONSE_SUBSCRIBE_INDUCTIONLOOP_CONTEXT 0x90
82 // command: get induction loop (e1) variable
83 #define CMD_GET_INDUCTIONLOOP_VARIABLE 0xa0
84 // response: get induction loop (e1) variable
85 #define RESPONSE_GET_INDUCTIONLOOP_VARIABLE 0xb0
86 // command: subscribe induction loop (e1) variable
87 #define CMD_SUBSCRIBE_INDUCTIONLOOP_VARIABLE 0xd0
88 // response: subscribe induction loop (e1) variable
89 #define RESPONSE_SUBSCRIBE_INDUCTIONLOOP_VARIABLE 0xe0
90 
91 // command: subscribe multi-entry/multi-exit detector (e3) context
92 #define CMD_SUBSCRIBE_MULTIENTRYEXIT_CONTEXT 0x81
93 // response: subscribe multi-entry/multi-exit detector (e3) context
94 #define RESPONSE_SUBSCRIBE_MULTIENTRYEXIT_CONTEXT 0x91
95 // command: get multi-entry/multi-exit detector (e3) variable
96 #define CMD_GET_MULTIENTRYEXIT_VARIABLE 0xa1
97 // response: get multi-entry/multi-exit detector (e3) variable
98 #define RESPONSE_GET_MULTIENTRYEXIT_VARIABLE 0xb1
99 // command: subscribe multi-entry/multi-exit detector (e3) variable
100 #define CMD_SUBSCRIBE_MULTIENTRYEXIT_VARIABLE 0xd1
101 // response: subscribe multi-entry/multi-exit detector (e3) variable
102 #define RESPONSE_SUBSCRIBE_MULTIENTRYEXIT_VARIABLE 0xe1
103 
104 // command: subscribe traffic lights context
105 #define CMD_SUBSCRIBE_TL_CONTEXT 0x82
106 // response: subscribe traffic lights context
107 #define RESPONSE_SUBSCRIBE_TL_CONTEXT 0x92
108 // command: get traffic lights variable
109 #define CMD_GET_TL_VARIABLE 0xa2
110 // response: get traffic lights variable
111 #define RESPONSE_GET_TL_VARIABLE 0xb2
112 // command: set traffic lights variable
113 #define CMD_SET_TL_VARIABLE 0xc2
114 // command: subscribe traffic lights variable
115 #define CMD_SUBSCRIBE_TL_VARIABLE 0xd2
116 // response: subscribe traffic lights variable
117 #define RESPONSE_SUBSCRIBE_TL_VARIABLE 0xe2
118 
119 // command: subscribe lane context
120 #define CMD_SUBSCRIBE_LANE_CONTEXT 0x83
121 // response: subscribe lane context
122 #define RESPONSE_SUBSCRIBE_LANE_CONTEXT 0x93
123 // command: get lane variable
124 #define CMD_GET_LANE_VARIABLE 0xa3
125 // response: get lane variable
126 #define RESPONSE_GET_LANE_VARIABLE 0xb3
127 // command: set lane variable
128 #define CMD_SET_LANE_VARIABLE 0xc3
129 // command: subscribe lane variable
130 #define CMD_SUBSCRIBE_LANE_VARIABLE 0xd3
131 // response: subscribe lane variable
132 #define RESPONSE_SUBSCRIBE_LANE_VARIABLE 0xe3
133 
134 // command: subscribe vehicle context
135 #define CMD_SUBSCRIBE_VEHICLE_CONTEXT 0x84
136 // response: subscribe vehicle context
137 #define RESPONSE_SUBSCRIBE_VEHICLE_CONTEXT 0x94
138 // command: get vehicle variable
139 #define CMD_GET_VEHICLE_VARIABLE 0xa4
140 // response: get vehicle variable
141 #define RESPONSE_GET_VEHICLE_VARIABLE 0xb4
142 // command: set vehicle variable
143 #define CMD_SET_VEHICLE_VARIABLE 0xc4
144 // command: subscribe vehicle variable
145 #define CMD_SUBSCRIBE_VEHICLE_VARIABLE 0xd4
146 // response: subscribe vehicle variable
147 #define RESPONSE_SUBSCRIBE_VEHICLE_VARIABLE 0xe4
148 
149 // command: subscribe vehicle type context
150 #define CMD_SUBSCRIBE_VEHICLETYPE_CONTEXT 0x85
151 // response: subscribe vehicle type context
152 #define RESPONSE_SUBSCRIBE_VEHICLETYPE_CONTEXT 0x95
153 // command: get vehicle type variable
154 #define CMD_GET_VEHICLETYPE_VARIABLE 0xa5
155 // response: get vehicle type variable
156 #define RESPONSE_GET_VEHICLETYPE_VARIABLE 0xb5
157 // command: set vehicle type variable
158 #define CMD_SET_VEHICLETYPE_VARIABLE 0xc5
159 // command: subscribe vehicle type variable
160 #define CMD_SUBSCRIBE_VEHICLETYPE_VARIABLE 0xd5
161 // response: subscribe vehicle type variable
162 #define RESPONSE_SUBSCRIBE_VEHICLETYPE_VARIABLE 0xe5
163 
164 // command: subscribe route context
165 #define CMD_SUBSCRIBE_ROUTE_CONTEXT 0x86
166 // response: subscribe route context
167 #define RESPONSE_SUBSCRIBE_ROUTE_CONTEXT 0x96
168 // command: get route variable
169 #define CMD_GET_ROUTE_VARIABLE 0xa6
170 // response: get route variable
171 #define RESPONSE_GET_ROUTE_VARIABLE 0xb6
172 // command: set route variable
173 #define CMD_SET_ROUTE_VARIABLE 0xc6
174 // command: subscribe route variable
175 #define CMD_SUBSCRIBE_ROUTE_VARIABLE 0xd6
176 // response: subscribe route variable
177 #define RESPONSE_SUBSCRIBE_ROUTE_VARIABLE 0xe6
178 
179 // command: subscribe poi context
180 #define CMD_SUBSCRIBE_POI_CONTEXT 0x87
181 // response: subscribe poi context
182 #define RESPONSE_SUBSCRIBE_POI_CONTEXT 0x97
183 // command: get poi variable
184 #define CMD_GET_POI_VARIABLE 0xa7
185 // response: get poi variable
186 #define RESPONSE_GET_POI_VARIABLE 0xb7
187 // command: set poi variable
188 #define CMD_SET_POI_VARIABLE 0xc7
189 // command: subscribe poi variable
190 #define CMD_SUBSCRIBE_POI_VARIABLE 0xd7
191 // response: subscribe poi variable
192 #define RESPONSE_SUBSCRIBE_POI_VARIABLE 0xe7
193 
194 // command: subscribe polygon context
195 #define CMD_SUBSCRIBE_POLYGON_CONTEXT 0x88
196 // response: subscribe polygon context
197 #define RESPONSE_SUBSCRIBE_POLYGON_CONTEXT 0x98
198 // command: get polygon variable
199 #define CMD_GET_POLYGON_VARIABLE 0xa8
200 // response: get polygon variable
201 #define RESPONSE_GET_POLYGON_VARIABLE 0xb8
202 // command: set polygon variable
203 #define CMD_SET_POLYGON_VARIABLE 0xc8
204 // command: subscribe polygon variable
205 #define CMD_SUBSCRIBE_POLYGON_VARIABLE 0xd8
206 // response: subscribe polygon variable
207 #define RESPONSE_SUBSCRIBE_POLYGON_VARIABLE 0xe8
208 
209 // command: subscribe junction context
210 #define CMD_SUBSCRIBE_JUNCTION_CONTEXT 0x89
211 // response: subscribe junction context
212 #define RESPONSE_SUBSCRIBE_JUNCTION_CONTEXT 0x99
213 // command: get junction variable
214 #define CMD_GET_JUNCTION_VARIABLE 0xa9
215 // response: get junction variable
216 #define RESPONSE_GET_JUNCTION_VARIABLE 0xb9
217 // command: set junction variable
218 #define CMD_SET_JUNCTION_VARIABLE 0xc9
219 // command: subscribe junction variable
220 #define CMD_SUBSCRIBE_JUNCTION_VARIABLE 0xd9
221 // response: subscribe junction variable
222 #define RESPONSE_SUBSCRIBE_JUNCTION_VARIABLE 0xe9
223 
224 // command: subscribe edge context
225 #define CMD_SUBSCRIBE_EDGE_CONTEXT 0x8a
226 // response: subscribe edge context
227 #define RESPONSE_SUBSCRIBE_EDGE_CONTEXT 0x9a
228 // command: get edge variable
229 #define CMD_GET_EDGE_VARIABLE 0xaa
230 // response: get edge variable
231 #define RESPONSE_GET_EDGE_VARIABLE 0xba
232 // command: set edge variable
233 #define CMD_SET_EDGE_VARIABLE 0xca
234 // command: subscribe edge variable
235 #define CMD_SUBSCRIBE_EDGE_VARIABLE 0xda
236 // response: subscribe edge variable
237 #define RESPONSE_SUBSCRIBE_EDGE_VARIABLE 0xea
238 
239 // command: subscribe simulation context
240 #define CMD_SUBSCRIBE_SIM_CONTEXT 0x8b
241 // response: subscribe simulation context
242 #define RESPONSE_SUBSCRIBE_SIM_CONTEXT 0x9b
243 // command: get simulation variable
244 #define CMD_GET_SIM_VARIABLE 0xab
245 // response: get simulation variable
246 #define RESPONSE_GET_SIM_VARIABLE 0xbb
247 // command: set simulation variable
248 #define CMD_SET_SIM_VARIABLE 0xcb
249 // command: subscribe simulation variable
250 #define CMD_SUBSCRIBE_SIM_VARIABLE 0xdb
251 // response: subscribe simulation variable
252 #define RESPONSE_SUBSCRIBE_SIM_VARIABLE 0xeb
253 
254 // command: subscribe GUI context
255 #define CMD_SUBSCRIBE_GUI_CONTEXT 0x8c
256 // response: subscribe GUI context
257 #define RESPONSE_SUBSCRIBE_GUI_CONTEXT 0x9c
258 // command: get GUI variable
259 #define CMD_GET_GUI_VARIABLE 0xac
260 // response: get GUI variable
261 #define RESPONSE_GET_GUI_VARIABLE 0xbc
262 // command: set GUI variable
263 #define CMD_SET_GUI_VARIABLE 0xcc
264 // command: subscribe GUI variable
265 #define CMD_SUBSCRIBE_GUI_VARIABLE 0xdc
266 // response: subscribe GUI variable
267 #define RESPONSE_SUBSCRIBE_GUI_VARIABLE 0xec
268 
269 // command: subscribe areal detector (e2) context
270 #define CMD_SUBSCRIBE_LANEAREA_CONTEXT 0x8d
271 // response: subscribe areal detector (e2) context
272 #define RESPONSE_SUBSCRIBE_LANEAREA_CONTEXT 0x9d
273 // command: get areal detector (e2) variable
274 #define CMD_GET_LANEAREA_VARIABLE 0xad
275 // response: get areal detector (e2) variable
276 #define RESPONSE_GET_LANEAREA_VARIABLE 0xbd
277 // command: subscribe areal detector (e2) variable
278 #define CMD_SUBSCRIBE_LANEAREA_VARIABLE 0xdd
279 // response: subscribe areal detector (e2) variable
280 #define RESPONSE_SUBSCRIBE_LANEAREA_VARIABLE 0xed
281 
282 // command: subscribe person context
283 #define CMD_SUBSCRIBE_PERSON_CONTEXT 0x8e
284 // response: subscribe person context
285 #define RESPONSE_SUBSCRIBE_PERSON_CONTEXT 0x9e
286 // command: get person variable
287 #define CMD_GET_PERSON_VARIABLE 0xae
288 // response: get person variable
289 #define RESPONSE_GET_PERSON_VARIABLE 0xbe
290 // command: set person variable
291 #define CMD_SET_PERSON_VARIABLE 0xce
292 // command: subscribe person variable
293 #define CMD_SUBSCRIBE_PERSON_VARIABLE 0xde
294 // response: subscribe person variable
295 #define RESPONSE_SUBSCRIBE_PERSON_VARIABLE 0xee
296 
297 
298 // ****************************************
299 // POSITION REPRESENTATIONS
300 // ****************************************
301 // Position in geo-coordinates
302 #define POSITION_LON_LAT 0x00
303 // 2D cartesian coordinates
304 #define POSITION_2D 0x01
305 // Position in geo-coordinates with altitude
306 #define POSITION_LON_LAT_ALT 0x02
307 // 3D cartesian coordinates
308 #define POSITION_3D 0x03
309 // Position on road map
310 #define POSITION_ROADMAP 0x04
311 
312 
313 // ****************************************
314 // DATA TYPES
315 // ****************************************
316 // Polygon (2*n doubles)
317 #define TYPE_POLYGON 0x06
318 // unsigned byte
319 #define TYPE_UBYTE 0x07
320 // signed byte
321 #define TYPE_BYTE 0x08
322 // 32 bit signed integer
323 #define TYPE_INTEGER 0x09
324 // double
325 #define TYPE_DOUBLE 0x0B
326 // 8 bit ASCII string
327 #define TYPE_STRING 0x0C
328 // list of traffic light phases
329 #define TYPE_TLPHASELIST 0x0D
330 // list of strings
331 #define TYPE_STRINGLIST 0x0E
332 // compound object
333 #define TYPE_COMPOUND 0x0F
334 // color (four ubytes)
335 #define TYPE_COLOR 0x11
336 
337 
338 // ****************************************
339 // RESULT TYPES
340 // ****************************************
341 // result type: Ok
342 #define RTYPE_OK 0x00
343 // result type: not implemented
344 #define RTYPE_NOTIMPLEMENTED 0x01
345 // result type: error
346 #define RTYPE_ERR 0xFF
347 
348 // return value for invalid queries (especially vehicle is not on the road), see Position::INVALID
349 #define INVALID_DOUBLE_VALUE -1073741824.
350 // return value for invalid queries (especially vehicle is not on the road), see Position::INVALID
351 #define INVALID_INT_VALUE -1073741824
352 // maximum value for client ordering (2 ^ 30)
353 #define MAX_ORDER 1073741824
354 
355 // ****************************************
356 // TRAFFIC LIGHT PHASES
357 // ****************************************
358 // red phase
359 #define TLPHASE_RED 0x01
360 // yellow phase
361 #define TLPHASE_YELLOW 0x02
362 // green phase
363 #define TLPHASE_GREEN 0x03
364 // tl is blinking
365 #define TLPHASE_BLINKING 0x04
366 // tl is off and not blinking
367 #define TLPHASE_NOSIGNAL 0x05
368 
369 
370 // ****************************************
371 // DIFFERENT DISTANCE REQUESTS
372 // ****************************************
373 // air distance
374 #define REQUEST_AIRDIST 0x00
375 // driving distance
376 #define REQUEST_DRIVINGDIST 0x01
377 
378 
379 // ****************************************
380 // VEHICLE REMOVAL REASONS
381 // ****************************************
382 // vehicle started teleport
383 #define REMOVE_TELEPORT 0x00
384 // vehicle removed while parking
385 #define REMOVE_PARKING 0x01
386 // vehicle arrived
387 #define REMOVE_ARRIVED 0x02
388 // vehicle was vaporized
389 #define REMOVE_VAPORIZED 0x03
390 // vehicle finished route during teleport
391 #define REMOVE_TELEPORT_ARRIVED 0x04
392 
393 // ****************************************
394 // PERSON/CONTAINER STAGES
395 // ****************************************
396 // person / container stopping
397 #define STAGE_WAITING_FOR_DEPART 0x00
398 // person / container stopping
399 #define STAGE_WAITING 0x01
400 // person walking / container transhiping
401 #define STAGE_WALKING 0x02
402 // person riding / container being transported
403 #define STAGE_DRIVING 0x03
404 
405 // ****************************************
406 // Stop Flags
407 // ****************************************
408 #define STOP_DEFAULT 0x00
409 #define STOP_PARKING 0x01
410 #define STOP_TRIGGERED 0x02
411 #define STOP_CONTAINER_TRIGGERED 0x04
412 #define STOP_BUS_STOP 0x08
413 #define STOP_CONTAINER_STOP 0x10
414 #define STOP_CHARGING_STATION 0x20
415 #define STOP_PARKING_AREA 0x40
416 
417 // ****************************************
418 // Departure Flags
419 // ****************************************
420 #define DEPARTFLAG_TRIGGERED -0x01
421 #define DEPARTFLAG_CONTAINER_TRIGGERED -0x02
422 #define DEPARTFLAG_NOW -0x03
423 
424 #define DEPARTFLAG_SPEED_RANDOM -0x02
425 #define DEPARTFLAG_SPEED_MAX -0x03
426 
427 #define DEPARTFLAG_LANE_RANDOM -0x02
428 #define DEPARTFLAG_LANE_FREE -0x03
429 #define DEPARTFLAG_LANE_ALLOWED_FREE -0x04
430 #define DEPARTFLAG_LANE_BEST_FREE -0x05
431 #define DEPARTFLAG_LANE_FIRST_ALLOWED -0x06
432 
433 #define DEPARTFLAG_POS_RANDOM -0x02
434 #define DEPARTFLAG_POS_FREE -0x03
435 #define DEPARTFLAG_POS_BASE -0x04
436 #define DEPARTFLAG_POS_LAST -0x05
437 #define DEPARTFLAG_POS_RANDOM_FREE -0x06
438 
439 #define ARRIVALFLAG_LANE_CURRENT -0x02
440 #define ARRIVALFLAG_SPEED_CURRENT -0x02
441 
442 #define ARRIVALFLAG_POS_RANDOM -0x02
443 #define ARRIVALFLAG_POS_MAX -0x03
444 
445 // ****************************************
446 // Routing modes
447 // ****************************************
448 // use custom weights if available, fall back to loaded weights and then to free-flow speed
449 #define ROUTING_MODE_DEFAULT 0x00
450 // use aggregated travel times from device.rerouting
451 #define ROUTING_MODE_AGGREGATED 0x01
452 // use loaded efforts
453 #define ROUTING_MODE_EFFORT 0x02
454 // use combined costs
455 #define ROUTING_MODE_COMBINED 0x03
456 
457 // ****************************************
458 // FILTER TYPES (for context subscription filters)
459 // ****************************************
460 
461 // Reset all filters
462 #define FILTER_TYPE_NONE 0x00
463 
464 // Filter by list of lanes relative to ego vehicle
465 #define FILTER_TYPE_LANES 0x01
466 
467 // Exclude vehicles on opposite (and other) lanes from context subscription result
468 #define FILTER_TYPE_NOOPPOSITE 0x02
469 
470 // Specify maximal downstream distance for vehicles in context subscription result
471 #define FILTER_TYPE_DOWNSTREAM_DIST 0x03
472 
473 // Specify maximal upstream distance for vehicles in context subscription result
474 #define FILTER_TYPE_UPSTREAM_DIST 0x04
475 
476 // Only return leader and follower in context subscription result
477 #define FILTER_TYPE_CF_MANEUVER 0x05
478 
479 // Only return leader and follower on ego and neighboring lane in context subscription result
480 #define FILTER_TYPE_LC_MANEUVER 0x06
481 
482 // Only return foes on upcoming junction in context subscription result
483 #define FILTER_TYPE_TURN_MANEUVER 0x07
484 
485 // Only return vehicles of the given vClass in context subscription result
486 #define FILTER_TYPE_VCLASS 0x08
487 
488 // Only return vehicles of the given vType in context subscription result
489 #define FILTER_TYPE_VTYPE 0x09
490 
491 
492 
493 
494 
495 // ****************************************
496 // VARIABLE TYPES (for CMD_GET_*_VARIABLE)
497 // ****************************************
498 // list of instances' ids (get: all)
499 #define ID_LIST 0x00
500 
501 // count of instances (get: all)
502 #define ID_COUNT 0x01
503 
504 // subscribe object variables (get: all)
505 #define AUTOMATIC_VARIABLES_SUBSCRIPTION 0x02
506 
507 // subscribe context variables (get: all)
508 #define AUTOMATIC_CONTEXT_SUBSCRIPTION 0x03
509 
510 // generic attributes (get/set: all)
511 #define GENERIC_ATTRIBUTE 0x03
512 
513 // last step vehicle number (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
514 #define LAST_STEP_VEHICLE_NUMBER 0x10
515 
516 // last step vehicle number (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
517 #define LAST_STEP_MEAN_SPEED 0x11
518 
519 // last step vehicle list (get: induction loops, multi-entry/multi-exit detector, lanes, edges)
520 #define LAST_STEP_VEHICLE_ID_LIST 0x12
521 
522 // last step occupancy (get: induction loops, lanes, edges)
523 #define LAST_STEP_OCCUPANCY 0x13
524 
525 // last step vehicle halting number (get: multi-entry/multi-exit detector, lanes, edges)
526 #define LAST_STEP_VEHICLE_HALTING_NUMBER 0x14
527 
528 // last step mean vehicle length (get: induction loops, lanes, edges)
529 #define LAST_STEP_LENGTH 0x15
530 
531 // last step time since last detection (get: induction loops)
532 #define LAST_STEP_TIME_SINCE_DETECTION 0x16
533 
534 // entry times
535 #define LAST_STEP_VEHICLE_DATA 0x17
536 
537 // last step jam length in vehicles
538 #define JAM_LENGTH_VEHICLE 0x18
539 
540 // last step jam length in meters
541 #define JAM_LENGTH_METERS 0x19
542 
543 // last step person list (get: edges, vehicles)
544 #define LAST_STEP_PERSON_ID_LIST 0x1a
545 
546 // full name (get: edges, simulation)
547 #define VAR_NAME 0x1b
548 
549 // traffic light states, encoded as rRgGyYoO tuple (get: traffic lights)
550 #define TL_RED_YELLOW_GREEN_STATE 0x20
551 
552 // index of the phase (set: traffic lights)
553 #define TL_PHASE_INDEX 0x22
554 
555 // traffic light program (set: traffic lights)
556 #define TL_PROGRAM 0x23
557 
558 // phase duration (set: traffic lights)
559 #define TL_PHASE_DURATION 0x24
560 
561 // controlled lanes (get: traffic lights)
562 #define TL_CONTROLLED_LANES 0x26
563 
564 // controlled links (get: traffic lights)
565 #define TL_CONTROLLED_LINKS 0x27
566 
567 // index of the current phase (get: traffic lights)
568 #define TL_CURRENT_PHASE 0x28
569 
570 // name of the current program (get: traffic lights)
571 #define TL_CURRENT_PROGRAM 0x29
572 
573 // controlled junctions (get: traffic lights)
574 #define TL_CONTROLLED_JUNCTIONS 0x2a
575 
576 // complete definition (get: traffic lights)
577 #define TL_COMPLETE_DEFINITION_RYG 0x2b
578 
579 // complete program (set: traffic lights)
580 #define TL_COMPLETE_PROGRAM_RYG 0x2c
581 
582 // assumed time to next switch (get: traffic lights)
583 #define TL_NEXT_SWITCH 0x2d
584 
585 // current state, using external signal names (get: traffic lights)
586 #define TL_EXTERNAL_STATE 0x2e
587 
588 // outgoing link number (get: lanes)
589 #define LANE_LINK_NUMBER 0x30
590 
591 // id of parent edge (get: lanes)
592 #define LANE_EDGE_ID 0x31
593 
594 // outgoing link definitions (get: lanes)
595 #define LANE_LINKS 0x33
596 
597 // list of allowed vehicle classes (get&set: lanes)
598 #define LANE_ALLOWED 0x34
599 
600 // list of not allowed vehicle classes (get&set: lanes)
601 #define LANE_DISALLOWED 0x35
602 
603 // list of foe lanes (get: lanes)
604 #define VAR_FOES 0x37
605 
606 // slope (get: edge, lane, vehicle, person)
607 #define VAR_SLOPE 0x36
608 
609 // speed (get: vehicle)
610 #define VAR_SPEED 0x40
611 
612 // maximum allowed/possible speed (get: vehicle types, lanes, set: edges, lanes)
613 #define VAR_MAXSPEED 0x41
614 
615 // position (2D) (get: vehicle, poi, inductionloop, areadetector; set: poi)
616 #define VAR_POSITION 0x42
617 
618 // position (3D) (get: vehicle, poi, set: poi)
619 #define VAR_POSITION3D 0x39
620 
621 // angle (get: vehicle)
622 #define VAR_ANGLE 0x43
623 
624 // angle (get: vehicle types, lanes, arealdetector, set: lanes)
625 #define VAR_LENGTH 0x44
626 
627 // color (get: vehicles, vehicle types, polygons, pois)
628 #define VAR_COLOR 0x45
629 
630 // max. acceleration (get: vehicles, vehicle types)
631 #define VAR_ACCEL 0x46
632 
633 // max. comfortable deceleration (get: vehicles, vehicle types)
634 #define VAR_DECEL 0x47
635 
636 // max. (physically possible) deceleration (get: vehicles, vehicle types)
637 #define VAR_EMERGENCY_DECEL 0x7b
638 
639 // apparent deceleration (get: vehicles, vehicle types)
640 #define VAR_APPARENT_DECEL 0x7c
641 
642 // action step length (get: vehicles, vehicle types)
643 #define VAR_ACTIONSTEPLENGTH 0x7d
644 
645 // last action time (get: vehicles)
646 #define VAR_LASTACTIONTIME 0x7f
647 
648 // driver's desired headway (get: vehicle types)
649 #define VAR_TAU 0x48
650 
651 // vehicle class (get: vehicle types)
652 #define VAR_VEHICLECLASS 0x49
653 
654 // emission class (get: vehicle types)
655 #define VAR_EMISSIONCLASS 0x4a
656 
657 // shape class (get: vehicle types)
658 #define VAR_SHAPECLASS 0x4b
659 
660 // minimum gap (get: vehicle types)
661 #define VAR_MINGAP 0x4c
662 
663 // width (get: vehicle types, lanes)
664 #define VAR_WIDTH 0x4d
665 
666 // shape (get: polygons)
667 #define VAR_SHAPE 0x4e
668 
669 // type id (get: vehicles, polygons, pois)
670 #define VAR_TYPE 0x4f
671 
672 // road id (get: vehicles)
673 #define VAR_ROAD_ID 0x50
674 
675 // lane id (get: vehicles, inductionloop, arealdetector)
676 #define VAR_LANE_ID 0x51
677 
678 // lane index (get: vehicle, edge)
679 #define VAR_LANE_INDEX 0x52
680 
681 // route id (get & set: vehicles)
682 #define VAR_ROUTE_ID 0x53
683 
684 // edges (get: routes, vehicles)
685 #define VAR_EDGES 0x54
686 
687 // update bestLanes (set: vehicle)
688 #define VAR_UPDATE_BESTLANES 0x6a
689 
690 // filled? (get: polygons)
691 #define VAR_FILL 0x55
692 
693 // position (1D along lane) (get: vehicle)
694 #define VAR_LANEPOSITION 0x56
695 
696 // route (set: vehicles)
697 #define VAR_ROUTE 0x57
698 
699 // travel time information (get&set: vehicle)
700 #define VAR_EDGE_TRAVELTIME 0x58
701 
702 // effort information (get&set: vehicle)
703 #define VAR_EDGE_EFFORT 0x59
704 
705 // last step travel time (get: edge, lane)
706 #define VAR_CURRENT_TRAVELTIME 0x5a
707 
708 // signals state (get/set: vehicle)
709 #define VAR_SIGNALS 0x5b
710 
711 // new lane/position along (set: vehicle)
712 #define VAR_MOVE_TO 0x5c
713 
714 // driver imperfection (set: vehicle)
715 #define VAR_IMPERFECTION 0x5d
716 
717 // speed factor (set: vehicle)
718 #define VAR_SPEED_FACTOR 0x5e
719 
720 // speed deviation (set: vehicle)
721 #define VAR_SPEED_DEVIATION 0x5f
722 
723 // routing mode (get/set: vehicle)
724 #define VAR_ROUTING_MODE 0x89
725 
726 // speed without TraCI influence (get: vehicle)
727 #define VAR_SPEED_WITHOUT_TRACI 0xb1
728 
729 // best lanes (get: vehicle)
730 #define VAR_BEST_LANES 0xb2
731 
732 // how speed is set (set: vehicle)
733 #define VAR_SPEEDSETMODE 0xb3
734 
735 // move vehicle to explicit (remote controlled) position (set: vehicle)
736 #define MOVE_TO_XY 0xb4
737 
738 // is the vehicle stopped, and if so parked and/or triggered?
739 // value = stopped + 2 * parking + 4 * triggered
740 #define VAR_STOPSTATE 0xb5
741 
742 // how lane changing is performed (get/set: vehicle)
743 #define VAR_LANECHANGE_MODE 0xb6
744 
745 // maximum speed regarding max speed on the current lane and speed factor (get: vehicle)
746 #define VAR_ALLOWED_SPEED 0xb7
747 
748 // position (1D lateral position relative to center of the current lane) (get: vehicle)
749 #define VAR_LANEPOSITION_LAT 0xb8
750 
751 // get/set prefered lateral alignment within the lane (vehicle)
752 #define VAR_LATALIGNMENT 0xb9
753 
754 // get/set maximum lateral speed (vehicle, vtypes)
755 #define VAR_MAXSPEED_LAT 0xba
756 
757 // get/set minimum lateral gap (vehicle, vtypes)
758 #define VAR_MINGAP_LAT 0xbb
759 
760 // get/set vehicle height (vehicle, vtypes)
761 #define VAR_HEIGHT 0xbc
762 
763 // get/set vehicle line
764 #define VAR_LINE 0xbd
765 
766 // get/set vehicle via
767 #define VAR_VIA 0xbe
768 
769 // current CO2 emission of a node (get: vehicle, lane, edge)
770 #define VAR_CO2EMISSION 0x60
771 
772 // current CO emission of a node (get: vehicle, lane, edge)
773 #define VAR_COEMISSION 0x61
774 
775 // current HC emission of a node (get: vehicle, lane, edge)
776 #define VAR_HCEMISSION 0x62
777 
778 // current PMx emission of a node (get: vehicle, lane, edge)
779 #define VAR_PMXEMISSION 0x63
780 
781 // current NOx emission of a node (get: vehicle, lane, edge)
782 #define VAR_NOXEMISSION 0x64
783 
784 // current fuel consumption of a node (get: vehicle, lane, edge)
785 #define VAR_FUELCONSUMPTION 0x65
786 
787 // current noise emission of a node (get: vehicle, lane, edge)
788 #define VAR_NOISEEMISSION 0x66
789 
790 // current person number (get: vehicle)
791 #define VAR_PERSON_NUMBER 0x67
792 
793 // number of persons waiting at a defined bus stop (get: simulation)
794 #define VAR_BUS_STOP_WAITING 0x67
795 
796 // current leader together with gap (get: vehicle)
797 #define VAR_LEADER 0x68
798 
799 // edge index in current route (get: vehicle)
800 #define VAR_ROUTE_INDEX 0x69
801 
802 // current waiting time (get: vehicle, lane)
803 #define VAR_WAITING_TIME 0x7a
804 
805 // current waiting time (get: vehicle)
806 #define VAR_ACCUMULATED_WAITING_TIME 0x87
807 
808 // upcoming traffic lights (get: vehicle)
809 #define VAR_NEXT_TLS 0x70
810 
811 // upcoming stops (get: vehicle)
812 #define VAR_NEXT_STOPS 0x73
813 
814 // current acceleration (get: vehicle)
815 #define VAR_ACCELERATION 0x72
816 
817 // current time in seconds (get: simulation)
818 #define VAR_TIME 0x66
819 
820 // current time step (get: simulation)
821 #define VAR_TIME_STEP 0x70
822 
823 // current electricity consumption of a node (get: vehicle, lane, edge)
824 #define VAR_ELECTRICITYCONSUMPTION 0x71
825 
826 // number of loaded vehicles (get: simulation)
827 #define VAR_LOADED_VEHICLES_NUMBER 0x71
828 
829 // loaded vehicle ids (get: simulation)
830 #define VAR_LOADED_VEHICLES_IDS 0x72
831 
832 // number of departed vehicle (get: simulation)
833 #define VAR_DEPARTED_VEHICLES_NUMBER 0x73
834 
835 // departed vehicle ids (get: simulation)
836 #define VAR_DEPARTED_VEHICLES_IDS 0x74
837 
838 // number of vehicles starting to teleport (get: simulation)
839 #define VAR_TELEPORT_STARTING_VEHICLES_NUMBER 0x75
840 
841 // ids of vehicles starting to teleport (get: simulation)
842 #define VAR_TELEPORT_STARTING_VEHICLES_IDS 0x76
843 
844 // number of vehicles ending to teleport (get: simulation)
845 #define VAR_TELEPORT_ENDING_VEHICLES_NUMBER 0x77
846 
847 // ids of vehicles ending to teleport (get: simulation)
848 #define VAR_TELEPORT_ENDING_VEHICLES_IDS 0x78
849 
850 // number of arrived vehicles (get: simulation)
851 #define VAR_ARRIVED_VEHICLES_NUMBER 0x79
852 
853 // ids of arrived vehicles (get: simulation)
854 #define VAR_ARRIVED_VEHICLES_IDS 0x7a
855 
856 // delta t (get: simulation)
857 #define VAR_DELTA_T 0x7b
858 
859 // bounding box (get: simulation)
860 #define VAR_NET_BOUNDING_BOX 0x7c
861 
862 // minimum number of expected vehicles (get: simulation)
863 #define VAR_MIN_EXPECTED_VEHICLES 0x7d
864 
865 // number of vehicles starting to park (get: simulation)
866 #define VAR_STOP_STARTING_VEHICLES_NUMBER 0x68
867 
868 // ids of vehicles starting to park (get: simulation)
869 #define VAR_STOP_STARTING_VEHICLES_IDS 0x69
870 
871 // number of vehicles ending to park (get: simulation)
872 #define VAR_STOP_ENDING_VEHICLES_NUMBER 0x6a
873 
874 // ids of vehicles ending to park (get: simulation)
875 #define VAR_STOP_ENDING_VEHICLES_IDS 0x6b
876 
877 // number of vehicles starting to park (get: simulation)
878 #define VAR_PARKING_STARTING_VEHICLES_NUMBER 0x6c
879 
880 // ids of vehicles starting to park (get: simulation)
881 #define VAR_PARKING_STARTING_VEHICLES_IDS 0x6d
882 
883 // number of vehicles ending to park (get: simulation)
884 #define VAR_PARKING_ENDING_VEHICLES_NUMBER 0x6e
885 
886 // ids of vehicles ending to park (get: simulation)
887 #define VAR_PARKING_ENDING_VEHICLES_IDS 0x6f
888 
889 // number of vehicles involved in a collision (get: simulation)
890 #define VAR_COLLIDING_VEHICLES_NUMBER 0x80
891 
892 // ids of vehicles involved in a collision (get: simulation)
893 #define VAR_COLLIDING_VEHICLES_IDS 0x81
894 
895 // number of vehicles involved in a collision (get: simulation)
896 #define VAR_EMERGENCYSTOPPING_VEHICLES_NUMBER 0x89
897 
898 // ids of vehicles involved in a collision (get: simulation)
899 #define VAR_EMERGENCYSTOPPING_VEHICLES_IDS 0x8a
900 
901 // clears the simulation of all not inserted vehicles (set: simulation)
902 #define CMD_CLEAR_PENDING_VEHICLES 0x94
903 
904 // triggers saving simulation state (set: simulation)
905 #define CMD_SAVE_SIMSTATE 0x95
906 
907 // sets/retrieves abstract parameter
908 #define VAR_PARAMETER 0x7e
909 
910 
911 // add an instance (poi, polygon, vehicle, person, route)
912 #define ADD 0x80
913 
914 // remove an instance (poi, polygon, vehicle, person)
915 #define REMOVE 0x81
916 
917 // copy an instance (vehicle type, other TBD.)
918 #define COPY 0x88
919 
920 // convert coordinates
921 #define POSITION_CONVERSION 0x82
922 
923 // distance between points or vehicles
924 #define DISTANCE_REQUEST 0x83
925 
926 // the current driving distance
927 #define VAR_DISTANCE 0x84
928 
929 // add a fully specified instance (vehicle)
930 #define ADD_FULL 0x85
931 
932 // find a car based route
933 #define FIND_ROUTE 0x86
934 
935 // find an intermodal route
936 #define FIND_INTERMODAL_ROUTE 0x87
937 
938 // force rerouting based on travel time (vehicles)
939 #define CMD_REROUTE_TRAVELTIME 0x90
940 
941 // force rerouting based on effort (vehicles)
942 #define CMD_REROUTE_EFFORT 0x91
943 
944 // validates current route (vehicles)
945 #define VAR_ROUTE_VALID 0x92
946 
947 // retrieve information regarding the current person/container stage
948 #define VAR_STAGE 0xc0
949 
950 // retrieve information regarding the next edge including crossings and walkingAreas (pedestrians only)
951 #define VAR_NEXT_EDGE 0xc1
952 
953 // retrieve information regarding the number of remaining stages
954 #define VAR_STAGES_REMAINING 0xc2
955 
956 // retrieve the current vehicle id for the driving stage (person, container)
957 #define VAR_VEHICLE 0xc3
958 
959 // append a person stage (person)
960 #define APPEND_STAGE 0xc4
961 
962 // append a person stage (person)
963 #define REMOVE_STAGE 0xc5
964 
965 // zoom
966 #define VAR_VIEW_ZOOM 0xa0
967 
968 // view position
969 #define VAR_VIEW_OFFSET 0xa1
970 
971 // view schema
972 #define VAR_VIEW_SCHEMA 0xa2
973 
974 // view by boundary
975 #define VAR_VIEW_BOUNDARY 0xa3
976 
977 // screenshot
978 #define VAR_SCREENSHOT 0xa5
979 
980 // track vehicle
981 #define VAR_TRACK_VEHICLE 0xa6
982 
983 // presence of view
984 #define VAR_HAS_VIEW 0xa7
985 
986 
987 #endif