rsmp 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/rsmp/version.rb +1 -1
  4. data/lib/rsmp_schema/schema/core/aggregated_status.json +25 -0
  5. data/lib/rsmp_schema/schema/core/alarm.json +55 -0
  6. data/lib/rsmp_schema/schema/core/command_request.json +24 -0
  7. data/lib/rsmp_schema/schema/core/command_response.json +34 -0
  8. data/lib/rsmp_schema/schema/core/core.json +35 -0
  9. data/lib/rsmp_schema/schema/core/definitions.json +47 -0
  10. data/lib/rsmp_schema/schema/core/message_ack.json +11 -0
  11. data/lib/rsmp_schema/schema/core/message_not_ack.json +15 -0
  12. data/lib/rsmp_schema/schema/core/rsmp.json +124 -0
  13. data/lib/rsmp_schema/schema/core/status.json +21 -0
  14. data/lib/rsmp_schema/schema/core/status_request.json +5 -0
  15. data/lib/rsmp_schema/schema/core/status_response.json +30 -0
  16. data/lib/rsmp_schema/schema/core/status_subscribe.json +27 -0
  17. data/lib/rsmp_schema/schema/core/status_unsubscribe.json +5 -0
  18. data/lib/rsmp_schema/schema/core/status_update.json +30 -0
  19. data/lib/rsmp_schema/schema/core/version.json +47 -0
  20. data/lib/rsmp_schema/schema/core/watchdog.json +9 -0
  21. data/lib/rsmp_schema/schema/tlc/alarms/A0001.json +7 -0
  22. data/lib/rsmp_schema/schema/tlc/alarms/A0002.json +7 -0
  23. data/lib/rsmp_schema/schema/tlc/alarms/A0003.json +7 -0
  24. data/lib/rsmp_schema/schema/tlc/alarms/A0004.json +7 -0
  25. data/lib/rsmp_schema/schema/tlc/alarms/A0005.json +7 -0
  26. data/lib/rsmp_schema/schema/tlc/alarms/A0006.json +7 -0
  27. data/lib/rsmp_schema/schema/tlc/alarms/A0007.json +7 -0
  28. data/lib/rsmp_schema/schema/tlc/alarms/A0008.json +19 -0
  29. data/lib/rsmp_schema/schema/tlc/alarms/A0009.json +7 -0
  30. data/lib/rsmp_schema/schema/tlc/alarms/A0101.json +7 -0
  31. data/lib/rsmp_schema/schema/tlc/alarms/A0201.json +20 -0
  32. data/lib/rsmp_schema/schema/tlc/alarms/A0202.json +20 -0
  33. data/lib/rsmp_schema/schema/tlc/alarms/A0301.json +48 -0
  34. data/lib/rsmp_schema/schema/tlc/alarms/A0302.json +58 -0
  35. data/lib/rsmp_schema/schema/tlc/alarms/alarms.json +68 -0
  36. data/lib/rsmp_schema/schema/tlc/commands/M0001.json +48 -0
  37. data/lib/rsmp_schema/schema/tlc/commands/M0002.json +38 -0
  38. data/lib/rsmp_schema/schema/tlc/commands/M0003.json +38 -0
  39. data/lib/rsmp_schema/schema/tlc/commands/M0004.json +29 -0
  40. data/lib/rsmp_schema/schema/tlc/commands/M0005.json +38 -0
  41. data/lib/rsmp_schema/schema/tlc/commands/M0006.json +38 -0
  42. data/lib/rsmp_schema/schema/tlc/commands/M0007.json +29 -0
  43. data/lib/rsmp_schema/schema/tlc/commands/M0008.json +38 -0
  44. data/lib/rsmp_schema/schema/tlc/commands/M0010.json +29 -0
  45. data/lib/rsmp_schema/schema/tlc/commands/M0011.json +29 -0
  46. data/lib/rsmp_schema/schema/tlc/commands/M0012.json +29 -0
  47. data/lib/rsmp_schema/schema/tlc/commands/M0013.json +29 -0
  48. data/lib/rsmp_schema/schema/tlc/commands/M0014.json +38 -0
  49. data/lib/rsmp_schema/schema/tlc/commands/M0015.json +38 -0
  50. data/lib/rsmp_schema/schema/tlc/commands/M0016.json +29 -0
  51. data/lib/rsmp_schema/schema/tlc/commands/M0017.json +29 -0
  52. data/lib/rsmp_schema/schema/tlc/commands/M0018.json +38 -0
  53. data/lib/rsmp_schema/schema/tlc/commands/M0019.json +47 -0
  54. data/lib/rsmp_schema/schema/tlc/commands/M0103.json +39 -0
  55. data/lib/rsmp_schema/schema/tlc/commands/command_requests.json +7 -0
  56. data/lib/rsmp_schema/schema/tlc/commands/command_responses.json +7 -0
  57. data/lib/rsmp_schema/schema/tlc/commands/commands.json +85 -0
  58. data/lib/rsmp_schema/schema/tlc/statuses/S0001.json +44 -0
  59. data/lib/rsmp_schema/schema/tlc/statuses/S0002.json +17 -0
  60. data/lib/rsmp_schema/schema/tlc/statuses/S0003.json +26 -0
  61. data/lib/rsmp_schema/schema/tlc/statuses/S0004.json +26 -0
  62. data/lib/rsmp_schema/schema/tlc/statuses/S0005.json +17 -0
  63. data/lib/rsmp_schema/schema/tlc/statuses/S0006.json +26 -0
  64. data/lib/rsmp_schema/schema/tlc/statuses/S0007.json +26 -0
  65. data/lib/rsmp_schema/schema/tlc/statuses/S0008.json +26 -0
  66. data/lib/rsmp_schema/schema/tlc/statuses/S0009.json +26 -0
  67. data/lib/rsmp_schema/schema/tlc/statuses/S0010.json +26 -0
  68. data/lib/rsmp_schema/schema/tlc/statuses/S0011.json +26 -0
  69. data/lib/rsmp_schema/schema/tlc/statuses/S0012.json +26 -0
  70. data/lib/rsmp_schema/schema/tlc/statuses/S0013.json +26 -0
  71. data/lib/rsmp_schema/schema/tlc/statuses/S0014.json +17 -0
  72. data/lib/rsmp_schema/schema/tlc/statuses/S0015.json +17 -0
  73. data/lib/rsmp_schema/schema/tlc/statuses/S0016.json +17 -0
  74. data/lib/rsmp_schema/schema/tlc/statuses/S0017.json +17 -0
  75. data/lib/rsmp_schema/schema/tlc/statuses/S0018.json +17 -0
  76. data/lib/rsmp_schema/schema/tlc/statuses/S0019.json +17 -0
  77. data/lib/rsmp_schema/schema/tlc/statuses/S0020.json +27 -0
  78. data/lib/rsmp_schema/schema/tlc/statuses/S0021.json +17 -0
  79. data/lib/rsmp_schema/schema/tlc/statuses/S0022.json +17 -0
  80. data/lib/rsmp_schema/schema/tlc/statuses/S0023.json +17 -0
  81. data/lib/rsmp_schema/schema/tlc/statuses/S0024.json +17 -0
  82. data/lib/rsmp_schema/schema/tlc/statuses/S0025.json +80 -0
  83. data/lib/rsmp_schema/schema/tlc/statuses/S0026.json +17 -0
  84. data/lib/rsmp_schema/schema/tlc/statuses/S0027.json +17 -0
  85. data/lib/rsmp_schema/schema/tlc/statuses/S0028.json +17 -0
  86. data/lib/rsmp_schema/schema/tlc/statuses/S0029.json +17 -0
  87. data/lib/rsmp_schema/schema/tlc/statuses/S0091.json +28 -0
  88. data/lib/rsmp_schema/schema/tlc/statuses/S0092.json +28 -0
  89. data/lib/rsmp_schema/schema/tlc/statuses/S0095.json +17 -0
  90. data/lib/rsmp_schema/schema/tlc/statuses/S0096.json +62 -0
  91. data/lib/rsmp_schema/schema/tlc/statuses/S0201.json +26 -0
  92. data/lib/rsmp_schema/schema/tlc/statuses/S0202.json +26 -0
  93. data/lib/rsmp_schema/schema/tlc/statuses/S0203.json +26 -0
  94. data/lib/rsmp_schema/schema/tlc/statuses/S0204.json +98 -0
  95. data/lib/rsmp_schema/schema/tlc/statuses/S0205.json +26 -0
  96. data/lib/rsmp_schema/schema/tlc/statuses/S0206.json +26 -0
  97. data/lib/rsmp_schema/schema/tlc/statuses/S0207.json +26 -0
  98. data/lib/rsmp_schema/schema/tlc/statuses/S0208.json +98 -0
  99. data/lib/rsmp_schema/schema/tlc/statuses/statuses.json +177 -0
  100. data/lib/rsmp_schema/schema/tlc/sxl.json +24 -0
  101. data/rsmp.gemspec +13 -0
  102. metadata +98 -1
