Changes for page TCP Communication
Last modified by csp on 2025/01/30 12:05
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,11 +1,7 @@ 1 1 2 2 3 -{{toc/}} 3 +{{status colour="Red" title="Work in progress - Might by subject to change"/}} 4 4 5 - 6 - 7 -{{status colour="Red" title="Work in progress - Might bE subject to change"/}} 8 - 9 9 Both the controller and the client GUI send their data as JSON Objects. 10 10 In JSON every Object is an unordered set of key/value pairs. The values of these pairs can be a JSON Object, a JSON Array or a primitive value (integer, string, boolean or null). 11 11 For more information or a complete grammar see [[http:~~/~~/www.json.org/>>url:http://www.json.org/||shape="rect"]]. ... ... @@ -37,138 +37,9 @@ 37 37 ** **spdCaution** - the integer PWM value of this train while driving caution 38 38 ** **spdNormal** - the integer PWM value of this train while driving normally 39 39 ** **currentIndex** -an integer describing the current position in the schedule 40 -** ( ((41 -**sc hedule** - a JSON Array ofinteger values,representingthestation tracks,encodedinthe followingfashion36 +** **schedule** - a JSON Array of integer values, representing the station tracks in the normal encoding (Hoermann API) 37 +* **{{status colour="Yellow" title="Need to change this to enable KH-Reverse tracks"/}}locks** - a JSON Array containing the current value of the track permissions, ordered by the default encoding (Hoermann API) 42 42 43 -|=((( 44 -Number 45 -)))|=((( 46 -Track 47 -)))|=(% colspan="1" %)(% colspan="1" %) 48 -((( 49 -Number 50 -)))|=(% colspan="1" %)(% colspan="1" %) 51 -((( 52 -Track 53 -)))|=((( 54 -Number 55 -)))|=((( 56 -Track 57 -)))|=(% colspan="1" %)(% colspan="1" %) 58 -((( 59 -Number 60 -)))|=(% colspan="1" %)(% colspan="1" %) 61 -((( 62 -Track 63 -))) 64 -|((( 65 -1 66 -)))|((( 67 -KH_ST_1 68 -)))|(% colspan="1" %)(% colspan="1" %) 69 -((( 70 -6 71 -)))|(% colspan="1" %)(% colspan="1" %) 72 -((( 73 -KH_ST_1 (reverse) 74 -)))|((( 75 -11 76 -)))|((( 77 -IC_ST_3 78 -)))|(% colspan="1" %)(% colspan="1" %) 79 -((( 80 -14 81 -)))|(% colspan="1" %)(% colspan="1" %) 82 -((( 83 -OC_ST_3 84 -))) 85 -|((( 86 -2 87 -)))|((( 88 -KH_ST_2 89 -)))|(% colspan="1" %)(% colspan="1" %) 90 -((( 91 -7 92 -)))|(% colspan="1" %)(% colspan="1" %) 93 -((( 94 -KH_ST_2 (reverse) 95 -)))|((( 96 -12 97 -)))|((( 98 -IC_ST_2 99 -)))|(% colspan="1" %)(% colspan="1" %) 100 -((( 101 -15 102 -)))|(% colspan="1" %)(% colspan="1" %) 103 -((( 104 -OC_ST_2 105 -))) 106 -|((( 107 -3 108 -)))|((( 109 -KH_ST_3 110 -)))|(% colspan="1" %)(% colspan="1" %) 111 -((( 112 -8 113 -)))|(% colspan="1" %)(% colspan="1" %) 114 -((( 115 -KH_ST_3 (reverse) 116 -)))|((( 117 -13 118 -)))|((( 119 -IC_ST_1 120 -)))|(% colspan="1" %)(% colspan="1" %) 121 -((( 122 -16 123 -)))|(% colspan="1" %)(% colspan="1" %) 124 -((( 125 -OC_ST_1 126 -))) 127 -|((( 128 -4 129 -)))|((( 130 -KH_ST_4 131 -)))|(% colspan="1" %)(% colspan="1" %) 132 -((( 133 -9 134 -)))|(% colspan="1" %)(% colspan="1" %) 135 -((( 136 -KH_ST_4 (reverse) 137 -)))|((( 138 - 139 -)))|((( 140 - 141 -)))|(% colspan="1" %)(% colspan="1" %) 142 -((( 143 - 144 -)))|(% colspan="1" %)(% colspan="1" %) 145 -((( 146 - 147 -))) 148 -|((( 149 -5 150 -)))|((( 151 -KH_ST_5 152 -)))|(% colspan="1" %)(% colspan="1" %) 153 -((( 154 -10 155 -)))|(% colspan="1" %)(% colspan="1" %) 156 -((( 157 -KH_ST_5 (reverse) 158 -)))|((( 159 - 160 -)))|((( 161 - 162 -)))|(% colspan="1" %)(% colspan="1" %) 163 -((( 164 - 165 -)))|(% colspan="1" %)(% colspan="1" %) 166 -((( 167 - 168 -))) 169 -))) 170 -* **locks** - a JSON Array containing the current value of the track permissions, ordered by the default encoding (Hoermann API) 171 - 172 172 {{code title="Sample status" language="js" collapse="true"}} 173 173 {"msgType":"status", 174 174 "data":{ ... ... @@ -181,41 +181,4 @@ 181 181 {"trainNum":1, "spdSlow":50, "spdCaution":70, "spdNormal":100, "currentIndex":0, "schedule":[8]}, 182 182 ... ], 183 183 "locks":[-1, -1, -1, 5, -1, -1, 2, 10, -1, -1, ..., -1]}} 184 - 185 -[One line to test via netcat] 186 -{"msgType":"status", "data":{"debug":false, "cleanup":false, "pause":false, "trainCount":8, "trains":[ {"trainNum":0, "spdSlow":40, "spdCaution":60, "spdNormal":100, "currentIndex":2, "schedule":[1, 1, 11, 14, 6]}, {"trainNum":1, "spdSlow":51, "spdCaution":71, "spdNormal":101, "currentIndex":0, "schedule":[2, 1, 11, 14, 6]}, {"trainNum":2, "spdSlow":52, "spdCaution":72, "spdNormal":102, "currentIndex":1, "schedule":[3, 1, 11, 14, 6]}, {"trainNum":3, "spdSlow":53, "spdCaution":73, "spdNormal":103, "currentIndex":1, "schedule":[4, 1, 11, 14, 6]}, {"trainNum":4, "spdSlow":54, "spdCaution":74, "spdNormal":104, "currentIndex":2, "schedule":[5, 1, 11, 14, 6]}, {"trainNum":5, "spdSlow":55, "spdCaution":75, "spdNormal":105, "currentIndex":3, "schedule":[6, 1, 11, 14, 6]}, {"trainNum":6, "spdSlow":56, "spdCaution":76, "spdNormal":106, "currentIndex":1, "schedule":[7, 1, 11, 14, 6]}, {"trainNum":7, "spdSlow":57, "spdCaution":77, "spdNormal":107, "currentIndex":0, "schedule":[8, 1, 11, 14, 6]}], "locks":[-1, -1, -1, 5, -1, -1, 2, 3, -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, -1, -1]}} 187 187 {{/code}} 188 - 189 -== Messages received by controller == 190 - 191 -* Every message must contain the key **command**. 192 -* Depending on the command, additional keys might be required. 193 - 194 -=== Valid commands === 195 - 196 -* //SHUTDOWN// - Causing the controller to end the program and close all sockets 197 -* //LOGOUT// - Closing the connection, leaving the controller running 198 -* //STATUS// - Poll for the current status, should trigger a status reply message 199 -* //CLEANUP// - Start the cleanup procedure, sending the trains back to their home tacks 200 -* //DEBUG// - enable or disable verbose output, must supply additional payload 201 -** **state** - boolean value, true if verbose output should be activated 202 -* //PAUSE// - suspend or resume the controller, must supply additional payload 203 -** **state** - boolean value, true if controller should be suspended 204 -* //LIGHT// - activate or deactivate the lights on the railway, must supply additional payload\\ 205 -** **state** - boolean value, true if lights should be lit 206 -* //WAIT// - Force a train to wait in the next station, must supply additional payload 207 -** **train** - integer train identification 208 -* //START// - Force a waiting train to immediately abort the waiting timer, must supply additional payload 209 -** **train** - integer train identification 210 -* //SCHEDULE// - Set the new schedule for a train, needs additional payload 211 -** **train** - integer train identification 212 -** **currentIndex** - current integer position in the schedule array 213 -** **tracks** - a JSON Array of integer values, representing the station tracks in encoding above 214 -* //SPEED// - Change the speed settings of a train, needs additional payload 215 -** **train** - integer train identification 216 -** **speeds** - JSON Array with three integer values (% class="confluence-link" %)spdSlow, spdCaution, spdNormal 217 -* //TIME// - Change the waiting times for a train 218 -** **train** - integer train identification 219 -** **times** - 220 - 221 -{{status colour="Yellow" title="Define a format for this"/}}
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -9471 5221 +9471483 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471 522/TCP Communication1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471483/TCP Communication