Changes for page C Controller
Last modified by Soeren Domroes on 2025/01/30 12:05
<
>
edited by Alexander Schulz-Rosengarten
on 2014/08/20 10:43
on 2014/08/20 10:43
edited by Alexander Schulz-Rosengarten
on 2014/08/20 12:50
on 2014/08/20 12:50
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
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 API27 +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 -94717 001 +9471722 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/94717 00/C Controller1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471722/C Controller