Update examples and can_samples 08/22008/7
authorArthur Guyader <arthur.guyader@iot.bzh>
Tue, 2 Jul 2019 15:46:16 +0000 (17:46 +0200)
committerArthur Guyader <arthur.guyader@iot.bzh>
Mon, 12 Aug 2019 13:06:45 +0000 (15:06 +0200)
Update of examples for new features (is_fd,is_extended,is_j1939).

Bug-AGL: SPEC-2386

Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Change-Id: I8c3afbafdde4f5818d73c0e71a3b7e47fb7d8fc6

15 files changed:
can_samples/j1939/j1939-one-frame [new file with mode: 0644]
examples/agl-vcar/application-generated.cpp
examples/agl-vcar/signals.json
examples/basic/application-generated.cpp
examples/basic/signals.json
examples/engine/application-generated.cpp
examples/engine/signals.json
examples/hvac/application-generated.cpp
examples/hvac/signals.json
examples/j1939/application-generated.cpp
examples/j1939/j1939_parse.json
examples/tests/application-generated.cpp [new file with mode: 0644]
examples/toyota/auris/application-generated.cpp
examples/toyota/auris/signals.json
low-can-binding/binding/application-generated.cpp

diff --git a/can_samples/j1939/j1939-one-frame b/can_samples/j1939/j1939-one-frame
new file mode 100644 (file)
index 0000000..90b89c9
--- /dev/null
@@ -0,0 +1 @@
+(08255.460200) can0 0CF00203#CD402800043828FF
index 38d26cc..35d847b 100644 (file)
@@ -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
index 8d64b52..679ab68 100644 (file)
@@ -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",
        },
        "0x4D1": {
        "bus": "hs",
+       "is_fd" : false,
+       "is_extended": false,
+       "is_j1939" : false,
        "signals": {
                "PT_EngineOilTempHigh": {
                        "generic_name": "engine.oil.temp.high",
        },
        "0x3E9": {
        "bus": "hs",
+       "is_fd" : false,
+       "is_extended": false,
+       "is_j1939" : false,
        "signals": {
                "PT_VehicleAvgSpeed": {
                        "generic_name": "vehicle.average.speed",
        },
        "0x30": {
        "bus": "ls",
+       "is_fd" : false,
+       "is_extended": true,
+       "is_j1939" : false,
        "signals": {
                "LeftTemperature": {
                        "generic_name": "hvac.temperature.left",
index e05397a..1985760 100644 (file)
@@ -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
index 8d9a2d2..dc2e346 100644 (file)
@@ -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",
index 3b9ecfd..bc66b5e 100644 (file)
@@ -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
index 83ed38e..a64fa13 100644 (file)
@@ -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",
index de8f224..a716654 100644 (file)
@@ -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
index 81ad64b..dbe4cf7 100644 (file)
@@ -7,6 +7,9 @@
        "messages": {
                "0x30": {
                "bus": "ls",
+               "is_fd" : false,
+               "is_extended": false,
+               "is_j1939" : false,
                "signals": {
                        "LeftTemperature": {
                                "generic_name": "hvac.temperature.left",
index ebb580a..1b07b5b 100644 (file)
@@ -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
index fd4c3fc..a5f8bcb 100644 (file)
                        "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],
                                                "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,
                                        "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],
                                                "TakeNoAction": [3]
                                        }
                                },
-                               "EngMomentaryOverspeedEnable" : {
-                                       "generic_name": "EngMomentaryOverspeedEnable",
+                               "Eng.Momentary.Overspeed.Enable" : {
+                                       "generic_name": "Eng.Momentary.Overspeed.Enable",
                                        "bit_position": 32,
                                        "bit_size": 2,
                                        "factor": 1,
                                        "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],
                                                "TakeNoAction": [3]
                                        }
                                },
-                               "PercentClutchSlip" : {
-                                       "generic_name": "PercentClutchSlip",
+                               "Percent.Clutch.Slip" : {
+                                       "generic_name": "Percent.Clutch.Slip",
                                        "bit_position": 24,
                                        "bit_size": 8,
                                        "factor": 0.4,
                                        "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,
                                        "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,
                                        "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],
                                                "NotAvailable": [3]
                                        }
                                },
-                               "TransDrivelineEngaged" : {
-                                       "generic_name": "TransDrivelineEngaged",
+                               "Trans.Driveline.Engaged" : {
+                                       "generic_name": "Trans.Driveline.Engaged",
                                        "bit_position": 0,
                                        "bit_size": 2,
                                        "factor": 1,
                                        "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],
                        "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,
                                        "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,
                                                "1111NotAvailable": [8]
                                        }
                                },
-                               "EngDemandPercentTorque" : {
-                                       "generic_name": "EngDemandPercentTorque",
+                               "Eng.Demand.Percent.Torque" : {
+                                       "generic_name": "Eng.Demand.Percent.Torque",
                                        "bit_position": 56,
                                        "bit_size": 8,
                                        "factor": 1,
                                        "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,
                                                "notAvailable": [15]
                                        }
                                },
-                               "EngSpeed" : {
-                                       "generic_name": "EngSpeed",
+                               "Eng.Speed" : {
+                                       "generic_name": "Eng.Speed",
                                        "bit_position": 24,
                                        "bit_size": 16,
                                        "factor": 0.125,
                                        "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,
                                        "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,
                                        "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,
                        "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,
                                        "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,
                        "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,
                                        "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,
                                        "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,
                                        "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,
                                        "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,
                                                "NotAvailable": [3]
                                        }
                                },
-                               "SteerWheelTurnCounter" : {
-                                       "generic_name": "SteerWheelTurnCounter",
+                               "Steer.Wheel.Turn.Counter" : {
+                                       "generic_name": "Steer.Wheel.Turn.Counter",
                                        "bit_position": 16,
                                        "bit_size": 6,
                                        "factor": 1,
                        "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,
                                        "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,
                                        "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,
                                        "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,
                                        "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,
                                        "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,
                                        "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,
                        "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,
                                        "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,
                                        "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,
                                        "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,
                                        "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,
                                        "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 (file)
index 0000000..6abb485
--- /dev/null
@@ -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";
+}
+
+
index f635e2b..1d5e946 100644 (file)
@@ -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
index c6345ef..5b72666 100644 (file)
@@ -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",
     },
     "0x4D1": {
     "bus": "hs",
+    "is_fd" : false,
+    "is_extended": false,
+    "is_j1939" : false,
       "signals": {
         "PT_EngineOilTempHigh": {
           "generic_name": "engine.oil.temp.high",
     },
     "0x3E9": {
       "bus": "hs",
+      "is_fd" : false,
+      "is_extended": false,
+      "is_j1939" : false,
       "signals": {
         "PT_VehicleAvgSpeed": {
           "generic_name": "vehicle.average.speed",
index 8db2622..65f72cd 100644 (file)
@@ -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,43 +114,808 @@ application_t::application_t()
                                                        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{
+                                                       "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
+                                                       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
+                                               })},
+                                               {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
+                                                       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",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
+#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
-                                                       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
+                                                       ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
-                                                       "fuel.level.low",// generic_name
-                                                       55,// bit_position
-                                                       1,// bit_size
+                                                       "Eng.Torque.Mode",// generic_name
+                                                       0,// 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
                                                        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_boolean,// 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
+                                                       ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
-                                                       "fuel.level",// generic_name
-                                                       8,// bit_position
+                                                       "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl",// generic_name
+                                                       40,// bit_position
                                                        8,// bit_size
-                                                       0.392157f,// factor
-                                                       0.00000,// offset
+                                                       1.00000f,// factor
+                                                       0.00000f,// offset
                                                        0,// min_value
                                                        0,// max_value
                                                        frequency_clock_t(0.00000f),// frequency
@@ -165,18 +930,62 @@ 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",0x3E9,0,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {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{
-                                                       "vehicle.average.speed",// generic_name
+                                                       "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
-                                                       15,// bit_size
-                                                       0.0156250f,// factor
-                                                       0.00000,// offset
+                                                       16,// bit_size
+                                                       0.000976562f,// factor
+                                                       -31.3740f,// offset
                                                        0,// min_value
                                                        0,// max_value
                                                        frequency_clock_t(0.00000f),// frequency
@@ -191,18 +1000,40 @@ application_t::application_t()
                                                        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,message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
-                                       { // beginning signals vector
+                                                       "rad"// unit
+                                               })},
                                                {std::make_shared<signal_t> (signal_t{
-                                                       "engine.oil.temp",// generic_name
+                                                       "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
-                                                       8,// bit_size
+                                                       6,// bit_size
                                                        1.00000f,// factor
-                                                       0.00000,// offset
+                                                       -32.0000f,// offset
                                                        0,// min_value
                                                        0,// max_value
                                                        frequency_clock_t(0.00000f),// frequency
@@ -217,14 +1048,14 @@ application_t::application_t()
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "turns"// 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
+                                                       "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
@@ -233,24 +1064,24 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       nullptr,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "rad/s"// 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{"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{
-                                                       "doors.boot.open",// generic_name
-                                                       47,// bit_position
-                                                       1,// bit_size
-                                                       1.00000f,// factor
-                                                       0.00000,// offset
+                                                       "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
@@ -259,20 +1090,20 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       nullptr,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "km/h"// 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
+                                                       "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
@@ -281,20 +1112,20 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       nullptr,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "km/h"// 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
+                                                       "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
@@ -303,20 +1134,20 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       nullptr,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "km/h"// 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
+                                                       "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
@@ -325,20 +1156,20 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       nullptr,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "km/h"// 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
+                                                       "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
@@ -347,24 +1178,68 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       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
-                                                       "// unit
+                                                       "km/h"// 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{"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{
-                                                       "windows.front_left.open",// generic_name
-                                                       43,// bit_position
-                                                       1,// bit_size
-                                                       1.00000f,// factor
-                                                       0.00000,// offset
+                                                       "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
@@ -373,20 +1248,20 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       nullptr,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "hr"// 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
+                                                       "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
@@ -395,20 +1270,46 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       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
-                                                       "// unit
+                                                       "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
-                                                       "windows.rear_left.open",// generic_name
-                                                       46,// bit_position
-                                                       1,// bit_size
+                                                       "Eng.Fuel.Temp1",// generic_name
+                                                       8,// bit_position
+                                                       8,// bit_size
                                                        1.00000f,// factor
-                                                       0.00000,// offset
+                                                       -40.0000f,// offset
                                                        0,// min_value
                                                        0,// max_value
                                                        frequency_clock_t(0.00000f),// frequency
@@ -417,20 +1318,20 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       nullptr,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
                                                        0,// is_big_endian
                                                        0,// is_signed
-                                                       "// unit
+                                                       "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
-                                                       "windows.rear_right.open",// generic_name
-                                                       45,// bit_position
-                                                       4,// bit_size
+                                                       "Eng.Intercooler.Temp",// generic_name
+                                                       48,// bit_position
+                                                       8,// bit_size
                                                        1.00000f,// factor
-                                                       0.00000,// offset
+                                                       -40.0000f,// offset
                                                        0,// min_value
                                                        0,// max_value
                                                        frequency_clock_t(0.00000f),// frequency
@@ -439,17 +1340,83 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       decoder_t::decode_boolean,// decoder
+                                                       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
-                                                       "// unit
+                                                       "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";
 }
+
+