{   "name": "AGL Virtual Car",
    "version": "2.0",
	"extra_sources": [],
	"initializers": [],
	"loopers": [],
	"buses": {},
	"commands": [],
	"messages": {
		"0x620": {
			"bus": "hs",
			"is_fd" : false,
			"is_extended": false,
			"is_j1939" : false,
			"length" : 8,
			"signals": {
				"doors.driver.open": {
					"generic_name": "doors.front_left.open",
					"bit_position": 43,
					"bit_size": 1,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"},
				"doors.passenger.open": {
					"generic_name": "doors.front_right.open",
					"bit_position": 44,
					"bit_size": 1,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"},
				"doors.rearleft.open": {
					"generic_name": "doors.rear_left.open",
					"bit_position": 46,
					"bit_size": 1,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"},
				"doors.rearright.open": {
					"generic_name": "doors.rear_right.open",
					"bit_position": 45,
					"bit_size": 4,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"},
				"doors.coffer.open": {
					"generic_name": "doors.boot.open",
					"bit_position": 47,
					"bit_size": 1,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"}
		}
	},
		"0x799": {
			"bus": "hs",
			"is_fd" : false,
			"is_extended": false,
			"is_j1939" : false,
			"length" : 8,
			"signals": {
				"windows.driver.open": {
					"generic_name": "windows.front_left.open",
					"bit_position": 43,
					"bit_size": 1,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"},
				"windows.passenger.open": {
					"generic_name": "windows.front_right.open",
					"bit_position": 44,
					"bit_size": 1,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"},
				"windows.rearleft.open": {
					"generic_name": "windows.rear_left.open",
					"bit_position": 46,
					"bit_size": 1,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"},
				"windows.rearright.open": {
					"generic_name": "windows.rear_right.open",
					"bit_position": 45,
					"bit_size": 4,
					"factor": 1.0,
					"offset": 0,
					"writable": true,
					"decoder": "decoder_t::decode_boolean"}
		}
	},
	"0x3D9": {
	"bus": "hs",
	"is_fd" : true,
	"is_extended": false,
	"is_j1939" : false,
	"length" : 8,
	"signals": {
		"PT_FuelLevelPct": {
			"generic_name": "fuel.level",
			"bit_position": 8,
			"bit_size": 8,
			"factor": 0.392157,
			"offset": 0,
			"writable": true
		},
		"PT_EngineSpeed": {
			"generic_name": "engine.speed",
			"bit_position": 16,
			"bit_size": 16,
			"factor": 0.25,
			"offset": 0,
			"writable": true
		},
		"PT_FuelLevelLow": {
			"generic_name": "fuel.level.low",
			"bit_position": 55,
			"bit_size": 1,
			"factor": 1,
			"offset": 0,
			"writable": true,
			"decoder": "decoder_t::decode_boolean"
		}
	}
	},
	"0x4D1": {
	"bus": "hs",
	"is_fd" : false,
	"is_extended": false,
	"is_j1939" : false,
	"length" : 8,
	"signals": {
		"PT_EngineOilTempHigh": {
			"generic_name": "engine.oil.temp.high",
			"bit_position": 7,
			"bit_size": 1,
			"factor": 1,
			"offset": 0,
			"writable": true,
			"decoder": "decoder_t::decode_boolean"
		},
		"PT_EngineOilTemp": {
			"generic_name": "engine.oil.temp",
			"bit_position": 16,
			"bit_size": 8,
			"factor": 1,
			"offset": 0,
			"writable": true
		}
	}
	},
	"0x3E9": {
	"bus": "hs",
	"is_fd" : false,
	"is_extended": false,
	"is_j1939" : false,
	"length" : 8,
	"signals": {
		"PT_VehicleAvgSpeed": {
			"generic_name": "vehicle.average.speed",
			"bit_position": 0,
			"bit_size": 15,
			"factor": 0.015625,
			"offset": 0,
			"writable": false
		}
	}
	},
	"0x30": {
	"bus": "ls",
	"is_fd" : false,
	"is_extended": true,
	"is_j1939" : false,
	"length" : 8,
	"signals": {
		"LeftTemperature": {
			"generic_name": "hvac.temperature.left",
			"bit_position": 0,
			"bit_size": 8,
			"factor": 1,
			"offset": 0,
			"writable": true
		},
		"RightTemperature": {
			"generic_name": "hvac.temperature.right",
			"bit_position": 8,
			"bit_size": 8,
			"factor": 1,
			"offset": 0,
			"writable": true
		},
		"Temperature": {
			"generic_name": "hvac.temperature.average",
			"bit_position": 16,
			"bit_size": 8,
			"factor": 1,
			"offset": 0,
			"writable": true
		},
		"FanSpeed": {
			"generic_name": "hvac.fan.speed",
			"bit_position": 32,
			"bit_size": 8,
			"factor": 23.529411765,
			"offset": 0,
			"writable": true
		}
	}
    },
    "0x111": {
        "bus": "ls",
        "is_fd" : false,
        "is_extended": false,
        "is_j1939" : false,
        "is_isotp" : true,
        "length" : 16,
        "signals": {
            "sig11": {
                "generic_name": "sig1.1",
                "bit_position": 0,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            },
            "sig12": {
                "generic_name": "sig1.2",
                "bit_position": 16,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            },
            "sig21": {
                "generic_name": "sig2.1",
                "bit_position": 32,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            },
            "sig22": {
                "generic_name": "sig2.2",
                "bit_position": 48,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            },
            "sig31": {
                "generic_name": "sig3.1",
                "bit_position": 64,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            },
            "sig32": {
                "generic_name": "sig3.2",
                "bit_position": 80,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            },
            "sig41": {
                "generic_name": "sig4.1",
                "bit_position": 96,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            },
            "sig42": {
                "generic_name": "sig4.2",
                "bit_position": 112,
                "bit_size": 16,
                "factor": 1,
                "offset": 0,
                "writable": true
            }
        }
    },
    "61442": {
        "comment": "Electronic Transmission Controller 1",
        "length": 8,
        "name": "ETC1",
        "bus" : "j1939",
        "is_fd" : false,
        "is_extended": false,
        "is_j1939" : true,
        "signals" : {
            "Trns.Trque.Converter.Lockup.Engaged" : {
                "generic_name": "Trns.Trque.Converter.Lockup.Engaged",
                "bit_position": 2,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "State signal which indicates whether the torque converter lockup is engaged.",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true,
                "states": {
                    "TorqueConverterLockupDisengaged": [0],
                    "TorqueConverterLockupEngaged": [1],
                    "Error": [2],
                    "NotAvailable": [3]
                }
            },
            "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess" : {
                "generic_name": "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",
                "bit_position": 6,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "State signal indicating whether or not the transmission torque converter lock up clutch is transitioning between being",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true,
                "states": {
                    "TransitionIsNotInProcess": [0],
                    "TransitionIsInProcess": [1],
                    "Error": [2],
                    "NotAvailable": [3]
                }
            },
            "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl" : {
                "generic_name": "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",
                "bit_position": 56,
                "bit_size": 8,
                "factor": 1,
                "offset": 0,
                "comment": "The source address of the SAE J1939 device currently controlling the transmission.",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true
            },
            "Momentary.Eng.Max.Power.Enable" : {
                "generic_name": "Momentary.Eng.Max.Power.Enable",
                "bit_position": 36,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "Momentarily Requesting highest torque map from the engine control",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true,
                "states": {
                    "notRqingMaxPowerAvailable": [0],
                    "mmntarilyRqingMaxPowerAvailable": [1],
                    "fault": [2],
                    "notAvailable": [3]
                }
            },
            "Trans.Input.Shaft.Speed" : {
                "generic_name": "Trans.Input.Shaft.Speed",
                "bit_position": 40,
                "bit_size": 16,
                "factor": 0.125,
                "offset": 0,
                "comment": "Rotational velocity of the primary shaft transferring power into the transmission.",
                "unit": "rpm",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true
            },
            "Progressive.Shift.Disable" : {
                "generic_name": "Progressive.Shift.Disable",
                "bit_position": 34,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "Command signal used to indicate that progressive shifting by the engine should be disallowed.",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true,
                "states": {
                    "ProgressiveShiftIsNotDisabled": [0],
                    "ProgressiveShiftIsDisabled": [1],
                    "Reserved": [2],
                    "TakeNoAction": [3]
                }
            },
            "Eng.Momentary.Overspeed.Enable" : {
                "generic_name": "Eng.Momentary.Overspeed.Enable",
                "bit_position": 32,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "Command signal used to indicate that the engine speed may be boosted up to the maximum engine overspeed value to",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true,
                "states": {
                    "MomentaryEngOverspeedIsDisabled": [0],
                    "MomentaryEngOverspeedIsEnabled": [1],
                    "Reserved": [2],
                    "TakeNoAction": [3]
                }
            },
            "Percent.Clutch.Slip" : {
                "generic_name": "Percent.Clutch.Slip",
                "bit_position": 24,
                "bit_size": 8,
                "factor": 0.4,
                "offset": 0,
                "comment": "Parameter which represents the ratio of input shaft speed to current engine speed (in percent).",
                "unit": "%",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true
            },
            "Trans.Output.Shaft.Speed" : {
                "generic_name": "Trans.Output.Shaft.Speed",
                "bit_position": 8,
                "bit_size": 16,
                "factor": 0.125,
                "offset": 0,
                "comment": "Calculated speed of the transmission output shaft.",
                "unit": "rpm",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true
            },
            "Trans.Shift.In.Process" : {
                "generic_name": "Trans.Shift.In.Process",
                "bit_position": 4,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "Indicates that the transmission is in process of shifting from the current gear to the selected gear.",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true,
                "states": {
                    "ShiftIsNotInProcess": [0],
                    "ShiftInProcess": [1],
                    "Error": [2],
                    "NotAvailable": [3]
                }
            },
            "Trans.Driveline.Engaged" : {
                "generic_name": "Trans.Driveline.Engaged",
                "bit_position": 0,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "Driveline engaged indicates the transmission controlled portion of the driveline is engaged sufficiently to allow a transfer",
                "is_big_endian": false,
                "is_signed": false,
                "writable" : true,
                "states": {
                    "DrivelineDisengaged": [0],
                    "DrivelineEngaged": [1],
                    "Error": [2],
                    "NotAvailable": [3]
                }
            }
        }
    },
    "61444": {
        "comment": "Electronic Engine Controller 1",
        "length": 8,
        "name": "EEC1",
        "bus" : "j1939",
        "is_fd" : false,
        "is_extended": false,
        "is_j1939" : true,
        "signals" : {
            "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl" : {
                "generic_name": "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",
                "bit_position": 40,
                "bit_size": 8,
                "factor": 1,
                "offset": 0,
                "comment": "The source address of the SAE J1939 device currently controlling the engine.",
                "is_big_endian": false,
                "is_signed": false
            },
            "Actl.Eng.Prcnt.Trque.High.Resolution" : {
                "generic_name": "Actl.Eng.Prcnt.Trque.High.Resolution",
                "bit_position": 4,
                "bit_size": 4,
                "factor": 0.125,
                "offset": 0,
                "comment": "This parameter displays an additional torque in percent of the reference engine torque.",
                "unit": "%",
                "is_big_endian": false,
                "is_signed": false,
                "states": {
                    "0000": [0],
                    "0125": [1],
                    "0875": [7],
                    "1111NotAvailable": [8]
                }
            },
            "Eng.Demand.Percent.Torque" : {
                "generic_name": "Eng.Demand.Percent.Torque",
                "bit_position": 56,
                "bit_size": 8,
                "factor": 1,
                "offset": -125,
                "comment": "The requested torque output of the engine by all dynamic internal inputs, including smoke control, noise control and low",
                "unit": "%",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Starter.Mode" : {
                "generic_name": "Eng.Starter.Mode",
                "bit_position": 48,
                "bit_size": 4,
                "factor": 1,
                "offset": 0,
                "comment": "There are several phases in a starting action and different reasons why a start cannot take place.",
                "is_big_endian": false,
                "is_signed": false,
                "states": {
                    "startNotRqed": [0],
                    "starterActiveGearNotEngaged": [1],
                    "starterActiveGearEngaged": [2],
                    "strtFnshdStrtrNtActvAftrHvngBnA": [3],
                    "strtrInhbtdDToEngAlreadyRunning": [4],
                    "strtrInhbtdDTEngNtReadyForStart": [5],
                    "strtrInhbtdDTDrvlnEnggdOthrTrns": [6],
                    "strtrInhbtdDToActiveImmobilizer": [7],
                    "strtrInhbtdDueToStarterOvertemp": [8],
                    "1011Reserved": [9],
                    "starterInhibitedReasonUnknown": [12],
                    "error": [14],
                    "notAvailable": [15]
                }
            },
            "Eng.Speed" : {
                "generic_name": "Eng.Speed",
                "bit_position": 24,
                "bit_size": 16,
                "factor": 0.125,
                "offset": 0,
                "comment": "Actual engine speed which is calculated over a minimum crankshaft angle of 720 degrees divided by the number of cylinders.",
                "unit": "rpm",
                "is_big_endian": false,
                "is_signed": false
            },
            "Actual.Eng.Percent.Torque" : {
                "generic_name": "Actual.Eng.Percent.Torque",
                "bit_position": 16,
                "bit_size": 8,
                "factor": 1,
                "offset": -125,
                "comment": "The calculated output torque of the engine.",
                "unit": "%",
                "is_big_endian": false,
                "is_signed": false
            },
            "Drivers.Demand.Eng.Percent.Torque" : {
                "generic_name": "Drivers.Demand.Eng.Percent.Torque",
                "bit_position": 8,
                "bit_size": 8,
                "factor": 1,
                "offset": -125,
                "comment": "The requested torque output of the engine by the driver.",
                "unit": "%",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Torque.Mode" : {
                "generic_name": "Eng.Torque.Mode",
                "bit_position": 0,
                "bit_size": 4,
                "factor": 1,
                "offset": 0,
                "comment": "State signal which indicates which engine torque mode is currently generating, limiting, or controlling the torque.",
                "is_big_endian": false,
                "is_signed": false,
                "states": {
                    "Low idle governor/no request (de": [0],
                    "Accelerator pedal/operator selec": [1],
                    "Cruise control": [2],
                    "PTO governor": [3],
                    "Road speed governor": [4],
                    "ASR control": [5],
                    "Transmission control": [6],
                    "ABS control": [7],
                    "Torque limiting": [8],
                    "High speed governor": [9],
                    "Braking system": [10],
                    "Remote accelerator": [11],
                    "Not available": [15]
                }
            }
        }
    },
    "65253": {
        "comment": "Engine Hours, Revolutions",
        "length": 8,
        "name": "HOURS",
        "bus" : "j1939",
        "is_fd" : false,
        "is_extended": false,
        "is_j1939" : true,
        "signals" : {
            "Eng.Total.Revolutions" : {
                "generic_name": "Eng.Total.Revolutions",
                "bit_position": 32,
                "bit_size": 32,
                "factor": 1000,
                "offset": 0,
                "comment": "Accumulated number of revolutions of engine crankshaft during its operation.",
                "unit": "r",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Total.Hours.Of.Operation" : {
                "generic_name": "Eng.Total.Hours.Of.Operation",
                "bit_position": 0,
                "bit_size": 32,
                "factor": 0.05,
                "offset": 0,
                "comment": "Accumulated time of operation of engine.",
                "unit": "hr",
                "is_big_endian": false,
                "is_signed": false
            }
        }
    },
    "61449": {
        "comment": "Vehicle Dynamic Stability Control 2",
        "length": 8,
        "name": "VDC2",
        "bus" : "j1939",
        "is_fd" : false,
        "is_extended": false,
        "is_j1939" : true,
        "signals" : {
            "Steer.Wheel.Angle" : {
                "generic_name": "Steer.Wheel.Angle",
                "bit_position": 0,
                "bit_size": 16,
                "factor": 0.0009765625,
                "offset": -31.374,
                "comment": "The main operator`s steering wheel angle (on the steering column, not the actual wheel angle).",
                "unit": "rad",
                "is_big_endian": false,
                "is_signed": false
            },
            "Longitudinal.Acceleration" : {
                "generic_name": "Longitudinal.Acceleration",
                "bit_position": 56,
                "bit_size": 8,
                "factor": 0.1,
                "offset": -12.5,
                "comment": "Indicates the longitudinal acceleration of the vehicle.",
                "unit": "m/s/s",
                "is_big_endian": false,
                "is_signed": false
            },
            "Lateral.Acceleration" : {
                "generic_name": "Lateral.Acceleration",
                "bit_position": 40,
                "bit_size": 16,
                "factor": 0.00048828125,
                "offset": -15.687,
                "comment": "Indicates a lateral acceleration of the vehicle.",
                "unit": "m/s/s",
                "is_big_endian": false,
                "is_signed": false
            },
            "Yaw.Rate" : {
                "generic_name": "Yaw.Rate",
                "bit_position": 24,
                "bit_size": 16,
                "factor": 0.0001220703125,
                "offset": -3.92,
                "comment": "Indicates the rotation about the vertical axis.",
                "unit": "rad/s",
                "is_big_endian": false,
                "is_signed": false
            },
            "Steer.Wheel.Angle.Sensor.Type" : {
                "generic_name": "Steer.Wheel.Angle.Sensor.Type",
                "bit_position": 22,
                "bit_size": 2,
                "factor": 1,
                "offset": 0,
                "comment": "Indicates whether the steering wheel angle sensor is capable of absolute measuring of the number of steering wheel",
                "is_big_endian": false,
                "is_signed": false,
                "states": {
                    "RelativeMeasuringPrinciple": [0],
                    "AbsMeasuringPrinciple": [1],
                    "Reserved": [2],
                    "NotAvailable": [3]
                }
            },
            "Steer.Wheel.Turn.Counter" : {
                "generic_name": "Steer.Wheel.Turn.Counter",
                "bit_position": 16,
                "bit_size": 6,
                "factor": 1,
                "offset": -32,
                "comment": "Indicates number of steering wheel turns, absolute position or relative position at ignition on.",
                "unit": "turns",
                "is_big_endian": false,
                "is_signed": false
            }
        }
    },
    "65215": {
        "comment": "Wheel Speed Information",
        "length": 8,
        "name": "EBC2",
        "bus" : "j1939",
        "is_fd" : false,
        "is_extended": false,
        "is_j1939" : true,
        "signals" : {
            "Rlative.Speed.Rear.Axle2.Right.Wheel" : {
                "generic_name": "Rlative.Speed.Rear.Axle2.Right.Wheel",
                "bit_position": 56,
                "bit_size": 8,
                "factor": 0.0625,
                "offset": -7.8125,
                "comment": "The speed of the rear axle #2, right wheel relative to the front axle speed, SPN 904.",
                "unit": "km/h",
                "is_big_endian": false,
                "is_signed": false
            },
            "Relative.Speed.Rear.Axle2.Left.Wheel" : {
                "generic_name": "Relative.Speed.Rear.Axle2.Left.Wheel",
                "bit_position": 48,
                "bit_size": 8,
                "factor": 0.0625,
                "offset": -7.8125,
                "comment": "The speed of the rear axle #2, left wheel relative to the front axle speed, SPN 904.",
                "unit": "km/h",
                "is_big_endian": false,
                "is_signed": false
            },
            "Rlative.Speed.Rear.Axle1.Right.Wheel" : {
                "generic_name": "Rlative.Speed.Rear.Axle1.Right.Wheel",
                "bit_position": 40,
                "bit_size": 8,
                "factor": 0.0625,
                "offset": -7.8125,
                "comment": "The speed of the rear axle #1, right wheel relative to the front axle speed, SPN 904.",
                "unit": "km/h",
                "is_big_endian": false,
                "is_signed": false
            },
            "Relative.Speed.Rear.Axle1.Left.Wheel" : {
                "generic_name": "Relative.Speed.Rear.Axle1.Left.Wheel",
                "bit_position": 32,
                "bit_size": 8,
                "factor": 0.0625,
                "offset": -7.8125,
                "comment": "The speed of the rear axle #1, left wheel relative to the front axle speed, SPN 904.",
                "unit": "km/h",
                "is_big_endian": false,
                "is_signed": false
            },
            "Rlative.Speed.Front.Axle.Right.Wheel" : {
                "generic_name": "Rlative.Speed.Front.Axle.Right.Wheel",
                "bit_position": 24,
                "bit_size": 8,
                "factor": 0.0625,
                "offset": -7.8125,
                "comment": "The speed of the front axle, right wheel relative to the front axle speed, SPN 904.",
                "unit": "km/h",
                "is_big_endian": false,
                "is_signed": false
            },
            "Relative.Speed.Front.Axle.Left.Wheel" : {
                "generic_name": "Relative.Speed.Front.Axle.Left.Wheel",
                "bit_position": 16,
                "bit_size": 8,
                "factor": 0.0625,
                "offset": -7.8125,
                "comment": "The speed of the front axle, left wheel relative to the front axle speed, SPN 904.",
                "unit": "km/h",
                "is_big_endian": false,
                "is_signed": false
            },
            "Front.Axle.Speed" : {
                "generic_name": "Front.Axle.Speed",
                "bit_position": 0,
                "bit_size": 16,
                "factor": 0.00390625,
                "offset": 0,
                "comment": "The average speed of the two front wheels.",
                "unit": "km/h",
                "is_big_endian": false,
                "is_signed": false
            }
        }
    },
    "65262": {
        "comment": "Engine Temperature 1",
        "length": 8,
        "name": "ET1",
        "bus" : "j1939",
        "is_fd" : false,
        "is_extended": false,
        "is_j1939" : true,
        "signals" : {
            "Eng.Fuel.Temp1" : {
                "generic_name": "Eng.Fuel.Temp1",
                "bit_position": 8,
                "bit_size": 8,
                "factor": 1,
                "offset": -40,
                "comment": "Temperature of fuel (or gas) passing through the first fuel control system.",
                "unit": "deg C",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Intercooler.Thermostat.Opening" : {
                "generic_name": "Eng.Intercooler.Thermostat.Opening",
                "bit_position": 56,
                "bit_size": 8,
                "factor": 0.4,
                "offset": 0,
                "comment": "The current position of the thermostat used to regulate the temperature of the engine intercooler.",
                "unit": "%",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Intercooler.Temp" : {
                "generic_name": "Eng.Intercooler.Temp",
                "bit_position": 48,
                "bit_size": 8,
                "factor": 1,
                "offset": -40,
                "comment": "Temperature of liquid found in the intercooler located after the turbocharger.",
                "unit": "deg C",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Turbo.Oil.Temp" : {
                "generic_name": "Eng.Turbo.Oil.Temp",
                "bit_position": 32,
                "bit_size": 16,
                "factor": 0.03125,
                "offset": -273,
                "comment": "Temperature of the turbocharger lubricant.",
                "unit": "deg C",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Oil.Temp1" : {
                "generic_name": "Eng.Oil.Temp1",
                "bit_position": 16,
                "bit_size": 16,
                "factor": 0.03125,
                "offset": -273,
                "comment": "Temperature of the engine lubricant.",
                "unit": "deg C",
                "is_big_endian": false,
                "is_signed": false
            },
            "Eng.Coolant.Temp" : {
                "generic_name": "Eng.Coolant.Temp",
                "bit_position": 0,
                "bit_size": 8,
                "factor": 0.03125,
                "offset": -273,
                "comment": "Temperature of liquid found in engine cooling system.",
                "unit": "deg C",
                "is_big_endian": false,
                "is_signed": false
            }
        }
    }
},
"diagnostic_messages": [
		{
			"bus": "hs",
			"pid": 4,
			"name": "engine.load",
			"frequency": 5,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 5,
			"name": "engine.coolant.temperature",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 10,
			"name": "fuel.pressure",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 11,
			"name": "intake.manifold.pressure",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 12,
			"name": "engine.speed",
			"frequency": 5,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 13,
			"name": "vehicle.speed",
			"frequency": 5,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 15,
			"name": "intake.air.temperature",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 16,
			"name": "mass.airflow",
			"frequency": 5,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 17,
			"name": "throttle.position",
			"frequency": 5,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 31,
			"name": "running.time",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 45,
			"name": "EGR.error",
			"frequency": 0,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 47,
			"name": "fuel.level",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 51,
			"name": "barometric.pressure",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 70,
			"name": "ambient.air.temperature",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 76,
			"name": "commanded.throttle.position",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 82,
			"name": "ethanol.fuel.percentage",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 90,
			"name": "accelerator.pedal.position",
			"frequency": 5,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 91,
			"name": "hybrid.battery-pack.remaining.life",
			"frequency": 5,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 92,
			"name": "engine.oil.temperature",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 94,
			"name": "engine.fuel.rate",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		},
		{
			"bus": "hs",
			"pid": 99,
			"name": "engine.torque",
			"frequency": 1,
			"decoder": "decoder_t::decode_obd2_response"
		}
	]
}