Changes for page Documentation
Last modified by Soeren Domroes on 2025/01/30 12:05
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. als1 +XWiki.nbw - Content
-
... ... @@ -1,183 +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 - === Trainnumbering===5 +Informations about building the controller and the C interface are presented at [[doc:Interfacing and Building]]. 7 7 8 - Variable**trainNum**isused toidentify 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 followed9 +---- 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 -Contact reading in triggers should only used when it is clearly determined which train will fire the contact. 121 - 122 -=== TrainController === 123 - 124 -Train-Schedules should be modelled by putting together the Station-to-Station-Controllers for every train in individual regions. 125 - 126 -=== Speed: === 127 - 128 -* SLOW: for the stations 129 -* CAUTION: for slowdown (and optional points) 130 -* NORMAL: for the other tracks 131 - 132 -== Codestyle == 133 - 134 -Use entry-/exit-actions instead of actions on transitions, if possible. 135 -If using hostcode, only use functions delivered by our own C-Interface and not the Höhrmann-API. 136 - 137 -== Mutual Exclusion == 138 - 139 -bool <track>_req[<trainAmount>] contains the requests for each track and train. Before the availability of arrays, we used bool <train>_<track>_req. 140 -int <track>_perm contains the trainnumber of the train, who is allowed to drive on <track>. 141 - 142 -== Deadlock Prevention == 143 - 144 -An example controller for deadlock prevention is located in// rail-repo: docs/deadlocks/resolve_deadlock.sct// 145 - 146 -= C Controller = 147 - 148 -The C controller wraps the basic railway interface and creates an correct environment to run the generated controller. 149 - 150 -== Make Script == 151 - 152 -A make script written in Python is located in rail-repo: code/make.py 153 - 154 -This script will compiel the whole controller for simulation or real railway and optionally executes it.// 155 -// 156 - 157 -Calling**// python// //make.py//** without further command-line arguments will print a help message with all available command line options. 158 - 159 -Make Script Features: 160 - 161 -* Header-file will be included automatically 162 - 163 -Results are located in //rail-repo: code/build/// 164 - 165 -== Railway Interface == 166 - 167 -Provided functions are defined in// rail-repo: code/hostcode/controller.h// 168 - 169 -== Interaction == 170 - 171 -=== Quit, Pause and Cleanup === 172 - 173 -Quit, pause and cleanup functionality is handled in the c interface. 174 - 175 -**CTRL+C** (SIGINT)** **quits the controller 176 - 177 -**CTRL+\** (SIGQUIT)** **cleans up 178 - 179 -**CTRL+Z **(SIGSTP) pauses and continues 180 - 181 - 182 - 183 - 13 +{{widget height="315" width="560" url="http://www.youtube.com/embed/Mb59Cvt9a6Q"/}}
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -9471 0031 +9471516 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471 003/Documentation1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471516/Documentation