config-editor-base 2.2.9 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schema/Advanced/uischema-01.08.json +997 -0
- package/dist/schema/CANedge1/schema-01.08.json +2258 -0
- package/dist/schema/CANedge1 GNSS/schema-01.08.json +2650 -0
- package/dist/schema/CANedge2/schema-01.08.json +2835 -0
- package/dist/schema/CANedge2 GNSS/schema-01.08.json +3227 -0
- package/dist/schema/CANedge3 GNSS/schema-01.08.json +3046 -0
- package/dist/schema/Simple/uischema-01.08.json +1052 -0
- package/package.json +1 -1
|
@@ -0,0 +1,2258 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"can_message": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"chn": {
|
|
8
|
+
"title": "Channel",
|
|
9
|
+
"description": "CAN-bus channel",
|
|
10
|
+
"type": "integer",
|
|
11
|
+
"default": 0,
|
|
12
|
+
"oneOf": [
|
|
13
|
+
{
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"title": "CAN internal",
|
|
16
|
+
"enum": [
|
|
17
|
+
0
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"type": "integer",
|
|
22
|
+
"title": "CAN 1",
|
|
23
|
+
"enum": [
|
|
24
|
+
1
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "integer",
|
|
29
|
+
"title": "CAN 2",
|
|
30
|
+
"enum": [
|
|
31
|
+
2
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"id_format": {
|
|
37
|
+
"title": "ID format",
|
|
38
|
+
"description": "ID format of message.",
|
|
39
|
+
"type": "integer",
|
|
40
|
+
"default": 0,
|
|
41
|
+
"oneOf": [
|
|
42
|
+
{
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"title": "Standard (11-bit)",
|
|
45
|
+
"enum": [
|
|
46
|
+
0
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "integer",
|
|
51
|
+
"title": "Extended (29-bit)",
|
|
52
|
+
"enum": [
|
|
53
|
+
1
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"id": {
|
|
59
|
+
"title": "ID (hex)",
|
|
60
|
+
"description": "ID of message in hex. Example: 1FF.",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"default": "0"
|
|
63
|
+
},
|
|
64
|
+
"id_mask": {
|
|
65
|
+
"title": "ID mask (hex)",
|
|
66
|
+
"description": "ID mask in hex. Example: 7FF.",
|
|
67
|
+
"type": "string",
|
|
68
|
+
"default": "7FF"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"id_format": {
|
|
73
|
+
"oneOf": [
|
|
74
|
+
{
|
|
75
|
+
"properties": {
|
|
76
|
+
"id_format": {
|
|
77
|
+
"enum": [
|
|
78
|
+
0
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"id": {
|
|
82
|
+
"pattern": "^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$",
|
|
83
|
+
"maxLength": 3
|
|
84
|
+
},
|
|
85
|
+
"id_mask": {
|
|
86
|
+
"pattern": "^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$",
|
|
87
|
+
"maxLength": 3
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"properties": {
|
|
93
|
+
"id_format": {
|
|
94
|
+
"enum": [
|
|
95
|
+
1
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"id": {
|
|
99
|
+
"pattern": "^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$",
|
|
100
|
+
"maxLength": 8
|
|
101
|
+
},
|
|
102
|
+
"id_mask": {
|
|
103
|
+
"pattern": "^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$",
|
|
104
|
+
"maxLength": 8
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"additionalProperties": false,
|
|
112
|
+
"required": [
|
|
113
|
+
"chn",
|
|
114
|
+
"id_format",
|
|
115
|
+
"id",
|
|
116
|
+
"id_mask"
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"can_signal": {
|
|
120
|
+
"type": "object",
|
|
121
|
+
"properties": {
|
|
122
|
+
"type": {
|
|
123
|
+
"title": "Signal type",
|
|
124
|
+
"type": "integer",
|
|
125
|
+
"default": 0,
|
|
126
|
+
"oneOf": [
|
|
127
|
+
{
|
|
128
|
+
"type": "integer",
|
|
129
|
+
"title": "Unsigned",
|
|
130
|
+
"enum": [
|
|
131
|
+
0
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"byteorder": {
|
|
137
|
+
"title": "Signal byteorder",
|
|
138
|
+
"description": "Can be Motorola (big endian) or Intel (little endian)",
|
|
139
|
+
"type": "integer",
|
|
140
|
+
"default": 1,
|
|
141
|
+
"oneOf": [
|
|
142
|
+
{
|
|
143
|
+
"type": "integer",
|
|
144
|
+
"title": "Motorola",
|
|
145
|
+
"enum": [
|
|
146
|
+
0
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"type": "integer",
|
|
151
|
+
"title": "Intel",
|
|
152
|
+
"enum": [
|
|
153
|
+
1
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"bitpos": {
|
|
159
|
+
"title": "Signal bit position",
|
|
160
|
+
"type": "integer",
|
|
161
|
+
"default": 0,
|
|
162
|
+
"minimum": 0,
|
|
163
|
+
"maximum": 512
|
|
164
|
+
},
|
|
165
|
+
"length": {
|
|
166
|
+
"title": "Signal bit length",
|
|
167
|
+
"type": "integer",
|
|
168
|
+
"default": 0,
|
|
169
|
+
"minimum": 0,
|
|
170
|
+
"maximum": 64
|
|
171
|
+
},
|
|
172
|
+
"factor": {
|
|
173
|
+
"title": "Signal scaling",
|
|
174
|
+
"type": "number",
|
|
175
|
+
"default": 0
|
|
176
|
+
},
|
|
177
|
+
"offset": {
|
|
178
|
+
"title": "Signal offset",
|
|
179
|
+
"type": "number",
|
|
180
|
+
"default": 0
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"additionalProperties": false,
|
|
184
|
+
"required": [
|
|
185
|
+
"type",
|
|
186
|
+
"byteorder",
|
|
187
|
+
"bitpos",
|
|
188
|
+
"length",
|
|
189
|
+
"factor",
|
|
190
|
+
"offset"
|
|
191
|
+
]
|
|
192
|
+
},
|
|
193
|
+
"can_control_startstop": {
|
|
194
|
+
"type": "object",
|
|
195
|
+
"properties": {
|
|
196
|
+
"message": {
|
|
197
|
+
"title": "Message",
|
|
198
|
+
"$ref": "#/definitions/can_message"
|
|
199
|
+
},
|
|
200
|
+
"signal": {
|
|
201
|
+
"title": "Signal",
|
|
202
|
+
"$ref": "#/definitions/can_signal"
|
|
203
|
+
},
|
|
204
|
+
"trigger_high": {
|
|
205
|
+
"title": "Trigger high (dec)",
|
|
206
|
+
"type": "number",
|
|
207
|
+
"default": 0
|
|
208
|
+
},
|
|
209
|
+
"trigger_low": {
|
|
210
|
+
"title": "Trigger low (dec)",
|
|
211
|
+
"type": "number",
|
|
212
|
+
"default": 0
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"additionalProperties": false,
|
|
216
|
+
"required": [
|
|
217
|
+
"message",
|
|
218
|
+
"signal",
|
|
219
|
+
"trigger_high",
|
|
220
|
+
"trigger_low"
|
|
221
|
+
]
|
|
222
|
+
},
|
|
223
|
+
"can_filter_id": {
|
|
224
|
+
"title": "ID filters",
|
|
225
|
+
"type": "array",
|
|
226
|
+
"minItems": 1,
|
|
227
|
+
"items": {
|
|
228
|
+
"type": "object",
|
|
229
|
+
"properties": {
|
|
230
|
+
"name": {
|
|
231
|
+
"title": "Name",
|
|
232
|
+
"description": "Optional filter name.",
|
|
233
|
+
"type": "string",
|
|
234
|
+
"pattern": "^[ -~]*$",
|
|
235
|
+
"maxLength": 16
|
|
236
|
+
},
|
|
237
|
+
"state": {
|
|
238
|
+
"title": "State",
|
|
239
|
+
"description": "Disabled filters are ignored.",
|
|
240
|
+
"type": "integer",
|
|
241
|
+
"default": 1,
|
|
242
|
+
"oneOf": [
|
|
243
|
+
{
|
|
244
|
+
"type": "integer",
|
|
245
|
+
"title": "Disable",
|
|
246
|
+
"enum": [
|
|
247
|
+
0
|
|
248
|
+
]
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"type": "integer",
|
|
252
|
+
"title": "Enable",
|
|
253
|
+
"enum": [
|
|
254
|
+
1
|
|
255
|
+
]
|
|
256
|
+
}
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
"type": {
|
|
260
|
+
"title": "Type",
|
|
261
|
+
"description": "Action on match, accept or reject message.",
|
|
262
|
+
"type": "integer",
|
|
263
|
+
"default": 0,
|
|
264
|
+
"oneOf": [
|
|
265
|
+
{
|
|
266
|
+
"title": "Acceptance",
|
|
267
|
+
"enum": [
|
|
268
|
+
0
|
|
269
|
+
]
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"title": "Rejection",
|
|
273
|
+
"enum": [
|
|
274
|
+
1
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
"id_format": {
|
|
280
|
+
"title": "ID format",
|
|
281
|
+
"description": "Filter ID format. Filters apply to messages with matching ID format.",
|
|
282
|
+
"type": "integer",
|
|
283
|
+
"default": 0,
|
|
284
|
+
"oneOf": [
|
|
285
|
+
{
|
|
286
|
+
"title": "Standard (11-bit)",
|
|
287
|
+
"enum": [
|
|
288
|
+
0
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"title": "Extended (29-bit)",
|
|
293
|
+
"enum": [
|
|
294
|
+
1
|
|
295
|
+
]
|
|
296
|
+
}
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
"method": {
|
|
300
|
+
"title": "Filter method",
|
|
301
|
+
"description": "The filter ID matching mechanism.",
|
|
302
|
+
"type": "integer",
|
|
303
|
+
"default": 0,
|
|
304
|
+
"oneOf": [
|
|
305
|
+
{
|
|
306
|
+
"title": "Range",
|
|
307
|
+
"enum": [
|
|
308
|
+
0
|
|
309
|
+
],
|
|
310
|
+
"description": "ID ranges"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"title": "Mask",
|
|
314
|
+
"enum": [
|
|
315
|
+
1
|
|
316
|
+
],
|
|
317
|
+
"description": "ID masking"
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
},
|
|
321
|
+
"f1": {
|
|
322
|
+
"title": "From (range) / ID (mask) (HEX)",
|
|
323
|
+
"description": "If filter method is Range, this field defines the start of range. If filter method is Mask, this field defines the filter ID.",
|
|
324
|
+
"type": "string",
|
|
325
|
+
"pattern": "^[a-fA-F0-9]+$",
|
|
326
|
+
"maxLength": 8,
|
|
327
|
+
"default": "0"
|
|
328
|
+
},
|
|
329
|
+
"f2": {
|
|
330
|
+
"title": "To (range) / mask (mask) (HEX)",
|
|
331
|
+
"description": "If filter method is Range, this field defines the end of range. If filter method is Mask, this field defines the filter mask.",
|
|
332
|
+
"type": "string",
|
|
333
|
+
"pattern": "^[a-fA-F0-9]+$",
|
|
334
|
+
"maxLength": 8,
|
|
335
|
+
"default": "7FF"
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
"dependencies": {
|
|
339
|
+
"type": {
|
|
340
|
+
"oneOf": [
|
|
341
|
+
{
|
|
342
|
+
"properties": {
|
|
343
|
+
"type": {
|
|
344
|
+
"enum": [
|
|
345
|
+
0
|
|
346
|
+
]
|
|
347
|
+
},
|
|
348
|
+
"prescaler_type": {
|
|
349
|
+
"title": "Prescaling type",
|
|
350
|
+
"description": "Select prescaling type. Prescale by message count, time or data. Select None to disable prescaling.",
|
|
351
|
+
"type": "integer",
|
|
352
|
+
"default": 0,
|
|
353
|
+
"oneOf": [
|
|
354
|
+
{
|
|
355
|
+
"title": "None",
|
|
356
|
+
"enum": [
|
|
357
|
+
0
|
|
358
|
+
]
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"title": "Count",
|
|
362
|
+
"enum": [
|
|
363
|
+
1
|
|
364
|
+
]
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"title": "Time",
|
|
368
|
+
"enum": [
|
|
369
|
+
2
|
|
370
|
+
]
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"title": "Data",
|
|
374
|
+
"enum": [
|
|
375
|
+
3
|
|
376
|
+
]
|
|
377
|
+
}
|
|
378
|
+
]
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
"dependencies": {
|
|
382
|
+
"prescaler_type": {
|
|
383
|
+
"oneOf": [
|
|
384
|
+
{
|
|
385
|
+
"properties": {
|
|
386
|
+
"prescaler_type": {
|
|
387
|
+
"enum": [
|
|
388
|
+
0
|
|
389
|
+
]
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"properties": {
|
|
395
|
+
"prescaler_type": {
|
|
396
|
+
"enum": [
|
|
397
|
+
1
|
|
398
|
+
]
|
|
399
|
+
},
|
|
400
|
+
"prescaler_value": {
|
|
401
|
+
"title": "Count",
|
|
402
|
+
"type": "integer",
|
|
403
|
+
"description": "Count prescaler value. Example: Set to 2 to sample a message with a specific ID every second time.",
|
|
404
|
+
"default": 1,
|
|
405
|
+
"minimum": 1,
|
|
406
|
+
"maximum": 256
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
"required": [
|
|
410
|
+
"prescaler_value"
|
|
411
|
+
]
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"properties": {
|
|
415
|
+
"prescaler_type": {
|
|
416
|
+
"enum": [
|
|
417
|
+
2
|
|
418
|
+
]
|
|
419
|
+
},
|
|
420
|
+
"prescaler_value": {
|
|
421
|
+
"title": "Time",
|
|
422
|
+
"description": "Time prescaler value in milliseconds. Example: Set to 1000 to sample a message with a specific ID with a minimum period time of 1 second. Note that messages are not resampled to a specific fixed period time.",
|
|
423
|
+
"type": "integer",
|
|
424
|
+
"default": 1,
|
|
425
|
+
"minimum": 1,
|
|
426
|
+
"maximum": 4194304
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
"required": [
|
|
430
|
+
"prescaler_value"
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"properties": {
|
|
435
|
+
"prescaler_type": {
|
|
436
|
+
"enum": [
|
|
437
|
+
3
|
|
438
|
+
]
|
|
439
|
+
},
|
|
440
|
+
"prescaler_value": {
|
|
441
|
+
"title": "Mask",
|
|
442
|
+
"description": "Data prescaler mask value in hex. Each bit corresponds to a data byte (up to 64 bytes). Leave empty to disable the mask (triggers on any data change). Example 1: Set to FF (0b11111111) to sample a message with a specific ID if any of the first 8 data bytes change. Example 2: Set to 03 (0b00000011) to sample if any of the two first data bytes change. Example 3: Set to 9 (0b00001001) to sample if any of the first or fourth data bytes change.",
|
|
443
|
+
"type": "string",
|
|
444
|
+
"default": "FF",
|
|
445
|
+
"pattern": "^[a-fA-F0-9]*$",
|
|
446
|
+
"maxLength": 16
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
"required": [
|
|
454
|
+
"prescaler_type"
|
|
455
|
+
]
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"properties": {
|
|
459
|
+
"type": {
|
|
460
|
+
"enum": [
|
|
461
|
+
1
|
|
462
|
+
]
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
]
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
"additionalProperties": false,
|
|
470
|
+
"patternProperties": {
|
|
471
|
+
"prescaler_type": {},
|
|
472
|
+
"prescaler_value": {}
|
|
473
|
+
},
|
|
474
|
+
"required": [
|
|
475
|
+
"state",
|
|
476
|
+
"type",
|
|
477
|
+
"id_format",
|
|
478
|
+
"method",
|
|
479
|
+
"f1",
|
|
480
|
+
"f2"
|
|
481
|
+
]
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
"can_general": {
|
|
485
|
+
"title": "General",
|
|
486
|
+
"description": "CAN bus general configuration",
|
|
487
|
+
"type": "object",
|
|
488
|
+
"properties": {
|
|
489
|
+
"rx_state": {
|
|
490
|
+
"title": "Reception (rx) initial state",
|
|
491
|
+
"description": "The initial state of CAN-bus reception. Can be changed using the control signal.",
|
|
492
|
+
"type": "integer",
|
|
493
|
+
"default": 1,
|
|
494
|
+
"oneOf": [
|
|
495
|
+
{
|
|
496
|
+
"type": "integer",
|
|
497
|
+
"title": "Disable",
|
|
498
|
+
"enum": [
|
|
499
|
+
0
|
|
500
|
+
]
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"type": "integer",
|
|
504
|
+
"title": "Enable",
|
|
505
|
+
"enum": [
|
|
506
|
+
1
|
|
507
|
+
]
|
|
508
|
+
}
|
|
509
|
+
]
|
|
510
|
+
},
|
|
511
|
+
"tx_state": {
|
|
512
|
+
"title": "Transmission (tx) initial state",
|
|
513
|
+
"description": "The initial state of CAN-bus transmissions. Can be changed using the control signal.",
|
|
514
|
+
"type": "integer",
|
|
515
|
+
"default": 1,
|
|
516
|
+
"oneOf": [
|
|
517
|
+
{
|
|
518
|
+
"type": "integer",
|
|
519
|
+
"title": "Disable",
|
|
520
|
+
"enum": [
|
|
521
|
+
0
|
|
522
|
+
]
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"type": "integer",
|
|
526
|
+
"title": "Enable",
|
|
527
|
+
"enum": [
|
|
528
|
+
1
|
|
529
|
+
]
|
|
530
|
+
}
|
|
531
|
+
]
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
"additionalProperties": false,
|
|
535
|
+
"required": [
|
|
536
|
+
"rx_state",
|
|
537
|
+
"tx_state"
|
|
538
|
+
]
|
|
539
|
+
},
|
|
540
|
+
"can_control": {
|
|
541
|
+
"title": "Control",
|
|
542
|
+
"description": "Control signal",
|
|
543
|
+
"type": "object",
|
|
544
|
+
"properties": {
|
|
545
|
+
"control_rx_state": {
|
|
546
|
+
"title": "Control reception (rx) state",
|
|
547
|
+
"description": "Control CAN-bus reception state (including logging) ",
|
|
548
|
+
"type": "integer",
|
|
549
|
+
"default": 0,
|
|
550
|
+
"oneOf": [
|
|
551
|
+
{
|
|
552
|
+
"type": "integer",
|
|
553
|
+
"title": "Disable",
|
|
554
|
+
"enum": [
|
|
555
|
+
0
|
|
556
|
+
]
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"type": "integer",
|
|
560
|
+
"title": "Enable",
|
|
561
|
+
"enum": [
|
|
562
|
+
1
|
|
563
|
+
]
|
|
564
|
+
}
|
|
565
|
+
]
|
|
566
|
+
},
|
|
567
|
+
"control_tx_state": {
|
|
568
|
+
"title": "Control transmission (tx) state",
|
|
569
|
+
"description": "Control CAN-bus transmission state (including logging) ",
|
|
570
|
+
"type": "integer",
|
|
571
|
+
"default": 0,
|
|
572
|
+
"oneOf": [
|
|
573
|
+
{
|
|
574
|
+
"type": "integer",
|
|
575
|
+
"title": "Disable",
|
|
576
|
+
"enum": [
|
|
577
|
+
0
|
|
578
|
+
]
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"type": "integer",
|
|
582
|
+
"title": "Enable",
|
|
583
|
+
"enum": [
|
|
584
|
+
1
|
|
585
|
+
]
|
|
586
|
+
}
|
|
587
|
+
]
|
|
588
|
+
},
|
|
589
|
+
"start": {
|
|
590
|
+
"title": "Start",
|
|
591
|
+
"$ref": "#/definitions/can_control_startstop"
|
|
592
|
+
},
|
|
593
|
+
"stop": {
|
|
594
|
+
"title": "Stop",
|
|
595
|
+
"$ref": "#/definitions/can_control_startstop"
|
|
596
|
+
}
|
|
597
|
+
},
|
|
598
|
+
"required": [
|
|
599
|
+
"control_rx_state",
|
|
600
|
+
"control_tx_state",
|
|
601
|
+
"start",
|
|
602
|
+
"stop"
|
|
603
|
+
]
|
|
604
|
+
},
|
|
605
|
+
"can": {
|
|
606
|
+
"type": "object",
|
|
607
|
+
"properties": {
|
|
608
|
+
"general": {
|
|
609
|
+
"$ref": "#/definitions/can_general"
|
|
610
|
+
},
|
|
611
|
+
"phy": {
|
|
612
|
+
"title": "Physical (CAN bus low-level)",
|
|
613
|
+
"description": "CAN bus low-level configuration",
|
|
614
|
+
"type": "object",
|
|
615
|
+
"properties": {
|
|
616
|
+
"mode": {
|
|
617
|
+
"title": "Mode",
|
|
618
|
+
"description": "Device CAN bus mode. Configures how the device interacts with the bus. In Normal mode, the device can receive, acknowledge and transmit frames. In Restricted mode, the device can receive and acknowledge, but not transmit frames. In Bus Monitoring mode, the device can receive, but not acknowledge or transmit frames. It is recommended to always use the most restrictive mode possible.",
|
|
619
|
+
"type": "integer",
|
|
620
|
+
"default": 1,
|
|
621
|
+
"oneOf": [
|
|
622
|
+
{
|
|
623
|
+
"type": "integer",
|
|
624
|
+
"title": "Normal (receive, acknowledge and transmit)",
|
|
625
|
+
"enum": [
|
|
626
|
+
0
|
|
627
|
+
]
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"type": "integer",
|
|
631
|
+
"title": "Restricted (receive and acknowledge)",
|
|
632
|
+
"enum": [
|
|
633
|
+
1
|
|
634
|
+
]
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
"type": "integer",
|
|
638
|
+
"title": "Monitoring (receive only)",
|
|
639
|
+
"enum": [
|
|
640
|
+
2
|
|
641
|
+
]
|
|
642
|
+
}
|
|
643
|
+
]
|
|
644
|
+
},
|
|
645
|
+
"retransmission": {
|
|
646
|
+
"title": "Automatic retransmission",
|
|
647
|
+
"description": "Retransmission of frames that have lost arbitration or that have been disturbed by errors during transmission.",
|
|
648
|
+
"type": "integer",
|
|
649
|
+
"default": 1,
|
|
650
|
+
"oneOf": [
|
|
651
|
+
{
|
|
652
|
+
"type": "integer",
|
|
653
|
+
"title": "Disable",
|
|
654
|
+
"enum": [
|
|
655
|
+
0
|
|
656
|
+
]
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"type": "integer",
|
|
660
|
+
"title": "Enable",
|
|
661
|
+
"enum": [
|
|
662
|
+
1
|
|
663
|
+
]
|
|
664
|
+
}
|
|
665
|
+
]
|
|
666
|
+
},
|
|
667
|
+
"fd_spec": {
|
|
668
|
+
"title": "CAN FD specification",
|
|
669
|
+
"description": "Configures the CAN FD specification used by the device. Shall match the specification used by the CAN bus network.",
|
|
670
|
+
"type": "integer",
|
|
671
|
+
"default": 0,
|
|
672
|
+
"oneOf": [
|
|
673
|
+
{
|
|
674
|
+
"type": "integer",
|
|
675
|
+
"title": " ISO CAN FD (11898-1)",
|
|
676
|
+
"enum": [
|
|
677
|
+
0
|
|
678
|
+
]
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"type": "integer",
|
|
682
|
+
"title": "non-ISO CAN FD (Bosch V1.0.)",
|
|
683
|
+
"enum": [
|
|
684
|
+
1
|
|
685
|
+
]
|
|
686
|
+
}
|
|
687
|
+
]
|
|
688
|
+
},
|
|
689
|
+
"bit_rate_cfg_mode": {
|
|
690
|
+
"title": "Bit-rate configuration mode",
|
|
691
|
+
"description": "Configures how the CAN bus bit-rate is set. Modes Auto-detect and Bit-rate support all standard bit-rates. Non-standard bit-rate configuration can be set using Bit-timing. It is recommended to set the bit-rate manually if it is known.",
|
|
692
|
+
"type": "integer",
|
|
693
|
+
"default": 0,
|
|
694
|
+
"oneOf": [
|
|
695
|
+
{
|
|
696
|
+
"title": "Auto-detect",
|
|
697
|
+
"enum": [
|
|
698
|
+
0
|
|
699
|
+
]
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
"title": "Bit-rate (simple)",
|
|
703
|
+
"enum": [
|
|
704
|
+
1
|
|
705
|
+
]
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"title": "Bit-timing (advanced)",
|
|
709
|
+
"enum": [
|
|
710
|
+
2
|
|
711
|
+
]
|
|
712
|
+
}
|
|
713
|
+
]
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
"dependencies": {
|
|
717
|
+
"bit_rate_cfg_mode": {
|
|
718
|
+
"oneOf": [
|
|
719
|
+
{
|
|
720
|
+
"properties": {
|
|
721
|
+
"bit_rate_cfg_mode": {
|
|
722
|
+
"enum": [
|
|
723
|
+
0
|
|
724
|
+
]
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"properties": {
|
|
730
|
+
"bit_rate_cfg_mode": {
|
|
731
|
+
"enum": [
|
|
732
|
+
1
|
|
733
|
+
]
|
|
734
|
+
},
|
|
735
|
+
"bit_rate_std": {
|
|
736
|
+
"title": "Bit-rate standard",
|
|
737
|
+
"type": "integer",
|
|
738
|
+
"default": 250000,
|
|
739
|
+
"oneOf": [
|
|
740
|
+
{
|
|
741
|
+
"title": "5K",
|
|
742
|
+
"enum": [
|
|
743
|
+
5000
|
|
744
|
+
]
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"title": "10K",
|
|
748
|
+
"enum": [
|
|
749
|
+
10000
|
|
750
|
+
]
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
"title": "20K",
|
|
754
|
+
"enum": [
|
|
755
|
+
20000
|
|
756
|
+
]
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"title": "33.333K",
|
|
760
|
+
"enum": [
|
|
761
|
+
33333
|
|
762
|
+
]
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
"title": "47.619K",
|
|
766
|
+
"enum": [
|
|
767
|
+
47619
|
|
768
|
+
]
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"title": "50K",
|
|
772
|
+
"enum": [
|
|
773
|
+
50000
|
|
774
|
+
]
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"title": "83.333K",
|
|
778
|
+
"enum": [
|
|
779
|
+
83333
|
|
780
|
+
]
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"title": "95.238K",
|
|
784
|
+
"enum": [
|
|
785
|
+
95238
|
|
786
|
+
]
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"title": "100K",
|
|
790
|
+
"enum": [
|
|
791
|
+
100000
|
|
792
|
+
]
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"title": "125K",
|
|
796
|
+
"enum": [
|
|
797
|
+
125000
|
|
798
|
+
]
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"title": "250K",
|
|
802
|
+
"enum": [
|
|
803
|
+
250000
|
|
804
|
+
]
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"title": "500K",
|
|
808
|
+
"enum": [
|
|
809
|
+
500000
|
|
810
|
+
]
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"title": "800K",
|
|
814
|
+
"enum": [
|
|
815
|
+
800000
|
|
816
|
+
]
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"title": "1M",
|
|
820
|
+
"enum": [
|
|
821
|
+
1000000
|
|
822
|
+
]
|
|
823
|
+
}
|
|
824
|
+
]
|
|
825
|
+
},
|
|
826
|
+
"bit_rate_fd": {
|
|
827
|
+
"title": "Bit-rate FD",
|
|
828
|
+
"type": "integer",
|
|
829
|
+
"default": 1000000,
|
|
830
|
+
"oneOf": [
|
|
831
|
+
{
|
|
832
|
+
"title": "1M",
|
|
833
|
+
"enum": [
|
|
834
|
+
1000000
|
|
835
|
+
]
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
"title": "2M",
|
|
839
|
+
"enum": [
|
|
840
|
+
2000000
|
|
841
|
+
]
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"title": "4M",
|
|
845
|
+
"enum": [
|
|
846
|
+
4000000
|
|
847
|
+
]
|
|
848
|
+
}
|
|
849
|
+
]
|
|
850
|
+
}
|
|
851
|
+
},
|
|
852
|
+
"required": [
|
|
853
|
+
"bit_rate_std",
|
|
854
|
+
"bit_rate_fd"
|
|
855
|
+
]
|
|
856
|
+
},
|
|
857
|
+
{
|
|
858
|
+
"properties": {
|
|
859
|
+
"bit_rate_cfg_mode": {
|
|
860
|
+
"enum": [
|
|
861
|
+
2
|
|
862
|
+
]
|
|
863
|
+
},
|
|
864
|
+
"bit_rate_std": {
|
|
865
|
+
"title": "Bit-timing standard",
|
|
866
|
+
"type": "object",
|
|
867
|
+
"properties": {
|
|
868
|
+
"brp": {
|
|
869
|
+
"title": "BRP (Bit Rate Prescaler)",
|
|
870
|
+
"type": "integer",
|
|
871
|
+
"default": 2,
|
|
872
|
+
"minimum": 1
|
|
873
|
+
},
|
|
874
|
+
"seg1": {
|
|
875
|
+
"title": "SEG1 (Time Segment 1 )",
|
|
876
|
+
"type": "integer",
|
|
877
|
+
"default": 63,
|
|
878
|
+
"minimum": 1
|
|
879
|
+
},
|
|
880
|
+
"seg2": {
|
|
881
|
+
"title": "SEG2 (Time Segment 2)",
|
|
882
|
+
"type": "integer",
|
|
883
|
+
"default": 16,
|
|
884
|
+
"minimum": 2
|
|
885
|
+
},
|
|
886
|
+
"sjw": {
|
|
887
|
+
"title": "SJW (Synchronization Jump Width)",
|
|
888
|
+
"type": "integer",
|
|
889
|
+
"default": 4,
|
|
890
|
+
"minimum": 0,
|
|
891
|
+
"maximum": 4
|
|
892
|
+
}
|
|
893
|
+
},
|
|
894
|
+
"additionalProperties": false,
|
|
895
|
+
"required": [
|
|
896
|
+
"brp",
|
|
897
|
+
"seg1",
|
|
898
|
+
"seg2",
|
|
899
|
+
"sjw"
|
|
900
|
+
]
|
|
901
|
+
},
|
|
902
|
+
"bit_rate_fd": {
|
|
903
|
+
"title": "Bit-timing FD",
|
|
904
|
+
"type": "object",
|
|
905
|
+
"properties": {
|
|
906
|
+
"brp": {
|
|
907
|
+
"title": "BRP (Bit Rate Prescaler)",
|
|
908
|
+
"type": "integer",
|
|
909
|
+
"default": 1,
|
|
910
|
+
"minimum": 1
|
|
911
|
+
},
|
|
912
|
+
"seg1": {
|
|
913
|
+
"title": "SEG1 (Time Segment 1)",
|
|
914
|
+
"type": "integer",
|
|
915
|
+
"default": 31,
|
|
916
|
+
"minimum": 1
|
|
917
|
+
},
|
|
918
|
+
"seg2": {
|
|
919
|
+
"title": "SEG2 (Time Segment 2)",
|
|
920
|
+
"type": "integer",
|
|
921
|
+
"default": 8,
|
|
922
|
+
"minimum": 2
|
|
923
|
+
},
|
|
924
|
+
"sjw": {
|
|
925
|
+
"title": "SJW (Synchronization Jump Width)",
|
|
926
|
+
"type": "integer",
|
|
927
|
+
"default": 4,
|
|
928
|
+
"minimum": 0,
|
|
929
|
+
"maximum": 4
|
|
930
|
+
}
|
|
931
|
+
},
|
|
932
|
+
"additionalProperties": false,
|
|
933
|
+
"required": [
|
|
934
|
+
"brp",
|
|
935
|
+
"seg1",
|
|
936
|
+
"seg2",
|
|
937
|
+
"sjw"
|
|
938
|
+
]
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
"required": [
|
|
942
|
+
"bit_rate_std",
|
|
943
|
+
"bit_rate_fd"
|
|
944
|
+
]
|
|
945
|
+
}
|
|
946
|
+
]
|
|
947
|
+
}
|
|
948
|
+
},
|
|
949
|
+
"additionalProperties": false,
|
|
950
|
+
"patternProperties": {
|
|
951
|
+
"bit_rate_std": {},
|
|
952
|
+
"bit_rate_fd": {}
|
|
953
|
+
},
|
|
954
|
+
"required": [
|
|
955
|
+
"mode",
|
|
956
|
+
"retransmission",
|
|
957
|
+
"fd_spec",
|
|
958
|
+
"bit_rate_cfg_mode"
|
|
959
|
+
]
|
|
960
|
+
},
|
|
961
|
+
"filter": {
|
|
962
|
+
"title": "Receive filters",
|
|
963
|
+
"type": "object",
|
|
964
|
+
"properties": {
|
|
965
|
+
"remote_frames": {
|
|
966
|
+
"title": "Filter remote request frames",
|
|
967
|
+
"description": "Controls if remote request frames are forwarded to the message filters. If `Reject` is selected, remote request frames are discarded before they reach the message filters.",
|
|
968
|
+
"type": "integer",
|
|
969
|
+
"default": 0,
|
|
970
|
+
"oneOf": [
|
|
971
|
+
{
|
|
972
|
+
"type": "integer",
|
|
973
|
+
"title": "Reject",
|
|
974
|
+
"enum": [
|
|
975
|
+
0
|
|
976
|
+
]
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
"type": "integer",
|
|
980
|
+
"title": "Accept",
|
|
981
|
+
"enum": [
|
|
982
|
+
1
|
|
983
|
+
]
|
|
984
|
+
}
|
|
985
|
+
]
|
|
986
|
+
},
|
|
987
|
+
"id": {
|
|
988
|
+
"description": "Filters are checked sequentially, execution stops with the first matching filter element. Max 128 11-bit filters and 64 29-bit filters.",
|
|
989
|
+
"maxItems": 192,
|
|
990
|
+
"$ref": "#/definitions/can_filter_id"
|
|
991
|
+
}
|
|
992
|
+
},
|
|
993
|
+
"required": [
|
|
994
|
+
"remote_frames",
|
|
995
|
+
"id"
|
|
996
|
+
]
|
|
997
|
+
},
|
|
998
|
+
"transmit": {
|
|
999
|
+
"title": "Transmit messages",
|
|
1000
|
+
"description": "List of CAN bus messages transmitted by the device. Requires a CAN-bus physical mode supporting transmissions.",
|
|
1001
|
+
"type": "array",
|
|
1002
|
+
"maxItems": 64,
|
|
1003
|
+
"items": {
|
|
1004
|
+
"type": "object",
|
|
1005
|
+
"properties": {
|
|
1006
|
+
"name": {
|
|
1007
|
+
"title": "Name",
|
|
1008
|
+
"description": "Optional transmit message name.",
|
|
1009
|
+
"type": "string",
|
|
1010
|
+
"pattern": "^[ -~]*$",
|
|
1011
|
+
"maxLength": 16
|
|
1012
|
+
},
|
|
1013
|
+
"state": {
|
|
1014
|
+
"title": "State",
|
|
1015
|
+
"description": "Disabled transmit messages are ignored.",
|
|
1016
|
+
"type": "integer",
|
|
1017
|
+
"default": 1,
|
|
1018
|
+
"oneOf": [
|
|
1019
|
+
{
|
|
1020
|
+
"type": "integer",
|
|
1021
|
+
"title": "Disable",
|
|
1022
|
+
"enum": [
|
|
1023
|
+
0
|
|
1024
|
+
]
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"type": "integer",
|
|
1028
|
+
"title": "Enable",
|
|
1029
|
+
"enum": [
|
|
1030
|
+
1
|
|
1031
|
+
]
|
|
1032
|
+
}
|
|
1033
|
+
]
|
|
1034
|
+
},
|
|
1035
|
+
"id_format": {
|
|
1036
|
+
"title": "ID Format",
|
|
1037
|
+
"description": "ID format of the transmit message.",
|
|
1038
|
+
"type": "integer",
|
|
1039
|
+
"default": 0,
|
|
1040
|
+
"oneOf": [
|
|
1041
|
+
{
|
|
1042
|
+
"type": "integer",
|
|
1043
|
+
"title": "Standard (11-bit)",
|
|
1044
|
+
"enum": [
|
|
1045
|
+
0
|
|
1046
|
+
]
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
"type": "integer",
|
|
1050
|
+
"title": "Extended (29-bit)",
|
|
1051
|
+
"enum": [
|
|
1052
|
+
1
|
|
1053
|
+
]
|
|
1054
|
+
}
|
|
1055
|
+
]
|
|
1056
|
+
},
|
|
1057
|
+
"frame_format": {
|
|
1058
|
+
"title": "Frame format",
|
|
1059
|
+
"description": "Frame format of the transmit message.",
|
|
1060
|
+
"type": "integer",
|
|
1061
|
+
"default": 0,
|
|
1062
|
+
"oneOf": [
|
|
1063
|
+
{
|
|
1064
|
+
"type": "integer",
|
|
1065
|
+
"title": "Standard",
|
|
1066
|
+
"enum": [
|
|
1067
|
+
0
|
|
1068
|
+
]
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
"type": "integer",
|
|
1072
|
+
"title": "Standard RTR",
|
|
1073
|
+
"enum": [
|
|
1074
|
+
2
|
|
1075
|
+
]
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"type": "integer",
|
|
1079
|
+
"title": "FD",
|
|
1080
|
+
"enum": [
|
|
1081
|
+
1
|
|
1082
|
+
]
|
|
1083
|
+
}
|
|
1084
|
+
]
|
|
1085
|
+
},
|
|
1086
|
+
"brs": {
|
|
1087
|
+
"title": "Bit-Rate Switch",
|
|
1088
|
+
"description": "Determines if an FD message is transmitted using a switched bit-rate.",
|
|
1089
|
+
"type": "integer",
|
|
1090
|
+
"default": 0
|
|
1091
|
+
},
|
|
1092
|
+
"log": {
|
|
1093
|
+
"title": "Include in log",
|
|
1094
|
+
"description": "Determines if the transmitted message is included in the log file.",
|
|
1095
|
+
"type": "integer",
|
|
1096
|
+
"default": 0,
|
|
1097
|
+
"oneOf": [
|
|
1098
|
+
{
|
|
1099
|
+
"type": "integer",
|
|
1100
|
+
"title": "Disable",
|
|
1101
|
+
"enum": [
|
|
1102
|
+
0
|
|
1103
|
+
]
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"type": "integer",
|
|
1107
|
+
"title": "Enable",
|
|
1108
|
+
"enum": [
|
|
1109
|
+
1
|
|
1110
|
+
]
|
|
1111
|
+
}
|
|
1112
|
+
]
|
|
1113
|
+
},
|
|
1114
|
+
"period": {
|
|
1115
|
+
"title": "Period (10 ms steps)",
|
|
1116
|
+
"description": "Time period of the message transmission. 0: single shot, >0: periodic. Unit is ms.",
|
|
1117
|
+
"type": "integer",
|
|
1118
|
+
"minimum": 0,
|
|
1119
|
+
"maximum": 4294967290,
|
|
1120
|
+
"multipleOf": 10
|
|
1121
|
+
},
|
|
1122
|
+
"delay": {
|
|
1123
|
+
"title": "Delay (10 ms steps)",
|
|
1124
|
+
"description": "Offset message within the period or delay a single shot message. If multiple messages are transmitted by the device, it is recommended to offset each separately to reduce peak load on bus. If period > 0, delay < period. If single-shot, delay can be up to max value. Unit is ms.",
|
|
1125
|
+
"type": "integer",
|
|
1126
|
+
"minimum": 0,
|
|
1127
|
+
"maximum": 4294967290,
|
|
1128
|
+
"multipleOf": 10
|
|
1129
|
+
},
|
|
1130
|
+
"id": {
|
|
1131
|
+
"title": "Message ID (hex)",
|
|
1132
|
+
"description": "ID of message to transmit in hex. Example: 1FF.",
|
|
1133
|
+
"type": "string"
|
|
1134
|
+
},
|
|
1135
|
+
"data": {
|
|
1136
|
+
"title": "Messages Data (hex)",
|
|
1137
|
+
"description": "Data bytes of message to transmit. RTR frames only use the number of bytes do determine the DLC. Example: 01020304 or 0102030405060708. ",
|
|
1138
|
+
"type": "string",
|
|
1139
|
+
"pattern": "^([a-fA-F0-9]{2}){0,64}$",
|
|
1140
|
+
"maxLength": 128
|
|
1141
|
+
}
|
|
1142
|
+
},
|
|
1143
|
+
"dependencies": {
|
|
1144
|
+
"id_format": {
|
|
1145
|
+
"oneOf": [
|
|
1146
|
+
{
|
|
1147
|
+
"properties": {
|
|
1148
|
+
"id_format": {
|
|
1149
|
+
"enum": [
|
|
1150
|
+
0
|
|
1151
|
+
]
|
|
1152
|
+
},
|
|
1153
|
+
"id": {
|
|
1154
|
+
"pattern": "^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$",
|
|
1155
|
+
"maxLength": 3
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"properties": {
|
|
1161
|
+
"id_format": {
|
|
1162
|
+
"enum": [
|
|
1163
|
+
1
|
|
1164
|
+
]
|
|
1165
|
+
},
|
|
1166
|
+
"id": {
|
|
1167
|
+
"pattern": "^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$",
|
|
1168
|
+
"maxLength": 8
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
]
|
|
1173
|
+
},
|
|
1174
|
+
"frame_format": {
|
|
1175
|
+
"oneOf": [
|
|
1176
|
+
{
|
|
1177
|
+
"properties": {
|
|
1178
|
+
"frame_format": {
|
|
1179
|
+
"enum": [
|
|
1180
|
+
0
|
|
1181
|
+
]
|
|
1182
|
+
},
|
|
1183
|
+
"brs": {
|
|
1184
|
+
"oneOf": [
|
|
1185
|
+
{
|
|
1186
|
+
"type": "integer",
|
|
1187
|
+
"title": "Disable",
|
|
1188
|
+
"enum": [
|
|
1189
|
+
0
|
|
1190
|
+
]
|
|
1191
|
+
}
|
|
1192
|
+
]
|
|
1193
|
+
},
|
|
1194
|
+
"data": {
|
|
1195
|
+
"pattern": "^([a-fA-F0-9]{2}){0,8}$",
|
|
1196
|
+
"maxLength": 16
|
|
1197
|
+
}
|
|
1198
|
+
}
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"properties": {
|
|
1202
|
+
"frame_format": {
|
|
1203
|
+
"enum": [
|
|
1204
|
+
2
|
|
1205
|
+
]
|
|
1206
|
+
},
|
|
1207
|
+
"brs": {
|
|
1208
|
+
"oneOf": [
|
|
1209
|
+
{
|
|
1210
|
+
"type": "integer",
|
|
1211
|
+
"title": "Disable",
|
|
1212
|
+
"enum": [
|
|
1213
|
+
0
|
|
1214
|
+
]
|
|
1215
|
+
}
|
|
1216
|
+
]
|
|
1217
|
+
},
|
|
1218
|
+
"data": {
|
|
1219
|
+
"pattern": "^([a-fA-F0-9]{2}){0,8}$",
|
|
1220
|
+
"maxLength": 16
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"properties": {
|
|
1226
|
+
"frame_format": {
|
|
1227
|
+
"enum": [
|
|
1228
|
+
1
|
|
1229
|
+
]
|
|
1230
|
+
},
|
|
1231
|
+
"brs": {
|
|
1232
|
+
"oneOf": [
|
|
1233
|
+
{
|
|
1234
|
+
"type": "integer",
|
|
1235
|
+
"title": "Disable",
|
|
1236
|
+
"enum": [
|
|
1237
|
+
0
|
|
1238
|
+
]
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
"type": "integer",
|
|
1242
|
+
"title": "Enable",
|
|
1243
|
+
"enum": [
|
|
1244
|
+
1
|
|
1245
|
+
]
|
|
1246
|
+
}
|
|
1247
|
+
]
|
|
1248
|
+
},
|
|
1249
|
+
"data": {
|
|
1250
|
+
"pattern": "^([a-fA-F0-9]{2}){0,64}$",
|
|
1251
|
+
"maxLength": 128
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
]
|
|
1256
|
+
}
|
|
1257
|
+
},
|
|
1258
|
+
"additionalProperties": false,
|
|
1259
|
+
"required": [
|
|
1260
|
+
"state",
|
|
1261
|
+
"id_format",
|
|
1262
|
+
"frame_format",
|
|
1263
|
+
"brs",
|
|
1264
|
+
"log",
|
|
1265
|
+
"period",
|
|
1266
|
+
"delay",
|
|
1267
|
+
"id",
|
|
1268
|
+
"data"
|
|
1269
|
+
]
|
|
1270
|
+
}
|
|
1271
|
+
},
|
|
1272
|
+
"heartbeat": {
|
|
1273
|
+
"title": "Heartbeat",
|
|
1274
|
+
"description": "Periodic heartbeat (1 second period time). Requires a CAN-bus physical mode supporting transmissions.",
|
|
1275
|
+
"type": "object",
|
|
1276
|
+
"properties": {
|
|
1277
|
+
"state": {
|
|
1278
|
+
"title": "State",
|
|
1279
|
+
"description": "Enable to periodically transmit heartbeat signal. ",
|
|
1280
|
+
"type": "integer",
|
|
1281
|
+
"default": 0,
|
|
1282
|
+
"oneOf": [
|
|
1283
|
+
{
|
|
1284
|
+
"type": "integer",
|
|
1285
|
+
"title": "Disable",
|
|
1286
|
+
"enum": [
|
|
1287
|
+
0
|
|
1288
|
+
]
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"type": "integer",
|
|
1292
|
+
"title": "Enable",
|
|
1293
|
+
"enum": [
|
|
1294
|
+
1
|
|
1295
|
+
]
|
|
1296
|
+
}
|
|
1297
|
+
]
|
|
1298
|
+
},
|
|
1299
|
+
"id_format": {
|
|
1300
|
+
"title": "ID Format",
|
|
1301
|
+
"description": "ID format of heartbeat message.",
|
|
1302
|
+
"type": "integer",
|
|
1303
|
+
"default": 1,
|
|
1304
|
+
"oneOf": [
|
|
1305
|
+
{
|
|
1306
|
+
"type": "integer",
|
|
1307
|
+
"title": "Standard (11-bit)",
|
|
1308
|
+
"enum": [
|
|
1309
|
+
0
|
|
1310
|
+
]
|
|
1311
|
+
},
|
|
1312
|
+
{
|
|
1313
|
+
"type": "integer",
|
|
1314
|
+
"title": "Extended (29-bit)",
|
|
1315
|
+
"enum": [
|
|
1316
|
+
1
|
|
1317
|
+
]
|
|
1318
|
+
}
|
|
1319
|
+
]
|
|
1320
|
+
},
|
|
1321
|
+
"id": {
|
|
1322
|
+
"title": "ID (hex)",
|
|
1323
|
+
"description": "ID of heartbeat message in hex. Example: 1FF.",
|
|
1324
|
+
"type": "string",
|
|
1325
|
+
"default": "00435353"
|
|
1326
|
+
}
|
|
1327
|
+
},
|
|
1328
|
+
"dependencies": {
|
|
1329
|
+
"id_format": {
|
|
1330
|
+
"oneOf": [
|
|
1331
|
+
{
|
|
1332
|
+
"properties": {
|
|
1333
|
+
"id_format": {
|
|
1334
|
+
"enum": [
|
|
1335
|
+
0
|
|
1336
|
+
]
|
|
1337
|
+
},
|
|
1338
|
+
"id": {
|
|
1339
|
+
"pattern": "^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$",
|
|
1340
|
+
"maxLength": 3
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"properties": {
|
|
1346
|
+
"id_format": {
|
|
1347
|
+
"enum": [
|
|
1348
|
+
1
|
|
1349
|
+
]
|
|
1350
|
+
},
|
|
1351
|
+
"id": {
|
|
1352
|
+
"pattern": "^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$",
|
|
1353
|
+
"maxLength": 8
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1357
|
+
]
|
|
1358
|
+
}
|
|
1359
|
+
},
|
|
1360
|
+
"required": [
|
|
1361
|
+
"state",
|
|
1362
|
+
"id_format",
|
|
1363
|
+
"id"
|
|
1364
|
+
]
|
|
1365
|
+
},
|
|
1366
|
+
"control": {
|
|
1367
|
+
"$ref": "#/definitions/can_control"
|
|
1368
|
+
}
|
|
1369
|
+
},
|
|
1370
|
+
"additionalProperties": false,
|
|
1371
|
+
"required": [
|
|
1372
|
+
"general",
|
|
1373
|
+
"phy",
|
|
1374
|
+
"filter"
|
|
1375
|
+
]
|
|
1376
|
+
},
|
|
1377
|
+
"lin": {
|
|
1378
|
+
"type": "object",
|
|
1379
|
+
"properties": {
|
|
1380
|
+
"phy": {
|
|
1381
|
+
"title": "Physical (LIN bus low-level)",
|
|
1382
|
+
"description": "LIN bus low-level configuration",
|
|
1383
|
+
"type": "object",
|
|
1384
|
+
"properties": {
|
|
1385
|
+
"mode": {
|
|
1386
|
+
"title": "Mode",
|
|
1387
|
+
"description": "Device LIN bus mode.",
|
|
1388
|
+
"type": "integer",
|
|
1389
|
+
"default": 0,
|
|
1390
|
+
"oneOf": [
|
|
1391
|
+
{
|
|
1392
|
+
"type": "integer",
|
|
1393
|
+
"title": "Subscriber",
|
|
1394
|
+
"enum": [
|
|
1395
|
+
0
|
|
1396
|
+
]
|
|
1397
|
+
},
|
|
1398
|
+
{
|
|
1399
|
+
"type": "integer",
|
|
1400
|
+
"title": "Publisher",
|
|
1401
|
+
"enum": [
|
|
1402
|
+
1
|
|
1403
|
+
]
|
|
1404
|
+
}
|
|
1405
|
+
]
|
|
1406
|
+
},
|
|
1407
|
+
"bit_rate": {
|
|
1408
|
+
"title": "Bit-rate",
|
|
1409
|
+
"type": "integer",
|
|
1410
|
+
"default": 19200,
|
|
1411
|
+
"oneOf": [
|
|
1412
|
+
{
|
|
1413
|
+
"title": "2400",
|
|
1414
|
+
"enum": [
|
|
1415
|
+
2400
|
|
1416
|
+
]
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
"title": "9600",
|
|
1420
|
+
"enum": [
|
|
1421
|
+
9600
|
|
1422
|
+
]
|
|
1423
|
+
},
|
|
1424
|
+
{
|
|
1425
|
+
"title": "10400",
|
|
1426
|
+
"enum": [
|
|
1427
|
+
10400
|
|
1428
|
+
]
|
|
1429
|
+
},
|
|
1430
|
+
{
|
|
1431
|
+
"title": "19200",
|
|
1432
|
+
"enum": [
|
|
1433
|
+
19200
|
|
1434
|
+
]
|
|
1435
|
+
}
|
|
1436
|
+
]
|
|
1437
|
+
}
|
|
1438
|
+
},
|
|
1439
|
+
"additionalProperties": false,
|
|
1440
|
+
"required": [
|
|
1441
|
+
"mode",
|
|
1442
|
+
"bit_rate"
|
|
1443
|
+
]
|
|
1444
|
+
},
|
|
1445
|
+
"frames": {
|
|
1446
|
+
"title": "LIN frames",
|
|
1447
|
+
"description": "Custom description of the frames on the network, if not using automatic length and/or checksum.",
|
|
1448
|
+
"type": "array",
|
|
1449
|
+
"maxItems": 64,
|
|
1450
|
+
"items": {
|
|
1451
|
+
"type": "object",
|
|
1452
|
+
"properties": {
|
|
1453
|
+
"name": {
|
|
1454
|
+
"title": "Name",
|
|
1455
|
+
"description": "Optional frame name.",
|
|
1456
|
+
"type": "string",
|
|
1457
|
+
"pattern": "^[ -~]*$",
|
|
1458
|
+
"maxLength": 16
|
|
1459
|
+
},
|
|
1460
|
+
"id": {
|
|
1461
|
+
"title": "Frame ID (hex)",
|
|
1462
|
+
"description": "ID of frame in hex. Example: 0F.",
|
|
1463
|
+
"type": "string",
|
|
1464
|
+
"pattern": "^([0-7][a-fA-F0-9]|[a-fA-F0-9])$",
|
|
1465
|
+
"maxLength": 2
|
|
1466
|
+
},
|
|
1467
|
+
"length": {
|
|
1468
|
+
"title": "Frame Length (decimal)",
|
|
1469
|
+
"description": "Length of the frame in decimal.",
|
|
1470
|
+
"type": "integer",
|
|
1471
|
+
"minimum": 1,
|
|
1472
|
+
"maximum": 8
|
|
1473
|
+
},
|
|
1474
|
+
"checksum_type": {
|
|
1475
|
+
"title": "Checksum Type",
|
|
1476
|
+
"description": "Type of the checksum used on the LIN frame.",
|
|
1477
|
+
"type": "integer",
|
|
1478
|
+
"default": 0,
|
|
1479
|
+
"oneOf": [
|
|
1480
|
+
{
|
|
1481
|
+
"title": "Enhanced",
|
|
1482
|
+
"enum": [
|
|
1483
|
+
0
|
|
1484
|
+
]
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
"title": "Classic",
|
|
1488
|
+
"enum": [
|
|
1489
|
+
1
|
|
1490
|
+
]
|
|
1491
|
+
}
|
|
1492
|
+
]
|
|
1493
|
+
}
|
|
1494
|
+
},
|
|
1495
|
+
"additionalProperties": false,
|
|
1496
|
+
"required": [
|
|
1497
|
+
"id",
|
|
1498
|
+
"length",
|
|
1499
|
+
"checksum_type"
|
|
1500
|
+
]
|
|
1501
|
+
}
|
|
1502
|
+
},
|
|
1503
|
+
"transmit": {
|
|
1504
|
+
"title": "LIN transmit list",
|
|
1505
|
+
"description": "List of frames to transmit when in master mode.",
|
|
1506
|
+
"type": "array",
|
|
1507
|
+
"maxItems": 64,
|
|
1508
|
+
"uniqueItems": true,
|
|
1509
|
+
"items": {
|
|
1510
|
+
"type": "object",
|
|
1511
|
+
"properties": {
|
|
1512
|
+
"name": {
|
|
1513
|
+
"title": "Name",
|
|
1514
|
+
"description": "Optional transmit rule name.",
|
|
1515
|
+
"type": "string",
|
|
1516
|
+
"pattern": "^[ -~]*$",
|
|
1517
|
+
"maxLength": 16
|
|
1518
|
+
},
|
|
1519
|
+
"state": {
|
|
1520
|
+
"title": "State",
|
|
1521
|
+
"description": "Disabled transmit rules are ignored.",
|
|
1522
|
+
"type": "integer",
|
|
1523
|
+
"default": 1,
|
|
1524
|
+
"oneOf": [
|
|
1525
|
+
{
|
|
1526
|
+
"title": "Disable",
|
|
1527
|
+
"enum": [
|
|
1528
|
+
0
|
|
1529
|
+
]
|
|
1530
|
+
},
|
|
1531
|
+
{
|
|
1532
|
+
"title": "Enable",
|
|
1533
|
+
"enum": [
|
|
1534
|
+
1
|
|
1535
|
+
]
|
|
1536
|
+
}
|
|
1537
|
+
]
|
|
1538
|
+
},
|
|
1539
|
+
"id": {
|
|
1540
|
+
"title": "Frame ID (hex)",
|
|
1541
|
+
"type": "string",
|
|
1542
|
+
"pattern": "^([0-7][a-fA-F0-9]|[a-fA-F0-9])$",
|
|
1543
|
+
"maxLength": 2
|
|
1544
|
+
},
|
|
1545
|
+
"data": {
|
|
1546
|
+
"title": "Data (hex)",
|
|
1547
|
+
"type": "string",
|
|
1548
|
+
"pattern": "^([a-fA-F0-9]{2})*$",
|
|
1549
|
+
"maxLength": 16
|
|
1550
|
+
}
|
|
1551
|
+
},
|
|
1552
|
+
"additionalProperties": false,
|
|
1553
|
+
"patternProperties": {
|
|
1554
|
+
"period": {},
|
|
1555
|
+
"delay": {}
|
|
1556
|
+
},
|
|
1557
|
+
"required": [
|
|
1558
|
+
"state",
|
|
1559
|
+
"id"
|
|
1560
|
+
]
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
},
|
|
1564
|
+
"dependencies": {
|
|
1565
|
+
"phy": {
|
|
1566
|
+
"oneOf": [
|
|
1567
|
+
{
|
|
1568
|
+
"properties": {
|
|
1569
|
+
"phy": {
|
|
1570
|
+
"properties": {
|
|
1571
|
+
"mode": {
|
|
1572
|
+
"enum": [
|
|
1573
|
+
0
|
|
1574
|
+
]
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
},
|
|
1578
|
+
"transmit": {
|
|
1579
|
+
"items": {
|
|
1580
|
+
"properties": {
|
|
1581
|
+
"id": {
|
|
1582
|
+
"description": "Unique ID of frame in hex (an ID may only occur once in the list). Example: 0F."
|
|
1583
|
+
},
|
|
1584
|
+
"data": {
|
|
1585
|
+
"description": "Data to transmit on request",
|
|
1586
|
+
"minLength": 2
|
|
1587
|
+
}
|
|
1588
|
+
},
|
|
1589
|
+
"required": [
|
|
1590
|
+
"data"
|
|
1591
|
+
]
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
"properties": {
|
|
1598
|
+
"phy": {
|
|
1599
|
+
"properties": {
|
|
1600
|
+
"mode": {
|
|
1601
|
+
"enum": [
|
|
1602
|
+
1
|
|
1603
|
+
]
|
|
1604
|
+
}
|
|
1605
|
+
}
|
|
1606
|
+
},
|
|
1607
|
+
"transmit": {
|
|
1608
|
+
"items": {
|
|
1609
|
+
"properties": {
|
|
1610
|
+
"id": {
|
|
1611
|
+
"description": "ID of frame in hex. Example: 0F."
|
|
1612
|
+
},
|
|
1613
|
+
"data": {
|
|
1614
|
+
"description": "If more than zero data bytes, then the transmit is a PUBLISH frame. If zero data bytes, then the transmit is a SUBSCRIBE frame expecting a subscriber node to provide data. ",
|
|
1615
|
+
"minLength": 0
|
|
1616
|
+
},
|
|
1617
|
+
"period": {
|
|
1618
|
+
"title": "Period (10 ms steps)",
|
|
1619
|
+
"description": "Time period of the message transmission. 0: single shot, >0: periodic. Unit is ms.",
|
|
1620
|
+
"type": "integer",
|
|
1621
|
+
"minimum": 0,
|
|
1622
|
+
"maximum": 4294967290,
|
|
1623
|
+
"multipleOf": 10
|
|
1624
|
+
},
|
|
1625
|
+
"delay": {
|
|
1626
|
+
"title": "Delay (10 ms steps)",
|
|
1627
|
+
"description": "Offset message within the period or delay a single shot message. If multiple messages are transmitted by the device, it is recommended to offset each separately to reduce peak load on bus. If period > 0, delay < period. If single-shot, delay can be up to max value. Unit is ms.",
|
|
1628
|
+
"type": "integer",
|
|
1629
|
+
"minimum": 0,
|
|
1630
|
+
"maximum": 4294967290,
|
|
1631
|
+
"multipleOf": 10
|
|
1632
|
+
}
|
|
1633
|
+
},
|
|
1634
|
+
"required": [
|
|
1635
|
+
"period",
|
|
1636
|
+
"delay"
|
|
1637
|
+
]
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
]
|
|
1643
|
+
}
|
|
1644
|
+
},
|
|
1645
|
+
"additionalProperties": false,
|
|
1646
|
+
"required": [
|
|
1647
|
+
"phy"
|
|
1648
|
+
]
|
|
1649
|
+
},
|
|
1650
|
+
"rtc_tolerance": {
|
|
1651
|
+
"title": "Time synchronization tolerance",
|
|
1652
|
+
"description": "If the time difference exceeds the tolerance, the internal time is abruptly updated. The unit is seconds.",
|
|
1653
|
+
"type": "integer",
|
|
1654
|
+
"minimum": 1,
|
|
1655
|
+
"maximum": 3600,
|
|
1656
|
+
"default": 30
|
|
1657
|
+
}
|
|
1658
|
+
},
|
|
1659
|
+
"properties": {
|
|
1660
|
+
"general": {
|
|
1661
|
+
"title": "General",
|
|
1662
|
+
"type": "object",
|
|
1663
|
+
"properties": {
|
|
1664
|
+
"device": {
|
|
1665
|
+
"title": "Device",
|
|
1666
|
+
"type": "object",
|
|
1667
|
+
"properties": {
|
|
1668
|
+
"meta": {
|
|
1669
|
+
"title": "Meta data",
|
|
1670
|
+
"description": "Optional meta data string. Displayed in device file and log file headers. Example: Site1; Truck4; ConfigRev12",
|
|
1671
|
+
"type": "string",
|
|
1672
|
+
"minLength": 0,
|
|
1673
|
+
"maxLength": 30,
|
|
1674
|
+
"pattern": "^[a-zA-Z0-9; ]*$"
|
|
1675
|
+
}
|
|
1676
|
+
},
|
|
1677
|
+
"additionalProperties": false
|
|
1678
|
+
},
|
|
1679
|
+
"security": {
|
|
1680
|
+
"title": "Security",
|
|
1681
|
+
"type": "object",
|
|
1682
|
+
"properties": {
|
|
1683
|
+
"kpub": {
|
|
1684
|
+
"title": "Server public key",
|
|
1685
|
+
"description": "Server / user ECC public key in base64 format. Shall match the encryption used for all protected fields.",
|
|
1686
|
+
"type": "string",
|
|
1687
|
+
"minLength": 0,
|
|
1688
|
+
"maxLength": 100,
|
|
1689
|
+
"pattern": "^[a-zA-Z0-9+/=]*$"
|
|
1690
|
+
}
|
|
1691
|
+
},
|
|
1692
|
+
"additionalProperties": false
|
|
1693
|
+
},
|
|
1694
|
+
"debug": {
|
|
1695
|
+
"title": "Debug",
|
|
1696
|
+
"description": "Debug functionality for use during installation and troubleshooting.",
|
|
1697
|
+
"type": "object",
|
|
1698
|
+
"properties": {
|
|
1699
|
+
"syslog": {
|
|
1700
|
+
"title": "System log",
|
|
1701
|
+
"description": "System events logged to the SD-card. The log levels are listed in order of increasing amount of information logged. Should only be enabled if needed during installation or troubleshooting.",
|
|
1702
|
+
"type": "integer",
|
|
1703
|
+
"default": 1,
|
|
1704
|
+
"oneOf": [
|
|
1705
|
+
{
|
|
1706
|
+
"type": "integer",
|
|
1707
|
+
"title": "Disable (0)",
|
|
1708
|
+
"enum": [
|
|
1709
|
+
0
|
|
1710
|
+
]
|
|
1711
|
+
},
|
|
1712
|
+
{
|
|
1713
|
+
"type": "integer",
|
|
1714
|
+
"title": "Error (1)",
|
|
1715
|
+
"enum": [
|
|
1716
|
+
1
|
|
1717
|
+
]
|
|
1718
|
+
},
|
|
1719
|
+
{
|
|
1720
|
+
"type": "integer",
|
|
1721
|
+
"title": "Error + Warning (2)",
|
|
1722
|
+
"enum": [
|
|
1723
|
+
2
|
|
1724
|
+
]
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
"type": "integer",
|
|
1728
|
+
"title": "Error + Warning + Info (3)",
|
|
1729
|
+
"enum": [
|
|
1730
|
+
3
|
|
1731
|
+
]
|
|
1732
|
+
}
|
|
1733
|
+
]
|
|
1734
|
+
},
|
|
1735
|
+
"restart_timer": {
|
|
1736
|
+
"title": "Restart timer",
|
|
1737
|
+
"description": "Number of runtime hours after which the device automatically restarts (set 0 to disable). Example: Set to 24 to restart after one day of runtime.",
|
|
1738
|
+
"type": "integer",
|
|
1739
|
+
"default": 0,
|
|
1740
|
+
"minimum": 0,
|
|
1741
|
+
"maximum": 168
|
|
1742
|
+
}
|
|
1743
|
+
},
|
|
1744
|
+
"additionalProperties": false
|
|
1745
|
+
}
|
|
1746
|
+
},
|
|
1747
|
+
"additionalProperties": false,
|
|
1748
|
+
"required": [
|
|
1749
|
+
"device",
|
|
1750
|
+
"security",
|
|
1751
|
+
"debug"
|
|
1752
|
+
]
|
|
1753
|
+
},
|
|
1754
|
+
"log": {
|
|
1755
|
+
"title": "Logging",
|
|
1756
|
+
"type": "object",
|
|
1757
|
+
"properties": {
|
|
1758
|
+
"file": {
|
|
1759
|
+
"title": "File",
|
|
1760
|
+
"type": "object",
|
|
1761
|
+
"properties": {
|
|
1762
|
+
"split_size": {
|
|
1763
|
+
"title": "File split size (1 to 512 MB)",
|
|
1764
|
+
"description": "Log file split size in MB. When the file split size is reached a new file is created and the logging continues. Closed log files can be pushed to a server if network is available. Small split sizes may reduce performance.",
|
|
1765
|
+
"type": "integer",
|
|
1766
|
+
"default": 50,
|
|
1767
|
+
"minimum": 1,
|
|
1768
|
+
"maximum": 512
|
|
1769
|
+
},
|
|
1770
|
+
"split_time_period": {
|
|
1771
|
+
"title": "File split time period (0 to 86400 seconds, 0 = disable)",
|
|
1772
|
+
"description": "Log file split time period in seconds relative to midnight (00:00:00). When a split time is reached a new file is created and the logging continues. Closed log files can be pushed to a server if network is available. Small split time periods may reduce performance.",
|
|
1773
|
+
"type": "integer",
|
|
1774
|
+
"default": 0,
|
|
1775
|
+
"minimum": 0,
|
|
1776
|
+
"maximum": 86400,
|
|
1777
|
+
"multipleOf": 10
|
|
1778
|
+
},
|
|
1779
|
+
"split_time_offset": {
|
|
1780
|
+
"title": "File split time offset (0 to 86400 seconds)",
|
|
1781
|
+
"description": "Log file split time offset in seconds. This value offsets the split_time_period relative to midnight (00:00:00). The set value shall be less than the split_time_period value.",
|
|
1782
|
+
"type": "integer",
|
|
1783
|
+
"default": 0,
|
|
1784
|
+
"minimum": 0,
|
|
1785
|
+
"maximum": 86400,
|
|
1786
|
+
"multipleOf": 10
|
|
1787
|
+
},
|
|
1788
|
+
"cyclic": {
|
|
1789
|
+
"title": "Cyclic logging",
|
|
1790
|
+
"description": "With cycling logging mode enabled the oldest log file is deleted when the memory card becomes full, allowing the logging to continue.",
|
|
1791
|
+
"type": "integer",
|
|
1792
|
+
"default": 1,
|
|
1793
|
+
"oneOf": [
|
|
1794
|
+
{
|
|
1795
|
+
"type": "integer",
|
|
1796
|
+
"title": "Disable",
|
|
1797
|
+
"enum": [
|
|
1798
|
+
0
|
|
1799
|
+
]
|
|
1800
|
+
},
|
|
1801
|
+
{
|
|
1802
|
+
"type": "integer",
|
|
1803
|
+
"title": "Enable",
|
|
1804
|
+
"enum": [
|
|
1805
|
+
1
|
|
1806
|
+
]
|
|
1807
|
+
}
|
|
1808
|
+
]
|
|
1809
|
+
}
|
|
1810
|
+
},
|
|
1811
|
+
"additionalProperties": false,
|
|
1812
|
+
"required": [
|
|
1813
|
+
"split_size",
|
|
1814
|
+
"split_time_period",
|
|
1815
|
+
"split_time_offset",
|
|
1816
|
+
"cyclic"
|
|
1817
|
+
]
|
|
1818
|
+
},
|
|
1819
|
+
"compression": {
|
|
1820
|
+
"title": "Compression",
|
|
1821
|
+
"type": "object",
|
|
1822
|
+
"properties": {
|
|
1823
|
+
"level": {
|
|
1824
|
+
"title": "Level",
|
|
1825
|
+
"description": "Window size used during optional compression. Larger window sizes yield potentially better compression rates, but may reduce logging performance. Compressed log files need to be decompressed prior to processing.",
|
|
1826
|
+
"type": "integer",
|
|
1827
|
+
"default": 0,
|
|
1828
|
+
"oneOf": [
|
|
1829
|
+
{
|
|
1830
|
+
"type": "integer",
|
|
1831
|
+
"title": "Disable",
|
|
1832
|
+
"enum": [
|
|
1833
|
+
0
|
|
1834
|
+
]
|
|
1835
|
+
},
|
|
1836
|
+
{
|
|
1837
|
+
"type": "integer",
|
|
1838
|
+
"title": "256 bytes window",
|
|
1839
|
+
"enum": [
|
|
1840
|
+
256
|
|
1841
|
+
]
|
|
1842
|
+
},
|
|
1843
|
+
{
|
|
1844
|
+
"type": "integer",
|
|
1845
|
+
"title": "512 bytes window",
|
|
1846
|
+
"enum": [
|
|
1847
|
+
512
|
|
1848
|
+
]
|
|
1849
|
+
},
|
|
1850
|
+
{
|
|
1851
|
+
"type": "integer",
|
|
1852
|
+
"title": "1024 bytes window",
|
|
1853
|
+
"enum": [
|
|
1854
|
+
1024
|
|
1855
|
+
]
|
|
1856
|
+
}
|
|
1857
|
+
]
|
|
1858
|
+
}
|
|
1859
|
+
}
|
|
1860
|
+
},
|
|
1861
|
+
"encryption": {
|
|
1862
|
+
"title": "Encryption",
|
|
1863
|
+
"type": "object",
|
|
1864
|
+
"properties": {
|
|
1865
|
+
"state": {
|
|
1866
|
+
"title": "State",
|
|
1867
|
+
"description": "Optional log file encryption. Encrypted log files need to be decrypted prior to processing. Decryption requires your encryption password in plain form - if this is lost, the encrypted data cannot be recovered.",
|
|
1868
|
+
"type": "integer",
|
|
1869
|
+
"default": 0,
|
|
1870
|
+
"oneOf": [
|
|
1871
|
+
{
|
|
1872
|
+
"type": "integer",
|
|
1873
|
+
"title": "Disable",
|
|
1874
|
+
"enum": [
|
|
1875
|
+
0
|
|
1876
|
+
]
|
|
1877
|
+
},
|
|
1878
|
+
{
|
|
1879
|
+
"type": "integer",
|
|
1880
|
+
"title": "Enable",
|
|
1881
|
+
"enum": [
|
|
1882
|
+
1
|
|
1883
|
+
]
|
|
1884
|
+
}
|
|
1885
|
+
]
|
|
1886
|
+
}
|
|
1887
|
+
},
|
|
1888
|
+
"dependencies": {
|
|
1889
|
+
"state": {
|
|
1890
|
+
"oneOf": [
|
|
1891
|
+
{
|
|
1892
|
+
"properties": {
|
|
1893
|
+
"state": {
|
|
1894
|
+
"enum": [
|
|
1895
|
+
0
|
|
1896
|
+
]
|
|
1897
|
+
}
|
|
1898
|
+
}
|
|
1899
|
+
},
|
|
1900
|
+
{
|
|
1901
|
+
"properties": {
|
|
1902
|
+
"state": {
|
|
1903
|
+
"enum": [
|
|
1904
|
+
1
|
|
1905
|
+
]
|
|
1906
|
+
},
|
|
1907
|
+
"keyformat": {
|
|
1908
|
+
"title": "Key format",
|
|
1909
|
+
"description": "The format of the encryption password used for encrypting logged data on the device.",
|
|
1910
|
+
"type": "integer",
|
|
1911
|
+
"default": 0,
|
|
1912
|
+
"oneOf": [
|
|
1913
|
+
{
|
|
1914
|
+
"type": "integer",
|
|
1915
|
+
"title": "Plain",
|
|
1916
|
+
"enum": [
|
|
1917
|
+
0
|
|
1918
|
+
]
|
|
1919
|
+
},
|
|
1920
|
+
{
|
|
1921
|
+
"type": "integer",
|
|
1922
|
+
"title": "Encrypted",
|
|
1923
|
+
"enum": [
|
|
1924
|
+
1
|
|
1925
|
+
]
|
|
1926
|
+
}
|
|
1927
|
+
]
|
|
1928
|
+
},
|
|
1929
|
+
"pwd": {
|
|
1930
|
+
"title": "Encryption password",
|
|
1931
|
+
"type": "string",
|
|
1932
|
+
"default": ""
|
|
1933
|
+
}
|
|
1934
|
+
},
|
|
1935
|
+
"dependencies": {
|
|
1936
|
+
"keyformat": {
|
|
1937
|
+
"oneOf": [
|
|
1938
|
+
{
|
|
1939
|
+
"properties": {
|
|
1940
|
+
"keyformat": {
|
|
1941
|
+
"enum": [
|
|
1942
|
+
0
|
|
1943
|
+
]
|
|
1944
|
+
},
|
|
1945
|
+
"pwd": {
|
|
1946
|
+
"description": "Encryption password in plain form (min 1, max 64). Example: 2e9asdKJazCatsssdS323@ABCh22. IMPORTANT: Ensure that you securely store the plain form encryption password for decryption purposes.",
|
|
1947
|
+
"pattern": "^[ -~]*$",
|
|
1948
|
+
"minLength": 1,
|
|
1949
|
+
"maxLength": 64
|
|
1950
|
+
}
|
|
1951
|
+
}
|
|
1952
|
+
},
|
|
1953
|
+
{
|
|
1954
|
+
"properties": {
|
|
1955
|
+
"keyformat": {
|
|
1956
|
+
"enum": [
|
|
1957
|
+
1
|
|
1958
|
+
]
|
|
1959
|
+
},
|
|
1960
|
+
"pwd": {
|
|
1961
|
+
"description": "Encryption password in encrypted form (min 24, max 108). Example: B1DlMrNh22tq/kNerK/T+eSyCWSJqiqyUoovQ7C6gqRaIng6F+E=. IMPORTANT: Ensure that you encrypt the encryption password and that you include the server public key. Further, ensure that you securely store the plain form encryption password for decryption purposes.",
|
|
1962
|
+
"pattern": "^[a-zA-Z0-9+/=]*$",
|
|
1963
|
+
"minLength": 24,
|
|
1964
|
+
"maxLength": 108
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
}
|
|
1968
|
+
]
|
|
1969
|
+
}
|
|
1970
|
+
},
|
|
1971
|
+
"required": [
|
|
1972
|
+
"keyformat",
|
|
1973
|
+
"pwd"
|
|
1974
|
+
]
|
|
1975
|
+
}
|
|
1976
|
+
]
|
|
1977
|
+
}
|
|
1978
|
+
}
|
|
1979
|
+
},
|
|
1980
|
+
"error_frames": {
|
|
1981
|
+
"title": "Error Frames",
|
|
1982
|
+
"type": "object",
|
|
1983
|
+
"properties": {
|
|
1984
|
+
"state": {
|
|
1985
|
+
"title": "State",
|
|
1986
|
+
"description": "Specify whether to record error frames. Enabling this can negatively impact performance, as a potentially large number of additional frames may be recorded.",
|
|
1987
|
+
"type": "integer",
|
|
1988
|
+
"default": 0,
|
|
1989
|
+
"oneOf": [
|
|
1990
|
+
{
|
|
1991
|
+
"type": "integer",
|
|
1992
|
+
"title": "Disable",
|
|
1993
|
+
"enum": [
|
|
1994
|
+
0
|
|
1995
|
+
]
|
|
1996
|
+
},
|
|
1997
|
+
{
|
|
1998
|
+
"type": "integer",
|
|
1999
|
+
"title": "Enable",
|
|
2000
|
+
"enum": [
|
|
2001
|
+
1
|
|
2002
|
+
]
|
|
2003
|
+
}
|
|
2004
|
+
]
|
|
2005
|
+
}
|
|
2006
|
+
},
|
|
2007
|
+
"required": [
|
|
2008
|
+
"state"
|
|
2009
|
+
]
|
|
2010
|
+
}
|
|
2011
|
+
},
|
|
2012
|
+
"additionalProperties": false,
|
|
2013
|
+
"patternProperties": {
|
|
2014
|
+
"keyformat": {},
|
|
2015
|
+
"pwd": {}
|
|
2016
|
+
},
|
|
2017
|
+
"required": [
|
|
2018
|
+
"file",
|
|
2019
|
+
"compression",
|
|
2020
|
+
"encryption",
|
|
2021
|
+
"error_frames"
|
|
2022
|
+
]
|
|
2023
|
+
},
|
|
2024
|
+
"rtc": {
|
|
2025
|
+
"title": "Real-Time Clock (RTC)",
|
|
2026
|
+
"type": "object",
|
|
2027
|
+
"properties": {
|
|
2028
|
+
"sync": {
|
|
2029
|
+
"title": "Time synchronization method",
|
|
2030
|
+
"description": "Internal real-time-clock synchronization method. The real-time-clock is maintained when the device is off.",
|
|
2031
|
+
"type": "integer",
|
|
2032
|
+
"default": 0,
|
|
2033
|
+
"oneOf": [
|
|
2034
|
+
{
|
|
2035
|
+
"title": "Retain current time",
|
|
2036
|
+
"description": "The current internal time is not changed.",
|
|
2037
|
+
"type": "integer",
|
|
2038
|
+
"enum": [
|
|
2039
|
+
0
|
|
2040
|
+
]
|
|
2041
|
+
},
|
|
2042
|
+
{
|
|
2043
|
+
"title": "Manual update",
|
|
2044
|
+
"description": "The internal time is updated with the manually set UTC time when the device powers on. The manual time is set using the manual_date_time field",
|
|
2045
|
+
"type": "integer",
|
|
2046
|
+
"enum": [
|
|
2047
|
+
1
|
|
2048
|
+
]
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"title": "CAN-bus",
|
|
2052
|
+
"description": "The internal time synchronized to the time provided by the payload of a CAN-bus message",
|
|
2053
|
+
"type": "integer",
|
|
2054
|
+
"enum": [
|
|
2055
|
+
3
|
|
2056
|
+
]
|
|
2057
|
+
}
|
|
2058
|
+
]
|
|
2059
|
+
},
|
|
2060
|
+
"timezone": {
|
|
2061
|
+
"title": "Time zone (UTC-12 to UTC+14)",
|
|
2062
|
+
"description": "Adjustment in full hours to the UTC time. Includes daylight savings time if applicable.",
|
|
2063
|
+
"type": "integer",
|
|
2064
|
+
"default": 0,
|
|
2065
|
+
"minimum": -12,
|
|
2066
|
+
"maximum": 14
|
|
2067
|
+
},
|
|
2068
|
+
"adjustment": {
|
|
2069
|
+
"title": "Adjustment (-129600 to 129600 seconds)",
|
|
2070
|
+
"description": "Adjustment in seconds to the UTC time. Can be used for fine tuning the internal time. ",
|
|
2071
|
+
"type": "integer",
|
|
2072
|
+
"default": 0,
|
|
2073
|
+
"minimum": -129600,
|
|
2074
|
+
"maximum": 129600
|
|
2075
|
+
}
|
|
2076
|
+
},
|
|
2077
|
+
"dependencies": {
|
|
2078
|
+
"sync": {
|
|
2079
|
+
"oneOf": [
|
|
2080
|
+
{
|
|
2081
|
+
"properties": {
|
|
2082
|
+
"sync": {
|
|
2083
|
+
"enum": [
|
|
2084
|
+
0
|
|
2085
|
+
]
|
|
2086
|
+
}
|
|
2087
|
+
}
|
|
2088
|
+
},
|
|
2089
|
+
{
|
|
2090
|
+
"properties": {
|
|
2091
|
+
"sync": {
|
|
2092
|
+
"enum": [
|
|
2093
|
+
1
|
|
2094
|
+
]
|
|
2095
|
+
},
|
|
2096
|
+
"manual_date_time": {
|
|
2097
|
+
"title": "Time (UTC)",
|
|
2098
|
+
"description": "Manually set UTC date and time value.",
|
|
2099
|
+
"type": "string",
|
|
2100
|
+
"format": "date-time"
|
|
2101
|
+
}
|
|
2102
|
+
},
|
|
2103
|
+
"required": [
|
|
2104
|
+
"manual_date_time"
|
|
2105
|
+
]
|
|
2106
|
+
},
|
|
2107
|
+
{
|
|
2108
|
+
"properties": {
|
|
2109
|
+
"sync": {
|
|
2110
|
+
"enum": [
|
|
2111
|
+
3
|
|
2112
|
+
]
|
|
2113
|
+
},
|
|
2114
|
+
"tolerance": {
|
|
2115
|
+
"$ref": "#/definitions/rtc_tolerance"
|
|
2116
|
+
},
|
|
2117
|
+
"message": {
|
|
2118
|
+
"title": "Message",
|
|
2119
|
+
"$ref": "#/definitions/can_message"
|
|
2120
|
+
},
|
|
2121
|
+
"valid_signal": {
|
|
2122
|
+
"title": "Time valid signal",
|
|
2123
|
+
"$ref": "#/definitions/can_signal"
|
|
2124
|
+
},
|
|
2125
|
+
"time_signal": {
|
|
2126
|
+
"title": "Time value signal",
|
|
2127
|
+
"$ref": "#/definitions/can_signal"
|
|
2128
|
+
}
|
|
2129
|
+
},
|
|
2130
|
+
"required": [
|
|
2131
|
+
"message",
|
|
2132
|
+
"valid_signal",
|
|
2133
|
+
"time_signal"
|
|
2134
|
+
]
|
|
2135
|
+
}
|
|
2136
|
+
]
|
|
2137
|
+
}
|
|
2138
|
+
},
|
|
2139
|
+
"additionalProperties": false,
|
|
2140
|
+
"patternProperties": {
|
|
2141
|
+
"manual_date_time": {},
|
|
2142
|
+
"message": {},
|
|
2143
|
+
"valid_signal": {},
|
|
2144
|
+
"time_signal": {},
|
|
2145
|
+
"tolerance": {}
|
|
2146
|
+
},
|
|
2147
|
+
"required": [
|
|
2148
|
+
"sync",
|
|
2149
|
+
"timezone",
|
|
2150
|
+
"adjustment"
|
|
2151
|
+
]
|
|
2152
|
+
},
|
|
2153
|
+
"secondaryport": {
|
|
2154
|
+
"title": "Secondary Port",
|
|
2155
|
+
"description": "Control of power-out (5V) on Channel 2 (CH2) connector.",
|
|
2156
|
+
"type": "object",
|
|
2157
|
+
"properties": {
|
|
2158
|
+
"power_schedule": {
|
|
2159
|
+
"title": "Power schedule",
|
|
2160
|
+
"description": "The daily power schedule is defined by a number of power-on from/to intervals. Define no power-on intervals to keep always off. Define one interval with from/to both set to 00:00 to keep always on. Time format is HH:MM (1 minute resolution)",
|
|
2161
|
+
"type": "array",
|
|
2162
|
+
"default": [],
|
|
2163
|
+
"maxItems": 5,
|
|
2164
|
+
"items": {
|
|
2165
|
+
"type": "object",
|
|
2166
|
+
"properties": {
|
|
2167
|
+
"from": {
|
|
2168
|
+
"title": "From",
|
|
2169
|
+
"description": "Power-on FROM time in format HH:MM. Shall be before power-on TO time. E.g. at midnight 00:00",
|
|
2170
|
+
"type": "string",
|
|
2171
|
+
"default": "00:00",
|
|
2172
|
+
"pattern": "^([0-1][0-9]|2[0-4]):([0-5][0-9])$"
|
|
2173
|
+
},
|
|
2174
|
+
"to": {
|
|
2175
|
+
"title": "To",
|
|
2176
|
+
"description": "Power-on TO time in format HH:MM. Shall be after power-on FROM time. E.g. at midday 12:00.",
|
|
2177
|
+
"type": "string",
|
|
2178
|
+
"default": "00:00",
|
|
2179
|
+
"pattern": "^([0-1][0-9]|2[0-4]):([0-5][0-9])$"
|
|
2180
|
+
}
|
|
2181
|
+
},
|
|
2182
|
+
"additionalProperties": false,
|
|
2183
|
+
"required": [
|
|
2184
|
+
"from",
|
|
2185
|
+
"to"
|
|
2186
|
+
]
|
|
2187
|
+
}
|
|
2188
|
+
}
|
|
2189
|
+
},
|
|
2190
|
+
"additionalProperties": false,
|
|
2191
|
+
"required": [
|
|
2192
|
+
"power_schedule"
|
|
2193
|
+
]
|
|
2194
|
+
},
|
|
2195
|
+
"can_internal": {
|
|
2196
|
+
"title": "CAN Channel internal",
|
|
2197
|
+
"description": "CAN Channel internal is a virtual channel used for signals generated by the device itself.",
|
|
2198
|
+
"type": "object",
|
|
2199
|
+
"properties": {
|
|
2200
|
+
"general": {
|
|
2201
|
+
"title": "General",
|
|
2202
|
+
"$ref": "#/definitions/can_general"
|
|
2203
|
+
},
|
|
2204
|
+
"filter": {
|
|
2205
|
+
"title": "Receive filters",
|
|
2206
|
+
"type": "object",
|
|
2207
|
+
"properties": {
|
|
2208
|
+
"id": {
|
|
2209
|
+
"description": "Filters are checked sequentially, execution stops with the first matching filter element. Max 20 filters in total.",
|
|
2210
|
+
"maxItems": 20,
|
|
2211
|
+
"$ref": "#/definitions/can_filter_id"
|
|
2212
|
+
}
|
|
2213
|
+
},
|
|
2214
|
+
"required": [
|
|
2215
|
+
"id"
|
|
2216
|
+
]
|
|
2217
|
+
},
|
|
2218
|
+
"control": {
|
|
2219
|
+
"$ref": "#/definitions/can_control"
|
|
2220
|
+
}
|
|
2221
|
+
},
|
|
2222
|
+
"additionalProperties": false,
|
|
2223
|
+
"required": [
|
|
2224
|
+
"filter"
|
|
2225
|
+
]
|
|
2226
|
+
},
|
|
2227
|
+
"can_1": {
|
|
2228
|
+
"title": "CAN Channel 1 (physical)",
|
|
2229
|
+
"description": "CAN Channel 1 is an external physical channel.",
|
|
2230
|
+
"$ref": "#/definitions/can"
|
|
2231
|
+
},
|
|
2232
|
+
"can_2": {
|
|
2233
|
+
"title": "CAN Channel 2 (physical)",
|
|
2234
|
+
"description": "CAN Channel 2 is an external physical channel.",
|
|
2235
|
+
"$ref": "#/definitions/can"
|
|
2236
|
+
},
|
|
2237
|
+
"lin_1": {
|
|
2238
|
+
"title": "LIN Channel 1",
|
|
2239
|
+
"$ref": "#/definitions/lin"
|
|
2240
|
+
},
|
|
2241
|
+
"lin_2": {
|
|
2242
|
+
"title": "LIN Channel 2",
|
|
2243
|
+
"$ref": "#/definitions/lin"
|
|
2244
|
+
}
|
|
2245
|
+
},
|
|
2246
|
+
"additionalProperties": false,
|
|
2247
|
+
"required": [
|
|
2248
|
+
"general",
|
|
2249
|
+
"log",
|
|
2250
|
+
"rtc",
|
|
2251
|
+
"secondaryport",
|
|
2252
|
+
"can_internal",
|
|
2253
|
+
"can_1",
|
|
2254
|
+
"can_2",
|
|
2255
|
+
"lin_1",
|
|
2256
|
+
"lin_2"
|
|
2257
|
+
]
|
|
2258
|
+
}
|