<
From version < 14.1 >
edited by Alexander Schulz-Rosengarten
on 2014/06/18 13:11
To version < 18.1 >
edited by nbw
on 2014/07/08 15:20
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.als
1 +XWiki.nbw
Content
... ... @@ -1,177 +1,13 @@
1 -== Trains ==
1 +To get informations about general controller design and composition of the different SCCharts please refer to [[doc:Basic design]].
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.
3 +For more informations about the defined Interfaces and the rulesets, the group has agreed upon, see [[doc:Interfaces and Rulesets]].
5 5  
6 -=== Train numbering ===
5 +Informations about building the controller and the C interface are presented at [[doc:Interfacing and Building]].
7 7  
8 -Variable **trainNum** is used to identify trains.
7 +The (currently still developing) TCP Communication is described at [[doc:TCP Communication]].
9 9  
10 -The assignment of numbers to trains is chosen as followed
9 +----
11 11  
12 -|=(((
13 -trainNum
14 -)))|=(((
15 -Starting track
16 -)))
17 -|(((
18 -0
19 -)))|(((
20 -KH_ST_1
21 -)))
22 -|(((
23 -1
24 -)))|(((
25 -KH_ST_2
26 -)))
27 -|(((
28 -2
29 -)))|(((
30 -KH_ST_3 (r)
31 -)))
32 -|(((
33 -3
34 -)))|(((
35 -KH_ST_4 (r)
36 -)))
37 -|(((
38 -4
39 -)))|(((
40 -IC_ST_3
41 -)))
42 -|(((
43 -5
44 -)))|(((
45 -IC_ST_2
46 -)))
47 -|(((
48 -6
49 -)))|(((
50 -OC_ST_2
51 -)))
52 -|(((
53 -7
54 -)))|(((
55 -OC_ST_1
56 -)))
57 -|(((
58 -8
59 -)))|(((
60 -KH_ST_5
61 -)))
62 -|(((
63 -9
64 -)))|(((
65 -IC_ST_1
66 -)))
67 -|(((
68 -10
69 -)))|(((
70 -OC_ST_3
71 -)))
72 72  
73 -== Logging ==
74 74  
75 -Variable **debug** indicates verbose logging.
76 -
77 -Prefix of all log messages must be :** [trainnum][ST-ST]**
78 -
79 -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 slowdown (and optional points)
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 -= C Controller =
141 -
142 -The C controller wraps the basic railway interface and creates an correct environment to run the generated controller.
143 -
144 -== Make Script ==
145 -
146 -A make script written in Python is located in rail-repo: code/make.py
147 -
148 -This script will compiel the whole controller for simulation or real railway and optionally executes it.//
149 -//
150 -
151 -Calling**// python// //make.py//** without further command-line arguments will print a help message with all available command line options.
152 -
153 -Make Script Features:
154 -
155 -* Header-file will be included automatically
156 -
157 -Results are located in //rail-repo: code/build///
158 -
159 -== Railway Interface ==
160 -
161 -Provided functions are defined in// rail-repo: code/hostcode/controller.h//
162 -
163 -== Interaction ==
164 -
165 -=== Quit, Pause and Cleanup ===
166 -
167 -Quit, pause and cleanup functionality is handled in the c interface.
168 -
169 -**CTRL+C** (SIGINT)** **quits the controller
170 -
171 -**CTRL+\** (SIGQUIT)** **cleans up
172 -
173 -**CTRL+Z **(SIGSTP) pauses and continues
174 -
175 -
176 -
177 -
13 +{{widget height="315" width="560" url="http://www.youtube.com/embed/Mb59Cvt9a6Q"/}}
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471001
1 +9471516
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471001/Documentation
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471516/Documentation