config-editor-base 2.7.8 → 2.7.9

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.
@@ -0,0 +1,411 @@
1
+ {
2
+ "navConf": {
3
+ "order": [
4
+ "PHY",
5
+ "SENSOR",
6
+ "OUTPUT"
7
+ ]
8
+ },
9
+ "phy": {
10
+ "nav": "PHY",
11
+ "can": {
12
+ "phy": {
13
+ "mode": {
14
+ "classNames": "col-sm-6"
15
+ },
16
+ "retransmission": {
17
+ "classNames": "col-sm-6"
18
+ },
19
+ "bit_rate_cfg_mode": {
20
+ "classNames": "col-sm-12"
21
+ },
22
+ "bit_rate_std": {
23
+ "classNames": "col-sm-6"
24
+ },
25
+ "bit_rate_fd": {
26
+ "classNames": "col-sm-6"
27
+ },
28
+ "brp": {
29
+ "ui:widget": "updown",
30
+ "classNames": "col-sm-3"
31
+ },
32
+ "seg1": {
33
+ "ui:widget": "updown",
34
+ "classNames": "col-sm-3"
35
+ },
36
+ "seg2": {
37
+ "ui:widget": "updown",
38
+ "classNames": "col-sm-3"
39
+ },
40
+ "sjw": {
41
+ "ui:widget": "updown",
42
+ "classNames": "col-sm-3"
43
+ }
44
+ },
45
+ "ui:title": " "
46
+ },
47
+ "ui:title": " "
48
+ },
49
+ "sensor": {
50
+ "nav": "SENSOR",
51
+ "channel_1": {
52
+ "range": {
53
+ "classNames": "col-sm-2"
54
+ },
55
+ "digital_high": {
56
+ "classNames": "col-sm-2"
57
+ },
58
+ "digital_low": {
59
+ "classNames": "col-sm-2"
60
+ },
61
+ "pulse_mode": {
62
+ "classNames": "col-sm-3"
63
+ },
64
+ "pulse_count": {
65
+ "classNames": "col-sm-3"
66
+ }
67
+ },
68
+ "channel_2": {
69
+ "range": {
70
+ "classNames": "col-sm-2",
71
+ "ui:disabled": true,
72
+ "ui:help": "Uses value from primary channel"
73
+ },
74
+ "digital_high": {
75
+ "classNames": "col-sm-2"
76
+ },
77
+ "digital_low": {
78
+ "classNames": "col-sm-2"
79
+ },
80
+ "pulse_mode": {
81
+ "classNames": "col-sm-3",
82
+ "ui:disabled": true,
83
+ "ui:help": "Uses value from primary channel"
84
+ },
85
+ "pulse_count": {
86
+ "classNames": "col-sm-3"
87
+ }
88
+ },
89
+ "channel_3": {
90
+ "range": {
91
+ "classNames": "col-sm-2"
92
+ },
93
+ "digital_high": {
94
+ "classNames": "col-sm-2"
95
+ },
96
+ "digital_low": {
97
+ "classNames": "col-sm-2"
98
+ },
99
+ "pulse_mode": {
100
+ "classNames": "col-sm-3"
101
+ },
102
+ "pulse_count": {
103
+ "classNames": "col-sm-3"
104
+ }
105
+ },
106
+ "channel_4": {
107
+ "range": {
108
+ "classNames": "col-sm-2",
109
+ "ui:disabled": true,
110
+ "ui:help": "Uses value from primary channel"
111
+ },
112
+ "digital_high": {
113
+ "classNames": "col-sm-2"
114
+ },
115
+ "digital_low": {
116
+ "classNames": "col-sm-2"
117
+ },
118
+ "pulse_mode": {
119
+ "classNames": "col-sm-3",
120
+ "ui:disabled": true,
121
+ "ui:help": "Uses value from primary channel"
122
+ },
123
+ "pulse_count": {
124
+ "classNames": "col-sm-3"
125
+ }
126
+ },
127
+ "channel_5": {
128
+ "range": {
129
+ "classNames": "col-sm-2"
130
+ },
131
+ "digital_high": {
132
+ "classNames": "col-sm-2"
133
+ },
134
+ "digital_low": {
135
+ "classNames": "col-sm-2"
136
+ },
137
+ "pulse_mode": {
138
+ "classNames": "col-sm-3"
139
+ },
140
+ "pulse_count": {
141
+ "classNames": "col-sm-3"
142
+ }
143
+ },
144
+ "channel_6": {
145
+ "range": {
146
+ "classNames": "col-sm-2",
147
+ "ui:disabled": true,
148
+ "ui:help": "Uses value from primary channel"
149
+ },
150
+ "digital_high": {
151
+ "classNames": "col-sm-2"
152
+ },
153
+ "digital_low": {
154
+ "classNames": "col-sm-2"
155
+ },
156
+ "pulse_mode": {
157
+ "classNames": "col-sm-3",
158
+ "ui:disabled": true,
159
+ "ui:help": "Uses value from primary channel"
160
+ },
161
+ "pulse_count": {
162
+ "classNames": "col-sm-3"
163
+ }
164
+ },
165
+ "channel_7": {
166
+ "range": {
167
+ "classNames": "col-sm-2"
168
+ },
169
+ "digital_high": {
170
+ "classNames": "col-sm-2"
171
+ },
172
+ "digital_low": {
173
+ "classNames": "col-sm-2"
174
+ },
175
+ "pulse_mode": {
176
+ "classNames": "col-sm-3"
177
+ },
178
+ "pulse_count": {
179
+ "classNames": "col-sm-3"
180
+ }
181
+ },
182
+ "channel_8": {
183
+ "range": {
184
+ "classNames": "col-sm-2",
185
+ "ui:disabled": true,
186
+ "ui:help": "Uses value from primary channel"
187
+ },
188
+ "digital_high": {
189
+ "classNames": "col-sm-2"
190
+ },
191
+ "digital_low": {
192
+ "classNames": "col-sm-2"
193
+ },
194
+ "pulse_mode": {
195
+ "classNames": "col-sm-3",
196
+ "ui:disabled": true,
197
+ "ui:help": "Uses value from primary channel"
198
+ },
199
+ "pulse_count": {
200
+ "classNames": "col-sm-3"
201
+ }
202
+ }
203
+ },
204
+ "output": {
205
+ "nav": "OUTPUT",
206
+ "digital_1_8": {
207
+ "state": {
208
+ "classNames": "col-sm-2"
209
+ },
210
+ "id_format": {
211
+ "classNames": "col-sm-2"
212
+ },
213
+ "id": {
214
+ "classNames": "col-sm-3"
215
+ },
216
+ "trigger": {
217
+ "classNames": "col-sm-2"
218
+ },
219
+ "scaler": {
220
+ "classNames": "col-sm-3"
221
+ }
222
+ },
223
+ "analog_1_4": {
224
+ "state": {
225
+ "classNames": "col-sm-2"
226
+ },
227
+ "id_format": {
228
+ "classNames": "col-sm-2"
229
+ },
230
+ "id": {
231
+ "classNames": "col-sm-3"
232
+ },
233
+ "trigger": {
234
+ "classNames": "col-sm-2"
235
+ },
236
+ "scaler": {
237
+ "classNames": "col-sm-3"
238
+ }
239
+ },
240
+ "analog_5_8": {
241
+ "state": {
242
+ "classNames": "col-sm-2"
243
+ },
244
+ "id_format": {
245
+ "classNames": "col-sm-2"
246
+ },
247
+ "id": {
248
+ "classNames": "col-sm-3"
249
+ },
250
+ "trigger": {
251
+ "classNames": "col-sm-2"
252
+ },
253
+ "scaler": {
254
+ "classNames": "col-sm-3"
255
+ }
256
+ },
257
+ "analog_1_8_fd": {
258
+ "state": {
259
+ "classNames": "col-sm-2"
260
+ },
261
+ "id_format": {
262
+ "classNames": "col-sm-2"
263
+ },
264
+ "id": {
265
+ "classNames": "col-sm-3"
266
+ },
267
+ "trigger": {
268
+ "classNames": "col-sm-2"
269
+ },
270
+ "scaler": {
271
+ "classNames": "col-sm-3"
272
+ }
273
+ },
274
+ "pulse_8bit_1_8": {
275
+ "state": {
276
+ "classNames": "col-sm-2"
277
+ },
278
+ "id_format": {
279
+ "classNames": "col-sm-2"
280
+ },
281
+ "id": {
282
+ "classNames": "col-sm-3"
283
+ },
284
+ "trigger": {
285
+ "classNames": "col-sm-2"
286
+ },
287
+ "scaler": {
288
+ "classNames": "col-sm-3"
289
+ }
290
+ },
291
+ "pulse_16bit_1_4": {
292
+ "state": {
293
+ "classNames": "col-sm-2"
294
+ },
295
+ "id_format": {
296
+ "classNames": "col-sm-2"
297
+ },
298
+ "id": {
299
+ "classNames": "col-sm-3"
300
+ },
301
+ "trigger": {
302
+ "classNames": "col-sm-2"
303
+ },
304
+ "scaler": {
305
+ "classNames": "col-sm-3"
306
+ }
307
+ },
308
+ "pulse_16bit_5_8": {
309
+ "state": {
310
+ "classNames": "col-sm-2"
311
+ },
312
+ "id_format": {
313
+ "classNames": "col-sm-2"
314
+ },
315
+ "id": {
316
+ "classNames": "col-sm-3"
317
+ },
318
+ "trigger": {
319
+ "classNames": "col-sm-2"
320
+ },
321
+ "scaler": {
322
+ "classNames": "col-sm-3"
323
+ }
324
+ },
325
+ "pulse_32bit_1_2": {
326
+ "state": {
327
+ "classNames": "col-sm-2"
328
+ },
329
+ "id_format": {
330
+ "classNames": "col-sm-2"
331
+ },
332
+ "id": {
333
+ "classNames": "col-sm-3"
334
+ },
335
+ "trigger": {
336
+ "classNames": "col-sm-2"
337
+ },
338
+ "scaler": {
339
+ "classNames": "col-sm-3"
340
+ }
341
+ },
342
+ "pulse_32bit_3_4": {
343
+ "state": {
344
+ "classNames": "col-sm-2"
345
+ },
346
+ "id_format": {
347
+ "classNames": "col-sm-2"
348
+ },
349
+ "id": {
350
+ "classNames": "col-sm-3"
351
+ },
352
+ "trigger": {
353
+ "classNames": "col-sm-2"
354
+ },
355
+ "scaler": {
356
+ "classNames": "col-sm-3"
357
+ }
358
+ },
359
+ "pulse_32bit_5_6": {
360
+ "state": {
361
+ "classNames": "col-sm-2"
362
+ },
363
+ "id_format": {
364
+ "classNames": "col-sm-2"
365
+ },
366
+ "id": {
367
+ "classNames": "col-sm-3"
368
+ },
369
+ "trigger": {
370
+ "classNames": "col-sm-2"
371
+ },
372
+ "scaler": {
373
+ "classNames": "col-sm-3"
374
+ }
375
+ },
376
+ "pulse_32bit_7_8": {
377
+ "state": {
378
+ "classNames": "col-sm-2"
379
+ },
380
+ "id_format": {
381
+ "classNames": "col-sm-2"
382
+ },
383
+ "id": {
384
+ "classNames": "col-sm-3"
385
+ },
386
+ "trigger": {
387
+ "classNames": "col-sm-2"
388
+ },
389
+ "scaler": {
390
+ "classNames": "col-sm-3"
391
+ }
392
+ },
393
+ "pulse_32bit_1_8_fd": {
394
+ "state": {
395
+ "classNames": "col-sm-2"
396
+ },
397
+ "id_format": {
398
+ "classNames": "col-sm-2"
399
+ },
400
+ "id": {
401
+ "classNames": "col-sm-3"
402
+ },
403
+ "trigger": {
404
+ "classNames": "col-sm-2"
405
+ },
406
+ "scaler": {
407
+ "classNames": "col-sm-3"
408
+ }
409
+ }
410
+ }
411
+ }
@@ -0,0 +1 @@
1
+ {"phy":{"can":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":1000000,"bit_rate_fd":4000000},"route":{"mode":0,"mux":{"output":{"filter":{"rx_msg":1,"tx_ack":0,"err":0},"message":{"id_format":0,"frame_format":1,"brs":1,"id":"10"}},"input":[{"id_format":0,"id":"11"}]}}},"can_s1":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]},"can_s2":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]},"can_s3":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]},"can_s4":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]}}}
@@ -0,0 +1 @@
1
+ {"phy":{"can":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":1000000,"bit_rate_fd":4000000},"route":{"mode":0,"mux":{"p2s":[{"id_format":0,"id":"11"}],"s2p":{"filter":{"rx_msg":1,"tx_ack":0,"err":0},"message":{"id_format":0,"id":"10","frame_format":1,"brs":1}}}}},"can_s1":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"frame_format":2,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"frame_format":2,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]},"can_s2":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"frame_format":2,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"frame_format":2,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]},"can_s3":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"frame_format":2,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"frame_format":2,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]},"can_s4":{"phy":{"mode":0,"retransmission":1,"bit_rate_cfg_mode":0,"bit_rate_std":250000,"bit_rate_fd":1000000},"filter":[{"name":"AllStandardID","state":1,"id_format":0,"frame_format":2,"f1":"7FF","f2":"0","prescaler_type":0},{"name":"AllExtendedID","state":1,"id_format":1,"frame_format":2,"f1":"1FFFFFFF","f2":"0","prescaler_type":0}],"transmit":[]}}}
@@ -0,0 +1 @@
1
+ {"type":"object","definitions":{"can_phy":{"title":"CAN PHY","description":"CAN-bus low-level configuration","type":"object","properties":{"mode":{"title":"Mode","description":"Configures how the device interacts with the CAN-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.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Normal (receive, acknowledge and transmit)","enum":[0]},{"type":"integer","title":"Restricted (receive and acknowledge)","enum":[1]},{"type":"integer","title":"Monitoring (receive only)","enum":[2]}]},"retransmission":{"title":"Automatic retransmission","description":"Retransmission of frames that have lost arbitration or that have been disturbed by errors during transmission.","type":"integer","default":1,"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"bit_rate_cfg_mode":{"title":"Bit-rate configuration mode","description":"Configures how the CAN-bus bit-rate is set. Bit-rate supports all standard bit-rates. Non-standard bit-rate configuration can be set using Bit-timing.","type":"integer","default":0,"oneOf":[{"title":"Bit-rate (simple)","enum":[0]},{"title":"Bit-timing (advanced)","enum":[1]}]}},"dependencies":{"bit_rate_cfg_mode":{"oneOf":[{"properties":{"bit_rate_cfg_mode":{"enum":[0]},"bit_rate_std":{"title":"Bit-rate standard","type":"integer","default":250000,"oneOf":[{"title":"5K","enum":[5000]},{"title":"10K","enum":[10000]},{"title":"20K","enum":[20000]},{"title":"33.333K","enum":[33333]},{"title":"47.619K","enum":[47619]},{"title":"50K","enum":[50000]},{"title":"83.333K","enum":[83333]},{"title":"95.238K","enum":[95238]},{"title":"100K","enum":[100000]},{"title":"125K","enum":[125000]},{"title":"250K","enum":[250000]},{"title":"500K","enum":[500000]},{"title":"800K","enum":[800000]},{"title":"1M","enum":[1000000]}]},"bit_rate_fd":{"title":"Bit-rate FD","type":"integer","default":1000000,"oneOf":[{"title":"1M","enum":[1000000]},{"title":"2M","enum":[2000000]},{"title":"4M","enum":[4000000]}]}},"required":["bit_rate_std","bit_rate_fd"]},{"properties":{"bit_rate_cfg_mode":{"enum":[1]},"bit_rate_std":{"title":"Bit-timing standard","type":"object","properties":{"brp":{"title":"BRP (Bit Rate Prescaler)","type":"integer","default":2,"minimum":1},"seg1":{"title":"SEG1 (Time Segment 1)","type":"integer","default":63,"minimum":1},"seg2":{"title":"SEG2 (Time Segment 2)","type":"integer","default":16,"minimum":2},"sjw":{"title":"SJW (Synchronization Jump Width)","type":"integer","default":4,"minimum":0,"maximum":4}},"additionalProperties":false,"required":["brp","seg1","seg2","sjw"]},"bit_rate_fd":{"title":"Bit-timing FD","type":"object","properties":{"brp":{"title":"BRP (Bit Rate Prescaler)","type":"integer","default":1,"minimum":1},"seg1":{"title":"SEG1 (Time Segment 1)","type":"integer","default":31,"minimum":1},"seg2":{"title":"SEG2 (Time Segment 2)","type":"integer","default":8,"minimum":2},"sjw":{"title":"SJW (Synchronization Jump Width)","type":"integer","default":4,"minimum":0,"maximum":4}},"additionalProperties":false,"required":["brp","seg1","seg2","sjw"]}},"required":["bit_rate_std","bit_rate_fd"]}]}},"additionalProperties":false,"patternProperties":{"bit_rate_std":{},"bit_rate_fd":{}},"required":["mode","retransmission","bit_rate_cfg_mode"]},"signal":{},"can_s":{"type":"object","properties":{"phy":{"$ref":"#/definitions/can_phy"},"filter":{"title":"Receive filters","description":"List of receive filters. A message is accepted if it passes one or more filters.","type":"array","minItems":1,"maxItems":32,"items":{"type":"object","properties":{"name":{"title":"Name","description":"Filter name (optional).","type":"string","pattern":"^[ -~]*$","maxLength":16},"state":{"title":"State","description":"Disabled filters are ignored.","type":"integer","default":1,"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"id_format":{"title":"ID format","description":"Filter identifier format. Filters apply to messages with matching identifier format.","type":"integer","default":0,"oneOf":[{"title":"Standard (11-bit)","enum":[0]},{"title":"Extended (29-bit)","enum":[1]}]},"f1":{"title":"ID (HEX)","description":"Filter identifier.","type":"string","pattern":"^[a-fA-F0-9]+$","maxLength":8,"default":"0"},"f2":{"title":"Mask (HEX)","description":"Filter mask.","type":"string","pattern":"^[a-fA-F0-9]+$","maxLength":8,"default":"7FF"},"prescaler_type":{"title":"Prescaling type","description":"Filter prescaling type. Prescale by message count, time or data. Select None to disable prescaling.","type":"integer","default":0,"oneOf":[{"title":"None","enum":[0]},{"title":"Count","enum":[1]},{"title":"Time","enum":[2]},{"title":"Data","enum":[3]}]}},"dependencies":{"prescaler_type":{"oneOf":[{"properties":{"prescaler_type":{"enum":[0]}}},{"properties":{"prescaler_type":{"enum":[1]},"prescaler_value":{"title":"Count","type":"integer","description":"Count prescaler value. Example: Set to 2 to sample a message with a specific ID every second time.","default":1,"minimum":1,"maximum":256}},"required":["prescaler_value"]},{"properties":{"prescaler_type":{"enum":[2]},"prescaler_value":{"title":"Time","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.","type":"integer","default":1,"minimum":1,"maximum":4194304}},"required":["prescaler_value"]},{"properties":{"prescaler_type":{"enum":[3]},"prescaler_value":{"title":"Mask","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.","type":"string","default":"FF","pattern":"^[a-fA-F0-9]*$","maxLength":16}}}]}},"additionalProperties":false,"patternProperties":{"prescaler_value":{}},"required":["state","id_format","f1","f2","prescaler_type"]}},"transmit":{"title":"Transmit messages","description":"List of scheduled transmit messages.","type":"array","minItems":0,"maxItems":16,"items":{"type":"object","properties":{"name":{"title":"Name","description":"Message name (optional).","type":"string","pattern":"^[ -~]*$","maxLength":16},"state":{"title":"State","description":"Message state.","type":"integer","default":1,"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"id_format":{"title":"ID Format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard (11-bit)","enum":[0]},{"type":"integer","title":"Extended (29-bit)","enum":[1]}]},"frame_format":{"title":"Frame format","description":"Message frame format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard","enum":[0]},{"type":"integer","title":"Standard RTR","enum":[2]},{"type":"integer","title":"FD","enum":[1]}]},"brs":{"title":"Bit-Rate Switch","description":"Message data bit-rate-switch (FD only).","type":"integer","default":0},"period":{"title":"Period (10 ms steps)","description":"Message schedule period in milliseconds. 0: single shot, >0: periodic.","type":"integer","minimum":0,"maximum":4294967290,"multipleOf":10},"delay":{"title":"Delay (10 ms steps)","description":"Message schedule offset in milliseconds. 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.","type":"integer","minimum":0,"maximum":4294967290,"multipleOf":10},"id":{"title":"Message ID (hex)","description":"Message identifier. Example: 1FF.","type":"string"},"data":{"title":"Messages Data (hex)","description":"Message data bytes. For RTR frames, the number of bytes do determine the DLC. Example: 01020304 or 0102030405060708. ","type":"string","pattern":"^([a-fA-F0-9]{2}){0,64}$","maxLength":128}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"id":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"id":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]},"frame_format":{"oneOf":[{"properties":{"frame_format":{"enum":[0]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]}]},"data":{"pattern":"^([a-fA-F0-9]{2}){0,8}$","maxLength":16}}},{"properties":{"frame_format":{"enum":[2]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]}]},"data":{"pattern":"^([a-fA-F0-9]{2}){0,8}$","maxLength":16}}},{"properties":{"frame_format":{"enum":[1]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"data":{"pattern":"^([a-fA-F0-9]{2}){0,64}$","maxLength":128}}}]}},"additionalProperties":false,"required":["state","id_format","frame_format","brs","period","delay","id","data"]}}},"additionalProperties":false,"required":["phy","filter","transmit"]},"mux_filter":{"type":"integer","oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]}},"properties":{"phy":{"title":"PHY","type":"object","properties":{"can":{"title":"CAN Primary (P)","type":"object","properties":{"phy":{"$ref":"#/definitions/can_phy"},"route":{"title":"Routing","type":"object","properties":{"mode":{"title":"Routing mode","description":"The routing mode defines how traffic is routed between the primary and the secondary interface.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Mux","enum":[0]}]},"mux":{"title":"Mux","description":"Mux mode uses two CAN-bus tunnels to transport data to/from the secondary interfaces.","type":"object","properties":{"output":{"title":"Output tunnel","description":"The output tunnel transports data from the secondary buses.","type":"object","properties":{"filter":{"title":"Filter","description":"Filters can be used to disable the transfer of unused data (thereby reducing the load on the primary bus).","type":"object","properties":{"rx_msg":{"title":"RX message","default":1,"$ref":"#/definitions/mux_filter"},"tx_ack":{"title":"TX acknowledge","default":0,"$ref":"#/definitions/mux_filter"},"err":{"title":"Error frame","default":0,"$ref":"#/definitions/mux_filter"}},"additionalProperties":false,"required":["rx_msg","tx_ack","err"]},"message":{"title":"Message","description":"ID of the message used to transport data.","type":"object","properties":{"id_format":{"title":"ID Format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard (11-bit)","enum":[0]},{"type":"integer","title":"Extended (29-bit)","enum":[1]}]},"frame_format":{"title":"Frame format","description":"Message frame format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard","enum":[0]},{"type":"integer","title":"FD","enum":[1]}]},"brs":{"title":"Bit-Rate Switch","description":"Message data bit-rate-switch (FD only).","type":"integer","default":0},"id":{"title":"Message ID (hex)","description":"Message identifier. Example: 1FF.","type":"string"}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"id":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"id":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]},"frame_format":{"oneOf":[{"properties":{"frame_format":{"enum":[0]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]}]}}},{"properties":{"frame_format":{"enum":[1]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]}}}]}},"additionalProperties":false,"required":["id_format","frame_format","brs","id"]}},"additionalProperties":false,"required":["filter","message"]},"input":{"title":"Input tunnel","description":"The input tunnel transports data to the secondary buses. Add one message ID for each node transporting data to the secondary buses.","type":"array","minItems":0,"maxItems":8,"items":{"type":"object","properties":{"id_format":{"title":"ID Format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard (11-bit)","enum":[0]},{"type":"integer","title":"Extended (29-bit)","enum":[1]}]},"id":{"title":"Message ID (hex)","description":"Message identifier. Example: 1FF.","type":"string"}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"id":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"id":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]}},"additionalProperties":false,"required":["id_format","id"]}}},"additionalProperties":false,"required":["input","output"]}},"additionalProperties":false,"required":["mode"]}},"additionalProperties":false,"required":["phy","route"]},"can_s1":{"title":"CAN Secondary 1 (S1)","$ref":"#/definitions/can_s"},"can_s2":{"title":"CAN Secondary 2 (S2)","$ref":"#/definitions/can_s"},"can_s3":{"title":"CAN Secondary 3 (S3)","$ref":"#/definitions/can_s"},"can_s4":{"title":"CAN Secondary 4 (S4)","$ref":"#/definitions/can_s"}},"additionalProperties":false,"required":["can","can_s1","can_s2","can_s3","can_s4"]}},"additionalProperties":false,"required":["phy"]}
@@ -0,0 +1 @@
1
+ {"type":"object","definitions":{"can_phy":{"title":"CAN PHY","description":"CAN-bus low-level configuration","type":"object","properties":{"mode":{"title":"Mode","description":"Configures how the device interacts with the CAN-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.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Normal (receive, acknowledge and transmit)","enum":[0]},{"type":"integer","title":"Restricted (receive and acknowledge)","enum":[1]},{"type":"integer","title":"Monitoring (receive only)","enum":[2]}]},"retransmission":{"title":"Automatic retransmission","description":"Retransmission of frames that have lost arbitration or that have been disturbed by errors during transmission.","type":"integer","default":1,"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"bit_rate_cfg_mode":{"title":"Bit-rate configuration mode","description":"Configures how the CAN-bus bit-rate is set. Bit-rate supports all standard bit-rates. Non-standard bit-rate configuration can be set using Bit-timing.","type":"integer","default":0,"oneOf":[{"title":"Bit-rate (simple)","enum":[0]},{"title":"Bit-timing (advanced)","enum":[1]}]}},"dependencies":{"bit_rate_cfg_mode":{"oneOf":[{"properties":{"bit_rate_cfg_mode":{"enum":[0]},"bit_rate_std":{"title":"Bit-rate standard","type":"integer","default":250000,"oneOf":[{"title":"5K","enum":[5000]},{"title":"10K","enum":[10000]},{"title":"20K","enum":[20000]},{"title":"33.333K","enum":[33333]},{"title":"47.619K","enum":[47619]},{"title":"50K","enum":[50000]},{"title":"83.333K","enum":[83333]},{"title":"95.238K","enum":[95238]},{"title":"100K","enum":[100000]},{"title":"125K","enum":[125000]},{"title":"250K","enum":[250000]},{"title":"500K","enum":[500000]},{"title":"800K","enum":[800000]},{"title":"1M","enum":[1000000]}]},"bit_rate_fd":{"title":"Bit-rate FD","type":"integer","default":1000000,"oneOf":[{"title":"1M","enum":[1000000]},{"title":"2M","enum":[2000000]},{"title":"4M","enum":[4000000]}]}},"required":["bit_rate_std","bit_rate_fd"]},{"properties":{"bit_rate_cfg_mode":{"enum":[1]},"bit_rate_std":{"title":"Bit-timing standard","type":"object","properties":{"brp":{"title":"BRP (Bit Rate Prescaler)","type":"integer","default":2,"minimum":1},"seg1":{"title":"SEG1 (Time Segment 1)","type":"integer","default":63,"minimum":1},"seg2":{"title":"SEG2 (Time Segment 2)","type":"integer","default":16,"minimum":2},"sjw":{"title":"SJW (Synchronization Jump Width)","type":"integer","default":4,"minimum":0,"maximum":4}},"additionalProperties":false,"required":["brp","seg1","seg2","sjw"]},"bit_rate_fd":{"title":"Bit-timing FD","type":"object","properties":{"brp":{"title":"BRP (Bit Rate Prescaler)","type":"integer","default":1,"minimum":1},"seg1":{"title":"SEG1 (Time Segment 1)","type":"integer","default":31,"minimum":1},"seg2":{"title":"SEG2 (Time Segment 2)","type":"integer","default":8,"minimum":2},"sjw":{"title":"SJW (Synchronization Jump Width)","type":"integer","default":4,"minimum":0,"maximum":4}},"additionalProperties":false,"required":["brp","seg1","seg2","sjw"]}},"required":["bit_rate_std","bit_rate_fd"]}]}},"additionalProperties":false,"patternProperties":{"bit_rate_std":{},"bit_rate_fd":{}},"required":["mode","retransmission","bit_rate_cfg_mode"]},"signal":{},"can_s":{"type":"object","properties":{"phy":{"$ref":"#/definitions/can_phy"},"filter":{"title":"Receive filters","description":"List of receive filters. A message is accepted if it passes one or more filters.","type":"array","minItems":1,"maxItems":32,"items":{"type":"object","properties":{"name":{"title":"Name","description":"Filter name (optional).","type":"string","pattern":"^[ -~]*$","maxLength":16},"state":{"title":"State","description":"Disabled filters are ignored.","type":"integer","default":1,"oneOf":[{"title":"Disable","enum":[0]},{"title":"Enable","enum":[1]}]},"id_format":{"title":"ID format","description":"Filter identifier format. Filters apply to messages with matching identifier format.","type":"integer","default":0,"oneOf":[{"title":"Standard (11-bit)","enum":[0]},{"title":"Extended (29-bit)","enum":[1]}]},"frame_format":{"title":"Frame format","description":"Filter frame format. Filters apply to messages with matching frame format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard","enum":[0]},{"type":"integer","title":"FD","enum":[1]},{"type":"integer","title":"Both","enum":[2]}]},"f1":{"title":"ID (HEX)","description":"Filter identifier.","type":"string","default":"0"},"f2":{"title":"Mask (HEX)","description":"Filter mask.","type":"string","default":"7FF"},"prescaler_type":{"title":"Prescaling type","description":"Filter prescaling type. Prescale by message count, time or data. Select None to disable prescaling.","type":"integer","default":0,"oneOf":[{"title":"None","enum":[0]},{"title":"Count","enum":[1]},{"title":"Time","enum":[2]},{"title":"Data","enum":[3]}]}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"f1":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3},"f2":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"f1":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8},"f2":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]},"prescaler_type":{"oneOf":[{"properties":{"prescaler_type":{"enum":[0]}}},{"properties":{"prescaler_type":{"enum":[1]},"prescaler_value":{"title":"Count","type":"integer","description":"Count prescaler value. Example: Set to 2 to sample a message with a specific ID every second time.","default":1,"minimum":1,"maximum":256}},"required":["prescaler_value"]},{"properties":{"prescaler_type":{"enum":[2]},"prescaler_value":{"title":"Time","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.","type":"integer","default":1,"minimum":1,"maximum":4194304}},"required":["prescaler_value"]},{"properties":{"prescaler_type":{"enum":[3]},"prescaler_value":{"title":"Mask","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.","type":"string","default":"FF","pattern":"^[a-fA-F0-9]*$","maxLength":16}}}]}},"patternProperties":{"prescaler_value":{}},"required":["state","id_format","frame_format","f1","f2","prescaler_type"]}},"transmit":{"title":"Transmit messages","description":"List of scheduled transmit messages.","type":"array","minItems":0,"maxItems":16,"items":{"type":"object","properties":{"name":{"title":"Name","description":"Message name (optional).","type":"string","pattern":"^[ -~]*$","maxLength":16},"state":{"title":"State","description":"Message state.","type":"integer","default":1,"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"id_format":{"title":"ID Format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard (11-bit)","enum":[0]},{"type":"integer","title":"Extended (29-bit)","enum":[1]}]},"frame_format":{"title":"Frame format","description":"Message frame format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard","enum":[0]},{"type":"integer","title":"Standard RTR","enum":[2]},{"type":"integer","title":"FD","enum":[1]}]},"brs":{"title":"Bit-Rate Switch","description":"Message data bit-rate-switch (FD only).","type":"integer","default":0},"period":{"title":"Period (10 ms steps)","description":"Message schedule period in milliseconds. 0: single shot, >0: periodic.","type":"integer","minimum":0,"maximum":4294967290,"multipleOf":10},"delay":{"title":"Delay (10 ms steps)","description":"Message schedule offset in milliseconds. 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.","type":"integer","minimum":0,"maximum":4294967290,"multipleOf":10},"id":{"title":"Message ID (hex)","description":"Message identifier. Example: 1FF.","type":"string"},"data":{"title":"Messages Data (hex)","description":"Message data bytes. For RTR frames, the number of bytes do determine the DLC. Example: 01020304 or 0102030405060708. ","type":"string","pattern":"^([a-fA-F0-9]{2}){0,64}$","maxLength":128}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"id":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"id":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]},"frame_format":{"oneOf":[{"properties":{"frame_format":{"enum":[0]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]}]},"data":{"pattern":"^([a-fA-F0-9]{2}){0,8}$","maxLength":16}}},{"properties":{"frame_format":{"enum":[2]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]}]},"data":{"pattern":"^([a-fA-F0-9]{2}){0,8}$","maxLength":16}}},{"properties":{"frame_format":{"enum":[1]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"data":{"pattern":"^([a-fA-F0-9]{2}){0,64}$","maxLength":128}}}]}},"additionalProperties":false,"required":["state","id_format","frame_format","brs","period","delay","id","data"]}}},"additionalProperties":false,"required":["phy","filter","transmit"]},"mux_filter":{"type":"integer","oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]},"direct_p2s_filter":{"type":"object","properties":{"id_format":{"title":"ID format","description":"Identifier format.","type":"integer","default":0,"oneOf":[{"title":"Standard (11-bit)","enum":[0]},{"title":"Extended (29-bit)","enum":[1]}]},"frame_format":{"title":"Frame format","description":"Frame format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard","enum":[0]},{"type":"integer","title":"FD","enum":[1]},{"type":"integer","title":"Both","enum":[2]}]},"method":{"title":"Method","description":"Matching method.","type":"integer","default":0,"oneOf":[{"title":"Range","enum":[0],"description":"ID ranges"},{"title":"Mask","enum":[1],"description":"ID masking"}]},"f1":{"title":"From (range) / ID (mask) (HEX)","description":"Range method: Field defines the start of range. Mask method: Field defines the filter ID.","type":"string","default":"0"},"f2":{"title":"To (range) / mask (mask) (HEX)","description":"Range method: Field defines the end of range. Mask method: Field defines the filter mask.","type":"string","default":"7FF"}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"f1":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3},"f2":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"f1":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8},"f2":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]},"method":{"oneOf":[{"properties":{"method":{"enum":[0]},"f1":{"title":"From (HEX)"},"f2":{"title":"To (HEX)"}}},{"properties":{"method":{"enum":[1]},"f1":{"title":"ID (HEX)"},"f2":{"title":"Mask (HEX)"}}}]}},"additionalProperties":false,"required":["id_format","frame_format","method","f1","f2"]},"direct_p2s_filters":{"title":"Filters","type":"array","minItems":0,"maxItems":4,"items":{"$ref":"#/definitions/direct_p2s_filter"}},"direct_p2s":{"type":"object","properties":{"filter":{"$ref":"#/definitions/direct_p2s_filters"}},"additionalProperties":false},"direct_s2p":{"type":"object","description":"Optionally configure S to P message identifier mappings.","properties":{"map":{"title":"Mappings","type":"array","minItems":0,"maxItems":16,"uniqueItems":true,"items":{"type":"object","properties":{"from":{"title":"From (S)","type":"object","properties":{"id_format":{"title":"ID format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"title":"Standard (11-bit)","enum":[0]},{"title":"Extended (29-bit)","enum":[1]}]},"f1":{"title":"ID (HEX)","description":"Message dentifier value.","type":"string","default":"0"},"f2":{"title":"ID mask (HEX)","description":"Message identifier mask.","type":"string","default":"7FF"}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"f1":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3},"f2":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"f1":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8},"f2":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]}},"additionalProperties":false,"required":["id_format","f1","f2"]},"to":{"title":"To (P)","type":"object","properties":{"id_format":{"title":"ID format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"title":"Standard (11-bit)","enum":[0]},{"title":"Extended (29-bit)","enum":[1]}]},"f1":{"title":"ID (HEX)","description":"Message identifier value.","type":"string","default":"0"}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"f1":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"f1":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]}},"additionalProperties":false,"required":["id_format","f1"]}},"additionalProperties":false,"required":["from","to"]}}},"additionalProperties":false}},"properties":{"phy":{"title":"PHY","type":"object","properties":{"can":{"title":"CAN Primary (P)","type":"object","properties":{"phy":{"$ref":"#/definitions/can_phy"},"route":{"title":"Routing","description":"The routing configuration defines how traffic is routed between the primary (P) interface and the secondary (S) interfaces.","type":"object","properties":{"mode":{"title":"Routing mode","description":"The routing mode defines the method used to route traffic between the primary interface and the secondary interfaces.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Mux","enum":[0]},{"type":"integer","title":"Direct","enum":[1]}]}},"dependencies":{"mode":{"oneOf":[{"properties":{"mode":{"enum":[0]},"mux":{"title":"Mux","description":"In mux-mode, traffic is routed between the primary (P) and the secondary (S) interfaces using \"mux tunnels\".","type":"object","properties":{"p2s":{"title":"Primary to secondary (P to S) routing","description":"Configuration of P-to-S. Configure messages used for transporting traffic from P to S. Add one message for each CAN-bus node on P generating traffic for S.","type":"array","minItems":0,"maxItems":8,"uniqueItems":true,"items":{"type":"object","properties":{"id_format":{"title":"ID Format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard (11-bit)","enum":[0]},{"type":"integer","title":"Extended (29-bit)","enum":[1]}]},"id":{"title":"Message ID (hex)","description":"Message identifier. Example: 1FF.","type":"string"}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"id":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"id":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]}},"additionalProperties":false,"required":["id_format","id"]}},"s2p":{"title":"Secondary to primary (S to P) routing","description":"Configuration of S-to-P.","type":"object","properties":{"filter":{"title":"Filter","description":"Configure S-to-P traffic type filters. Disable unused traffic types to reduce load on P.","type":"object","properties":{"rx_msg":{"title":"RX message","default":1,"$ref":"#/definitions/mux_filter"},"tx_ack":{"title":"TX acknowledge","default":0,"$ref":"#/definitions/mux_filter"},"err":{"title":"Error frame","default":0,"$ref":"#/definitions/mux_filter"}},"additionalProperties":false,"required":["rx_msg","tx_ack","err"]},"message":{"title":"Message","description":"Configure the message used for transporting traffic from S to P. If supported by P, enable CAN-FD and BRS for increased bandwidth.","type":"object","properties":{"id_format":{"title":"ID Format","description":"Message identifier format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard (11-bit)","enum":[0]},{"type":"integer","title":"Extended (29-bit)","enum":[1]}]},"id":{"title":"ID value (HEX)","description":"Message identifier. Example: 1FF.","type":"string"},"frame_format":{"title":"Frame format","description":"Message frame format.","type":"integer","default":0,"oneOf":[{"type":"integer","title":"Standard","enum":[0]},{"type":"integer","title":"FD","enum":[1]}]},"brs":{"title":"Bit-Rate Switch","description":"Message data bit-rate-switch (FD only).","type":"integer","default":0}},"dependencies":{"id_format":{"oneOf":[{"properties":{"id_format":{"enum":[0]},"id":{"pattern":"^([0-7][a-fA-F0-9]{2}|[a-fA-F0-9]{1,2})$","maxLength":3}}},{"properties":{"id_format":{"enum":[1]},"id":{"pattern":"^([0-1][a-fA-F0-9]{7}|[a-fA-F0-9]{1,7})$","maxLength":8}}}]},"frame_format":{"oneOf":[{"properties":{"frame_format":{"enum":[0]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]}]}}},{"properties":{"frame_format":{"enum":[1]},"brs":{"oneOf":[{"type":"integer","title":"Disable","enum":[0]},{"type":"integer","title":"Enable","enum":[1]}]}}}]}},"additionalProperties":false,"required":["id_format","frame_format","brs","id"]}},"additionalProperties":false,"required":["filter","message"]}},"additionalProperties":false}}},{"properties":{"mode":{"enum":[1]},"direct":{"title":"Direct","description":"In direct-mode, traffic is routed between the primary (P) and the secondary (S) interfaces directly.","type":"object","properties":{"p2s":{"title":"Primary to secondary (P to S) routing","description":"Configuration of P-to-S.","type":"object","properties":{"can_s1":{"title":"P to S1","$ref":"#/definitions/direct_p2s"},"can_s2":{"title":"P to S2","$ref":"#/definitions/direct_p2s"},"can_s3":{"title":"P to S3","$ref":"#/definitions/direct_p2s"},"can_s4":{"title":"P to S4","$ref":"#/definitions/direct_p2s"}},"additionalProperties":false,"required":["can_s1","can_s2","can_s3","can_s4"]},"s2p":{"title":"Secondary to primary (S to P) routing","description":"Configuration of S-to-P. Traffic on all S is routed to P.","type":"object","properties":{"can_s1":{"title":"S1 to P","$ref":"#/definitions/direct_s2p"},"can_s2":{"title":"S2 to P","$ref":"#/definitions/direct_s2p"},"can_s3":{"title":"S3 to P","$ref":"#/definitions/direct_s2p"},"can_s4":{"title":"S4 to P","$ref":"#/definitions/direct_s2p"}},"additionalProperties":false,"required":["can_s1","can_s2","can_s3","can_s4"]}},"additionalProperties":false}}}]}},"additionalProperties":false,"required":["mode"],"patternProperties":{"mux":{},"direct":{}}}},"additionalProperties":false,"required":["phy","route"]},"can_s1":{"title":"CAN Secondary 1 (S1)","$ref":"#/definitions/can_s"},"can_s2":{"title":"CAN Secondary 2 (S2)","$ref":"#/definitions/can_s"},"can_s3":{"title":"CAN Secondary 3 (S3)","$ref":"#/definitions/can_s"},"can_s4":{"title":"CAN Secondary 4 (S4)","$ref":"#/definitions/can_s"}},"additionalProperties":false,"required":["can","can_s1","can_s2","can_s3","can_s4"]}},"additionalProperties":false,"required":["phy"]}