1 #include <binding/application.hpp>
2 #include <can/can-decoder.hpp>
3 #include <can/can-encoder.hpp>
6 CTLP_CAPI_REGISTER("example");
8 std::shared_ptr<message_set_t> cms = 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,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 static_cast<sign_t>(0),// signed
31 -1,// bit_sign_position
34 {std::make_shared<signal_t> (signal_t{
35 "fuel.level.low",// generic_name
42 frequency_clock_t(0.00000f),// frequency
44 false,// force_send_changed
48 decoder_t::decode_boolean,// decoder
51 std::make_pair<bool, int>(false, 0),// multiplex
52 static_cast<sign_t>(0),// signed
53 -1,// bit_sign_position
56 {std::make_shared<signal_t> (signal_t{
57 "fuel.level",// generic_name
64 frequency_clock_t(0.00000f),// frequency
66 false,// force_send_changed
73 std::make_pair<bool, int>(false, 0),// multiplex
74 static_cast<sign_t>(0),// signed
75 -1,// bit_sign_position
78 } // end signals vector
79 })} // end message_definition entry
80 , {std::make_shared<message_definition_t>(message_definition_t{"hs",0x3E9,"",8,0,frequency_clock_t(5.00000f),true,
81 { // beginning signals vector
82 {std::make_shared<signal_t> (signal_t{
83 "vehicle.average.speed",// generic_name
90 frequency_clock_t(0.00000f),// frequency
92 false,// force_send_changed
99 std::make_pair<bool, int>(false, 0),// multiplex
100 static_cast<sign_t>(0),// signed
101 -1,// bit_sign_position
104 } // end signals vector
105 })} // end message_definition entry
106 , {std::make_shared<message_definition_t>(message_definition_t{"hs",0x4D1,"",8,0,frequency_clock_t(5.00000f),true,
107 { // beginning signals vector
108 {std::make_shared<signal_t> (signal_t{
109 "engine.oil.temp",// generic_name
116 frequency_clock_t(0.00000f),// frequency
118 false,// force_send_changed
125 std::make_pair<bool, int>(false, 0),// multiplex
126 static_cast<sign_t>(0),// signed
127 -1,// bit_sign_position
130 {std::make_shared<signal_t> (signal_t{
131 "engine.oil.temp.high",// generic_name
138 frequency_clock_t(0.00000f),// frequency
140 false,// force_send_changed
144 decoder_t::decode_boolean,// decoder
147 std::make_pair<bool, int>(false, 0),// multiplex
148 static_cast<sign_t>(0),// signed
149 -1,// bit_sign_position
152 } // end signals vector
153 })} // end message_definition entry
154 }, // end message_definition vector
155 { // beginning diagnostic_messages_ vector
157 } // end diagnostic_messages_ vector
158 }); // end message_set entry
160 CTLP_ONLOAD(plugin, handle) {
161 afb_api_t api = (afb_api_t) plugin->api;
162 CtlConfigT* CtlConfig = (CtlConfigT*) afb_api_get_userdata(api);
163 application_t* app = (application_t*) getExternalData(CtlConfig);
165 return app->add_message_set(cms);