@@ -0,0 +1,19 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description": "Dead lock error",
5
+ "properties" : {
6
+ "n" : { "enum" : ["timeplan"] }
7
+ }
8
+ },
9
+ {
10
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "timeplan" }}},
11
+ "then" : { "properties" : {
12
+ "v" : {
13
+ "$description": "Current time plan",
14
+ "$ref": "../../core/definitions.json#/integer"
15
+ }
16
+ }}
17
+ }
18
+ ]
19
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description": "Other error",
5
+ }
6
+ ]
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description": "Pushbutton error",
5
+ }
6
+ ]
7
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description": "Serious lamp error",
5
+ "properties" : {
6
+ "n" : { "enum" : ["color"] }
7
+ }
8
+ },
9
+ {
10
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "color" }}},
11
+ "then" : { "properties" : {
12
+ "v" : {
13
+ "$description": "Color of lamp",
14
+ "type" : "string",
15
+ "enum" : ["red", "yellow", "green"]
16
+ }
17
+ }}
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description": "Less serious lamp error",
5
+ "properties" : {
6
+ "n" : { "enum" : ["color"] }
7
+ }
8
+ },
9
+ {
10
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "color" }}},
11
+ "then" : { "properties" : {
12
+ "v" : {
13
+ "$description": "Color of lamp",
14
+ "type" : "string",
15
+ "enum" : ["red", "yellow", "green"]
16
+ }
17
+ }}
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description": "Detector error (hardware)",
5
+ "properties" : {
6
+ "n" : { "enum" : ["detector", "type", "errormode", "manual"] }
7
+ }
8
+ },
9
+ {
10
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "detector" }}},
11
+ "then" : { "properties" : {
12
+ "v" : {
13
+ "$description": "Designation of the detector",
14
+ "$ref": "../../core/definitions.json#/integer"
15
+ }
16
+ }}
17
+ },
18
+ {
19
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "type" }}},
20
+ "then" : { "properties" : {
21
+ "v" : {
22
+ "$description": "Type of detector.<br>loop: Inductive detector loop<br>input: External input",
23
+ "type" : "string",
24
+ "enum" : ["loop", "input"]
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "errormode" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Dectector forced on/off while detector error",
33
+ "type" : "string",
34
+ "enum" : ["on", "off"]
35
+ }
36
+ }}
37
+ },
38
+ {
39
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "manual" }}},
40
+ "then" : { "properties" : {
41
+ "v" : {
42
+ "$description": "Manually controlled detector logic (True/False)",
43
+ "type" : "boolean"
44
+ }
45
+ }}
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "description": "Detector error (logic error)",
5
+ "properties" : {
6
+ "n" : { "enum" : ["detector", "type", "errormode", "manual", "logicerror"] }
7
+ }
8
+ },
9
+ {
10
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "detector" }}},
11
+ "then" : { "properties" : {
12
+ "v" : {
13
+ "$description": "Designation of the detector",
14
+ "$ref": "../../core/definitions.json#/integer"
15
+ }
16
+ }}
17
+ },
18
+ {
19
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "type" }}},
20
+ "then" : { "properties" : {
21
+ "v" : {
22
+ "$description": "Type of detector.<br>loop: Inductive detector loop<br>input: External input",
23
+ "type" : "string",
24
+ "enum" : ["loop", "input"]
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "errormode" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Dectector forced on/off while detector error",
33
+ "type" : "string",
34
+ "enum" : ["on", "off"]
35
+ }
36
+ }}
37
+ },
38
+ {
39
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "manual" }}},
40
+ "then" : { "properties" : {
41
+ "v" : {
42
+ "$description": "Manually controlled detector logic (True/False)",
43
+ "type" : "boolean"
44
+ }
45
+ }}
46
+ },
47
+ {
48
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "logicerror" }}},
49
+ "then" : { "properties" : {
50
+ "v" : {
51
+ "$description": "Type of logic error<br>always_off: no detection during prefined max time<br>always on: detection constantly on during predefined max time<br>intermittent: intermittent logic fault (flutter)",
52
+ "type" : "string",
53
+ "enum" : ["always_off", "always_on", "intermittent"]
54
+ }
55
+ }}
56
+ }
57
+ ]
58
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "properties" : {
3
+ "aCId" : { "enum": ["A0001", "A0002", "A0003", "A0004", "A0005", "A0006", "A0007", "A0008", "A0009", "A0101", "A0201", "A0202", "A0301", "A0302"] },
4
+ "rvs" : {
5
+ "items" : {
6
+ "allOf" : [
7
+ {},
8
+ {
9
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0001" }}},
10
+ "then" : { "$ref" : "A0001.json" }
11
+ },
12
+ {
13
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0002" }}},
14
+ "then" : { "$ref" : "A0002.json" }
15
+ },
16
+ {
17
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0003" }}},
18
+ "then" : { "$ref" : "A0003.json" }
19
+ },
20
+ {
21
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0004" }}},
22
+ "then" : { "$ref" : "A0004.json" }
23
+ },
24
+ {
25
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0005" }}},
26
+ "then" : { "$ref" : "A0005.json" }
27
+ },
28
+ {
29
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0006" }}},
30
+ "then" : { "$ref" : "A0006.json" }
31
+ },
32
+ {
33
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0007" }}},
34
+ "then" : { "$ref" : "A0007.json" }
35
+ },
36
+ {
37
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0008" }}},
38
+ "then" : { "$ref" : "A0008.json" }
39
+ },
40
+ {
41
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0009" }}},
42
+ "then" : { "$ref" : "A0009.json" }
43
+ },
44
+ {
45
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0101" }}},
46
+ "then" : { "$ref" : "A0101.json" }
47
+ },
48
+ {
49
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0201" }}},
50
+ "then" : { "$ref" : "A0201.json" }
51
+ },
52
+ {
53
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0202" }}},
54
+ "then" : { "$ref" : "A0202.json" }
55
+ },
56
+ {
57
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0301" }}},
58
+ "then" : { "$ref" : "A0301.json" }
59
+ },
60
+ {
61
+ "if": { "required" : ["aCId"], "properties" : { "aCId": { "const": "A0302" }}},
62
+ "then" : { "$ref" : "A0302.json" }
63
+ }
64
+ ]
65
+ }
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Sets functional position<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode", "timeout", "intersection"] },
7
+ "cO" : { "const" : "setValue" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "NormalControl: Normal Control<br>YellowFlash: Enables yellow flash<br>Dark: Enables dark mode",
15
+ "type" : "string",
16
+ "enum" : ["NormalControl", "YellowFlash", "Dark"]
17
+ }
18
+ }}
19
+ },
20
+ {
21
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
22
+ "then" : { "properties" : {
23
+ "v" : {
24
+ "$description": "Security code 2 ",
25
+ "type" : "string"
26
+ }
27
+ }}
28
+ },
29
+ {
30
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "timeout" }}},
31
+ "then" : { "properties" : {
32
+ "v" : {
33
+ "$description": "Time in minutes until controller automatically reverts to previous functional position.<br>0=no automatic return",
34
+ "$ref": "../../core/definitions.json#/integer"
35
+ }
36
+ }}
37
+ },
38
+ {
39
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "intersection" }}},
40
+ "then" : { "properties" : {
41
+ "v" : {
42
+ "$description": "Intersection number",
43
+ "$ref": "../../core/definitions.json#/integer"
44
+ }
45
+ }}
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Sets current time plan<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode", "timeplan"] },
7
+ "cO" : { "const" : "setPlan" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: Controller uses time plan according to programming<br>True: Contoller uses time plan according to command",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "timeplan" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "designation på time plan",
33
+ "$ref": "../../core/definitions.json#/integer"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Sets traffic situation the controller uses.<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode", "traficsituation"] },
7
+ "cO" : { "const" : "setTrafficSituation" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: Controller uses traffic situation according to own programming<br>True: Contoller uses traffic situation according to command",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "traficsituation" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "designation of traficsituation",
33
+ "$ref": "../../core/definitions.json#/integer"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Restarts Traffic Controller<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setRestart" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "True: Restart controller",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Activate emergency route<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode", "emergencyroute"] },
7
+ "cO" : { "const" : "setEmergency" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: Activate emergency route<br>True: Deactivate emergency route",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "emergencyroute" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Number of emergency route",
33
+ "$ref": "../../core/definitions.json#/integer"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Activate input<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode", "input"] },
7
+ "cO" : { "const" : "setInput" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: Deactivate input<br>True: Activate input",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "input" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "Number of Input",
33
+ "$ref": "../../core/definitions.json#/integer"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Activate fixed time control<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setFixedTime" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: Deactivate fixed time control<br>True: Activate fixed time control",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Sets manual activation of detector logic.<br>Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode", "mode"] },
7
+ "cO" : { "const" : "setForceDetectorLogic" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: Deactivate manual control of detector logic<br>True: Activate manual control of detector logic",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ },
28
+ {
29
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "mode" }}},
30
+ "then" : { "properties" : {
31
+ "v" : {
32
+ "$description": "False: Deactivate detector logic<br>True: Activate detector logic",
33
+ "type" : "boolean"
34
+ }
35
+ }}
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Start of signal group. Orders a signal group to green. Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setStart" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: No command (default)<br>True: Order a signal group to green",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Stop of signal group. Orders a signal group to red. Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setStop" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "False: No command (default)<br>True: Order a signal group to red",
15
+ "type" : "boolean"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "allOf" : [
3
+ {
4
+ "properties" : {
5
+ "description": "Request start or stop of a series of signal groups. Requires security code 2",
6
+ "n" : { "enum" : ["status", "securityCode"] },
7
+ "cO" : { "const" : "setStart" }
8
+ }
9
+ },
10
+ {
11
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "status" }}},
12
+ "then" : { "properties" : {
13
+ "v" : {
14
+ "$description": "Orders signal groups to green or red. Sets a block of 16 signal groups at a time. Can be repeated to set several blocks of 16 signal groups. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon is used in example below.<br><br>1=Order signal group to green<br>0=Order signal group to red<br><br>Format: [Offset],[Bits to set],[Bits to unset]:…<br> <br>Offset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768. <br> <br>Example 1:<br>"5, 4134, 65" sets input 6,7,10,17 = on and 5,11 = off<br>(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)<br> <br>Example 2:<br>"22, 1, 4" sets input 22 = on and 24 = off<br>(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)<br> <br>And both thease examples could be sent in the same message as:<br>"5,4143,65:22,1,4"<br><br>Such a message would order signal group 6,7,10,17,22 to green and signal group 5,11,24 to red",
15
+ "type" : "string"
16
+ }
17
+ }}
18
+ },
19
+ {
20
+ "if" : { "required" : ["n"], "properties" : { "n" : { "const" : "securityCode" }}},
21
+ "then" : { "properties" : {
22
+ "v" : {
23
+ "$description": "Security code 2",
24
+ "type" : "string"
25
+ }
26
+ }}
27
+ }
28
+ ]
29
+ }