<
From version < 2.1 >
edited by Alexander Schulz-Rosengarten
on 2014/08/20 10:43
To version < 8.1 >
edited by Alexander Schulz-Rosengarten
on 2014/08/20 12:50
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,6 +1,6 @@
1 1  
2 2  
3 -{{toc/}}
3 +{{toc maxLevel="2"/}}
4 4  
5 5  = Components =
6 6  
... ... @@ -24,12 +24,52 @@
24 24  hostcode.h hostcode.c
25 25  {{/noformat}}
26 26  
27 -This component provides an interface to affect the railway and request events. It acts as wrapper around the railway API
27 +This component provides an interface to affect the railway and request events.
28 28  
29 +The interface provides shorter and simpler access to most of the railway API. To prevent conflicts with existing function names all functions in our interface are prefixed with //rail//.
30 +
29 29  Most controls and requests are forwarded to the controller maintaining the synchronous environment of the tick-function. Some controls which do not require this maintenance are directly forwarded to the railway API.
30 30  
33 +The hostcode header contains the general documentation for any hostcode call used in the SCChart.
34 +
31 31  == Controller ==
32 32  
33 33  {{noformat}}
34 34  controller.h defaults.h controller.c
35 35  {{/noformat}}
40 +
41 +The core controller component sets up a connection to the railway, maintains an environment for the synchronous tick-function and invokes the tick-function in a loop.
42 +
43 +Additionally some time tracking is performed to determine time consumption of the tick function and its environment.
44 +
45 +To increase the robustness of the system the controller checks internal permissions of the SCChart-Controller against detected trains on the railway.
46 +
47 +== State Monitor ==
48 +
49 +{{noformat}}
50 +statemonitor.h statemonitor.c
51 +{{/noformat}}
52 +
53 +The state monitor component allows a thread-safe communication between connected GUIs and the running controller. This communication is also tick-safe and
54 +
55 +== GUI Server ==
56 +
57 +{{noformat}}
58 +guiserver.h guiserver.c
59 +{{/noformat}}
60 +
61 += Interaction =
62 +
63 +== GUI ==
64 +
65 +The controller allows multiple [[doc:GUIs]] to connect and interact with the controller.
66 +
67 +== Interrupts ==
68 +
69 +=== Quit, Pause and Cleanup ===
70 +
71 +While running the console the following user inputs are provided by the controller:
72 +
73 +* **CTRL+C** (SIGINT)** **quits the controller
74 +* **CTRL+\** (SIGQUIT)** **cleans up
75 +* **CTRL+Z **(SIGSTP) pauses and continues
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471700
1 +9471722
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471700/C Controller
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471722/C Controller