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