Changes for page Documentation

Last modified by Soeren Domroes on 2025/01/30 12:05

From version 4.1
edited by nbw
on 2014/06/14 21:37
Change comment: There is no comment for this version
To version 12.1
edited by sna
on 2014/06/17 23:48
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.nbw
1 +XWiki.sna
Content
... ... @@ -1,5 +1,10 @@
1 -== Train numbering ==
1 +== Trains ==
2 2  
3 +Each train has a trainnumber. The trainnumber is for prioritization, when multiple trains compete for the same track. Lower numbers mean higher priorities, e.g. train 0 has the highest priority. Priorities can't be changed dynamicly.
4 +Each train has one home-track at each station.
5 +
6 +=== Train numbering ===
7 +
3 3  Variable **trainNum** is used to identify trains.
4 4  
5 5  The assignment of numbers to trains is chosen as followed
... ... @@ -72,3 +72,76 @@
72 72  Prefix of all log messages must be :** [trainnum][ST-ST]**
73 73  
74 74  Use **println** function to produce textual output. Do not use printf or other io functions, because output may not be flushed correctly.
80 +
81 +== Tracks ==
82 +
83 +Stopping on tracks without contacts is permitted. Therefore they must be reserved and used with an adjacent track.
84 +Each station has one drive-through track for each possible direction:
85 +
86 +|=(((
87 +station
88 +)))|=(((
89 +drive-through track
90 +)))
91 +|(((
92 +IC_station
93 +)))|(((
94 +IC_ST_1
95 +)))
96 +|(((
97 +OC_station
98 +)))|(((
99 +OC_ST_3
100 +)))
101 +|(((
102 +KH_station
103 +)))|(((
104 +KH_ST_5
105 +)))
106 +|(% colspan="1" %)(% colspan="1" %)
107 +(((
108 +KH_station(r)
109 +)))|(% colspan="1" %)(% colspan="1" %)
110 +(((
111 +KH_ST_1
112 +)))
113 +
114 +=== Station-to-Station ===
115 +
116 +Fuctions **void railArrival(int train, int station)** and **int railDeparture(int train)** should be used at the end of every Station-to-Station-Controller.
117 +
118 +At the end of every Station-to-Station-Controller the trains should stand in one station, because every controller starts with the train in standstill.
119 +
120 +=== TrainController ===
121 +
122 +Train-Schedules should be modelled by putting together the Station-to-Station-Controllers for every train in individual regions.
123 +
124 +=== Speed: ===
125 +
126 +* SLOW: for the stations
127 +* CAUTION: for points and slowdown
128 +* NORMAL: for the other tracks
129 +
130 +== Codestyle ==
131 +
132 +Use entry-/exit-actions instead of actions on transitions, if possible.
133 +If using hostcode, only use functions delivered by our own C-Interface and not the Höhrmann-API.
134 +
135 +== Mutual Exclusion ==
136 +
137 +bool <track>_req[<trainAmount>] contains the requests for each track and train. Before the availability of arrays, we used bool <train>_<track>_req.
138 +int <track>_perm contains the trainnumber of the train, who is allowed to drive on <track>.
139 +
140 +== Quit, Pause and Cleanup ==
141 +
142 +Quit, pause and cleanup functionality is handled in the c interface.
143 +
144 +**CTRL+C** (SIGINT)** **quits the controller
145 +
146 +**CTRL+\** (SIGQUIT)** **cleans up
147 +
148 +**CTRL+Z **(SIGSTP) pauses and continues
149 +
150 +
151 +
152 +
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9470976
1 +9470997
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9470976/Documentation
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9470997/Documentation