Errors:
- collision_error
- -1: no error
- other values: a single track with multiple trains
- train_speed_mismatch_error[NUM_TRAINS]
- -1: no error
- 1: the front and rear wagon have different speeds
- train_point_changed_error[NUM_TRAINS]
- indicates, that a point was changed while the train was standing on it,
i.e., the front passed the point, but the rear not yet. - -1: no error
- other values: the point that has the error
- indicates, that a point was changed while the train was standing on it,
- wagon_error_message[NUM_TRAINS][2]
- -1: no error
- 1: point not set correctly
- 2: wagon uses wrong direction on KH_LN_2 or KH_LN_7, because the corresponding point was set wrongly
- 3: wagon position under min of track (indicates a mistake in the environment)
- 4: wagon position over max of track (indicates a mistake in the environment)
- 5: diamond point set to send a train backwards through IC or OC. May cause further unexpected behavior
- wagon_error_pos[NUM_TRAINS][2]
- NOTE: The meaning depends on wagon_error_message.
- if wagon_error_message is 0
- this error can be ignored
- if wagon_error_message is 1, 2 or 25
- the point on which the error occurs
- if wagon_error_message is 3 or 4
- the track on which the error occurs
...
track_contacts: int[NUM_TRACKS][2]
0: no signal
1: forwards
2: backwards
3: uni
cross_contacts: int[NUM_CONTACTS]
0: no signal
1: closing
2: opening
...
track_speeds: int[NUM_TRACKS]
0: off
1 to 127: forward speed
-1 to -127: backward speed
signals: int[NUM_TRACKS][2]
0: off
1: red
2: yellow
3: green
lamps: bool[NUM_LAMPS]
true: on
false: off
cross_light: int
0: off
1: red
2: yellow
bell: bool
true: on
false: off
points: bool[NUM_POINTS]
true: branch
false: straight
gate: bool
true: down
false: up
reached: bool[NUM_TRAINS]
index: train number
value: true: destination reached; false: destination not yet reached
...