{ "name": "AGL Virtual Car", "version": "2.0", "extra_sources": [], "initializers": [], "loopers": [], "buses": {}, "commands": [], "messages": { "0x620": { "bus": "hs", "is_fd": false, "is_j1939": false, "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_j1939": false, "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, "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" } } }, "0x3DA": { "bus": "hs", "is_fd": true, "is_extended": false, "is_j1939": false, "signals": { "FD_PT_FuelLevelPct": { "generic_name": "fd.fuel.level", "bit_position": 8, "bit_size": 8, "factor": 0.392157, "offset": 0, "writable": true }, "FD_PT_EngineSpeed": { "generic_name": "fd.engine.speed", "bit_position": 16, "bit_size": 16, "factor": 0.25, "offset": 0, "writable": true }, "FD_PT_FuelLevelLow": { "generic_name": "fd.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, "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, "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, "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 } } }, "0x21": { "bus": "ls", "is_fd": false, "is_extended": false, "is_j1939": false, "length": 8, "signals": { "SW_Previous": { "generic_name": "steering_wheel.previous", "bit_position": 32, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_VolumeUp": { "generic_name": "steering_wheel.volume.up", "bit_position": 33, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_Mode": { "generic_name": "steering_wheel.mode", "bit_position": 34, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_VolumeDown": { "generic_name": "steering_wheel.volume.down", "bit_position": 35, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_Next": { "generic_name": "steering_wheel.next", "bit_position": 36, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_Info": { "generic_name": "steering_wheel.info", "bit_position": 38, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_VolumeMute": { "generic_name": "steering_wheel.volume.mute", "bit_position": 39, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_Voice": { "generic_name": "steering_wheel.voice", "bit_position": 45, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_PhoneHangup": { "generic_name": "steering_wheel.phone.hangup", "bit_position": 46, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_PhoneCall": { "generic_name": "steering_wheel.phone.call", "bit_position": 47, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_CruiseEnable": { "generic_name": "steering_wheel.cruise.enable", "bit_position": 48, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_CruiseResume": { "generic_name": "steering_wheel.cruise.resume", "bit_position": 49, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_CruiseSet": { "generic_name": "steering_wheel.cruise.set", "bit_position": 51, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_CruiseCancel": { "generic_name": "steering_wheel.cruise.cancel", "bit_position": 52, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_CruiseLimit": { "generic_name": "steering_wheel.cruise.limit", "bit_position": 54, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_CruiseDistance": { "generic_name": "steering_wheel.cruise.distance", "bit_position": 55, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_Horn": { "generic_name": "steering_wheel.horn", "bit_position": 56, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false }, "SW_LaneDepartureWarning": { "generic_name": "steering_wheel.lane_departure_warning", "bit_position": 63, "bit_size": 1, "factor": 1, "offset": 0, "decoder": "decoder_t::decode_boolean", "writable": false } } }, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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, "sign": 0, "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_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, "sign": 0 }, "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, "sign": 0, "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, "sign": 0 }, "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, "sign": 0, "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, "sign": 0 }, "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, "sign": 0 }, "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, "sign": 0 }, "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, "sign": 0, "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 ] } } } }, "130306": { "name": "Wind.Data", "bus": "j1939", "comment": "Wind Data", "length": 8, "is_fd": false, "is_extended": false, "is_j1939": true, "byte_frame_is_big_endian": true, "bit_position_reversed": true, "signals": { "Sid": { "bit_position": 0, "bit_size": 8, "sign": 0, "generic_name": "Wind.Data.Sid" }, "Wind.Speed": { "bit_position": 8, "bit_size": 16, "factor": 0.01, "sign": 0, "unit": "m/s", "generic_name": "Wind.Data.Wind.Speed" }, "Wind.Angle": { "bit_position": 24, "bit_size": 16, "factor": 0.0001, "sign": 0, "unit": "rad", "generic_name": "Wind.Data.Wind.Angle" }, "Reference": { "bit_position": 40, "bit_size": 3, "decoder": "decoder_t::decode_state", "sign": 0, "states": { "True (ground referenced to North)": [ 0 ], "Magnetic (ground referenced to Magnetic North)": [ 1 ], "Apparent": [ 2 ], "True (boat referenced)": [ 3 ], "True (water referenced)": [ 4 ] }, "generic_name": "Wind.Data.Reference" }, "Reserved": { "bit_position": 43, "bit_size": 21, "decoder": "decoder_t::decode_bytes", "sign": 0, "generic_name": "Wind.Data.Reserved" } } } }, "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" } ] }