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