Examples reorganization
[apps/agl-service-can-low-level.git] / examples / engine / application-generated.cpp
diff --git a/examples/engine/application-generated.cpp b/examples/engine/application-generated.cpp
new file mode 100644 (file)
index 0000000..cc123b7
--- /dev/null
@@ -0,0 +1,163 @@
+#include "application.hpp"
+#include "../can/can-decoder.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",
+                       { // 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,
+                                       { // beginning can_signals vector
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "engine.speed",
+                                                       16,
+                                                       16,
+                                                       0.250000f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       false,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })},
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "fuel.level.low",
+                                                       55,
+                                                       1,
+                                                       1.00000f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       false,
+                                                       decoder_t::booleanDecoder,
+                                                       nullptr,
+                                                       false
+                                               })},
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "fuel.level",
+                                                       8,
+                                                       8,
+                                                       0.392157f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       false,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })}
+                                       } // 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,
+                                       { // beginning can_signals vector
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "vehicle.average.speed",
+                                                       0,
+                                                       15,
+                                                       0.0156250f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       false,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })}
+                                       } // 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,
+                                       { // beginning can_signals vector
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "engine.oil.temp",
+                                                       16,
+                                                       8,
+                                                       1.00000f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       false,
+                                                       nullptr,
+                                                       nullptr,
+                                                       false
+                                               })},
+                                               {std::make_shared<can_signal_t> (can_signal_t{
+                                                       "engine.oil.temp.high",
+                                                       7,
+                                                       1,
+                                                       1.00000f,
+                                                       0.00000,
+                                                       0,
+                                                       0,
+                                                       frequency_clock_t(0.00000f),
+                                                       true,
+                                                       false,
+                                                       {
+                                                       },
+                                                       false,
+                                                       decoder_t::booleanDecoder,
+                                                       nullptr,
+                                                       false
+                                               })}
+                                       } // end can_signals vector
+                               })} // end can_message_definition entry
+
+               }, // end can_message_definition vector
+                       { // beginning diagnostic_messages_ vector
+
+                       } // end diagnostic_messages_ vector
+               })} // end can_message_set entry
+       } // end can_message_set vector
+{
+       for(auto& cms: can_message_set_)
+       {
+               std::vector<std::shared_ptr<can_message_definition_t> >& can_messages_definition = cms->get_can_message_definition();
+               for(auto& cmd : can_messages_definition)
+               {
+                       cmd->set_parent(cms.get());
+                       std::vector<std::shared_ptr<can_signal_t> >& can_signals = cmd->get_can_signals();
+                       for(auto& sig: can_signals)
+                       {
+                               sig->set_parent(cmd.get());
+                       }
+               }
+
+               std::vector<std::shared_ptr<diagnostic_message_t> >& diagnostic_messages = cms->get_diagnostic_messages();
+               for(auto& dm : diagnostic_messages)
+               {
+                       dm->set_parent(cms.get());
+               }
+       }
+               }
+
+const std::string application_t::get_diagnostic_bus() const
+{
+       return "";
+}
+
+