@@ -54,18 +54,19 @@ wippersnapper_analogio_AnalogIOEvent *AnalogIOModel::GetAnalogIOEvent() {
54
54
return &_msg_AnalogioEvent;
55
55
}
56
56
57
- bool AnalogIOModel::EncodeAnalogIOEventRaw (char *pin_name, int16_t pin_value) {
57
+ bool AnalogIOModel::EncodeAnalogIOEvent (
58
+ char *pin_name, float pin_value,
59
+ wippersnapper_sensor_SensorType read_type) {
58
60
// Initialize the AnalogIOEvent message to default values
59
61
_msg_AnalogioEvent = wippersnapper_analogio_AnalogIOEvent_init_zero;
60
62
// Fill the AnalogIOEvent message's fields
61
63
strncpy (_msg_AnalogioEvent.pin_name , pin_name,
62
64
sizeof (_msg_AnalogioEvent.pin_name ));
63
65
_msg_AnalogioEvent.has_sensor_event = true ;
64
- _msg_AnalogioEvent.sensor_event .type =
65
- wippersnapper_sensor_SensorType_SENSOR_TYPE_RAW;
66
+ _msg_AnalogioEvent.sensor_event .type = read_type;
66
67
_msg_AnalogioEvent.sensor_event .which_value =
67
68
wippersnapper_sensor_SensorEvent_float_value_tag;
68
- _msg_AnalogioEvent.sensor_event .value .float_value = ( float ) pin_value;
69
+ _msg_AnalogioEvent.sensor_event .value .float_value = pin_value;
69
70
70
71
// Obtain size of an encoded AnalogIOEvent message
71
72
size_t sz_aio_event_msg;
@@ -81,30 +82,13 @@ bool AnalogIOModel::EncodeAnalogIOEventRaw(char *pin_name, int16_t pin_value) {
81
82
&_msg_AnalogioEvent);
82
83
}
83
84
85
+ bool AnalogIOModel::EncodeAnalogIOEventRaw (char *pin_name, int16_t pin_value) {
86
+ return EncodeAnalogIOEvent (pin_name, (float )pin_value,
87
+ wippersnapper_sensor_SensorType_SENSOR_TYPE_RAW);
88
+ }
89
+
84
90
bool AnalogIOModel::EncodeAnalogIOEventVoltage (char *pin_name,
85
91
float pin_value) {
86
- // Initialize the AnalogIOEvent message to default values
87
- _msg_AnalogioEvent = wippersnapper_analogio_AnalogIOEvent_init_zero;
88
- // Fill the AnalogIOEvent message's fields
89
- strncpy (_msg_AnalogioEvent.pin_name , pin_name,
90
- sizeof (_msg_AnalogioEvent.pin_name ));
91
- _msg_AnalogioEvent.has_sensor_event = true ;
92
- _msg_AnalogioEvent.sensor_event .type =
93
- wippersnapper_sensor_SensorType_SENSOR_TYPE_VOLTAGE;
94
- _msg_AnalogioEvent.sensor_event .which_value =
95
- wippersnapper_sensor_SensorEvent_float_value_tag;
96
- _msg_AnalogioEvent.sensor_event .value .float_value = pin_value;
97
-
98
- // Obtain size of an encoded AnalogIOEvent message
99
- size_t sz_aio_event_msg;
100
- if (!pb_get_encoded_size (&sz_aio_event_msg,
101
- wippersnapper_analogio_AnalogIOEvent_fields,
102
- &_msg_AnalogioEvent))
103
- return false ;
104
-
105
- // Encode the AnalogIOEvent message
106
- uint8_t buf[sz_aio_event_msg];
107
- pb_ostream_t msg_stream = pb_ostream_from_buffer (buf, sizeof (buf));
108
- return pb_encode (&msg_stream, wippersnapper_analogio_AnalogIOEvent_fields,
109
- &_msg_AnalogioEvent);
92
+ return EncodeAnalogIOEvent (
93
+ pin_name, pin_value, wippersnapper_sensor_SensorType_SENSOR_TYPE_VOLTAGE);
110
94
}
0 commit comments