14
14
*/
15
15
#include " model.h"
16
16
17
+ /* **********************************************************************/
18
+ /* !
19
+ @brief DS18X20Model constructor
20
+ */
21
+ /* **********************************************************************/
17
22
DS18X20Model::DS18X20Model () {
18
23
// Initialize the DS18X20 messages
19
24
_msg_DS18x20Add = wippersnapper_ds18x20_Ds18x20Add_init_zero;
25
+ _msg_DS18x20Added = wippersnapper_ds18x20_Ds18x20Added_init_zero;
26
+ _msg_DS18x20Remove = wippersnapper_ds18x20_Ds18x20Remove_init_zero;
20
27
}
21
28
29
+ /* **********************************************************************/
30
+ /* !
31
+ @brief DS18X20Model destructor
32
+ */
33
+ /* **********************************************************************/
22
34
DS18X20Model::~DS18X20Model () {}
23
35
36
+ /* **********************************************************************/
37
+ /* !
38
+ @brief Attempts to decode a Ds18x20Add message from the broker.
39
+ @param stream
40
+ The nanopb input stream.
41
+ @return True if the message was successfully decoded, False otherwise.
42
+ */
43
+ /* **********************************************************************/
24
44
bool DS18X20Model::DecodeDS18x20Add (pb_istream_t *stream) {
25
45
_msg_DS18x20Add = wippersnapper_ds18x20_Ds18x20Add_init_zero;
26
46
// Attempt to decode the stream into a Ds18x20Add message
27
47
return pb_decode (stream, wippersnapper_ds18x20_Ds18x20Add_fields,
28
48
&_msg_DS18x20Add);
29
49
}
30
50
51
+ /* **********************************************************************/
52
+ /* !
53
+ @brief Gets a pointer to the Ds18x20Add message.
54
+ @return Pointer to the Ds18x20Add message.
55
+ */
56
+ /* **********************************************************************/
31
57
wippersnapper_ds18x20_Ds18x20Add *DS18X20Model::GetDS18x20AddMsg () {
32
58
return &_msg_DS18x20Add;
33
59
}
34
60
61
+ /* **********************************************************************/
62
+ /* !
63
+ @brief Returns a pointer to the Ds18x20Added message.
64
+ @return Pointer to the Ds18x20Added message.
65
+ */
66
+ /* **********************************************************************/
35
67
wippersnapper_ds18x20_Ds18x20Added *DS18X20Model::GetDS18x20AddedMsg () {
36
68
return &_msg_DS18x20Added;
37
69
}
38
70
71
+ /* **********************************************************************/
72
+ /* !
73
+ @brief Encodes a Ds18x20Added message.
74
+ @param onewire_pin
75
+ The OneWire bus pin to add.
76
+ @param is_init
77
+ True if the sensor was successfully initialized,
78
+ False otherwise.
79
+ @return True if the message was successfully encoded,
80
+ False otherwise.
81
+ */
82
+ /* **********************************************************************/
39
83
bool DS18X20Model::EncodeDS18x20Added (char *onewire_pin, bool is_init) {
40
84
// Fill the Ds18x20Added message
41
85
_msg_DS18x20Added = wippersnapper_ds18x20_Ds18x20Added_init_zero;
@@ -54,20 +98,52 @@ bool DS18X20Model::EncodeDS18x20Added(char *onewire_pin, bool is_init) {
54
98
&_msg_DS18x20Added);
55
99
}
56
100
101
+ /* ************************************************************************/
102
+ /* !
103
+ @brief Attempts to decode a Ds18x20Remove message from the broker.
104
+ @param stream
105
+ The nanopb input stream.
106
+ @return True if the message was successfully decoded, False otherwise.
107
+ */
108
+ /* ************************************************************************/
57
109
bool DS18X20Model::DecodeDS18x20Remove (pb_istream_t *stream) {
58
110
_msg_DS18x20Remove = wippersnapper_ds18x20_Ds18x20Remove_init_zero;
59
111
return pb_decode (stream, wippersnapper_ds18x20_Ds18x20Remove_fields,
60
112
&_msg_DS18x20Remove);
61
113
}
62
114
115
+ /* ************************************************************************/
116
+ /* !
117
+ @brief Gets a pointer to the Ds18x20Remove message.
118
+ @return Pointer to the Ds18x20Remove message.
119
+ */
120
+ /* ************************************************************************/
63
121
wippersnapper_ds18x20_Ds18x20Remove *DS18X20Model::GetDS18x20RemoveMsg () {
64
122
return &_msg_DS18x20Remove;
65
123
}
66
124
125
+ /* ************************************************************************/
126
+ /* !
127
+ @brief Gets a pointer to the Ds18x20Event message.
128
+ @return Pointer to the Ds18x20Event message.
129
+ */
130
+ /* ************************************************************************/
67
131
wippersnapper_ds18x20_Ds18x20Event *DS18X20Model::GetDS18x20EventMsg () {
68
132
return &_msg_DS18x20Event;
69
133
}
70
134
135
+ /* ************************************************************************/
136
+ /* !
137
+ @brief Encodes a Ds18x20Event message.
138
+ @param onewire_pin
139
+ The OneWire bus' pin where the sensor is located.
140
+ @param sensor_events_count
141
+ The number of sensorevent messages to encode.
142
+ @param sensor_events
143
+ The sensorevent messages to encode.
144
+ @return True if the message was successfully encoded, False otherwise.
145
+ */
146
+ /* ************************************************************************/
71
147
bool DS18X20Model::EncodeDs18x20Event (
72
148
char *onewire_pin, pb_size_t sensor_events_count,
73
149
const wippersnapper_sensor_SensorEvent sensor_events[2 ]) {
@@ -90,11 +166,25 @@ bool DS18X20Model::EncodeDs18x20Event(
90
166
&_msg_DS18x20Event);
91
167
}
92
168
169
+ /* ************************************************************************/
170
+ /* !
171
+ @brief Initializes the Ds18x20Event message.
172
+ */
173
+ /* ************************************************************************/
93
174
void DS18X20Model::InitDS18x20EventMsg () {
94
175
_msg_DS18x20Event = wippersnapper_ds18x20_Ds18x20Event_init_zero;
95
176
_msg_DS18x20Event.sensor_events_count = 0 ;
96
177
}
97
178
179
+ /* ************************************************************************/
180
+ /* !
181
+ @brief Adds a "sensor event" to the Ds18x20Event message.
182
+ @param sensor_type
183
+ The event's SensorType.
184
+ @param sensor_value
185
+ The event's value.
186
+ */
187
+ /* ************************************************************************/
98
188
void DS18X20Model::addSensorEvent (wippersnapper_sensor_SensorType sensor_type,
99
189
float sensor_value) {
100
190
_msg_DS18x20Event.sensor_events [_msg_DS18x20Event.sensor_events_count ].type =
0 commit comments