Changes for page C Controller
Last modified by Soeren Domroes on 2025/01/30 12:05
From version 2.1
edited by Alexander Schulz-Rosengarten
on 2014/08/20 10:43
on 2014/08/20 10:43
Change comment:
There is no comment for this version
To version 9.1
edited by Alexander Schulz-Rosengarten
on 2014/08/20 13:49
on 2014/08/20 13:49
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 ... ... @@ -8,6 +8,8 @@ 8 8 9 9 [[image:attach:components.png]] 10 10 11 + 12 + 11 11 == SCCharts Contoroller == 12 12 13 13 {{noformat}} ... ... @@ -24,12 +24,56 @@ 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 API29 +This component provides an interface to affect the railway and request events. 28 28 31 +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//. 32 + 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 35 +The hostcode header contains the general documentation for any hostcode call used in the SCChart. 36 + 31 31 == Controller == 32 32 33 33 {{noformat}} 34 34 controller.h defaults.h controller.c 35 35 {{/noformat}} 42 + 43 +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. 44 + 45 +Additionally some time tracking is performed to determine time consumption of the tick function and its environment. 46 + 47 +To increase the robustness of the system the controller checks internal permissions of the SCChart-Controller against detected trains on the railway. 48 + 49 +== State Monitor == 50 + 51 +{{noformat}} 52 +statemonitor.h statemonitor.c 53 +{{/noformat}} 54 + 55 +The state monitor component allows a thread-safe communication between connected GUIs and the running controller. This communication is also tick-safe meaning that changes are only applied at tick-borders. 56 + 57 +In addition to that the 58 + 59 +Furthermore it allows the generation of the current state of the controller in JSON format. 60 + 61 +== GUI Server == 62 + 63 +{{noformat}} 64 +guiserver.h guiserver.c 65 +{{/noformat}} 66 + 67 += Interaction = 68 + 69 +== GUI == 70 + 71 +The controller allows multiple [[doc:GUIs]] to connect and interact with the controller. 72 + 73 +== Interrupts == 74 + 75 +=== Quit, Pause and Cleanup === 76 + 77 +While running the console the following user inputs are provided by the controller: 78 + 79 +* **CTRL+C** (SIGINT)** **quits the controller 80 +* **CTRL+\** (SIGQUIT)** **cleans up 81 +* **CTRL+Z **(SIGSTP) pauses and continues
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -94717 001 +9471734 - 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/9471734/C Controller