rsmp_schema 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/rsmp_schema/convert/export/json_schema.rb +96 -54
- data/lib/rsmp_schema/version.rb +1 -1
- data/schemas/tlc/1.0.10/sxl.yaml +20 -40
- data/schemas/tlc/1.0.13/sxl.yaml +20 -40
- data/schemas/tlc/1.0.14/sxl.yaml +20 -40
- data/schemas/tlc/1.0.15/sxl.yaml +20 -40
- data/schemas/tlc/1.0.7/sxl.yaml +20 -40
- data/schemas/tlc/1.0.8/sxl.yaml +20 -40
- data/schemas/tlc/1.0.9/sxl.yaml +20 -40
- data/schemas/tlc/1.1/commands/M0001.json +1 -1
- data/schemas/tlc/1.1/statuses/S0032.json +1 -1
- data/schemas/tlc/1.1/statuses/S0033.json +93 -0
- data/schemas/tlc/1.1/statuses/S0205.json +8 -2
- data/schemas/tlc/1.1/statuses/S0206.json +8 -2
- data/schemas/tlc/1.1/statuses/S0207.json +8 -2
- data/schemas/tlc/1.1/statuses/S0208.json +72 -18
- data/schemas/tlc/1.1/statuses/statuses.json +16 -0
- data/schemas/tlc/1.1/sxl.yaml +186 -121
- metadata +3 -2
data/schemas/tlc/1.0.8/sxl.yaml
CHANGED
@@ -177,15 +177,13 @@ objects:
|
|
177
177
|
During maintenance work the controller might be using dark mode (no output to the signal heads).
|
178
178
|
arguments:
|
179
179
|
intersection:
|
180
|
-
|
181
|
-
type: integer
|
180
|
+
type: integer_list
|
182
181
|
description: |-
|
183
182
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
184
183
|
Other value: Intersection number
|
185
184
|
range: "[0-255]"
|
186
185
|
status:
|
187
|
-
|
188
|
-
type: boolean
|
186
|
+
type: boolean_list
|
189
187
|
description: |-
|
190
188
|
False: Traffic Light Controller in dark mode
|
191
189
|
True: Traffic Light Controller not in dark mode
|
@@ -196,15 +194,13 @@ objects:
|
|
196
194
|
Signal timings is controlled manually by service personnel using the operating panel of the controller.
|
197
195
|
arguments:
|
198
196
|
intersection:
|
199
|
-
|
200
|
-
type: integer
|
197
|
+
type: integer_list
|
201
198
|
description: |-
|
202
199
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
203
200
|
Other value: Intersection number
|
204
201
|
range: "[0-255]"
|
205
202
|
status:
|
206
|
-
|
207
|
-
type: boolean
|
203
|
+
type: boolean_list
|
208
204
|
description: |-
|
209
205
|
False: Manual control inactive
|
210
206
|
True: Manual control active
|
@@ -215,15 +211,13 @@ objects:
|
|
215
211
|
Usually only used in case normal detectors can't be used, e.g. during maintenance work.
|
216
212
|
arguments:
|
217
213
|
intersection:
|
218
|
-
|
219
|
-
type: integer
|
214
|
+
type: integer_list
|
220
215
|
description: |-
|
221
216
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
222
217
|
Other value: Intersection number
|
223
218
|
range: "[0-255]"
|
224
219
|
status:
|
225
|
-
|
226
|
-
type: boolean
|
220
|
+
type: boolean_list
|
227
221
|
description: |-
|
228
222
|
False: Fixed time control inactive
|
229
223
|
True: Fixed time control active
|
@@ -234,15 +228,13 @@ objects:
|
|
234
228
|
Used to determine if the controller is operating independently or operating with other controllers (coordination).
|
235
229
|
arguments:
|
236
230
|
intersection:
|
237
|
-
|
238
|
-
type: integer
|
231
|
+
type: integer_list
|
239
232
|
description: |-
|
240
233
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
241
234
|
Other value: Intersection number
|
242
235
|
range: "[0-255]"
|
243
236
|
status:
|
244
|
-
|
245
|
-
type: boolean
|
237
|
+
type: boolean_list
|
246
238
|
description: |-
|
247
239
|
False: Isolated control disabled
|
248
240
|
True: Isolated control enabled (Vehicle actuated control or Fixed time control)
|
@@ -253,15 +245,13 @@ objects:
|
|
253
245
|
Yellow flash may be used during a serious fault (depending on configuration) or maintenance work. It can also be manually set using M0001.
|
254
246
|
arguments:
|
255
247
|
intersection:
|
256
|
-
|
257
|
-
type: integer
|
248
|
+
type: integer_list
|
258
249
|
description: |-
|
259
250
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
260
251
|
Other value: Intersection number
|
261
252
|
range: "[0-255]"
|
262
253
|
status:
|
263
|
-
|
264
|
-
type: boolean
|
254
|
+
type: boolean_list
|
265
255
|
description: |-
|
266
256
|
False: Yellow flash disabled
|
267
257
|
True: Yellow flash enabled
|
@@ -272,15 +262,13 @@ objects:
|
|
272
262
|
All red can be manually set using the controllers operating panel during maintenance work.
|
273
263
|
arguments:
|
274
264
|
intersection:
|
275
|
-
|
276
|
-
type: integer
|
265
|
+
type: integer_list
|
277
266
|
description: |-
|
278
267
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
279
268
|
Other value: Intersection number
|
280
269
|
range: "[0-255]"
|
281
270
|
status:
|
282
|
-
|
283
|
-
type: boolean
|
271
|
+
type: boolean_list
|
284
272
|
description: |-
|
285
273
|
False: All red disabled
|
286
274
|
True: All red enabled
|
@@ -291,15 +279,13 @@ objects:
|
|
291
279
|
The "police key" is a external control switch present in some controllers that manually switches the controller to either dark mode or yellow flash.
|
292
280
|
arguments:
|
293
281
|
intersection:
|
294
|
-
|
295
|
-
type: integer
|
282
|
+
type: integer_list
|
296
283
|
description: |-
|
297
284
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
298
285
|
Other value: Intersection number
|
299
286
|
range: "[0-255]"
|
300
287
|
status:
|
301
|
-
|
302
|
-
type: integer
|
288
|
+
type: integer_list
|
303
289
|
values:
|
304
290
|
0: disabled
|
305
291
|
1: dark mode
|
@@ -367,15 +353,13 @@ objects:
|
|
367
353
|
Can be used for the management system to check the current control mode (startup, normal, standby, failure, test).
|
368
354
|
arguments:
|
369
355
|
intersection:
|
370
|
-
|
371
|
-
type: integer
|
356
|
+
type: integer_list
|
372
357
|
description: |-
|
373
358
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
374
359
|
Other value: Intersection number
|
375
360
|
range: "[0-255]"
|
376
361
|
controlmode:
|
377
|
-
|
378
|
-
type: string
|
362
|
+
type: string_list
|
379
363
|
values:
|
380
364
|
startup: Startup mode
|
381
365
|
control: Normal control
|
@@ -469,29 +453,25 @@ objects:
|
|
469
453
|
Requires security code 2.
|
470
454
|
arguments:
|
471
455
|
status:
|
472
|
-
|
456
|
+
type: string_list
|
473
457
|
description: Set operating mode
|
474
|
-
type: string
|
475
458
|
values:
|
476
459
|
NormalControl: Normal Control
|
477
460
|
YellowFlash: Enables yellow flash
|
478
461
|
Dark: Enables dark mode
|
479
462
|
securityCode:
|
480
|
-
|
463
|
+
type: string_list
|
481
464
|
description: Security code 2
|
482
|
-
type: string
|
483
465
|
timeout:
|
484
|
-
|
466
|
+
type: integer_list
|
485
467
|
description: |-
|
486
468
|
Time in minutes until controller automatically reverts to previous functional position.
|
487
469
|
0=no automatic return
|
488
|
-
type: integer
|
489
470
|
min: 0
|
490
471
|
max: 1440
|
491
472
|
intersection:
|
492
|
-
|
473
|
+
type: integer_list
|
493
474
|
description: Intersection number
|
494
|
-
type: integer
|
495
475
|
min: 0
|
496
476
|
max: 255
|
497
477
|
command: setValue
|
data/schemas/tlc/1.0.9/sxl.yaml
CHANGED
@@ -177,15 +177,13 @@ objects:
|
|
177
177
|
During maintenance work the controller might be using dark mode (no output to the signal heads).
|
178
178
|
arguments:
|
179
179
|
intersection:
|
180
|
-
|
181
|
-
type: integer
|
180
|
+
type: integer_list
|
182
181
|
description: |-
|
183
182
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
184
183
|
Other value: Intersection number
|
185
184
|
range: "[0-255]"
|
186
185
|
status:
|
187
|
-
|
188
|
-
type: boolean
|
186
|
+
type: boolean_list
|
189
187
|
description: |-
|
190
188
|
False: Traffic Light Controller in dark mode
|
191
189
|
True: Traffic Light Controller not in dark mode
|
@@ -196,15 +194,13 @@ objects:
|
|
196
194
|
Signal timings is controlled manually by service personnel using the operating panel of the controller.
|
197
195
|
arguments:
|
198
196
|
intersection:
|
199
|
-
|
200
|
-
type: integer
|
197
|
+
type: integer_list
|
201
198
|
description: |-
|
202
199
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
203
200
|
Other value: Intersection number
|
204
201
|
range: "[0-255]"
|
205
202
|
status:
|
206
|
-
|
207
|
-
type: boolean
|
203
|
+
type: boolean_list
|
208
204
|
description: |-
|
209
205
|
False: Manual control inactive
|
210
206
|
True: Manual control active
|
@@ -215,15 +211,13 @@ objects:
|
|
215
211
|
Usually only used in case normal detectors can't be used, e.g. during maintenance work.
|
216
212
|
arguments:
|
217
213
|
intersection:
|
218
|
-
|
219
|
-
type: integer
|
214
|
+
type: integer_list
|
220
215
|
description: |-
|
221
216
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
222
217
|
Other value: Intersection number
|
223
218
|
range: "[0-255]"
|
224
219
|
status:
|
225
|
-
|
226
|
-
type: boolean
|
220
|
+
type: boolean_list
|
227
221
|
description: |-
|
228
222
|
False: Fixed time control inactive
|
229
223
|
True: Fixed time control active
|
@@ -234,15 +228,13 @@ objects:
|
|
234
228
|
Used to determine if the controller is operating independently or operating with other controllers (coordination).
|
235
229
|
arguments:
|
236
230
|
intersection:
|
237
|
-
|
238
|
-
type: integer
|
231
|
+
type: integer_list
|
239
232
|
description: |-
|
240
233
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
241
234
|
Other value: Intersection number
|
242
235
|
range: "[0-255]"
|
243
236
|
status:
|
244
|
-
|
245
|
-
type: boolean
|
237
|
+
type: boolean_list
|
246
238
|
description: |-
|
247
239
|
False: Isolated control disabled
|
248
240
|
True: Isolated control enabled (Vehicle actuated control or Fixed time control)
|
@@ -253,15 +245,13 @@ objects:
|
|
253
245
|
Yellow flash may be used during a serious fault (depending on configuration) or maintenance work. It can also be manually set using M0001.
|
254
246
|
arguments:
|
255
247
|
intersection:
|
256
|
-
|
257
|
-
type: integer
|
248
|
+
type: integer_list
|
258
249
|
description: |-
|
259
250
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
260
251
|
Other value: Intersection number
|
261
252
|
range: "[0-255]"
|
262
253
|
status:
|
263
|
-
|
264
|
-
type: boolean
|
254
|
+
type: boolean_list
|
265
255
|
description: |-
|
266
256
|
False: Yellow flash disabled
|
267
257
|
True: Yellow flash enabled
|
@@ -272,15 +262,13 @@ objects:
|
|
272
262
|
All red can be manually set using the controllers operating panel during maintenance work.
|
273
263
|
arguments:
|
274
264
|
intersection:
|
275
|
-
|
276
|
-
type: integer
|
265
|
+
type: integer_list
|
277
266
|
description: |-
|
278
267
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
279
268
|
Other value: Intersection number
|
280
269
|
range: "[0-255]"
|
281
270
|
status:
|
282
|
-
|
283
|
-
type: boolean
|
271
|
+
type: boolean_list
|
284
272
|
description: |-
|
285
273
|
False: All red disabled
|
286
274
|
True: All red enabled
|
@@ -291,15 +279,13 @@ objects:
|
|
291
279
|
The "police key" is a external control switch present in some controllers that manually switches the controller to either dark mode or yellow flash.
|
292
280
|
arguments:
|
293
281
|
intersection:
|
294
|
-
|
295
|
-
type: integer
|
282
|
+
type: integer_list
|
296
283
|
description: |-
|
297
284
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
298
285
|
Other value: Intersection number
|
299
286
|
range: "[0-255]"
|
300
287
|
status:
|
301
|
-
|
302
|
-
type: integer
|
288
|
+
type: integer_list
|
303
289
|
values:
|
304
290
|
0: disabled
|
305
291
|
1: dark mode
|
@@ -367,15 +353,13 @@ objects:
|
|
367
353
|
Can be used for the management system to check the current control mode (startup, normal, standby, failure, test).
|
368
354
|
arguments:
|
369
355
|
intersection:
|
370
|
-
|
371
|
-
type: integer
|
356
|
+
type: integer_list
|
372
357
|
description: |-
|
373
358
|
0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
|
374
359
|
Other value: Intersection number
|
375
360
|
range: "[0-255]"
|
376
361
|
controlmode:
|
377
|
-
|
378
|
-
type: string
|
362
|
+
type: string_list
|
379
363
|
values:
|
380
364
|
startup: Startup mode
|
381
365
|
control: Normal control
|
@@ -469,29 +453,25 @@ objects:
|
|
469
453
|
Requires security code 2.
|
470
454
|
arguments:
|
471
455
|
status:
|
472
|
-
|
456
|
+
type: string_list
|
473
457
|
description: Set operating mode
|
474
|
-
type: string
|
475
458
|
values:
|
476
459
|
NormalControl: Normal Control
|
477
460
|
YellowFlash: Enables yellow flash
|
478
461
|
Dark: Enables dark mode
|
479
462
|
securityCode:
|
480
|
-
|
463
|
+
type: string_list
|
481
464
|
description: Security code 2
|
482
|
-
type: string
|
483
465
|
timeout:
|
484
|
-
|
466
|
+
type: integer_list
|
485
467
|
description: |-
|
486
468
|
Time in minutes until controller automatically reverts to previous functional position.
|
487
469
|
0=no automatic return
|
488
|
-
type: integer
|
489
470
|
min: 0
|
490
471
|
max: 1440
|
491
472
|
intersection:
|
492
|
-
|
473
|
+
type: integer_list
|
493
474
|
description: Intersection number
|
494
|
-
type: integer
|
495
475
|
min: 0
|
496
476
|
max: 255
|
497
477
|
command: setValue
|
@@ -88,7 +88,7 @@
|
|
88
88
|
"description" : "Time in minutes until controller automatically reverts to previous functional position.\n0=no automatic return"
|
89
89
|
},
|
90
90
|
{
|
91
|
-
"$ref" : "../../../core/3.1.1/definitions.json#/
|
91
|
+
"$ref" : "../../../core/3.1.1/definitions.json#/integer"
|
92
92
|
}
|
93
93
|
]
|
94
94
|
}
|
@@ -55,7 +55,7 @@
|
|
55
55
|
"allOf" : [
|
56
56
|
{
|
57
57
|
"description" : "local: Local coordination\ncentralized: Coordination with synchronized clock\noff: Coordination not active",
|
58
|
-
"pattern" : "(?-mix:^(local|centralized|
|
58
|
+
"pattern" : "(?-mix:^(local|centralized|off)(?:,(local|centralized|off))*$)"
|
59
59
|
},
|
60
60
|
{
|
61
61
|
"$ref" : "../../../core/3.1.1/definitions.json#/string_list"
|
@@ -0,0 +1,93 @@
|
|
1
|
+
{
|
2
|
+
"allOf" : [
|
3
|
+
{
|
4
|
+
"description" : "Signal Priority Status\nThis status can be used to get updates about priority requests. For example, you can use it to know when priority requests are activated or cancelled.\nA list of priorities is returned, referred to by their request ids. The same request id can appear only once.\nAll priorities are included in the list (not only the ones that have changed state since the last update). This is done regardless of whether the status is send in respond to a status request, or due to a status subscription, and also regardless of whether a status subscription uses an update interval, or send-on-change, or both.\nIf you subscribe using an update interval, you’re not guaranteed to get all intermediate states. To guarantee that, send-on-change must be used when subscribing.\nTo understand how this status relates to ETSI/J2735, please see the wiki.\nAll priorities are send on every status update, regardless of whether an interval, or sendOnChange (or both) is used.\nWhen a priority reaches an end states (completed, timeout, rejected, cooldown or stale), it must be sent once on the next status update, then removed from the list.\nA request always starts in the ‘received’ state. The following table shows the possible state transitions:",
|
5
|
+
"properties" : {
|
6
|
+
"n" : {
|
7
|
+
"enum" : [
|
8
|
+
"status"
|
9
|
+
]
|
10
|
+
}
|
11
|
+
}
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"if" : {
|
15
|
+
"required" : [
|
16
|
+
"n"
|
17
|
+
],
|
18
|
+
"properties" : {
|
19
|
+
"n" : {
|
20
|
+
"const" : "status"
|
21
|
+
}
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"then" : {
|
25
|
+
"properties" : {
|
26
|
+
"s" : {
|
27
|
+
"description" : "JSON array of priority status items",
|
28
|
+
"type" : "array",
|
29
|
+
"items" : {
|
30
|
+
"type" : "object",
|
31
|
+
"required" : [
|
32
|
+
"r",
|
33
|
+
"s",
|
34
|
+
"t"
|
35
|
+
],
|
36
|
+
"additionalProperties" : false,
|
37
|
+
"properties" : {
|
38
|
+
"r" : {
|
39
|
+
"description" : "ID of the priority request",
|
40
|
+
"type" : "string"
|
41
|
+
},
|
42
|
+
"t" : {
|
43
|
+
"allOf" : [
|
44
|
+
{
|
45
|
+
"description" : "Timestamp, indicating when the priority last changed state.\nFormat according to W3C XML dateTime with a resolution of 3 decimal places.\nAll time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z"
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"$ref" : "../../../core/3.1.1/definitions.json#/timestamp"
|
49
|
+
}
|
50
|
+
]
|
51
|
+
},
|
52
|
+
"s" : {
|
53
|
+
"description" : "Current status of the priority request",
|
54
|
+
"type" : "string",
|
55
|
+
"enum" : [
|
56
|
+
"activated",
|
57
|
+
"completed",
|
58
|
+
"cooldown",
|
59
|
+
"queued",
|
60
|
+
"received",
|
61
|
+
"rejected",
|
62
|
+
"stale",
|
63
|
+
"timeout"
|
64
|
+
]
|
65
|
+
},
|
66
|
+
"e" : {
|
67
|
+
"allOf" : [
|
68
|
+
{
|
69
|
+
"description" : "(Optional) Estimated green extension provided by the priority, in seconds\nOnly used when state is ‘completed’."
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"$ref" : "../../../core/3.1.1/definitions.json#/integer"
|
73
|
+
}
|
74
|
+
]
|
75
|
+
},
|
76
|
+
"d" : {
|
77
|
+
"allOf" : [
|
78
|
+
{
|
79
|
+
"description" : "(Optional) Estimated red reduction provided by the priority, in seconds\nOnly used when state is ‘completed’."
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"$ref" : "../../../core/3.1.1/definitions.json#/integer"
|
83
|
+
}
|
84
|
+
]
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
]
|
93
|
+
}
|
@@ -51,8 +51,14 @@
|
|
51
51
|
"then" : {
|
52
52
|
"properties" : {
|
53
53
|
"s" : {
|
54
|
-
"
|
55
|
-
|
54
|
+
"allOf" : [
|
55
|
+
{
|
56
|
+
"description" : "Number of vehicles.\n- Value expressed as an integer with a range of 0-65535.\n- Contains data from all detector logics. Each detector logic is separated with a comma.\n- The value is set to “-1” if no data could be measured (e.g. detector fault)"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
|
60
|
+
}
|
61
|
+
]
|
56
62
|
}
|
57
63
|
}
|
58
64
|
}
|
@@ -51,8 +51,14 @@
|
|
51
51
|
"then" : {
|
52
52
|
"properties" : {
|
53
53
|
"s" : {
|
54
|
-
"
|
55
|
-
|
54
|
+
"allOf" : [
|
55
|
+
{
|
56
|
+
"description" : "Average speed in km/h (integer).\n- Value expressed as an integer with a range of 0-65535.\n- Contains data from all detector logics. Each detector logic is separated with a comma.\n- The value is set to “-1” if no data could be measured (e.g. detector fault)"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
|
60
|
+
}
|
61
|
+
]
|
56
62
|
}
|
57
63
|
}
|
58
64
|
}
|
@@ -51,8 +51,14 @@
|
|
51
51
|
"then" : {
|
52
52
|
"properties" : {
|
53
53
|
"s" : {
|
54
|
-
"
|
55
|
-
|
54
|
+
"allOf" : [
|
55
|
+
{
|
56
|
+
"description" : "Occupancy in percent (%) (0-100)\n- Value expressed as an integer with a range of 0-100.\n- Contains data from all detector logics. Each detector logic is separated with a comma.\n- The value is set to “-1” if no data could be measured (e.g. detector fault)"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"$ref" : "../../../core/3.1.1/definitions.json#/integer_list"
|
60
|
+
}
|
61
|
+
]
|
56
62
|
}
|
57
63
|
}
|
58
64
|
}
|