Simpler handling of binding subscriptions
[apps/agl-service-can-low-level.git] / low-can-binding / binding / application-generated.cpp
index 60a21f5..1b0a350 100644 (file)
 #include "application.hpp"
 #include "../can/can-decoder.hpp"
+#include "../can/can-encoder.hpp"
 
 application_t::application_t()
        : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}}
        , can_message_set_{
-               {std::make_shared<can_message_set_t>(can_message_set_t{0,"example",
+               {std::make_shared<can_message_set_t>(can_message_set_t{0,"AGL Virtual Car",
                        { // beginning can_message_definition_ vector
-                               {std::make_shared<can_message_definition_t>(can_message_definition_t{"hs",0x3D9,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+                               {std::make_shared<can_message_definition_t>(can_message_definition_t{
+                                "ls",
+                                0x30,
+                                false,
+                                can_message_format_t::EXTENDED,
+                                frequency_clock_t(5.00000f),
+                                true,
+                                       { // beginning can_signals vector
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "hvac.fan.speed",
+                                                       32,
+                                                       8,
+                                                       23.5294f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       false,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })},
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "hvac.temperature.left",
+                                                       0,
+                                                       8,
+                                                       1.00000f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       true,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })},
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "hvac.temperature.right",
+                                                       8,
+                                                       8,
+                                                       1.00000f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       true,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })},
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "hvac.temperature.average",
+                                                       16,
+                                                       8,
+                                                       1.00000f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       true,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })}
+                                       } // end can_signals vector
+                               })} // end can_message_definition entry
+,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{
+                                "hs",
+                                0x3D9,
+                                true,
+                                can_message_format_t::STANDARD,
+                                frequency_clock_t(5.00000f),
+                                true,
                                        { // beginning can_signals vector
                                                {std::make_shared<can_signal_t> (can_signal_t{
                                                        "engine.speed",
@@ -40,7 +129,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -64,7 +153,13 @@ application_t::application_t()
                                                })}
                                        } // end can_signals vector
                                })} // end can_message_definition entry
-,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{"hs",0x3E9,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{
+                                "hs",
+                                0x3E9,
+                                false,
+                                can_message_format_t::EXTENDED,
+                                frequency_clock_t(5.00000f),
+                                true,
                                        { // beginning can_signals vector
                                                {std::make_shared<can_signal_t> (can_signal_t{
                                                        "vehicle.average.speed",
@@ -86,7 +181,13 @@ application_t::application_t()
                                                })}
                                        } // end can_signals vector
                                })} // end can_message_definition entry
-,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{"hs",0x4D1,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{
+                                "hs",
+                                0x4D1,
+                                false,
+                                can_message_format_t::STANDARD,
+                                frequency_clock_t(5.00000f),
+                                true,
                                        { // beginning can_signals vector
                                                {std::make_shared<can_signal_t> (can_signal_t{
                                                        "engine.oil.temp",
@@ -120,13 +221,19 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })}
                                        } // end can_signals vector
                                })} // end can_message_definition entry
-,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{"hs",0x620,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{
+                                "hs",
+                                0x620,
+                                false,
+                                can_message_format_t::STANDARD,
+                                frequency_clock_t(5.00000f),
+                                true,
                                        { // beginning can_signals vector
                                                {std::make_shared<can_signal_t> (can_signal_t{
                                                        "doors.boot.open",
@@ -142,7 +249,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -160,7 +267,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -178,7 +285,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -196,7 +303,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -214,13 +321,19 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })}
                                        } // end can_signals vector
                                })} // end can_message_definition entry
-,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{"hs",0x799,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true,
+,                              {std::make_shared<can_message_definition_t>(can_message_definition_t{
+                                "hs",
+                                0x799,
+                                false,
+                                can_message_format_t::STANDARD,
+                                frequency_clock_t(5.00000f),
+                                true,
                                        { // beginning can_signals vector
                                                {std::make_shared<can_signal_t> (can_signal_t{
                                                        "windows.front_left.open",
@@ -236,7 +349,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -254,7 +367,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -272,7 +385,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })},
@@ -290,7 +403,7 @@ application_t::application_t()
                                                        {
                                                        },
                                                        false,
-                                                       decoder_t::booleanDecoder,
+                                                       decoder_t::decode_boolean,
                                                        nullptr,
                                                        false
                                                })}
@@ -308,7 +421,8 @@ application_t::application_t()
                                        5.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        5,
@@ -319,7 +433,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        10,
@@ -330,7 +445,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        11,
@@ -341,7 +457,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        12,
@@ -352,7 +469,8 @@ application_t::application_t()
                                        5.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        13,
@@ -363,7 +481,8 @@ application_t::application_t()
                                        5.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        15,
@@ -374,7 +493,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        16,
@@ -385,7 +505,8 @@ application_t::application_t()
                                        5.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        17,
@@ -396,7 +517,8 @@ application_t::application_t()
                                        5.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        31,
@@ -407,7 +529,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        45,
@@ -418,7 +541,8 @@ application_t::application_t()
                                        0.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        47,
@@ -429,7 +553,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        51,
@@ -440,7 +565,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        70,
@@ -451,7 +577,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        76,
@@ -462,7 +589,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        82,
@@ -473,7 +601,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        90,
@@ -484,7 +613,8 @@ application_t::application_t()
                                        5.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        91,
@@ -495,7 +625,8 @@ application_t::application_t()
                                        5.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        92,
@@ -506,7 +637,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        94,
@@ -517,7 +649,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 ,                              {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
                                        99,
@@ -528,7 +661,8 @@ application_t::application_t()
                                        1.00000f,
                                        decoder_t::decode_obd2_response,
                                        nullptr,
-                                       true
+                                       true,
+                                       false
                                })}
 
                        } // end diagnostic_messages_ vector