examples: Update using new Generator 15/23215/6
authorRomain Forlot <romain.forlot@iot.bzh>
Tue, 19 Nov 2019 11:44:05 +0000 (12:44 +0100)
committerRomain Forlot <romain.forlot@iot.bzh>
Thu, 9 Jan 2020 14:55:03 +0000 (15:55 +0100)
New generator including new signals capabilities:

- sign
- big_endian frame
- default length

Bug-AGL: SPEC-2988

Change-Id: Icf2e4dd7ef880a73527103c90a8063cf3d042e41
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
examples/OBD2/application-generated.cpp
examples/agl-vcar/application-generated.cpp
examples/agl-vcar/signals.json
examples/basic/application-generated.cpp
examples/engine/application-generated.cpp
examples/hvac/application-generated.cpp
examples/j1939/j1939-simple.cpp [moved from examples/j1939/application-generated.cpp with 85% similarity]
examples/j1939/j1939_parse.json
examples/tests/application-generated.cpp
examples/toyota/auris/application-generated.cpp

index 5bed759..f5788d9 100644 (file)
@@ -269,7 +269,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);
index baf0509..966755e 100644 (file)
@@ -499,7 +499,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3D9,"", 8, 2048, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",8,128,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -569,7 +569,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3E9,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -595,7 +595,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x4D1,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -643,7 +643,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x620,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "doors.boot.open",// generic_name
@@ -757,7 +757,7 @@ application_t::application_t()
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x799,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "windows.front_left.open",// generic_name
@@ -1111,7 +1111,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);
index 706f8d4..2a4f518 100644 (file)
@@ -9,7 +9,6 @@
                "0x620": {
                        "bus": "hs",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : false,
                        "length" : 8,
                        "signals": {
@@ -58,7 +57,6 @@
                "0x799": {
                        "bus": "hs",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : false,
                        "length" : 8,
                        "signals": {
index bf32106..97482f6 100644 (file)
@@ -2,6 +2,28 @@
 #include "../can/can-decoder.hpp"
 #include "../can/can-encoder.hpp"
 
+#include "can/canread.h"
+
+using openxc::can::read::publishNumericalMessage;
+
+void handleSteeringWheelMessage(CanMessage* message,
+        CanSignal* signals, int signalCount, Pipeline* pipeline) {
+    publishNumericalMessage("latitude", 42.0, pipeline);
+}
+
+openxc_DynamicField handleInverted(CanSignal* signal, CanSignal* signals,
+        int signalCount, float value, bool* send) {
+    return openxc::payload::wrapNumber(value * -1);
+}
+
+void initializeMyStuff() { }
+
+void initializeOtherStuff() { }
+
+void myLooper() {
+    // this function will be called once, each time through the main loop, after
+    // all CAN message processing has been completed
+}
 
 // >>>>> handlers.cpp >>>>>
 #include "can/canread.h"
@@ -34,7 +56,7 @@ 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,"ECM_z_5D2", 0, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"hs",0x128,"ECM_z_5D2",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine_speed",// generic_name
@@ -54,8 +76,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -82,8 +105,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -100,12 +124,13 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       handleUnsignedSteeringWheelAngle,// decoder
+                                                       decoder_t::v1_to_v2_gnedSteeringWheelAngle,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -122,12 +147,13 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       ignoreDecoder,// decoder
+                                                       decoder_t::v1_to_v2_der,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -144,12 +170,13 @@ application_t::application_t()
                                                        {
                                                        },// states
                                                        false,// writable
-                                                       ignoreDecoder,// decoder
+                                                       decoder_t::v1_to_v2_der,// decoder
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
@@ -164,7 +191,7 @@ application_t::application_t()
                                        0,
                                        UNIT::INVALID,
                                        1.00000f,
-                                       handleObd2Pid,
+                                       decoder_t::v1_to_v2_Pid,
                                        nullptr,
                                        true,
                                        false
@@ -188,7 +215,7 @@ application_t::application_t()
                                        0,
                                        UNIT::INVALID,
                                        1.00000f,
-                                       handleMyDiagRequest,
+                                       decoder_t::v1_to_v2_agRequest,
                                        nullptr,
                                        true,
                                        false
@@ -200,7 +227,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);
@@ -225,3 +252,43 @@ const std::string application_t::get_diagnostic_bus() const
 }
 
 
+openxc_DynamicField decoder_t::v1_to_v2_gnedSteeringWheelAngle(signal_t& signal, std::shared_ptr<message_t> message, bool* send){
+       float value = decoder_t::parse_signal_bitfield(signal, message);
+       openxc_DynamicField ret = decoder_t::gnedSteeringWheelAngle(signal, value, send);
+       if ((signal.get_last_value() == value && !signal.get_send_same()) || !*send ){
+               *send = false;
+       }
+       signal.set_last_value(value);
+       return ret;
+}
+
+openxc_DynamicField decoder_t::v1_to_v2_der(signal_t& signal, std::shared_ptr<message_t> message, bool* send){
+       float value = decoder_t::parse_signal_bitfield(signal, message);
+       openxc_DynamicField ret = decoder_t::der(signal, value, send);
+       if ((signal.get_last_value() == value && !signal.get_send_same()) || !*send ){
+               *send = false;
+       }
+       signal.set_last_value(value);
+       return ret;
+}
+
+openxc_DynamicField decoder_t::v1_to_v2_Pid(signal_t& signal, std::shared_ptr<message_t> message, bool* send){
+       float value = decoder_t::parse_signal_bitfield(signal, message);
+       openxc_DynamicField ret = decoder_t::Pid(signal, value, send);
+       if ((signal.get_last_value() == value && !signal.get_send_same()) || !*send ){
+               *send = false;
+       }
+       signal.set_last_value(value);
+       return ret;
+}
+
+openxc_DynamicField decoder_t::v1_to_v2_agRequest(signal_t& signal, std::shared_ptr<message_t> message, bool* send){
+       float value = decoder_t::parse_signal_bitfield(signal, message);
+       openxc_DynamicField ret = decoder_t::agRequest(signal, value, send);
+       if ((signal.get_last_value() == value && !signal.get_send_same()) || !*send ){
+               *send = false;
+       }
+       signal.set_last_value(value);
+       return ret;
+}
+
index 4f6dd70..ea00310 100644 (file)
@@ -7,7 +7,7 @@ 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, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -27,8 +27,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -49,8 +50,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -71,13 +73,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -97,13 +100,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -123,8 +127,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -145,8 +150,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
@@ -161,7 +167,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);
index 0086abb..473f424 100644 (file)
@@ -7,7 +7,7 @@ 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, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "hvac.fan.speed",// generic_name
@@ -27,8 +27,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -49,8 +50,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -71,8 +73,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -93,8 +96,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
@@ -109,7 +113,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);
similarity index 85%
rename from examples/j1939/application-generated.cpp
rename to examples/j1939/j1939-simple.cpp
index e0b633b..660d0ff 100644 (file)
@@ -7,7 +7,7 @@ application_t::application_t()
        , message_set_{
                {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,"ETC1", 8, false, message_format_t::J1939, frequency_clock_t(5.00000f), true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,"ETC1",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Momentary.Overspeed.Enable",// generic_name
@@ -31,8 +31,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -57,8 +58,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -79,8 +81,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -105,8 +108,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -127,8 +131,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -153,8 +158,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -175,8 +181,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rpm"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -197,8 +204,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rpm"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -223,8 +231,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -249,8 +258,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -275,13 +285,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
@@ -305,8 +316,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -327,8 +339,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -349,8 +362,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -371,8 +385,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -393,8 +408,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rpm"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -428,8 +444,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -463,8 +480,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -485,13 +503,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Lateral.Acceleration",// generic_name
@@ -511,8 +530,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "m/s/s"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -533,8 +553,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "m/s/s"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -555,8 +576,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rad"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -581,8 +603,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -603,8 +626,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "turns"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -625,13 +649,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Front.Axle.Speed",// generic_name
@@ -651,8 +676,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -673,8 +699,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -695,8 +722,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -717,8 +745,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -739,8 +768,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -761,8 +791,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -783,13 +814,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Total.Hours.Of.Operation",// generic_name
@@ -809,8 +841,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "hr"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -831,13 +864,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Coolant.Temp",// generic_name
@@ -857,8 +891,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -879,8 +914,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -901,8 +937,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -923,8 +960,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -945,8 +983,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -967,8 +1006,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })}
                                        } // end signals vector
