@@ -54,8 +54,7 @@ wippersnapper_analogio_AnalogIOEvent *AnalogIOModel::GetAnalogIOEvent() {
54
54
return &_msg_AnalogioEvent;
55
55
}
56
56
57
- bool AnalogIOModel::EncodeAnalogIOVoltageEvent (char *pin_name,
58
- float pin_value) {
57
+ bool AnalogIOModel::EncodeAnalogIOEventRaw (char *pin_name, int16_t pin_value) {
59
58
// Initialize the AnalogIOEvent message to default values
60
59
_msg_AnalogioEvent = wippersnapper_analogio_AnalogIOEvent_init_zero;
61
60
// Fill the AnalogIOEvent message's fields
@@ -66,6 +65,34 @@ bool AnalogIOModel::EncodeAnalogIOVoltageEvent(char *pin_name,
66
65
wippersnapper_sensor_SensorType_SENSOR_TYPE_RAW;
67
66
_msg_AnalogioEvent.sensor_event .which_value =
68
67
wippersnapper_sensor_SensorEvent_float_value_tag;
68
+ _msg_AnalogioEvent.sensor_event .value .float_value = (float )pin_value;
69
+
70
+ // Obtain size of an encoded AnalogIOEvent message
71
+ size_t sz_aio_event_msg;
72
+ if (!pb_get_encoded_size (&sz_aio_event_msg,
73
+ wippersnapper_analogio_AnalogIOEvent_fields,
74
+ &_msg_AnalogioEvent))
75
+ return false ;
76
+
77
+ // Encode the AnalogIOEvent message
78
+ uint8_t buf[sz_aio_event_msg];
79
+ pb_ostream_t msg_stream = pb_ostream_from_buffer (buf, sizeof (buf));
80
+ return pb_encode (&msg_stream, wippersnapper_analogio_AnalogIOEvent_fields,
81
+ &_msg_AnalogioEvent);
82
+ }
83
+
84
+ bool AnalogIOModel::EncodeAnalogIOEventVoltage (char *pin_name,
85
+ 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;
69
96
_msg_AnalogioEvent.sensor_event .value .float_value = pin_value;
70
97
71
98
// Obtain size of an encoded AnalogIOEvent message
0 commit comments