summaryrefslogtreecommitdiffstats
path: root/examples/agl-vcar/signals.json
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2020-09-29 18:44:39 -0400
committerScott Murray <scott.murray@konsulko.com>2020-09-29 18:55:53 -0400
commit64092acda9a8581034c61732754eddee39f747ca (patch)
tree670c2c8f0cd47f0afcc931f1137483a2951b35ae /examples/agl-vcar/signals.json
parent45514381c51ec65b1a2d05264a30a4d468348748 (diff)
Update agl-vcar to match test expectationskoi_10.91.0koi/10.91.010.91.0
The regeneration of the agl-vcar and default plugin signals code broke some expectations of the afb-test and pyagl tests, changes to get things back to a good state: - Add the missing J1939 messages that were in default-signals.cpp before it was regenerated to the agl-vcar signals.json, and then regenerate the affected cpp files; this fixes the J1939 test expectations. An alternative approach would be using the ability to load a different set of signals by configuring a different plugin, but that has been deemed not workable for AGL CI. - Remove the old application-generated.cpp file from the agl-vcar examples directory to avoid confusion. - Update the testFilter01pass.canreplay CAN data file used for the Filter_Test_01/Step_2 test to use the non-FD version of the 0x3D9 CAN message that matches the agl-vcar definition. A new 0x3DA message that is a FD copy of 0x3D9 has been added to the agl-vcar signals.json to allow testing CAN FD messaging, and a new testFilter01pass-FD.canreplay data file has been added that can potentially be used for doing so. Bug-AGL: SPEC-3603 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I24c960ca33aaf122ac83a2583cb2df0cd6dbd9e3
Diffstat (limited to 'examples/agl-vcar/signals.json')
-rw-r--r--examples/agl-vcar/signals.json1591
1 files changed, 1062 insertions, 529 deletions
diff --git a/examples/agl-vcar/signals.json b/examples/agl-vcar/signals.json
index c1542eba..f3ca23d5 100644
--- a/examples/agl-vcar/signals.json
+++ b/examples/agl-vcar/signals.json
@@ -1,530 +1,1063 @@
-{ "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" : false,
- "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"
- }
- }
- },
- "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
- }
- }
- }
-},
-"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"
- }
- ]
+{
+ "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"
+ }
+ ]
}