aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2019-11-26 16:18:26 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2019-11-28 16:11:46 +0100
commit006598ee46a227f52bcac7be172cd45a8a364aff (patch)
tree34c0a189dd55598e1d48456f21efdcc416584fc7
parent0542ed0b415302cc03907a97080b0cd007196147 (diff)
Update examples and can_samples
Update of examples for new features (is_fd,is_extended,is_j1939). Bug-AGL: SPEC-2386 Bug-AGL: SPEC-2976 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Change-Id: I8c3afbafdde4f5818d73c0e71a3b7e47fb7d8fc6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--can_samples/j1939/j1939-one-frame1
-rw-r--r--examples/agl-vcar/application-generated.cpp50
-rw-r--r--examples/agl-vcar/signals.json18
-rw-r--r--examples/basic/application-generated.cpp14
-rw-r--r--examples/basic/signals.json3
-rw-r--r--examples/engine/application-generated.cpp18
-rw-r--r--examples/engine/signals.json9
-rw-r--r--examples/hvac/application-generated.cpp10
-rw-r--r--examples/hvac/signals.json3
-rw-r--r--examples/j1939/application-generated.cpp598
-rw-r--r--examples/j1939/j1939_parse.json191
-rw-r--r--examples/tests/application-generated.cpp1691
-rw-r--r--examples/toyota/auris/application-generated.cpp40
-rw-r--r--examples/toyota/auris/signals.json15
-rw-r--r--low-can-binding/binding/application-generated.cpp1065
15 files changed, 3398 insertions, 328 deletions
diff --git a/can_samples/j1939/j1939-one-frame b/can_samples/j1939/j1939-one-frame
new file mode 100644
index 00000000..90b89c9d
--- /dev/null
+++ b/can_samples/j1939/j1939-one-frame
@@ -0,0 +1 @@
+(08255.460200) can0 0CF00203#CD402800043828FF
diff --git a/examples/agl-vcar/application-generated.cpp b/examples/agl-vcar/application-generated.cpp
index 38d26cc1..35d847b7 100644
--- a/examples/agl-vcar/application-generated.cpp
+++ b/examples/agl-vcar/application-generated.cpp
@@ -7,14 +7,14 @@ application_t::application_t()
, message_set_{
{std::make_shared<message_set_t>(message_set_t{0,"AGL Virtual Car",
{ // beginning message_definition_ vector
- {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+ {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",0,false,message_format_t::EXTENDED,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"hvac.fan.speed",// generic_name
32,// bit_position
8,// bit_size
23.5294f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -36,7 +36,7 @@ application_t::application_t()
0,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -58,7 +58,7 @@ application_t::application_t()
8,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -80,7 +80,7 @@ application_t::application_t()
16,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -99,14 +99,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,true,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.speed",// generic_name
16,// bit_position
16,// bit_size
0.250000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -128,7 +128,7 @@ application_t::application_t()
55,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -150,7 +150,7 @@ application_t::application_t()
8,// bit_position
8,// bit_size
0.392157f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -169,14 +169,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"vehicle.average.speed",// generic_name
0,// bit_position
15,// bit_size
0.0156250f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -195,14 +195,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.oil.temp",// generic_name
16,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -224,7 +224,7 @@ application_t::application_t()
7,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -243,14 +243,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"doors.boot.open",// generic_name
47,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -272,7 +272,7 @@ application_t::application_t()
43,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -294,7 +294,7 @@ application_t::application_t()
44,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -316,7 +316,7 @@ application_t::application_t()
46,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -338,7 +338,7 @@ application_t::application_t()
45,// bit_position
4,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -357,14 +357,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"windows.front_left.open",// generic_name
43,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -386,7 +386,7 @@ application_t::application_t()
44,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -408,7 +408,7 @@ application_t::application_t()
46,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -430,7 +430,7 @@ application_t::application_t()
45,// bit_position
4,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
diff --git a/examples/agl-vcar/signals.json b/examples/agl-vcar/signals.json
index 8d64b52d..679ab68e 100644
--- a/examples/agl-vcar/signals.json
+++ b/examples/agl-vcar/signals.json
@@ -7,6 +7,9 @@
"messages": {
"0x620": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"doors.driver.open": {
"generic_name": "doors.front_left.open",
@@ -47,6 +50,9 @@
},
"0x799": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"windows.driver.open": {
"generic_name": "windows.front_left.open",
@@ -80,6 +86,9 @@
},
"0x3D9": {
"bus": "hs",
+ "is_fd" : true,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_FuelLevelPct": {
"generic_name": "fuel.level",
@@ -107,6 +116,9 @@
},
"0x4D1": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_EngineOilTempHigh": {
"generic_name": "engine.oil.temp.high",
@@ -127,6 +139,9 @@
},
"0x3E9": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_VehicleAvgSpeed": {
"generic_name": "vehicle.average.speed",
@@ -139,6 +154,9 @@
},
"0x30": {
"bus": "ls",
+ "is_fd" : false,
+ "is_extended": true,
+ "is_j1939" : false,
"signals": {
"LeftTemperature": {
"generic_name": "hvac.temperature.left",
diff --git a/examples/basic/application-generated.cpp b/examples/basic/application-generated.cpp
index e05397ad..19857603 100644
--- a/examples/basic/application-generated.cpp
+++ b/examples/basic/application-generated.cpp
@@ -34,14 +34,14 @@ application_t::application_t()
, message_set_{
{std::make_shared<message_set_t>(message_set_t{0,"example",
{ // beginning message_definition_ vector
- {std::make_shared<message_definition_t>(message_definition_t{"hs",0x128,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+ {std::make_shared<message_definition_t>(message_definition_t{"hs",0x128,"ECM_z_5D2",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine_speed",// generic_name
12,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(15.0000f),// frequency
@@ -63,7 +63,7 @@ application_t::application_t()
41,// bit_position
3,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -78,7 +78,7 @@ application_t::application_t()
{3,"THIRD"}
},// states
false,// writable
- nullptr,// decoder
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
@@ -91,7 +91,7 @@ application_t::application_t()
52,// bit_position
12,// bit_size
0.153920f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -113,7 +113,7 @@ application_t::application_t()
44,// bit_position
12,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -135,7 +135,7 @@ application_t::application_t()
52,// bit_position
12,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
diff --git a/examples/basic/signals.json b/examples/basic/signals.json
index 8d9a2d24..dc2e346c 100644
--- a/examples/basic/signals.json
+++ b/examples/basic/signals.json
@@ -27,6 +27,9 @@
"0x128": {
"name": "ECM_z_5D2",
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"StrAnglAct": {
"generic_name": "SteeringWheelAngle",
diff --git a/examples/engine/application-generated.cpp b/examples/engine/application-generated.cpp
index 3b9ecfde..bc66b5ec 100644
--- a/examples/engine/application-generated.cpp
+++ b/examples/engine/application-generated.cpp
@@ -7,14 +7,14 @@ application_t::application_t()
, message_set_{
{std::make_shared<message_set_t>(message_set_t{0,"example",
{ // beginning message_definition_ vector
- {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+ {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.speed",// generic_name
16,// bit_position
16,// bit_size
0.250000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -36,7 +36,7 @@ application_t::application_t()
55,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -58,7 +58,7 @@ application_t::application_t()
8,// bit_position
8,// bit_size
0.392157f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -77,14 +77,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"vehicle.average.speed",// generic_name
0,// bit_position
15,// bit_size
0.0156250f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -103,14 +103,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.oil.temp",// generic_name
16,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -132,7 +132,7 @@ application_t::application_t()
7,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
diff --git a/examples/engine/signals.json b/examples/engine/signals.json
index 83ed38e2..a64fa138 100644
--- a/examples/engine/signals.json
+++ b/examples/engine/signals.json
@@ -7,6 +7,9 @@
"messages": {
"0x3D9": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_FuelLevelPct": {
"generic_name": "fuel.level",
@@ -34,6 +37,9 @@
},
"0x4D1": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_EngineOilTempHigh": {
"generic_name": "engine.oil.temp.high",
@@ -54,6 +60,9 @@
},
"0x3E9": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_VehicleAvgSpeed": {
"generic_name": "vehicle.average.speed",
diff --git a/examples/hvac/application-generated.cpp b/examples/hvac/application-generated.cpp
index de8f2240..a716654e 100644
--- a/examples/hvac/application-generated.cpp
+++ b/examples/hvac/application-generated.cpp
@@ -7,14 +7,14 @@ application_t::application_t()
, message_set_{
{std::make_shared<message_set_t>(message_set_t{0,"example",
{ // beginning message_definition_ vector
- {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+ {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"hvac.fan.speed",// generic_name
32,// bit_position
8,// bit_size
23.5294f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -36,7 +36,7 @@ application_t::application_t()
0,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -58,7 +58,7 @@ application_t::application_t()
8,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -80,7 +80,7 @@ application_t::application_t()
16,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
diff --git a/examples/hvac/signals.json b/examples/hvac/signals.json
index 81ad64b8..dbe4cf7d 100644
--- a/examples/hvac/signals.json
+++ b/examples/hvac/signals.json
@@ -7,6 +7,9 @@
"messages": {
"0x30": {
"bus": "ls",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"LeftTemperature": {
"generic_name": "hvac.temperature.left",
diff --git a/examples/j1939/application-generated.cpp b/examples/j1939/application-generated.cpp
index ebb580a6..1b07b5bc 100644
--- a/examples/j1939/application-generated.cpp
+++ b/examples/j1939/application-generated.cpp
@@ -5,17 +5,16 @@
application_t::application_t()
: can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}}
, message_set_{
- {std::make_shared<message_set_t>(message_set_t{0,"J1939",
+ {std::make_shared<message_set_t>(message_set_t{0,"Virtual J1939",
{ // beginning message_definition_ vector
-
- {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,0,message_format_t::J1939,frequency_clock_t(5.00000f),true,8,
+ {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,"ETC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
- "EngMomentaryOverspeedEnable",// generic_name
+ "Eng.Momentary.Overspeed.Enable",// generic_name
32,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -27,22 +26,21 @@ application_t::application_t()
{2,"Reserved"},
{3,"TakeNoAction"}
},// states
- false,// writable
- nullptr,// decoder
+ true,// writable
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "Command signal used to indicate that the engine speed may be boosted up to the maximum engine overspeed value to"// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "MomentaryEngMaxPowerEnable",// generic_name
+ "Momentary.Eng.Max.Power.Enable",// generic_name
36,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -54,22 +52,21 @@ application_t::application_t()
{3,"notAvailable"},
{0,"notRqingMaxPowerAvailable"}
},// states
- false,// writable
- nullptr,// decoder
+ true,// writable
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "Momentarily Requesting highest torque map from the engine control"// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "PercentClutchSlip",// generic_name
+ "Percent.Clutch.Slip",// generic_name
24,// bit_position
8,// bit_size
0.400000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -77,22 +74,21 @@ application_t::application_t()
false,// force_send_changed
{
},// states
- false,// writable
+ true,// writable
nullptr,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "%",// unit
- "Parameter which represents the ratio of input shaft speed to current engine speed (in percent)."// comment
+ "%"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "ProgressiveShiftDisable",// generic_name
+ "Progressive.Shift.Disable",// generic_name
34,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -104,22 +100,21 @@ application_t::application_t()
{2,"Reserved"},
{3,"TakeNoAction"}
},// states
- false,// writable
- nullptr,// decoder
+ true,// writable
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "Command signal used to indicate that progressive shifting by the engine should be disallowed."// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "SrcAddrssOfCtrllngDvcFrTrnsCntrl",// generic_name
+ "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",// generic_name
56,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -127,22 +122,21 @@ application_t::application_t()
false,// force_send_changed
{
},// states
- false,// writable
+ true,// writable
nullptr,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "The source address of the SAE J1939 device currently controlling the transmission."// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "TransDrivelineEngaged",// generic_name
+ "Trans.Driveline.Engaged",// generic_name
0,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -154,22 +148,21 @@ application_t::application_t()
{2,"Error"},
{3,"NotAvailable"}
},// states
- false,// writable
- nullptr,// decoder
+ true,// writable
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "Driveline engaged indicates the transmission controlled portion of the driveline is engaged sufficiently to allow a transfer"// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "TransInputShaftSpeed",// generic_name
+ "Trans.Input.Shaft.Speed",// generic_name
40,// bit_position
16,// bit_size
0.125000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -177,22 +170,21 @@ application_t::application_t()
false,// force_send_changed
{
},// states
- false,// writable
+ true,// writable
nullptr,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "rpm",// unit
- "Rotational velocity of the primary shaft transferring power into the transmission."// comment
+ "rpm"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "TransOutputShaftSpeed",// generic_name
+ "Trans.Output.Shaft.Speed",// generic_name
8,// bit_position
16,// bit_size
0.125000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -200,22 +192,21 @@ application_t::application_t()
false,// force_send_changed
{
},// states
- false,// writable
+ true,// writable
nullptr,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "rpm",// unit
- "Calculated speed of the transmission output shaft."// comment
+ "rpm"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "TransShiftInProcess",// generic_name
+ "Trans.Shift.In.Process",// generic_name
4,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -227,22 +218,21 @@ application_t::application_t()
{1,"ShiftInProcess"},
{0,"ShiftIsNotInProcess"}
},// states
- false,// writable
- nullptr,// decoder
+ true,// writable
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "Indicates that the transmission is in process of shifting from the current gear to the selected gear."// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "TrnsTrqCnvrtrLckpTrnstnInPrcess",// generic_name
+ "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",// generic_name
6,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -254,22 +244,21 @@ application_t::application_t()
{1,"TransitionIsInProcess"},
{0,"TransitionIsNotInProcess"}
},// states
- false,// writable
- nullptr,// decoder
+ true,// writable
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "State signal indicating whether or not the transmission torque converter lock up clutch is transitioning between being"// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "TrnsTrqueConverterLockupEngaged",// generic_name
+ "Trns.Trque.Converter.Lockup.Engaged",// generic_name
2,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -281,6 +270,80 @@ application_t::application_t()
{0,"TorqueConverterLockupDisengaged"},
{1,"TorqueConverterLockupEngaged"}
},// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
+ 4,// bit_position
+ 4,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {0,"0000"},
+ {1,"0125"},
+ {7,"0875"},
+ {8,"1111NotAvailable"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Actual.Eng.Percent.Torque",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Drivers.Demand.Eng.Percent.Torque",// generic_name
+ 8,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
false,// writable
nullptr,// decoder
nullptr,// encoder
@@ -288,20 +351,154 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "State signal which indicates whether the torque converter lockup is engaged."// comment
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Demand.Percent.Torque",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Speed",// generic_name
+ 24,// bit_position
+ 16,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rpm"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Starter.Mode",// generic_name
+ 48,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {9,"1011Reserved"},
+ {14,"error"},
+ {15,"notAvailable"},
+ {0,"startNotRqed"},
+ {2,"starterActiveGearEngaged"},
+ {1,"starterActiveGearNotEngaged"},
+ {12,"starterInhibitedReasonUnknown"},
+ {3,"strtFnshdStrtrNtActvAftrHvngBnA"},
+ {6,"strtrInhbtdDTDrvlnEnggdOthrTrns"},
+ {5,"strtrInhbtdDTEngNtReadyForStart"},
+ {7,"strtrInhbtdDToActiveImmobilizer"},
+ {4,"strtrInhbtdDToEngAlreadyRunning"},
+ {8,"strtrInhbtdDueToStarterOvertemp"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Torque.Mode",// generic_name
+ 0,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {7,"ABS control"},
+ {5,"ASR control"},
+ {1,"Accelerator pedal/operator selec"},
+ {10,"Braking system"},
+ {2,"Cruise control"},
+ {9,"High speed governor"},
+ {0,"Low idle governor/no request (de"},
+ {15,"Not available"},
+ {3,"PTO governor"},
+ {11,"Remote accelerator"},
+ {4,"Road speed governor"},
+ {8,"Torque limiting"},
+ {6,"Transmission control"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name
+ 40,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
})}
} // end signals vector
- })}, // end message_definition entry
-
- {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,0,message_format_t::J1939,frequency_clock_t(5.00000f),true,8,
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
- "LateralAcceleration",// generic_name
+ "Lateral.Acceleration",// generic_name
40,// bit_position
16,// bit_size
0.000488281f,// factor
- -15.6870,// offset
+ -15.6870f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -316,15 +513,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "m/s/s",// unit
- "Indicates a lateral acceleration of the vehicle."// comment
+ "m/s/s"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "LongitudinalAcceleration",// generic_name
+ "Longitudinal.Acceleration",// generic_name
56,// bit_position
8,// bit_size
0.100000f,// factor
- -12.5000,// offset
+ -12.5000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -339,15 +535,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "m/s/s",// unit
- "Indicates the longitudinal acceleration of the vehicle."// comment
+ "m/s/s"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "SteerWheelAngle",// generic_name
+ "Steer.Wheel.Angle",// generic_name
0,// bit_position
16,// bit_size
0.000976562f,// factor
- -31.3740,// offset
+ -31.3740f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -362,15 +557,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "rad",// unit
- "The main operator`s steering wheel angle (on the steering column, not the actual wheel angle)."// comment
+ "rad"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "SteerWheelAngleSensorType",// generic_name
+ "Steer.Wheel.Angle.Sensor.Type",// generic_name
22,// bit_position
2,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -383,21 +577,20 @@ application_t::application_t()
{2,"Reserved"}
},// states
false,// writable
- nullptr,// decoder
+ decoder_t::decode_state,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "",// unit
- "Indicates whether the steering wheel angle sensor is capable of absolute measuring of the number of steering wheel"// comment
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
- "SteerWheelTurnCounter",// generic_name
+ "Steer.Wheel.Turn.Counter",// generic_name
16,// bit_position
6,// bit_size
1.00000f,// factor
- -32.0000,// offset
+ -32.0000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -412,15 +605,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "turns",// unit
- "Indicates number of steering wheel turns, absolute position or relative position at ignition on."// comment
+ "turns"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "YawRate",// generic_name
+ "Yaw.Rate",// generic_name
24,// bit_position
16,// bit_size
0.000122070f,// factor
- -3.92000,// offset
+ -3.92000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -435,20 +627,176 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "rad/s",// unit
- "Indicates the rotation about the vertical axis."// comment
+ "rad/s"// unit
})}
} // end signals vector
- })}, // end message_definition entry
-
- {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,0,message_format_t::J1939,frequency_clock_t(5.00000f),true,8,
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Front.Axle.Speed",// generic_name
+ 0,// bit_position
+ 16,// bit_size
+ 0.00390625f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Front.Axle.Left.Wheel",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Rear.Axle1.Left.Wheel",// generic_name
+ 32,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Rear.Axle2.Left.Wheel",// generic_name
+ 48,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Front.Axle.Right.Wheel",// generic_name
+ 24,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Rear.Axle1.Right.Wheel",// generic_name
+ 40,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Rear.Axle2.Right.Wheel",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
- "EngTotalHoursOfOperation",// generic_name
+ "Eng.Total.Hours.Of.Operation",// generic_name
0,// bit_position
32,// bit_size
0.0500000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -463,15 +811,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "hr",// unit
- "Accumulated time of operation of engine."// comment
+ "hr"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "EngTotalRevolutions",// generic_name
+ "Eng.Total.Revolutions",// generic_name
32,// bit_position
32,// bit_size
1000.00f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -486,21 +833,18 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "r",// unit
- "Accumulated number of revolutions of engine crankshaft during its operation."// comment
+ "r"// unit
})}
} // end signals vector
- })}, // end message_definition entry
-
-
- {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,0,message_format_t::J1939,frequency_clock_t(5.00000f),true,8,
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
- "EngCoolantTemp",// generic_name
+ "Eng.Coolant.Temp",// generic_name
0,// bit_position
8,// bit_size
0.0312500f,// factor
- -273.000,// offset
+ -273.000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -515,15 +859,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "deg C",// unit
- "Temperature of liquid found in engine cooling system."// comment
+ "deg C"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "EngFuelTemp1",// generic_name
+ "Eng.Fuel.Temp1",// generic_name
8,// bit_position
8,// bit_size
1.00000f,// factor
- -40.0000,// offset
+ -40.0000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -538,15 +881,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "deg C",// unit
- "Temperature of fuel (or gas) passing through the first fuel control system."// comment
+ "deg C"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "EngIntercoolerTemp",// generic_name
+ "Eng.Intercooler.Temp",// generic_name
48,// bit_position
8,// bit_size
1.00000f,// factor
- -40.0000,// offset
+ -40.0000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -561,15 +903,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "deg C",// unit
- "Temperature of liquid found in the intercooler located after the turbocharger."// comment
+ "deg C"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "EngIntercoolerThermostatOpening",// generic_name
+ "Eng.Intercooler.Thermostat.Opening",// generic_name
56,// bit_position
8,// bit_size
0.400000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -584,15 +925,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "%",// unit
- "The current position of the thermostat used to regulate the temperature of the engine intercooler."// comment
+ "%"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "EngOilTemp1",// generic_name
+ "Eng.Oil.Temp1",// generic_name
16,// bit_position
16,// bit_size
0.0312500f,// factor
- -273.000,// offset
+ -273.000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -607,15 +947,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "deg C",// unit
- "Temperature of the engine lubricant."// comment
+ "deg C"// unit
})},
{std::make_shared<signal_t> (signal_t{
- "EngTurboOilTemp",// generic_name
+ "Eng.Turbo.Oil.Temp",// generic_name
32,// bit_position
16,// bit_size
0.0312500f,// factor
- -273.000,// offset
+ -273.000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -630,8 +969,7 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "deg C",// unit
- "Temperature of the turbocharger lubricant."// comment
+ "deg C"// unit
})}
} // end signals vector
})} // end message_definition entry
diff --git a/examples/j1939/j1939_parse.json b/examples/j1939/j1939_parse.json
index fd4c3fc2..a5f8bcbc 100644
--- a/examples/j1939/j1939_parse.json
+++ b/examples/j1939/j1939_parse.json
@@ -11,10 +11,12 @@
"length": 8,
"name": "ETC1",
"bus" : "j1939",
+ "is_fd" : false,
+ "is_extended": false,
"is_j1939" : true,
"signals" : {
- "TrnsTrqueConverterLockupEngaged" : {
- "generic_name": "TrnsTrqueConverterLockupEngaged",
+ "Trns.Trque.Converter.Lockup.Engaged" : {
+ "generic_name": "Trns.Trque.Converter.Lockup.Engaged",
"bit_position": 2,
"bit_size": 2,
"factor": 1,
@@ -22,6 +24,7 @@
"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],
@@ -29,8 +32,8 @@
"NotAvailable": [3]
}
},
- "TrnsTrqCnvrtrLckpTrnstnInPrcess" : {
- "generic_name": "TrnsTrqCnvrtrLckpTrnstnInPrcess",
+ "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess" : {
+ "generic_name": "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",
"bit_position": 6,
"bit_size": 2,
"factor": 1,
@@ -38,6 +41,7 @@
"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],
@@ -45,18 +49,19 @@
"NotAvailable": [3]
}
},
- "SrcAddrssOfCtrllngDvcFrTrnsCntrl" : {
- "generic_name": "SrcAddrssOfCtrllngDvcFrTrnsCntrl",
+ "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
+ "is_signed": false,
+ "writable" : true
},
- "MomentaryEngMaxPowerEnable" : {
- "generic_name": "MomentaryEngMaxPowerEnable",
+ "Momentary.Eng.Max.Power.Enable" : {
+ "generic_name": "Momentary.Eng.Max.Power.Enable",
"bit_position": 36,
"bit_size": 2,
"factor": 1,
@@ -64,6 +69,7 @@
"comment": "Momentarily Requesting highest torque map from the engine control",
"is_big_endian": false,
"is_signed": false,
+ "writable" : true,
"states": {
"notRqingMaxPowerAvailable": [0],
"mmntarilyRqingMaxPowerAvailable": [1],
@@ -71,8 +77,8 @@
"notAvailable": [3]
}
},
- "TransInputShaftSpeed" : {
- "generic_name": "TransInputShaftSpeed",
+ "Trans.Input.Shaft.Speed" : {
+ "generic_name": "Trans.Input.Shaft.Speed",
"bit_position": 40,
"bit_size": 16,
"factor": 0.125,
@@ -80,10 +86,11 @@
"comment": "Rotational velocity of the primary shaft transferring power into the transmission.",
"unit": "rpm",
"is_big_endian": false,
- "is_signed": false
+ "is_signed": false,
+ "writable" : true
},
- "ProgressiveShiftDisable" : {
- "generic_name": "ProgressiveShiftDisable",
+ "Progressive.Shift.Disable" : {
+ "generic_name": "Progressive.Shift.Disable",
"bit_position": 34,
"bit_size": 2,
"factor": 1,
@@ -91,6 +98,7 @@
"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],
@@ -98,8 +106,8 @@
"TakeNoAction": [3]
}
},
- "EngMomentaryOverspeedEnable" : {
- "generic_name": "EngMomentaryOverspeedEnable",
+ "Eng.Momentary.Overspeed.Enable" : {
+ "generic_name": "Eng.Momentary.Overspeed.Enable",
"bit_position": 32,
"bit_size": 2,
"factor": 1,
@@ -107,6 +115,7 @@
"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],
@@ -114,8 +123,8 @@
"TakeNoAction": [3]
}
},
- "PercentClutchSlip" : {
- "generic_name": "PercentClutchSlip",
+ "Percent.Clutch.Slip" : {
+ "generic_name": "Percent.Clutch.Slip",
"bit_position": 24,
"bit_size": 8,
"factor": 0.4,
@@ -123,10 +132,11 @@
"comment": "Parameter which represents the ratio of input shaft speed to current engine speed (in percent).",
"unit": "%",
"is_big_endian": false,
- "is_signed": false
+ "is_signed": false,
+ "writable" : true
},
- "TransOutputShaftSpeed" : {
- "generic_name": "TransOutputShaftSpeed",
+ "Trans.Output.Shaft.Speed" : {
+ "generic_name": "Trans.Output.Shaft.Speed",
"bit_position": 8,
"bit_size": 16,
"factor": 0.125,
@@ -134,10 +144,11 @@
"comment": "Calculated speed of the transmission output shaft.",
"unit": "rpm",
"is_big_endian": false,
- "is_signed": false
+ "is_signed": false,
+ "writable" : true
},
- "TransShiftInProcess" : {
- "generic_name": "TransShiftInProcess",
+ "Trans.Shift.In.Process" : {
+ "generic_name": "Trans.Shift.In.Process",
"bit_position": 4,
"bit_size": 2,
"factor": 1,
@@ -145,6 +156,7 @@
"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],
@@ -152,8 +164,8 @@
"NotAvailable": [3]
}
},
- "TransDrivelineEngaged" : {
- "generic_name": "TransDrivelineEngaged",
+ "Trans.Driveline.Engaged" : {
+ "generic_name": "Trans.Driveline.Engaged",
"bit_position": 0,
"bit_size": 2,
"factor": 1,
@@ -161,6 +173,7 @@
"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],
@@ -175,10 +188,12 @@
"length": 8,
"name": "EEC1",
"bus" : "j1939",
+ "is_fd" : false,
+ "is_extended": false,
"is_j1939" : true,
"signals" : {
- "SrcAddrssOfCtrllngDvcFrEngCntrl" : {
- "generic_name": "SrcAddrssOfCtrllngDvcFrEngCntrl",
+ "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl" : {
+ "generic_name": "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",
"bit_position": 40,
"bit_size": 8,
"factor": 1,
@@ -187,8 +202,8 @@
"is_big_endian": false,
"is_signed": false
},
- "ActlEngPrcntTrqueHighResolution" : {
- "generic_name": "ActlEngPrcntTrqueHighResolution",
+ "Actl.Eng.Prcnt.Trque.High.Resolution" : {
+ "generic_name": "Actl.Eng.Prcnt.Trque.High.Resolution",
"bit_position": 4,
"bit_size": 4,
"factor": 0.125,
@@ -204,8 +219,8 @@
"1111NotAvailable": [8]
}
},
- "EngDemandPercentTorque" : {
- "generic_name": "EngDemandPercentTorque",
+ "Eng.Demand.Percent.Torque" : {
+ "generic_name": "Eng.Demand.Percent.Torque",
"bit_position": 56,
"bit_size": 8,
"factor": 1,
@@ -215,8 +230,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngStarterMode" : {
- "generic_name": "EngStarterMode",
+ "Eng.Starter.Mode" : {
+ "generic_name": "Eng.Starter.Mode",
"bit_position": 48,
"bit_size": 4,
"factor": 1,
@@ -240,8 +255,8 @@
"notAvailable": [15]
}
},
- "EngSpeed" : {
- "generic_name": "EngSpeed",
+ "Eng.Speed" : {
+ "generic_name": "Eng.Speed",
"bit_position": 24,
"bit_size": 16,
"factor": 0.125,
@@ -251,8 +266,8 @@
"is_big_endian": false,
"is_signed": false
},
- "ActualEngPercentTorque" : {
- "generic_name": "ActualEngPercentTorque",
+ "Actual.Eng.Percent.Torque" : {
+ "generic_name": "Actual.Eng.Percent.Torque",
"bit_position": 16,
"bit_size": 8,
"factor": 1,
@@ -262,8 +277,8 @@
"is_big_endian": false,
"is_signed": false
},
- "DriversDemandEngPercentTorque" : {
- "generic_name": "DriversDemandEngPercentTorque",
+ "Drivers.Demand.Eng.Percent.Torque" : {
+ "generic_name": "Drivers.Demand.Eng.Percent.Torque",
"bit_position": 8,
"bit_size": 8,
"factor": 1,
@@ -273,8 +288,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngTorqueMode" : {
- "generic_name": "EngTorqueMode",
+ "Eng.Torque.Mode" : {
+ "generic_name": "Eng.Torque.Mode",
"bit_position": 0,
"bit_size": 4,
"factor": 1,
@@ -305,10 +320,12 @@
"length": 8,
"name": "HOURS",
"bus" : "j1939",
+ "is_fd" : false,
+ "is_extended": false,
"is_j1939" : true,
"signals" : {
- "EngTotalRevolutions" : {
- "generic_name": "EngTotalRevolutions",
+ "Eng.Total.Revolutions" : {
+ "generic_name": "Eng.Total.Revolutions",
"bit_position": 32,
"bit_size": 32,
"factor": 1000,
@@ -318,8 +335,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngTotalHoursOfOperation" : {
- "generic_name": "EngTotalHoursOfOperation",
+ "Eng.Total.Hours.Of.Operation" : {
+ "generic_name": "Eng.Total.Hours.Of.Operation",
"bit_position": 0,
"bit_size": 32,
"factor": 0.05,
@@ -336,10 +353,12 @@
"length": 8,
"name": "VDC2",
"bus" : "j1939",
+ "is_fd" : false,
+ "is_extended": false,
"is_j1939" : true,
"signals" : {
- "SteerWheelAngle" : {
- "generic_name": "SteerWheelAngle",
+ "Steer.Wheel.Angle" : {
+ "generic_name": "Steer.Wheel.Angle",
"bit_position": 0,
"bit_size": 16,
"factor": 0.0009765625,
@@ -349,8 +368,8 @@
"is_big_endian": false,
"is_signed": false
},
- "LongitudinalAcceleration" : {
- "generic_name": "LongitudinalAcceleration",
+ "Longitudinal.Acceleration" : {
+ "generic_name": "Longitudinal.Acceleration",
"bit_position": 56,
"bit_size": 8,
"factor": 0.1,
@@ -360,8 +379,8 @@
"is_big_endian": false,
"is_signed": false
},
- "LateralAcceleration" : {
- "generic_name": "LateralAcceleration",
+ "Lateral.Acceleration" : {
+ "generic_name": "Lateral.Acceleration",
"bit_position": 40,
"bit_size": 16,
"factor": 0.00048828125,
@@ -371,8 +390,8 @@
"is_big_endian": false,
"is_signed": false
},
- "YawRate" : {
- "generic_name": "YawRate",
+ "Yaw.Rate" : {
+ "generic_name": "Yaw.Rate",
"bit_position": 24,
"bit_size": 16,
"factor": 0.0001220703125,
@@ -382,8 +401,8 @@
"is_big_endian": false,
"is_signed": false
},
- "SteerWheelAngleSensorType" : {
- "generic_name": "SteerWheelAngleSensorType",
+ "Steer.Wheel.Angle.Sensor.Type" : {
+ "generic_name": "Steer.Wheel.Angle.Sensor.Type",
"bit_position": 22,
"bit_size": 2,
"factor": 1,
@@ -398,8 +417,8 @@
"NotAvailable": [3]
}
},
- "SteerWheelTurnCounter" : {
- "generic_name": "SteerWheelTurnCounter",
+ "Steer.Wheel.Turn.Counter" : {
+ "generic_name": "Steer.Wheel.Turn.Counter",
"bit_position": 16,
"bit_size": 6,
"factor": 1,
@@ -416,10 +435,12 @@
"length": 8,
"name": "EBC2",
"bus" : "j1939",
+ "is_fd" : false,
+ "is_extended": false,
"is_j1939" : true,
"signals" : {
- "RlativeSpeedRearAxle2RightWheel" : {
- "generic_name": "RlativeSpeedRearAxle2RightWheel",
+ "Rlative.Speed.Rear.Axle2.Right.Wheel" : {
+ "generic_name": "Rlative.Speed.Rear.Axle2.Right.Wheel",
"bit_position": 56,
"bit_size": 8,
"factor": 0.0625,
@@ -429,8 +450,8 @@
"is_big_endian": false,
"is_signed": false
},
- "RelativeSpeedRearAxle2LeftWheel" : {
- "generic_name": "RelativeSpeedRearAxle2LeftWheel",
+ "Relative.Speed.Rear.Axle2.Left.Wheel" : {
+ "generic_name": "Relative.Speed.Rear.Axle2.Left.Wheel",
"bit_position": 48,
"bit_size": 8,
"factor": 0.0625,
@@ -440,8 +461,8 @@
"is_big_endian": false,
"is_signed": false
},
- "RlativeSpeedRearAxle1RightWheel" : {
- "generic_name": "RlativeSpeedRearAxle1RightWheel",
+ "Rlative.Speed.Rear.Axle1.Right.Wheel" : {
+ "generic_name": "Rlative.Speed.Rear.Axle1.Right.Wheel",
"bit_position": 40,
"bit_size": 8,
"factor": 0.0625,
@@ -451,8 +472,8 @@
"is_big_endian": false,
"is_signed": false
},
- "RelativeSpeedRearAxle1LeftWheel" : {
- "generic_name": "RelativeSpeedRearAxle1LeftWheel",
+ "Relative.Speed.Rear.Axle1.Left.Wheel" : {
+ "generic_name": "Relative.Speed.Rear.Axle1.Left.Wheel",
"bit_position": 32,
"bit_size": 8,
"factor": 0.0625,
@@ -462,8 +483,8 @@
"is_big_endian": false,
"is_signed": false
},
- "RlativeSpeedFrontAxleRightWheel" : {
- "generic_name": "RlativeSpeedFrontAxleRightWheel",
+ "Rlative.Speed.Front.Axle.Right.Wheel" : {
+ "generic_name": "Rlative.Speed.Front.Axle.Right.Wheel",
"bit_position": 24,
"bit_size": 8,
"factor": 0.0625,
@@ -473,8 +494,8 @@
"is_big_endian": false,
"is_signed": false
},
- "RelativeSpeedFrontAxleLeftWheel" : {
- "generic_name": "RelativeSpeedFrontAxleLeftWheel",
+ "Relative.Speed.Front.Axle.Left.Wheel" : {
+ "generic_name": "Relative.Speed.Front.Axle.Left.Wheel",
"bit_position": 16,
"bit_size": 8,
"factor": 0.0625,
@@ -484,8 +505,8 @@
"is_big_endian": false,
"is_signed": false
},
- "FrontAxleSpeed" : {
- "generic_name": "FrontAxleSpeed",
+ "Front.Axle.Speed" : {
+ "generic_name": "Front.Axle.Speed",
"bit_position": 0,
"bit_size": 16,
"factor": 0.00390625,
@@ -502,10 +523,12 @@
"length": 8,
"name": "ET1",
"bus" : "j1939",
+ "is_fd" : false,
+ "is_extended": false,
"is_j1939" : true,
"signals" : {
- "EngFuelTemp1" : {
- "generic_name": "EngFuelTemp1",
+ "Eng.Fuel.Temp1" : {
+ "generic_name": "Eng.Fuel.Temp1",
"bit_position": 8,
"bit_size": 8,
"factor": 1,
@@ -515,8 +538,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngIntercoolerThermostatOpening" : {
- "generic_name": "EngIntercoolerThermostatOpening",
+ "Eng.Intercooler.Thermostat.Opening" : {
+ "generic_name": "Eng.Intercooler.Thermostat.Opening",
"bit_position": 56,
"bit_size": 8,
"factor": 0.4,
@@ -526,8 +549,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngIntercoolerTemp" : {
- "generic_name": "EngIntercoolerTemp",
+ "Eng.Intercooler.Temp" : {
+ "generic_name": "Eng.Intercooler.Temp",
"bit_position": 48,
"bit_size": 8,
"factor": 1,
@@ -537,8 +560,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngTurboOilTemp" : {
- "generic_name": "EngTurboOilTemp",
+ "Eng.Turbo.Oil.Temp" : {
+ "generic_name": "Eng.Turbo.Oil.Temp",
"bit_position": 32,
"bit_size": 16,
"factor": 0.03125,
@@ -548,8 +571,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngOilTemp1" : {
- "generic_name": "EngOilTemp1",
+ "Eng.Oil.Temp1" : {
+ "generic_name": "Eng.Oil.Temp1",
"bit_position": 16,
"bit_size": 16,
"factor": 0.03125,
@@ -559,8 +582,8 @@
"is_big_endian": false,
"is_signed": false
},
- "EngCoolantTemp" : {
- "generic_name": "EngCoolantTemp",
+ "Eng.Coolant.Temp" : {
+ "generic_name": "Eng.Coolant.Temp",
"bit_position": 0,
"bit_size": 8,
"factor": 0.03125,
diff --git a/examples/tests/application-generated.cpp b/examples/tests/application-generated.cpp
new file mode 100644
index 00000000..6abb4851
--- /dev/null
+++ b/examples/tests/application-generated.cpp
@@ -0,0 +1,1691 @@
+#include "application.hpp"
+#include "../can/can-decoder.hpp"
+#include "../can/can-encoder.hpp"
+
+application_t::application_t()
+ : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}}
+ , message_set_{
+ {std::make_shared<message_set_t>(message_set_t{0,"AGL Virtual Car",
+ { // beginning message_definition_ vector
+ {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",0,false,message_format_t::EXTENDED,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "hvac.fan.speed",// generic_name
+ 32,// bit_position
+ 8,// bit_size
+ 23.5294f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "hvac.temperature.left",// generic_name
+ 0,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "hvac.temperature.right",// generic_name
+ 8,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "hvac.temperature.average",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,true,message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "engine.speed",// generic_name
+ 16,// bit_position
+ 16,// bit_size
+ 0.250000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "fuel.level.low",// generic_name
+ 55,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "fuel.level",// generic_name
+ 8,// bit_position
+ 8,// bit_size
+ 0.392157f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "vehicle.average.speed",// generic_name
+ 0,// bit_position
+ 15,// bit_size
+ 0.0156250f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "engine.oil.temp",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "engine.oil.temp.high",// generic_name
+ 7,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "doors.boot.open",// generic_name
+ 47,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "doors.front_left.open",// generic_name
+ 43,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "doors.front_right.open",// generic_name
+ 44,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "doors.rear_left.open",// generic_name
+ 46,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "doors.rear_right.open",// generic_name
+ 45,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "windows.front_left.open",// generic_name
+ 43,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "windows.front_right.open",// generic_name
+ 44,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "windows.rear_left.open",// generic_name
+ 46,// bit_position
+ 1,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "windows.rear_right.open",// generic_name
+ 45,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::decode_boolean,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,"ETC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Momentary.Overspeed.Enable",// generic_name
+ 32,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {0,"MomentaryEngOverspeedIsDisabled"},
+ {1,"MomentaryEngOverspeedIsEnabled"},
+ {2,"Reserved"},
+ {3,"TakeNoAction"}
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Momentary.Eng.Max.Power.Enable",// generic_name
+ 36,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"fault"},
+ {1,"mmntarilyRqingMaxPowerAvailable"},
+ {3,"notAvailable"},
+ {0,"notRqingMaxPowerAvailable"}
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Percent.Clutch.Slip",// generic_name
+ 24,// bit_position
+ 8,// bit_size
+ 0.400000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Progressive.Shift.Disable",// generic_name
+ 34,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {1,"ProgressiveShiftIsDisabled"},
+ {0,"ProgressiveShiftIsNotDisabled"},
+ {2,"Reserved"},
+ {3,"TakeNoAction"}
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Driveline.Engaged",// generic_name
+ 0,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {0,"DrivelineDisengaged"},
+ {1,"DrivelineEngaged"},
+ {2,"Error"},
+ {3,"NotAvailable"}
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Input.Shaft.Speed",// generic_name
+ 40,// bit_position
+ 16,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rpm",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Output.Shaft.Speed",// generic_name
+ 8,// bit_position
+ 16,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rpm",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Shift.In.Process",// generic_name
+ 4,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"Error"},
+ {3,"NotAvailable"},
+ {1,"ShiftInProcess"},
+ {0,"ShiftIsNotInProcess"}
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",// generic_name
+ 6,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"Error"},
+ {3,"NotAvailable"},
+ {1,"TransitionIsInProcess"},
+ {0,"TransitionIsNotInProcess"}
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trns.Trque.Converter.Lockup.Engaged",// generic_name
+ 2,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"Error"},
+ {3,"NotAvailable"},
+ {0,"TorqueConverterLockupDisengaged"},
+ {1,"TorqueConverterLockupEngaged"}
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
+ 4,// bit_position
+ 4,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {0,"0000"},
+ {1,"0125"},
+ {7,"0875"},
+ {8,"1111NotAvailable"}
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Actual.Eng.Percent.Torque",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Drivers.Demand.Eng.Percent.Torque",// generic_name
+ 8,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Demand.Percent.Torque",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Speed",// generic_name
+ 24,// bit_position
+ 16,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rpm",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Starter.Mode",// generic_name
+ 48,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {9,"1011Reserved"},
+ {14,"error"},
+ {15,"notAvailable"},
+ {0,"startNotRqed"},
+ {2,"starterActiveGearEngaged"},
+ {1,"starterActiveGearNotEngaged"},
+ {12,"starterInhibitedReasonUnknown"},
+ {3,"strtFnshdStrtrNtActvAftrHvngBnA"},
+ {6,"strtrInhbtdDTDrvlnEnggdOthrTrns"},
+ {5,"strtrInhbtdDTEngNtReadyForStart"},
+ {7,"strtrInhbtdDToActiveImmobilizer"},
+ {4,"strtrInhbtdDToEngAlreadyRunning"},
+ {8,"strtrInhbtdDueToStarterOvertemp"}
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Torque.Mode",// generic_name
+ 0,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {7,"ABS control"},
+ {5,"ASR control"},
+ {1,"Accelerator pedal/operator selec"},
+ {10,"Braking system"},
+ {2,"Cruise control"},
+ {9,"High speed governor"},
+ {0,"Low idle governor/no request (de"},
+ {15,"Not available"},
+ {3,"PTO governor"},
+ {11,"Remote accelerator"},
+ {4,"Road speed governor"},
+ {8,"Torque limiting"},
+ {6,"Transmission control"}
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name
+ 40,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Lateral.Acceleration",// generic_name
+ 40,// bit_position
+ 16,// bit_size
+ 0.000488281f,// factor
+ -15.6870f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "m/s/s",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Longitudinal.Acceleration",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 0.100000f,// factor
+ -12.5000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "m/s/s",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Steer.Wheel.Angle",// generic_name
+ 0,// bit_position
+ 16,// bit_size
+ 0.000976562f,// factor
+ -31.3740f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rad",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Steer.Wheel.Angle.Sensor.Type",// generic_name
+ 22,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {1,"AbsMeasuringPrinciple"},
+ {3,"NotAvailable"},
+ {0,"RelativeMeasuringPrinciple"},
+ {2,"Reserved"}
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Steer.Wheel.Turn.Counter",// generic_name
+ 16,// bit_position
+ 6,// bit_size
+ 1.00000f,// factor
+ -32.0000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "turns",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Yaw.Rate",// generic_name
+ 24,// bit_position
+ 16,// bit_size
+ 0.000122070f,// factor
+ -3.92000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rad/s",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Front.Axle.Speed",// generic_name
+ 0,// bit_position
+ 16,// bit_size
+ 0.00390625f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Front.Axle.Left.Wheel",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Rear.Axle1.Left.Wheel",// generic_name
+ 32,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Rear.Axle2.Left.Wheel",// generic_name
+ 48,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Front.Axle.Right.Wheel",// generic_name
+ 24,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Rear.Axle1.Right.Wheel",// generic_name
+ 40,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Rear.Axle2.Right.Wheel",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Total.Hours.Of.Operation",// generic_name
+ 0,// bit_position
+ 32,// bit_size
+ 0.0500000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "hr",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Total.Revolutions",// generic_name
+ 32,// bit_position
+ 32,// bit_size
+ 1000.00f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "r",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true, { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Coolant.Temp",// generic_name
+ 0,// bit_position
+ 8,// bit_size
+ 0.0312500f,// factor
+ -273.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Fuel.Temp1",// generic_name
+ 8,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -40.0000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Intercooler.Temp",// generic_name
+ 48,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -40.0000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Intercooler.Thermostat.Opening",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 0.400000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Oil.Temp1",// generic_name
+ 16,// bit_position
+ 16,// bit_size
+ 0.0312500f,// factor
+ -273.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C",// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Turbo.Oil.Temp",// generic_name
+ 32,// bit_position
+ 16,// bit_size
+ 0.0312500f,// factor
+ -273.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false,0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C",// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+ }, // end message_definition vector
+ { // beginning diagnostic_messages_ vector
+ {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 4,
+ "engine.load",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 5.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 5,
+ "engine.coolant.temperature",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 10,
+ "fuel.pressure",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 11,
+ "intake.manifold.pressure",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 12,
+ "engine.speed",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 5.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 13,
+ "vehicle.speed",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 5.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 15,
+ "intake.air.temperature",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 16,
+ "mass.airflow",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 5.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 17,
+ "throttle.position",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 5.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 31,
+ "running.time",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 45,
+ "EGR.error",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 0.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 47,
+ "fuel.level",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 51,
+ "barometric.pressure",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 70,
+ "ambient.air.temperature",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 76,
+ "commanded.throttle.position",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 82,
+ "ethanol.fuel.percentage",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 90,
+ "accelerator.pedal.position",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 5.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 91,
+ "hybrid.battery-pack.remaining.life",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 5.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 92,
+ "engine.oil.temperature",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 94,
+ "engine.fuel.rate",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 99,
+ "engine.torque",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+
+ } // end diagnostic_messages_ vector
+ })} // end message_set entry
+ } // end message_set vector
+{
+ for(std::shared_ptr<message_set_t> cms: message_set_)
+ {
+ std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
+ for(std::shared_ptr<message_definition_t> cmd : messages_definition)
+ {
+ cmd->set_parent(cms);
+ std::vector<std::shared_ptr<signal_t>> signals = cmd->get_signals();
+ for(std::shared_ptr<signal_t> sig: signals)
+ {
+ sig->set_parent(cmd);
+ }
+ }
+
+ std::vector<std::shared_ptr<diagnostic_message_t>> diagnostic_messages = cms->get_diagnostic_messages();
+ for(std::shared_ptr<diagnostic_message_t> dm : diagnostic_messages)
+ {
+ dm->set_parent(cms);
+ }
+ }
+ }
+
+const std::string application_t::get_diagnostic_bus() const
+{
+ return "hs";
+}
+
+
diff --git a/examples/toyota/auris/application-generated.cpp b/examples/toyota/auris/application-generated.cpp
index f635e2bd..1d5e946a 100644
--- a/examples/toyota/auris/application-generated.cpp
+++ b/examples/toyota/auris/application-generated.cpp
@@ -7,14 +7,14 @@ application_t::application_t()
, message_set_{
{std::make_shared<message_set_t>(message_set_t{0,"example",
{ // beginning message_definition_ vector
- {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+ {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.speed",// generic_name
16,// bit_position
16,// bit_size
0.250000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -36,7 +36,7 @@ application_t::application_t()
55,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -58,7 +58,7 @@ application_t::application_t()
8,// bit_position
8,// bit_size
0.392157f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -77,14 +77,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"vehicle.average.speed",// generic_name
0,// bit_position
15,// bit_size
0.0156250f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -103,14 +103,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.oil.temp",// generic_name
16,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -132,7 +132,7 @@ application_t::application_t()
7,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -151,14 +151,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"doors.boot.open",// generic_name
47,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -180,7 +180,7 @@ application_t::application_t()
43,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -202,7 +202,7 @@ application_t::application_t()
44,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -224,7 +224,7 @@ application_t::application_t()
46,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -246,7 +246,7 @@ application_t::application_t()
45,// bit_position
4,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -265,14 +265,14 @@ application_t::application_t()
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,0,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"windows.front_left.open",// generic_name
43,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -294,7 +294,7 @@ application_t::application_t()
44,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -316,7 +316,7 @@ application_t::application_t()
46,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -338,7 +338,7 @@ application_t::application_t()
45,// bit_position
4,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
diff --git a/examples/toyota/auris/signals.json b/examples/toyota/auris/signals.json
index c6345ef4..5b726660 100644
--- a/examples/toyota/auris/signals.json
+++ b/examples/toyota/auris/signals.json
@@ -7,6 +7,9 @@
"messages": {
"0x620": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"doors.driver.open": {
"generic_name": "doors.front_left.open",
@@ -47,6 +50,9 @@
},
"0x799": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"windows.driver.open": {
"generic_name": "windows.front_left.open",
@@ -80,6 +86,9 @@
},
"0x3D9": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_FuelLevelPct": {
"generic_name": "fuel.level",
@@ -107,6 +116,9 @@
},
"0x4D1": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_EngineOilTempHigh": {
"generic_name": "engine.oil.temp.high",
@@ -127,6 +139,9 @@
},
"0x3E9": {
"bus": "hs",
+ "is_fd" : false,
+ "is_extended": false,
+ "is_j1939" : false,
"signals": {
"PT_VehicleAvgSpeed": {
"generic_name": "vehicle.average.speed",
diff --git a/low-can-binding/binding/application-generated.cpp b/low-can-binding/binding/application-generated.cpp
index 8db26224..65f72cdf 100644
--- a/low-can-binding/binding/application-generated.cpp
+++ b/low-can-binding/binding/application-generated.cpp
@@ -7,14 +7,14 @@ application_t::application_t()
, message_set_{
{std::make_shared<message_set_t>(message_set_t{0,"AGL Virtual Car",
{ // beginning message_definition_ vector
- {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+ {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",0,false,message_format_t::EXTENDED,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"hvac.fan.speed",// generic_name
32,// bit_position
8,// bit_size
23.5294f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -29,14 +29,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"hvac.temperature.left",// generic_name
0,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -51,14 +51,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"hvac.temperature.right",// generic_name
8,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -73,14 +73,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"hvac.temperature.average",// generic_name
16,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -95,18 +95,18 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",0,true,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.speed",// generic_name
16,// bit_position
16,// bit_size
0.250000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -114,21 +114,21 @@ application_t::application_t()
false,// force_send_changed
{
},// states
- false,// writable
+ true,// writable
nullptr,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"fuel.level.low",// generic_name
55,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -136,21 +136,21 @@ application_t::application_t()
false,// force_send_changed
{
},// states
- false,// writable
+ true,// writable
decoder_t::decode_boolean,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"fuel.level",// generic_name
8,// bit_position
8,// bit_size
0.392157f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -158,25 +158,25 @@ application_t::application_t()
false,// force_send_changed
{
},// states
- false,// writable
+ true,// writable
nullptr,// decoder
nullptr,// encoder
false,// received
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"vehicle.average.speed",// generic_name
0,// bit_position
15,// bit_size
0.0156250f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -191,18 +191,18 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"engine.oil.temp",// generic_name
16,// bit_position
8,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -217,14 +217,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"engine.oil.temp.high",// generic_name
7,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -239,18 +239,18 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"doors.boot.open",// generic_name
47,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -265,14 +265,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"doors.front_left.open",// generic_name
43,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -287,14 +287,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"doors.front_right.open",// generic_name
44,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -309,14 +309,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"doors.rear_left.open",// generic_name
46,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -331,14 +331,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"doors.rear_right.open",// generic_name
45,// bit_position
4,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -353,18 +353,18 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})}
} // end signals vector
})} // end message_definition entry
-, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+, {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",0,false,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
{ // beginning signals vector
{std::make_shared<signal_t> (signal_t{
"windows.front_left.open",// generic_name
43,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -379,14 +379,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"windows.front_right.open",// generic_name
44,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -401,14 +401,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"windows.rear_left.open",// generic_name
46,// bit_position
1,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -423,14 +423,14 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})},
{std::make_shared<signal_t> (signal_t{
"windows.rear_right.open",// generic_name
45,// bit_position
4,// bit_size
1.00000f,// factor
- 0.00000,// offset
+ 0.00000f,// offset
0,// min_value
0,// max_value
frequency_clock_t(0.00000f),// frequency
@@ -445,11 +445,978 @@ application_t::application_t()
std::make_pair<bool, int>(false, 0),// multiplex
0,// is_big_endian
0,// is_signed
- "" // unit
+ ""// unit
})}
} // end signals vector
})} // end message_definition entry
-
+#ifdef USE_FEATURE_J1939
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,"ETC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Momentary.Overspeed.Enable",// generic_name
+ 32,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {0,"MomentaryEngOverspeedIsDisabled"},
+ {1,"MomentaryEngOverspeedIsEnabled"},
+ {2,"Reserved"},
+ {3,"TakeNoAction"}
+ },// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Momentary.Eng.Max.Power.Enable",// generic_name
+ 36,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"fault"},
+ {1,"mmntarilyRqingMaxPowerAvailable"},
+ {3,"notAvailable"},
+ {0,"notRqingMaxPowerAvailable"}
+ },// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Percent.Clutch.Slip",// generic_name
+ 24,// bit_position
+ 8,// bit_size
+ 0.400000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Progressive.Shift.Disable",// generic_name
+ 34,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {1,"ProgressiveShiftIsDisabled"},
+ {0,"ProgressiveShiftIsNotDisabled"},
+ {2,"Reserved"},
+ {3,"TakeNoAction"}
+ },// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Src.Addrss.Of.Ctrllng.Dvc.Fr.Trns.Cntrl",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Driveline.Engaged",// generic_name
+ 0,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {0,"DrivelineDisengaged"},
+ {1,"DrivelineEngaged"},
+ {2,"Error"},
+ {3,"NotAvailable"}
+ },// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Input.Shaft.Speed",// generic_name
+ 40,// bit_position
+ 16,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rpm"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Output.Shaft.Speed",// generic_name
+ 8,// bit_position
+ 16,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ true,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rpm"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trans.Shift.In.Process",// generic_name
+ 4,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"Error"},
+ {3,"NotAvailable"},
+ {1,"ShiftInProcess"},
+ {0,"ShiftIsNotInProcess"}
+ },// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trns.Trq.Cnvrtr.Lckp.Trnstn.In.Prcess",// generic_name
+ 6,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"Error"},
+ {3,"NotAvailable"},
+ {1,"TransitionIsInProcess"},
+ {0,"TransitionIsNotInProcess"}
+ },// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Trns.Trque.Converter.Lockup.Engaged",// generic_name
+ 2,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {2,"Error"},
+ {3,"NotAvailable"},
+ {0,"TorqueConverterLockupDisengaged"},
+ {1,"TorqueConverterLockupEngaged"}
+ },// states
+ true,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
+ 4,// bit_position
+ 4,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {0,"0000"},
+ {1,"0125"},
+ {7,"0875"},
+ {8,"1111NotAvailable"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Actual.Eng.Percent.Torque",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Drivers.Demand.Eng.Percent.Torque",// generic_name
+ 8,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Demand.Percent.Torque",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -125.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Speed",// generic_name
+ 24,// bit_position
+ 16,// bit_size
+ 0.125000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rpm"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Starter.Mode",// generic_name
+ 48,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {9,"1011Reserved"},
+ {14,"error"},
+ {15,"notAvailable"},
+ {0,"startNotRqed"},
+ {2,"starterActiveGearEngaged"},
+ {1,"starterActiveGearNotEngaged"},
+ {12,"starterInhibitedReasonUnknown"},
+ {3,"strtFnshdStrtrNtActvAftrHvngBnA"},
+ {6,"strtrInhbtdDTDrvlnEnggdOthrTrns"},
+ {5,"strtrInhbtdDTEngNtReadyForStart"},
+ {7,"strtrInhbtdDToActiveImmobilizer"},
+ {4,"strtrInhbtdDToEngAlreadyRunning"},
+ {8,"strtrInhbtdDueToStarterOvertemp"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Torque.Mode",// generic_name
+ 0,// bit_position
+ 4,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {7,"ABS control"},
+ {5,"ASR control"},
+ {1,"Accelerator pedal/operator selec"},
+ {10,"Braking system"},
+ {2,"Cruise control"},
+ {9,"High speed governor"},
+ {0,"Low idle governor/no request (de"},
+ {15,"Not available"},
+ {3,"PTO governor"},
+ {11,"Remote accelerator"},
+ {4,"Road speed governor"},
+ {8,"Torque limiting"},
+ {6,"Transmission control"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name
+ 40,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Lateral.Acceleration",// generic_name
+ 40,// bit_position
+ 16,// bit_size
+ 0.000488281f,// factor
+ -15.6870f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "m/s/s"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Longitudinal.Acceleration",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 0.100000f,// factor
+ -12.5000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "m/s/s"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Steer.Wheel.Angle",// generic_name
+ 0,// bit_position
+ 16,// bit_size
+ 0.000976562f,// factor
+ -31.3740f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rad"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Steer.Wheel.Angle.Sensor.Type",// generic_name
+ 22,// bit_position
+ 2,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {1,"AbsMeasuringPrinciple"},
+ {3,"NotAvailable"},
+ {0,"RelativeMeasuringPrinciple"},
+ {2,"Reserved"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Steer.Wheel.Turn.Counter",// generic_name
+ 16,// bit_position
+ 6,// bit_size
+ 1.00000f,// factor
+ -32.0000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "turns"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Yaw.Rate",// generic_name
+ 24,// bit_position
+ 16,// bit_size
+ 0.000122070f,// factor
+ -3.92000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "rad/s"// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Front.Axle.Speed",// generic_name
+ 0,// bit_position
+ 16,// bit_size
+ 0.00390625f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Front.Axle.Left.Wheel",// generic_name
+ 16,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Rear.Axle1.Left.Wheel",// generic_name
+ 32,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Relative.Speed.Rear.Axle2.Left.Wheel",// generic_name
+ 48,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Front.Axle.Right.Wheel",// generic_name
+ 24,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Rear.Axle1.Right.Wheel",// generic_name
+ 40,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Rlative.Speed.Rear.Axle2.Right.Wheel",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 0.0625000f,// factor
+ -7.81250f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "km/h"// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Total.Hours.Of.Operation",// generic_name
+ 0,// bit_position
+ 32,// bit_size
+ 0.0500000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "hr"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Total.Revolutions",// generic_name
+ 32,// bit_position
+ 32,// bit_size
+ 1000.00f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "r"// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,false,message_format_t::J1939,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Coolant.Temp",// generic_name
+ 0,// bit_position
+ 8,// bit_size
+ 0.0312500f,// factor
+ -273.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Fuel.Temp1",// generic_name
+ 8,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -40.0000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Intercooler.Temp",// generic_name
+ 48,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ -40.0000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Intercooler.Thermostat.Opening",// generic_name
+ 56,// bit_position
+ 8,// bit_size
+ 0.400000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "%"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Oil.Temp1",// generic_name
+ 16,// bit_position
+ 16,// bit_size
+ 0.0312500f,// factor
+ -273.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C"// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "Eng.Turbo.Oil.Temp",// generic_name
+ 32,// bit_position
+ 16,// bit_size
+ 0.0312500f,// factor
+ -273.000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ 0,// is_big_endian
+ 0,// is_signed
+ "deg C"// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+#endif
}, // end message_definition vector
{ // beginning diagnostic_messages_ vector
{std::make_shared<diagnostic_message_t>(diagnostic_message_t{
@@ -734,3 +1701,5 @@ const std::string application_t::get_diagnostic_bus() const
{
return "hs";
}
+
+