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