@@ -54,8 +54,7 @@ wippersnapper_analogio_AnalogIOEvent *AnalogIOModel::GetAnalogIOEvent() {
5454 return &_msg_AnalogioEvent;
5555}
5656
57- bool AnalogIOModel::EncodeAnalogIOVoltageEvent (char *pin_name,
58- float pin_value) {
57+ bool AnalogIOModel::EncodeAnalogIOEventRaw (char *pin_name, int16_t pin_value) {
5958 // Initialize the AnalogIOEvent message to default values
6059 _msg_AnalogioEvent = wippersnapper_analogio_AnalogIOEvent_init_zero;
6160 // Fill the AnalogIOEvent message's fields
@@ -66,6 +65,34 @@ bool AnalogIOModel::EncodeAnalogIOVoltageEvent(char *pin_name,
6665 wippersnapper_sensor_SensorType_SENSOR_TYPE_RAW;
6766 _msg_AnalogioEvent.sensor_event .which_value =
6867 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;
6996 _msg_AnalogioEvent.sensor_event .value .float_value = pin_value;
7097
7198 // Obtain size of an encoded AnalogIOEvent message
0 commit comments