1 #include "application.hpp"
2 #include "../can/can-decoder.hpp"
3 #include "../can/can-encoder.hpp"
5 application_t::application_t()
6 : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}}
8 {std::make_shared<message_set_t>(message_set_t{0,"example",
9 { // beginning message_definition_ vector
10 {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3D9,"",8,0,true,frequency_clock_t(5.00000f),true,
11 { // beginning signals vector
12 {std::make_shared<signal_t> (signal_t{
13 "engine.speed",// generic_name
20 frequency_clock_t(0.00000f),// frequency
22 false,// force_send_changed
29 std::make_pair<bool, int>(false, 0),// multiplex
30 false,// is_big_endian
31 static_cast<sign_t>(0),// signed
32 -1,// bit_sign_position
35 {std::make_shared<signal_t> (signal_t{
36 "fuel.level.low",// generic_name
43 frequency_clock_t(0.00000f),// frequency
45 false,// force_send_changed
49 decoder_t::decode_boolean,// decoder
52 std::make_pair<bool, int>(false, 0),// multiplex
53 false,// is_big_endian
54 static_cast<sign_t>(0),// signed
55 -1,// bit_sign_position
58 {std::make_shared<signal_t> (signal_t{
59 "fuel.level",// generic_name
66 frequency_clock_t(0.00000f),// frequency
68 false,// force_send_changed
75 std::make_pair<bool, int>(false, 0),// multiplex
76 false,// is_big_endian
77 static_cast<sign_t>(0),// signed
78 -1,// bit_sign_position
81 } // end signals vector
82 })} // end message_definition entry
83 , {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,0,true,frequency_clock_t(5.00000f),true,
84 { // beginning signals vector
85 {std::make_shared<signal_t> (signal_t{
86 "vehicle.average.speed",// generic_name
93 frequency_clock_t(0.00000f),// frequency
95 false,// force_send_changed
102 std::make_pair<bool, int>(false, 0),// multiplex
103 false,// is_big_endian
104 static_cast<sign_t>(0),// signed
105 -1,// bit_sign_position
108 } // end signals vector
109 })} // end message_definition entry
110 , {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,0,true,frequency_clock_t(5.00000f),true,
111 { // beginning signals vector
112 {std::make_shared<signal_t> (signal_t{
113 "engine.oil.temp",// generic_name
120 frequency_clock_t(0.00000f),// frequency
122 false,// force_send_changed
129 std::make_pair<bool, int>(false, 0),// multiplex
130 false,// is_big_endian
131 static_cast<sign_t>(0),// signed
132 -1,// bit_sign_position
135 {std::make_shared<signal_t> (signal_t{
136 "engine.oil.temp.high",// generic_name
143 frequency_clock_t(0.00000f),// frequency
145 false,// force_send_changed
149 decoder_t::decode_boolean,// decoder
152 std::make_pair<bool, int>(false, 0),// multiplex
153 false,// is_big_endian
154 static_cast<sign_t>(0),// signed
155 -1,// bit_sign_position
158 } // end signals vector
159 })} // end message_definition entry
161 }, // end message_definition vector
162 { // beginning diagnostic_messages_ vector
164 } // end diagnostic_messages_ vector
165 })} // end message_set entry
166 } // end message_set vector
168 for(std::shared_ptr<message_set_t> cms: message_set_)
170 std::vector<std::shared_ptr<message_definition_t>> messages_definition = cms->get_messages_definition();
171 for(std::shared_ptr<message_definition_t> cmd : messages_definition)
173 cmd->set_parent(cms);
174 std::vector<std::shared_ptr<signal_t>> signals = cmd->get_signals();
175 for(std::shared_ptr<signal_t> sig: signals)
177 sig->set_parent(cmd);
181 std::vector<std::shared_ptr<diagnostic_message_t>> diagnostic_messages = cms->get_diagnostic_messages();
182 for(std::shared_ptr<diagnostic_message_t> dm : diagnostic_messages)
189 const std::string application_t::get_diagnostic_bus() const