Update default signals to match agl-vcar definition
[apps/agl-service-can-low-level.git] / examples / hvac / hvac-signals.cpp
1 #include <binding/application.hpp>
2 #include <can/can-decoder.hpp>
3 #include <can/can-encoder.hpp>
4
5 extern "C" {
6 CTLP_CAPI_REGISTER("example");
7
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{"ls",0x30,"",8,0,frequency_clock_t(5.00000f),true,
11                         { // beginning signals vector
12                                 {std::make_shared<signal_t> (signal_t{
13                                         "hvac.fan.speed",// generic_name
14                                         32,// bit_position
15                                         8,// bit_size
16                                         23.5294f,// factor
17                                         0.00000f,// offset
18                                         0,// min_value
19                                         0,// max_value
20                                         frequency_clock_t(0.00000f),// frequency
21                                         true,// send_same
22                                         false,// force_send_changed
23                                         {
24                                         },// states
25                                         false,// writable
26                                         nullptr,// decoder
27                                         nullptr,// encoder
28                                         false,// received
29                                         std::make_pair<bool, int>(false, 0),// multiplex
30                                         static_cast<sign_t>(0),// signed
31                                         -1,// bit_sign_position
32                                         ""// unit
33                                 })},
34                                 {std::make_shared<signal_t> (signal_t{
35                                         "hvac.temperature.left",// generic_name
36                                         0,// bit_position
37                                         8,// bit_size
38                                         1.00000f,// factor
39                                         0.00000f,// offset
40                                         0,// min_value
41                                         0,// max_value
42                                         frequency_clock_t(0.00000f),// frequency
43                                         true,// send_same
44                                         false,// force_send_changed
45                                         {
46                                         },// states
47                                         false,// writable
48                                         nullptr,// decoder
49                                         nullptr,// encoder
50                                         false,// received
51                                         std::make_pair<bool, int>(false, 0),// multiplex
52                                         static_cast<sign_t>(0),// signed
53                                         -1,// bit_sign_position
54                                         ""// unit
55                                 })},
56                                 {std::make_shared<signal_t> (signal_t{
57                                         "hvac.temperature.right",// generic_name
58                                         8,// bit_position
59                                         8,// bit_size
60                                         1.00000f,// factor
61                                         0.00000f,// offset
62                                         0,// min_value
63                                         0,// max_value
64                                         frequency_clock_t(0.00000f),// frequency
65                                         true,// send_same
66                                         false,// force_send_changed
67                                         {
68                                         },// states
69                                         false,// writable
70                                         nullptr,// decoder
71                                         nullptr,// encoder
72                                         false,// received
73                                         std::make_pair<bool, int>(false, 0),// multiplex
74                                         static_cast<sign_t>(0),// signed
75                                         -1,// bit_sign_position
76                                         ""// unit
77                                 })},
78                                 {std::make_shared<signal_t> (signal_t{
79                                         "hvac.temperature.average",// generic_name
80                                         16,// bit_position
81                                         8,// bit_size
82                                         1.00000f,// factor
83                                         0.00000f,// offset
84                                         0,// min_value
85                                         0,// max_value
86                                         frequency_clock_t(0.00000f),// frequency
87                                         true,// send_same
88                                         false,// force_send_changed
89                                         {
90                                         },// states
91                                         false,// writable
92                                         nullptr,// decoder
93                                         nullptr,// encoder
94                                         false,// received
95                                         std::make_pair<bool, int>(false, 0),// multiplex
96                                         static_cast<sign_t>(0),// signed
97                                         -1,// bit_sign_position
98                                         ""// unit
99                                 })}
100                         } // end signals vector
101                 })} // end message_definition entry
102         }, // end message_definition vector
103         { // beginning diagnostic_messages_ vector
104
105         } // end diagnostic_messages_ vector
106 }); // end message_set entry
107
108 CTLP_ONLOAD(plugin, handle) {
109         afb_api_t api = (afb_api_t) plugin->api;
110         CtlConfigT* CtlConfig = (CtlConfigT*) afb_api_get_userdata(api);
111         application_t* app = (application_t*) getExternalData(CtlConfig);
112
113         return app->add_message_set(cms);
114 }
115
116
117 }