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