#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{0,"example", { // beginning can_message_definition_ vector {std::make_shared(can_message_definition_t{"ls",0x30,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning can_signals vector {std::make_shared (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{ "hvac.temperature.left", 0, 8, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, nullptr, nullptr, false })}, {std::make_shared (can_signal_t{ "hvac.temperature.right", 8, 8, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, nullptr, nullptr, false })}, {std::make_shared (can_signal_t{ "hvac.temperature.average", 16, 8, 1.00000f, 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{"hs",0x3D9,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning can_signals vector {std::make_shared (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{ "fuel.level.low", 55, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (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{"hs",0x3E9,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning can_signals vector {std::make_shared (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{"hs",0x4D1,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning can_signals vector {std::make_shared (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{ "engine.oil.temp.high", 7, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })} } // end can_signals vector })} // end can_message_definition entry , {std::make_shared(can_message_definition_t{"hs",0x620,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning can_signals vector {std::make_shared (can_signal_t{ "doors.boot.open", 47, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (can_signal_t{ "doors.front_left.open", 43, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (can_signal_t{ "doors.front_right.open", 44, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (can_signal_t{ "doors.rear_left.open", 46, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (can_signal_t{ "doors.rear_right.open", 45, 4, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })} } // end can_signals vector })} // end can_message_definition entry , {std::make_shared(can_message_definition_t{"hs",0x799,can_message_format_t::STANDARD,frequency_clock_t(5.00000f),true, { // beginning can_signals vector {std::make_shared (can_signal_t{ "windows.front_left.open", 43, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (can_signal_t{ "windows.front_right.open", 44, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (can_signal_t{ "windows.rear_left.open", 46, 1, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })}, {std::make_shared (can_signal_t{ "windows.rear_right.open", 45, 4, 1.00000f, 0.00000, 0, 0, frequency_clock_t(0.00000f), true, false, { }, false, decoder_t::decode_boolean, nullptr, false })} } // end can_signals vector })} // end can_message_definition entry }, // end can_message_definition vector { // beginning diagnostic_messages_ vector {std::make_shared(diagnostic_message_t{ 4, "engine.load", 0, 0, UNIT::INVALID, 5.00000f, decoder_t::decode_obd2_response, nullptr, true })} , {std::make_shared(diagnostic_message_t{ 5, "engine.coolant.temperature", 0, 0, UNIT::INVALID, 1.00000f, decoder_t::decode_obd2_response, nullptr, true })} , {std::make_shared(diagnostic_message_t{ 10, "fuel.pressure", 0, 0, UNIT::INVALID, 1.00000f, decoder_t::decode_obd2_response, nullptr, true })} , {std::make_shared(diagnostic_message_t{ 11, "intake.manifold.pressure", 0, 0, UNIT::INVALID, 1.00000f, decoder_t::decode_obd2_response, nullptr, true })} , {std::make_shared(diagnostic_message_t{ 12, "engine.speed", 0, 0, UNIT::INVALID, 5.00000f, decoder_t::decode_obd2