{   "name": "Virtual J1939",
	"extra_sources": [],
	"initializers": [],
	"loopers": [],
	"buses": {},
	"commands": [],
	"messages": {
		"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
				}
			}
		}
	}
}