@@ -983,7 +1023,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);
index 3896acb..41b3da2 100644 (file)
@@ -13,7 +13,6 @@
                        "name": "ETC1",
                        "bus" : "j1939",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : true,
                        "signals" : {
                                "Trns.Trque.Converter.Lockup.Engaged" : {
                        "name": "EEC1",
                        "bus" : "j1939",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : true,
                        "signals" : {
                                "Src.AddrssOf.Ctrllng.Dvc.Fr.Eng.Cntrl" : {
                        "name": "HOURS",
                        "bus" : "j1939",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : true,
                        "signals" : {
                                "Eng.Total.Revolutions" : {
                        "name": "VDC2",
                        "bus" : "j1939",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : true,
                        "signals" : {
                                "Steer.Wheel.Angle" : {
                        "name": "EBC2",
                        "bus" : "j1939",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : true,
                        "signals" : {
                                "Rlative.Speed.Rear.Axle2.Right.Wheel" : {
                        "name": "ET1",
                        "bus" : "j1939",
                        "is_fd" : false,
-                       "is_extended": false,
                        "is_j1939" : true,
                        "signals" : {
                                "Eng.Fuel.Temp1" : {
index 2cbcbe2..584514d 100644 (file)
@@ -7,7 +7,7 @@ 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", 0x111,"", 16, 66, frequency_clock_t(5.00000f), true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"ls",0x111,"",16,16,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "sig1.1",// generic_name
@@ -27,8 +27,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -49,8 +50,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -71,8 +73,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -93,8 +96,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -115,8 +119,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -137,8 +142,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -159,8 +165,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -181,13 +188,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"ls", 0x30,"", 8, 4, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"ls",0x30,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "hvac.fan.speed",// generic_name
@@ -207,8 +215,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -229,8 +238,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -251,8 +261,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -273,13 +284,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3D9,"", 8, 2050, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",8,128,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -299,8 +311,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -321,8 +334,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -343,13 +357,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x3E9,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -369,13 +384,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x4D1,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -395,8 +411,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -417,13 +434,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x620,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "doors.boot.open",// generic_name
@@ -443,8 +461,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -465,8 +484,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -487,8 +507,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -509,8 +530,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -531,13 +553,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"hs", 0x799,"", 8, 2, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "windows.front_left.open",// generic_name
@@ -557,8 +580,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -579,8 +603,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -601,8 +626,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -623,13 +649,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61442,"ETC1", 8, 18, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61442,"ETC1",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Momentary.Overspeed.Enable",// generic_name
@@ -653,8 +680,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -679,8 +707,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -701,8 +730,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -727,8 +757,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -749,8 +780,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -775,8 +807,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -797,8 +830,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rpm"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -819,8 +853,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rpm"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -845,8 +880,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -871,8 +907,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -897,13 +934,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61444,"EEC1", 8, 18, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61444,"EEC1",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Actl.Eng.Prcnt.Trque.High.Resolution",// generic_name
@@ -927,8 +965,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -949,8 +988,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -971,8 +1011,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -993,8 +1034,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1015,8 +1057,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rpm"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1050,8 +1093,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1085,8 +1129,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1107,13 +1152,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 61449,"VDC2", 8, 18, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",61449,"VDC2",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Lateral.Acceleration",// generic_name
@@ -1133,8 +1179,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "m/s/s"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1155,8 +1202,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "m/s/s"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1177,8 +1225,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rad"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1203,8 +1252,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1225,8 +1275,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "turns"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1247,13 +1298,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "rad/s"// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65215,"EBC2", 8, 18, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65215,"EBC2",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Front.Axle.Speed",// generic_name
@@ -1273,8 +1325,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1295,8 +1348,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1317,8 +1371,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1339,8 +1394,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1361,8 +1417,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1383,8 +1440,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1405,13 +1463,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "km/h"// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65253,"HOURS", 8, 18, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65253,"HOURS",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Total.Hours.Of.Operation",// generic_name
@@ -1431,8 +1490,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "hr"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1453,13 +1513,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "r"// unit
                                                })}
                                        } // end signals vector
                                })} // end message_definition entry
-,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939", 65262,"ET1", 8, 18, frequency_clock_t(5.00000f), true,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"j1939",65262,"ET1",8,4,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "Eng.Coolant.Temp",// generic_name
@@ -1479,8 +1540,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1501,8 +1563,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1523,8 +1586,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1545,8 +1609,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "%"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1567,8 +1632,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -1589,8 +1655,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        "deg C"// unit
                                                })}
                                        } // end signals vector
@@ -1857,7 +1924,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);
index 30102d7..c0d5575 100644 (file)
@@ -7,7 +7,7 @@ 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, false, message_format_t::STANDARD, frequency_clock_t(5.00000f), true,
+                               {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.speed",// generic_name
@@ -27,8 +27,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -49,8 +50,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -71,13 +73,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "vehicle.average.speed",// generic_name
@@ -97,13 +100,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "engine.oil.temp",// generic_name
@@ -123,8 +127,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -145,13 +150,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x620,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "doors.boot.open",// generic_name
@@ -171,8 +177,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -193,8 +200,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -215,8 +223,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -237,8 +246,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -259,13 +269,14 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// 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,
+,                              {std::make_shared<message_definition_t>(message_definition_t{"hs",0x799,"",8,0,true,frequency_clock_t(5.00000f),true,
                                        { // beginning signals vector
                                                {std::make_shared<signal_t> (signal_t{
                                                        "windows.front_left.open",// generic_name
@@ -285,8 +296,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -307,8 +319,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -329,8 +342,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })},
                                                {std::make_shared<signal_t> (signal_t{
@@ -351,8 +365,9 @@ application_t::application_t()
                                                        nullptr,// encoder
                                                        false,// received
                                                        std::make_pair<bool, int>(false, 0),// multiplex
-                                                       0,// is_big_endian
-                                                       0,// is_signed
+                                                       false,// is_big_endian
+                                                       static_cast<sign_t>(0),// signed
+                                                       -1,// bit_sign_position
                                                        ""// unit
                                                })}
                                        } // end signals vector
@@ -619,7 +634,7 @@ application_t::application_t()
 {
        for(std::shared_ptr<message_set_t> cms: message_set_)
        {
-               vect_ptr_msg_def_t messages_definition = cms->get_messages_definition();
+               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);