Add feature ISO TP (multi frames and peer to peer)
[apps/agl-service-can-low-level.git] / examples / tests / signal.json
1 {   "name": "AGL Virtual Car",
2         "extra_sources": [],
3         "initializers": [],
4         "loopers": [],
5         "buses": {},
6         "commands": [],
7         "messages": {
8                 "0x620": {
9                         "bus": "hs",
10                         "is_fd" : false,
11                         "is_extended": false,
12                         "is_j1939" : false,
13                         "length" : 8,
14                         "signals": {
15                                 "doors.driver.open": {
16                                         "generic_name": "doors.front_left.open",
17                                         "bit_position": 43,
18                                         "bit_size": 1,
19                                         "factor": 1.0,
20                                         "offset": 0,
21                                         "writable": true,
22                                         "decoder": "decoder_t::decode_boolean"},
23                                 "doors.passenger.open": {
24                                         "generic_name": "doors.front_right.open",
25                                         "bit_position": 44,
26                                         "bit_size": 1,
27                                         "factor": 1.0,
28                                         "offset": 0,
29                                         "writable": true,
30                                         "decoder": "decoder_t::decode_boolean"},
31                                 "doors.rearleft.open": {
32                                         "generic_name": "doors.rear_left.open",
33                                         "bit_position": 46,
34                                         "bit_size": 1,
35                                         "factor": 1.0,
36                                         "offset": 0,
37                                         "writable": true,
38                                         "decoder": "decoder_t::decode_boolean"},
39                                 "doors.rearright.open": {
40                                         "generic_name": "doors.rear_right.open",
41                                         "bit_position": 45,
42                                         "bit_size": 4,
43                                         "factor": 1.0,
44                                         "offset": 0,
45                                         "writable": true,
46                                         "decoder": "decoder_t::decode_boolean"},
47                                 "doors.coffer.open": {
48                                         "generic_name": "doors.boot.open",
49                                         "bit_position": 47,
50                                         "bit_size": 1,
51                                         "factor": 1.0,
52                                         "offset": 0,
53                                         "writable": true,
54                                         "decoder": "decoder_t::decode_boolean"}
55                 }
56         },
57                 "0x799": {
58                         "bus": "hs",
59                         "is_fd" : false,
60                         "is_extended": false,
61                         "is_j1939" : false,
62                         "length" : 8,
63                         "signals": {
64                                 "windows.driver.open": {
65                                         "generic_name": "windows.front_left.open",
66                                         "bit_position": 43,
67                                         "bit_size": 1,
68                                         "factor": 1.0,
69                                         "offset": 0,
70                                         "writable": true,
71                                         "decoder": "decoder_t::decode_boolean"},
72                                 "windows.passenger.open": {
73                                         "generic_name": "windows.front_right.open",
74                                         "bit_position": 44,
75                                         "bit_size": 1,
76                                         "factor": 1.0,
77                                         "offset": 0,
78                                         "writable": true,
79                                         "decoder": "decoder_t::decode_boolean"},
80                                 "windows.rearleft.open": {
81                                         "generic_name": "windows.rear_left.open",
82                                         "bit_position": 46,
83                                         "bit_size": 1,
84                                         "factor": 1.0,
85                                         "offset": 0,
86                                         "writable": true,
87                                         "decoder": "decoder_t::decode_boolean"},
88                                 "windows.rearright.open": {
89                                         "generic_name": "windows.rear_right.open",
90                                         "bit_position": 45,
91                                         "bit_size": 4,
92                                         "factor": 1.0,
93                                         "offset": 0,
94                                         "writable": true,
95                                         "decoder": "decoder_t::decode_boolean"}
96                 }
97         },
98         "0x3D9": {
99         "bus": "hs",
100         "is_fd" : true,
101         "is_extended": false,
102         "is_j1939" : false,
103         "length" : 8,
104         "signals": {
105                 "PT_FuelLevelPct": {
106                         "generic_name": "fuel.level",
107                         "bit_position": 8,
108                         "bit_size": 8,
109                         "factor": 0.392157,
110                         "offset": 0,
111                         "writable": true
112                 },
113                 "PT_EngineSpeed": {
114                         "generic_name": "engine.speed",
115                         "bit_position": 16,
116                         "bit_size": 16,
117                         "factor": 0.25,
118                         "offset": 0,
119                         "writable": true
120                 },
121                 "PT_FuelLevelLow": {
122                         "generic_name": "fuel.level.low",
123                         "bit_position": 55,
124                         "bit_size": 1,
125                         "factor": 1,
126                         "offset": 0,
127                         "writable": true,
128                         "decoder": "decoder_t::decode_boolean"
129                 }
130         }
131         },
132         "0x4D1": {
133         "bus": "hs",
134         "is_fd" : false,
135         "is_extended": false,
136         "is_j1939" : false,
137         "length" : 8,
138         "signals": {
139                 "PT_EngineOilTempHigh": {
140                         "generic_name": "engine.oil.temp.high",
141                         "bit_position": 7,
142                         "bit_size": 1,
143                         "factor": 1,
144                         "offset": 0,
145                         "writable": true,
146                         "decoder": "decoder_t::decode_boolean"
147                 },
148                 "PT_EngineOilTemp": {
149                         "generic_name": "engine.oil.temp",
150                         "bit_position": 16,
151                         "bit_size": 8,
152                         "factor": 1,
153                         "offset": 0,
154                         "writable": true
155                 }
156         }
157         },
158         "0x3E9": {
159         "bus": "hs",
160         "is_fd" : false,
161         "is_extended": false,
162         "is_j1939" : false,
163         "length" : 8,
164         "signals": {
165                 "PT_VehicleAvgSpeed": {
166                         "generic_name": "vehicle.average.speed",
167                         "bit_position": 0,
168                         "bit_size": 15,
169                         "factor": 0.015625,
170                         "offset": 0,
171                         "writable": false
172                 }
173         }
174         },
175         "0x30": {
176         "bus": "ls",
177         "is_fd" : false,
178         "is_extended": true,
179         "is_j1939" : false,
180         "length" : 8,
181         "signals": {
182                 "LeftTemperature": {
183                         "generic_name": "hvac.temperature.left",
184                         "bit_position": 0,
185                         "bit_size": 8,
186                         "factor": 1,
187                         "offset": 0,
188                         "writable": true
189                 },
190                 "RightTemperature": {
191                         "generic_name": "hvac.temperature.right",
192                         "bit_position": 8,
193                         "bit_size": 8,
194                         "factor": 1,
195                         "offset": 0,
196                         "writable": true
197                 },
198                 "Temperature": {
199                         "generic_name": "hvac.temperature.average",
200                         "bit_position": 16,
201                         "bit_size": 8,
202                         "factor": 1,
203                         "offset": 0,
204                         "writable": true
205                 },
206                 "FanSpeed": {
207                         "generic_name": "hvac.fan.speed",
208                         "bit_position": 32,
209                         "bit_size": 8,
210                         "factor": 23.529411765,
211                         "offset": 0,
212                         "writable": true
213                 }
214         }
215     },
216     "0x111": {
217         "bus": "ls",
218         "is_fd" : false,
219         "is_extended": false,
220         "is_j1939" : false,
221         "is_isotp" : true,
222         "length" : 16,
223         "signals": {
224             "sig11": {
225                 "generic_name": "sig1.1",
226                 "bit_position": 0,
227                 "bit_size": 16,
228                 "factor": 1,
229                 "offset": 0,
230                 "writable": true
231             },
232             "sig12": {
233                 "generic_name": "sig1.2",
234                 "bit_position": 16,
235                 "bit_size": 16,
236                 "factor": 1,
237                 "offset": 0,
238                 "writable": true
239             },
240             "sig21": {
241                 "generic_name": "sig2.1",
242                 "bit_position": 32,
243                 "bit_size": 16,
244                 "factor": 1,
245                 "offset": 0,
246                 "writable": true
247             },
248             "sig22": {
249                 "generic_name": "sig2.2",
250                 "bit_position": 48,
251                 "bit_size": 16,
252                 "factor": 1,
253                 "offset": 0,
254                 "writable": true
255             },
256             "sig31": {
257                 "generic_name": "sig3.1",
258                 "bit_position": 64,
259                 "bit_size": 16,
260                 "factor": 1,
261                 "offset": 0,
262                 "writable": true
263             },
264             "sig32": {
265                 "generic_name": "sig3.2",
266                 "bit_position": 80,
267                 "bit_size": 16,
268                 "factor": 1,
269                 "offset": 0,
270                 "writable": true
271             },
272             "sig41": {
273                 "generic_name": "sig4.1",
274                 "bit_position": 96,
275                 "bit_size": 16,
276                 "factor": 1,
277                 "offset": 0,
278                 "writable": true
279             },
280             "sig42": {
281                 "generic_name": "sig4.2",
282                 "bit_position": 112,
283                 "bit_size": 16,
284                 "factor": 1,
285                 "offset": 0,
286                 "writable": true
287             }
288         }
289     },
290     "61442": {
291         "comment": "Electronic Transmission Controller 1",
292         "length": 8,
293         "name": "ETC1",
294         "bus" : "j1939",
295         "is_fd" : false,
296         "is_extended": false,
297         "is_j1939" : true,
298         "signals" : {
299             "Trns.Trque.Converter.Lockup.Engaged" : {
300                 "generic_name": "Trns.Trque.Converter.Lockup.Engaged",
301                 "bit_position": 2,
302                 "bit_size": 2,
303                 "factor": 1,
304                 "offset": 0,
305                 "comment": "State signal which indicates whether the torque converter lockup is engaged.",
306                 "is_big_endian": false,
307                 "is_signed": false,
308                 "writable" : true,
309                 "states": {
310                     "TorqueConverterLockupDisengaged": [0],
311                     "TorqueConverterLockupEngaged": [1],
312                     "Error": [2],
313                     "NotAvailable": [3]
314                 }
315             },
316             "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess" : {
317                 "generic_name": "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",
318                 "bit_position": 6,
319                 "bit_size": 2,
320                 "factor": 1,
321                 "offset": 0,
322                 "comment": "State signal indicating whether or not the transmission torque converter lock up clutch is transitioning between being",
323                 "is_big_endian": false,
324                 "is_signed": false,
325                 "writable" : true,
326                 "states": {
327                     "TransitionIsNotInProcess": [0],
328                     "TransitionIsInProcess": [1],
329                     "Error": [2],
330                     "NotAvailable": [3]
331                 }
332             },
333             "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl" : {
334                 "generic_name": "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",
335                 "bit_position": 56,
336                 "bit_size": 8,
337                 "factor": 1,
338                 "offset": 0,
339                 "comment": "The source address of the SAE J1939 device currently controlling the transmission.",
340                 "is_big_endian": false,
341                 "is_signed": false,
342                 "writable" : true
343             },
344             "Momentary.Eng.Max.Power.Enable" : {
345                 "generic_name": "Momentary.Eng.Max.Power.Enable",
346                 "bit_position": 36,
347                 "bit_size": 2,
348                 "factor": 1,
349                 "offset": 0,
350                 "comment": "Momentarily Requesting highest torque map from the engine control",
351                 "is_big_endian": false,
352                 "is_signed": false,
353                 "writable" : true,
354                 "states": {
355                     "notRqingMaxPowerAvailable": [0],
356                     "mmntarilyRqingMaxPowerAvailable": [1],
357                     "fault": [2],
358                     "notAvailable": [3]
359                 }
360             },
361             "Trans.Input.Shaft.Speed" : {
362                 "generic_name": "Trans.Input.Shaft.Speed",
363                 "bit_position": 40,
364                 "bit_size": 16,
365                 "factor": 0.125,
366                 "offset": 0,
367                 "comment": "Rotational velocity of the primary shaft transferring power into the transmission.",
368                 "unit": "rpm",
369                 "is_big_endian": false,
370                 "is_signed": false,
371                 "writable" : true
372             },
373             "Progressive.Shift.Disable" : {
374                 "generic_name": "Progressive.Shift.Disable",
375                 "bit_position": 34,
376                 "bit_size": 2,
377                 "factor": 1,
378                 "offset": 0,
379                 "comment": "Command signal used to indicate that progressive shifting by the engine should be disallowed.",
380                 "is_big_endian": false,
381                 "is_signed": false,
382                 "writable" : true,
383                 "states": {
384                     "ProgressiveShiftIsNotDisabled": [0],
385                     "ProgressiveShiftIsDisabled": [1],
386                     "Reserved": [2],
387                     "TakeNoAction": [3]
388                 }
389             },
390             "Eng.Momentary.Overspeed.Enable" : {
391                 "generic_name": "Eng.Momentary.Overspeed.Enable",
392                 "bit_position": 32,
393                 "bit_size": 2,
394                 "factor": 1,
395                 "offset": 0,
396                 "comment": "Command signal used to indicate that the engine speed may be boosted up to the maximum engine overspeed value to",
397                 "is_big_endian": false,
398                 "is_signed": false,
399                 "writable" : true,
400                 "states": {
401                     "MomentaryEngOverspeedIsDisabled": [0],
402                     "MomentaryEngOverspeedIsEnabled": [1],
403                     "Reserved": [2],
404                     "TakeNoAction": [3]
405                 }
406             },
407             "Percent.Clutch.Slip" : {
408                 "generic_name": "Percent.Clutch.Slip",
409                 "bit_position": 24,
410                 "bit_size": 8,
411                 "factor": 0.4,
412                 "offset": 0,
413                 "comment": "Parameter which represents the ratio of input shaft speed to current engine speed (in percent).",
414                 "unit": "%",
415                 "is_big_endian": false,
416                 "is_signed": false,
417                 "writable" : true
418             },
419             "Trans.Output.Shaft.Speed" : {
420                 "generic_name": "Trans.Output.Shaft.Speed",
421                 "bit_position": 8,
422                 "bit_size": 16,
423                 "factor": 0.125,
424                 "offset": 0,
425                 "comment": "Calculated speed of the transmission output shaft.",
426                 "unit": "rpm",
427                 "is_big_endian": false,
428                 "is_signed": false,
429                 "writable" : true
430             },
431             "Trans.Shift.In.Process" : {
432                 "generic_name": "Trans.Shift.In.Process",
433                 "bit_position": 4,
434                 "bit_size": 2,
435                 "factor": 1,
436                 "offset": 0,
437                 "comment": "Indicates that the transmission is in process of shifting from the current gear to the selected gear.",
438                 "is_big_endian": false,
439                 "is_signed": false,
440                 "writable" : true,
441                 "states": {
442                     "ShiftIsNotInProcess": [0],
443                     "ShiftInProcess": [1],
444                     "Error": [2],
445                     "NotAvailable": [3]
446                 }
447             },
448             "Trans.Driveline.Engaged" : {
449                 "generic_name": "Trans.Driveline.Engaged",
450                 "bit_position": 0,
451                 "bit_size": 2,
452                 "factor": 1,
453                 "offset": 0,
454                 "comment": "Driveline engaged indicates the transmission controlled portion of the driveline is engaged sufficiently to allow a transfer",
455                 "is_big_endian": false,
456                 "is_signed": false,
457                 "writable" : true,
458                 "states": {
459                     "DrivelineDisengaged": [0],
460                     "DrivelineEngaged": [1],
461                     "Error": [2],
462                     "NotAvailable": [3]
463                 }
464             }
465         }
466     },
467     "61444": {
468         "comment": "Electronic Engine Controller 1",
469         "length": 8,
470         "name": "EEC1",
471         "bus" : "j1939",
472         "is_fd" : false,
473         "is_extended": false,
474         "is_j1939" : true,
475         "signals" : {
476             "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl" : {
477                 "generic_name": "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",
478                 "bit_position": 40,
479                 "bit_size": 8,
480                 "factor": 1,
481                 "offset": 0,
482                 "comment": "The source address of the SAE J1939 device currently controlling the engine.",
483                 "is_big_endian": false,
484                 "is_signed": false
485             },
486             "Actl.Eng.Prcnt.Trque.High.Resolution" : {
487                 "generic_name": "Actl.Eng.Prcnt.Trque.High.Resolution",
488                 "bit_position": 4,
489                 "bit_size": 4,
490                 "factor": 0.125,
491                 "offset": 0,
492                 "comment": "This parameter displays an additional torque in percent of the reference engine torque.",
493                 "unit": "%",
494                 "is_big_endian": false,
495                 "is_signed": false,
496                 "states": {
497                     "0000": [0],
498                     "0125": [1],
499                     "0875": [7],
500                     "1111NotAvailable": [8]
501                 }
502             },
503             "Eng.Demand.Percent.Torque" : {
504                 "generic_name": "Eng.Demand.Percent.Torque",
505                 "bit_position": 56,
506                 "bit_size": 8,
507                 "factor": 1,
508                 "offset": -125,
509                 "comment": "The requested torque output of the engine by all dynamic internal inputs, including smoke control, noise control and low",
510                 "unit": "%",
511                 "is_big_endian": false,
512                 "is_signed": false
513             },
514             "Eng.Starter.Mode" : {
515                 "generic_name": "Eng.Starter.Mode",
516                 "bit_position": 48,
517                 "bit_size": 4,
518                 "factor": 1,
519                 "offset": 0,
520                 "comment": "There are several phases in a starting action and different reasons why a start cannot take place.",
521                 "is_big_endian": false,
522                 "is_signed": false,
523                 "states": {
524                     "startNotRqed": [0],
525                     "starterActiveGearNotEngaged": [1],
526                     "starterActiveGearEngaged": [2],
527                     "strtFnshdStrtrNtActvAftrHvngBnA": [3],
528                     "strtrInhbtdDToEngAlreadyRunning": [4],
529                     "strtrInhbtdDTEngNtReadyForStart": [5],
530                     "strtrInhbtdDTDrvlnEnggdOthrTrns": [6],
531                     "strtrInhbtdDToActiveImmobilizer": [7],
532                     "strtrInhbtdDueToStarterOvertemp": [8],
533                     "1011Reserved": [9],
534                     "starterInhibitedReasonUnknown": [12],
535                     "error": [14],
536                     "notAvailable": [15]
537                 }
538             },
539             "Eng.Speed" : {
540                 "generic_name": "Eng.Speed",
541                 "bit_position": 24,
542                 "bit_size": 16,
543                 "factor": 0.125,
544                 "offset": 0,
545                 "comment": "Actual engine speed which is calculated over a minimum crankshaft angle of 720 degrees divided by the number of cylinders.",
546                 "unit": "rpm",
547                 "is_big_endian": false,
548                 "is_signed": false
549             },
550             "Actual.Eng.Percent.Torque" : {
551                 "generic_name": "Actual.Eng.Percent.Torque",
552                 "bit_position": 16,
553                 "bit_size": 8,
554                 "factor": 1,
555                 "offset": -125,
556                 "comment": "The calculated output torque of the engine.",
557                 "unit": "%",
558                 "is_big_endian": false,
559                 "is_signed": false
560             },
561             "Drivers.Demand.Eng.Percent.Torque" : {
562                 "generic_name": "Drivers.Demand.Eng.Percent.Torque",
563                 "bit_position": 8,
564                 "bit_size": 8,
565                 "factor": 1,
566                 "offset": -125,
567                 "comment": "The requested torque output of the engine by the driver.",
568                 "unit": "%",
569                 "is_big_endian": false,
570                 "is_signed": false
571             },
572             "Eng.Torque.Mode" : {
573                 "generic_name": "Eng.Torque.Mode",
574                 "bit_position": 0,
575                 "bit_size": 4,
576                 "factor": 1,
577                 "offset": 0,
578                 "comment": "State signal which indicates which engine torque mode is currently generating, limiting, or controlling the torque.",
579                 "is_big_endian": false,
580                 "is_signed": false,
581                 "states": {
582                     "Low idle governor/no request (de": [0],
583                     "Accelerator pedal/operator selec": [1],
584                     "Cruise control": [2],
585                     "PTO governor": [3],
586                     "Road speed governor": [4],
587                     "ASR control": [5],
588                     "Transmission control": [6],
589                     "ABS control": [7],
590                     "Torque limiting": [8],
591                     "High speed governor": [9],
592                     "Braking system": [10],
593                     "Remote accelerator": [11],
594                     "Not available": [15]
595                 }
596             }
597         }
598     },
599     "65253": {
600         "comment": "Engine Hours, Revolutions",
601         "length": 8,
602         "name": "HOURS",
603         "bus" : "j1939",
604         "is_fd" : false,
605         "is_extended": false,
606         "is_j1939" : true,
607         "signals" : {
608             "Eng.Total.Revolutions" : {
609                 "generic_name": "Eng.Total.Revolutions",
610                 "bit_position": 32,
611                 "bit_size": 32,
612                 "factor": 1000,
613                 "offset": 0,
614                 "comment": "Accumulated number of revolutions of engine crankshaft during its operation.",
615                 "unit": "r",
616                 "is_big_endian": false,
617                 "is_signed": false
618             },
619             "Eng.Total.Hours.Of.Operation" : {
620                 "generic_name": "Eng.Total.Hours.Of.Operation",
621                 "bit_position": 0,
622                 "bit_size": 32,
623                 "factor": 0.05,
624                 "offset": 0,
625                 "comment": "Accumulated time of operation of engine.",
626                 "unit": "hr",
627                 "is_big_endian": false,
628                 "is_signed": false
629             }
630         }
631     },
632     "61449": {
633         "comment": "Vehicle Dynamic Stability Control 2",
634         "length": 8,
635         "name": "VDC2",
636         "bus" : "j1939",
637         "is_fd" : false,
638         "is_extended": false,
639         "is_j1939" : true,
640         "signals" : {
641             "Steer.Wheel.Angle" : {
642                 "generic_name": "Steer.Wheel.Angle",
643                 "bit_position": 0,
644                 "bit_size": 16,
645                 "factor": 0.0009765625,
646                 "offset": -31.374,
647                 "comment": "The main operator`s steering wheel angle (on the steering column, not the actual wheel angle).",
648                 "unit": "rad",
649                 "is_big_endian": false,
650                 "is_signed": false
651             },
652             "Longitudinal.Acceleration" : {
653                 "generic_name": "Longitudinal.Acceleration",
654                 "bit_position": 56,
655                 "bit_size": 8,
656                 "factor": 0.1,
657                 "offset": -12.5,
658                 "comment": "Indicates the longitudinal acceleration of the vehicle.",
659                 "unit": "m/s/s",
660                 "is_big_endian": false,
661                 "is_signed": false
662             },
663             "Lateral.Acceleration" : {
664                 "generic_name": "Lateral.Acceleration",
665                 "bit_position": 40,
666                 "bit_size": 16,
667                 "factor": 0.00048828125,
668                 "offset": -15.687,
669                 "comment": "Indicates a lateral acceleration of the vehicle.",
670                 "unit": "m/s/s",
671                 "is_big_endian": false,
672                 "is_signed": false
673             },
674             "Yaw.Rate" : {
675                 "generic_name": "Yaw.Rate",
676                 "bit_position": 24,
677                 "bit_size": 16,
678                 "factor": 0.0001220703125,
679                 "offset": -3.92,
680                 "comment": "Indicates the rotation about the vertical axis.",
681                 "unit": "rad/s",
682                 "is_big_endian": false,
683                 "is_signed": false
684             },
685             "Steer.Wheel.Angle.Sensor.Type" : {
686                 "generic_name": "Steer.Wheel.Angle.Sensor.Type",
687                 "bit_position": 22,
688                 "bit_size": 2,
689                 "factor": 1,
690                 "offset": 0,
691                 "comment": "Indicates whether the steering wheel angle sensor is capable of absolute measuring of the number of steering wheel",
692                 "is_big_endian": false,
693                 "is_signed": false,
694                 "states": {
695                     "RelativeMeasuringPrinciple": [0],
696                     "AbsMeasuringPrinciple": [1],
697                     "Reserved": [2],
698                     "NotAvailable": [3]
699                 }
700             },
701             "Steer.Wheel.Turn.Counter" : {
702                 "generic_name": "Steer.Wheel.Turn.Counter",
703                 "bit_position": 16,
704                 "bit_size": 6,
705                 "factor": 1,
706                 "offset": -32,
707                 "comment": "Indicates number of steering wheel turns, absolute position or relative position at ignition on.",
708                 "unit": "turns",
709                 "is_big_endian": false,
710                 "is_signed": false
711             }
712         }
713     },
714     "65215": {
715         "comment": "Wheel Speed Information",
716         "length": 8,
717         "name": "EBC2",
718         "bus" : "j1939",
719         "is_fd" : false,
720         "is_extended": false,
721         "is_j1939" : true,
722         "signals" : {
723             "Rlative.Speed.Rear.Axle2.Right.Wheel" : {
724                 "generic_name": "Rlative.Speed.Rear.Axle2.Right.Wheel",
725                 "bit_position": 56,
726                 "bit_size": 8,
727                 "factor": 0.0625,
728                 "offset": -7.8125,
729                 "comment": "The speed of the rear axle #2, right wheel relative to the front axle speed, SPN 904.",
730                 "unit": "km/h",
731                 "is_big_endian": false,
732                 "is_signed": false
733             },
734             "Relative.Speed.Rear.Axle2.Left.Wheel" : {
735                 "generic_name": "Relative.Speed.Rear.Axle2.Left.Wheel",
736                 "bit_position": 48,
737                 "bit_size": 8,
738                 "factor": 0.0625,
739                 "offset": -7.8125,
740                 "comment": "The speed of the rear axle #2, left wheel relative to the front axle speed, SPN 904.",
741                 "unit": "km/h",
742                 "is_big_endian": false,
743                 "is_signed": false
744             },
745             "Rlative.Speed.Rear.Axle1.Right.Wheel" : {
746                 "generic_name": "Rlative.Speed.Rear.Axle1.Right.Wheel",
747                 "bit_position": 40,
748                 "bit_size": 8,
749                 "factor": 0.0625,
750                 "offset": -7.8125,
751                 "comment": "The speed of the rear axle #1, right wheel relative to the front axle speed, SPN 904.",
752                 "unit": "km/h",
753                 "is_big_endian": false,
754                 "is_signed": false
755             },
756             "Relative.Speed.Rear.Axle1.Left.Wheel" : {
757                 "generic_name": "Relative.Speed.Rear.Axle1.Left.Wheel",
758                 "bit_position": 32,
759                 "bit_size": 8,
760                 "factor": 0.0625,
761                 "offset": -7.8125,
762                 "comment": "The speed of the rear axle #1, left wheel relative to the front axle speed, SPN 904.",
763                 "unit": "km/h",
764                 "is_big_endian": false,
765                 "is_signed": false
766             },
767             "Rlative.Speed.Front.Axle.Right.Wheel" : {
768                 "generic_name": "Rlative.Speed.Front.Axle.Right.Wheel",
769                 "bit_position": 24,
770                 "bit_size": 8,
771                 "factor": 0.0625,
772                 "offset": -7.8125,
773                 "comment": "The speed of the front axle, right wheel relative to the front axle speed, SPN 904.",
774                 "unit": "km/h",
775                 "is_big_endian": false,
776                 "is_signed": false
777             },
778             "Relative.Speed.Front.Axle.Left.Wheel" : {
779                 "generic_name": "Relative.Speed.Front.Axle.Left.Wheel",
780                 "bit_position": 16,
781                 "bit_size": 8,
782                 "factor": 0.0625,
783                 "offset": -7.8125,
784                 "comment": "The speed of the front axle, left wheel relative to the front axle speed, SPN 904.",
785                 "unit": "km/h",
786                 "is_big_endian": false,
787                 "is_signed": false
788             },
789             "Front.Axle.Speed" : {
790                 "generic_name": "Front.Axle.Speed",
791                 "bit_position": 0,
792                 "bit_size": 16,
793                 "factor": 0.00390625,
794                 "offset": 0,
795                 "comment": "The average speed of the two front wheels.",
796                 "unit": "km/h",
797                 "is_big_endian": false,
798                 "is_signed": false
799             }
800         }
801     },
802     "65262": {
803         "comment": "Engine Temperature 1",
804         "length": 8,
805         "name": "ET1",
806         "bus" : "j1939",
807         "is_fd" : false,
808         "is_extended": false,
809         "is_j1939" : true,
810         "signals" : {
811             "Eng.Fuel.Temp1" : {
812                 "generic_name": "Eng.Fuel.Temp1",
813                 "bit_position": 8,
814                 "bit_size": 8,
815                 "factor": 1,
816                 "offset": -40,
817                 "comment": "Temperature of fuel (or gas) passing through the first fuel control system.",
818                 "unit": "deg C",
819                 "is_big_endian": false,
820                 "is_signed": false
821             },
822             "Eng.Intercooler.Thermostat.Opening" : {
823                 "generic_name": "Eng.Intercooler.Thermostat.Opening",
824                 "bit_position": 56,
825                 "bit_size": 8,
826                 "factor": 0.4,
827                 "offset": 0,
828                 "comment": "The current position of the thermostat used to regulate the temperature of the engine intercooler.",
829                 "unit": "%",
830                 "is_big_endian": false,
831                 "is_signed": false
832             },
833             "Eng.Intercooler.Temp" : {
834                 "generic_name": "Eng.Intercooler.Temp",
835                 "bit_position": 48,
836                 "bit_size": 8,
837                 "factor": 1,
838                 "offset": -40,
839                 "comment": "Temperature of liquid found in the intercooler located after the turbocharger.",
840                 "unit": "deg C",
841                 "is_big_endian": false,
842                 "is_signed": false
843             },
844             "Eng.Turbo.Oil.Temp" : {
845                 "generic_name": "Eng.Turbo.Oil.Temp",
846                 "bit_position": 32,
847                 "bit_size": 16,
848                 "factor": 0.03125,
849                 "offset": -273,
850                 "comment": "Temperature of the turbocharger lubricant.",
851                 "unit": "deg C",
852                 "is_big_endian": false,
853                 "is_signed": false
854             },
855             "Eng.Oil.Temp1" : {
856                 "generic_name": "Eng.Oil.Temp1",
857                 "bit_position": 16,
858                 "bit_size": 16,
859                 "factor": 0.03125,
860                 "offset": -273,
861                 "comment": "Temperature of the engine lubricant.",
862                 "unit": "deg C",
863                 "is_big_endian": false,
864                 "is_signed": false
865             },
866             "Eng.Coolant.Temp" : {
867                 "generic_name": "Eng.Coolant.Temp",
868                 "bit_position": 0,
869                 "bit_size": 8,
870                 "factor": 0.03125,
871                 "offset": -273,
872                 "comment": "Temperature of liquid found in engine cooling system.",
873                 "unit": "deg C",
874                 "is_big_endian": false,
875                 "is_signed": false
876             }
877         }
878     }
879 },
880 "diagnostic_messages": [
881                 {
882                         "bus": "hs",
883                         "pid": 4,
884                         "name": "engine.load",
885                         "frequency": 5,
886                         "decoder": "decoder_t::decode_obd2_response"
887                 },
888                 {
889                         "bus": "hs",
890                         "pid": 5,
891                         "name": "engine.coolant.temperature",
892                         "frequency": 1,
893                         "decoder": "decoder_t::decode_obd2_response"
894                 },
895                 {
896                         "bus": "hs",
897                         "pid": 10,
898                         "name": "fuel.pressure",
899                         "frequency": 1,
900                         "decoder": "decoder_t::decode_obd2_response"
901                 },
902                 {
903                         "bus": "hs",
904                         "pid": 11,
905                         "name": "intake.manifold.pressure",
906                         "frequency": 1,
907                         "decoder": "decoder_t::decode_obd2_response"
908                 },
909                 {
910                         "bus": "hs",
911                         "pid": 12,
912                         "name": "engine.speed",
913                         "frequency": 5,
914                         "decoder": "decoder_t::decode_obd2_response"
915                 },
916                 {
917                         "bus": "hs",
918                         "pid": 13,
919                         "name": "vehicle.speed",
920                         "frequency": 5,
921                         "decoder": "decoder_t::decode_obd2_response"
922                 },
923                 {
924                         "bus": "hs",
925                         "pid": 15,
926                         "name": "intake.air.temperature",
927                         "frequency": 1,
928                         "decoder": "decoder_t::decode_obd2_response"
929                 },
930                 {
931                         "bus": "hs",
932                         "pid": 16,
933                         "name": "mass.airflow",
934                         "frequency": 5,
935                         "decoder": "decoder_t::decode_obd2_response"
936                 },
937                 {
938                         "bus": "hs",
939                         "pid": 17,
940                         "name": "throttle.position",
941                         "frequency": 5,
942                         "decoder": "decoder_t::decode_obd2_response"
943                 },
944                 {
945                         "bus": "hs",
946                         "pid": 31,
947                         "name": "running.time",
948                         "frequency": 1,
949                         "decoder": "decoder_t::decode_obd2_response"
950                 },
951                 {
952                         "bus": "hs",
953                         "pid": 45,
954                         "name": "EGR.error",
955                         "frequency": 0,
956                         "decoder": "decoder_t::decode_obd2_response"
957                 },
958                 {
959                         "bus": "hs",
960                         "pid": 47,
961                         "name": "fuel.level",
962                         "frequency": 1,
963                         "decoder": "decoder_t::decode_obd2_response"
964                 },
965                 {
966                         "bus": "hs",
967                         "pid": 51,
968                         "name": "barometric.pressure",
969                         "frequency": 1,
970                         "decoder": "decoder_t::decode_obd2_response"
971                 },
972                 {
973                         "bus": "hs",
974                         "pid": 70,
975                         "name": "ambient.air.temperature",
976                         "frequency": 1,
977                         "decoder": "decoder_t::decode_obd2_response"
978                 },
979                 {
980                         "bus": "hs",
981                         "pid": 76,
982                         "name": "commanded.throttle.position",
983                         "frequency": 1,
984                         "decoder": "decoder_t::decode_obd2_response"
985                 },
986                 {
987                         "bus": "hs",
988                         "pid": 82,
989                         "name": "ethanol.fuel.percentage",
990                         "frequency": 1,
991                         "decoder": "decoder_t::decode_obd2_response"
992                 },
993                 {
994                         "bus": "hs",
995                         "pid": 90,
996                         "name": "accelerator.pedal.position",
997                         "frequency": 5,
998                         "decoder": "decoder_t::decode_obd2_response"
999                 },
1000                 {
1001                         "bus": "hs",
1002                         "pid": 91,
1003                         "name": "hybrid.battery-pack.remaining.life",
1004                         "frequency": 5,
1005                         "decoder": "decoder_t::decode_obd2_response"
1006                 },
1007                 {
1008                         "bus": "hs",
1009                         "pid": 92,
1010                         "name": "engine.oil.temperature",
1011                         "frequency": 1,
1012                         "decoder": "decoder_t::decode_obd2_response"
1013                 },
1014                 {
1015                         "bus": "hs",
1016                         "pid": 94,
1017                         "name": "engine.fuel.rate",
1018                         "frequency": 1,
1019                         "decoder": "decoder_t::decode_obd2_response"
1020                 },
1021                 {
1022                         "bus": "hs",
1023                         "pid": 99,
1024                         "name": "engine.torque",
1025                         "frequency": 1,
1026                         "decoder": "decoder_t::decode_obd2_response"
1027                 }
1028         ]
1029 }