@@ -129,10 +129,11 @@ typedef struct _wippersnapper_i2c_I2cDeviceEvent {
129
129
typedef struct _wippersnapper_i2c_I2cDeviceOutputWrite {
130
130
bool has_i2c_device_description ;
131
131
wippersnapper_i2c_I2cDeviceDescriptor i2c_device_description ; /* * Required - The I2c device's address and metadata. */
132
- bool has_led_backpack_write ;
133
- wippersnapper_i2c_output_LedBackpackWrite led_backpack_write ; /* * Optional - If the I2C device is a LED backpack, fill this field. * */
134
- bool has_char_lcd_write ;
135
- wippersnapper_i2c_output_CharLCDWrite char_lcd_write ; /* * Optional - If the I2C device is a character LCD, fill this field. * */
132
+ pb_size_t which_output_msg ;
133
+ union {
134
+ wippersnapper_i2c_output_LedBackpackWrite write_led_backpack ; /* * Optional - If the I2C device is a LED backpack, fill this field. * */
135
+ wippersnapper_i2c_output_CharLCDWrite write_char_lcd ; /* * Optional - If the I2C device is a character LCD, fill this field. * */
136
+ } output_msg ;
136
137
} wippersnapper_i2c_I2cDeviceOutputWrite ;
137
138
138
139
@@ -174,7 +175,7 @@ extern "C" {
174
175
#define wippersnapper_i2c_I2cDeviceRemove_init_default {false, wippersnapper_i2c_I2cDeviceDescriptor_init_default, 0}
175
176
#define wippersnapper_i2c_I2cDeviceRemoved_init_default {false, wippersnapper_i2c_I2cDeviceDescriptor_init_default, 0}
176
177
#define wippersnapper_i2c_I2cDeviceEvent_init_default {false, wippersnapper_i2c_I2cDeviceDescriptor_init_default, 0, {wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default, wippersnapper_sensor_SensorEvent_init_default}}
177
- #define wippersnapper_i2c_I2cDeviceOutputWrite_init_default {false, wippersnapper_i2c_I2cDeviceDescriptor_init_default, false, wippersnapper_i2c_output_LedBackpackWrite_init_default, false, wippersnapper_i2c_output_CharLCDWrite_init_default }
178
+ #define wippersnapper_i2c_I2cDeviceOutputWrite_init_default {false, wippersnapper_i2c_I2cDeviceDescriptor_init_default, 0, { wippersnapper_i2c_output_LedBackpackWrite_init_default} }
178
179
#define wippersnapper_i2c_I2cDeviceDescriptor_init_zero {"", "", 0, 0, 0}
179
180
#define wippersnapper_i2c_I2cBusDescriptor_init_zero {"", ""}
180
181
#define wippersnapper_i2c_I2cBusScan_init_zero {0, 0, false, wippersnapper_i2c_I2cBusDescriptor_init_zero, 0, 0}
@@ -184,7 +185,7 @@ extern "C" {
184
185
#define wippersnapper_i2c_I2cDeviceRemove_init_zero {false, wippersnapper_i2c_I2cDeviceDescriptor_init_zero, 0}
185
186
#define wippersnapper_i2c_I2cDeviceRemoved_init_zero {false, wippersnapper_i2c_I2cDeviceDescriptor_init_zero, 0}
186
187
#define wippersnapper_i2c_I2cDeviceEvent_init_zero {false, wippersnapper_i2c_I2cDeviceDescriptor_init_zero, 0, {wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero, wippersnapper_sensor_SensorEvent_init_zero}}
187
- #define wippersnapper_i2c_I2cDeviceOutputWrite_init_zero {false, wippersnapper_i2c_I2cDeviceDescriptor_init_zero, false, wippersnapper_i2c_output_LedBackpackWrite_init_zero, false, wippersnapper_i2c_output_CharLCDWrite_init_zero }
188
+ #define wippersnapper_i2c_I2cDeviceOutputWrite_init_zero {false, wippersnapper_i2c_I2cDeviceDescriptor_init_zero, 0, { wippersnapper_i2c_output_LedBackpackWrite_init_zero} }
188
189
189
190
/* Field tags (for use in manual encoding/decoding) */
190
191
#define wippersnapper_i2c_I2cDeviceDescriptor_i2c_bus_sda_tag 1
@@ -218,8 +219,8 @@ extern "C" {
218
219
#define wippersnapper_i2c_I2cDeviceEvent_i2c_device_description_tag 1
219
220
#define wippersnapper_i2c_I2cDeviceEvent_i2c_device_events_tag 2
220
221
#define wippersnapper_i2c_I2cDeviceOutputWrite_i2c_device_description_tag 1
221
- #define wippersnapper_i2c_I2cDeviceOutputWrite_led_backpack_write_tag 2
222
- #define wippersnapper_i2c_I2cDeviceOutputWrite_char_lcd_write_tag 3
222
+ #define wippersnapper_i2c_I2cDeviceOutputWrite_write_led_backpack_tag 2
223
+ #define wippersnapper_i2c_I2cDeviceOutputWrite_write_char_lcd_tag 3
223
224
224
225
/* Struct field encoding specification for nanopb */
225
226
#define wippersnapper_i2c_I2cDeviceDescriptor_FIELDLIST (X , a ) \
@@ -299,13 +300,13 @@ X(a, STATIC, REPEATED, MESSAGE, i2c_device_events, 2)
299
300
300
301
#define wippersnapper_i2c_I2cDeviceOutputWrite_FIELDLIST (X , a ) \
301
302
X(a, STATIC, OPTIONAL, MESSAGE, i2c_device_description, 1) \
302
- X(a, STATIC, OPTIONAL, MESSAGE, led_backpack_write , 2) \
303
- X(a, STATIC, OPTIONAL, MESSAGE, char_lcd_write, 3)
303
+ X(a, STATIC, ONEOF, MESSAGE, (output_msg,write_led_backpack,output_msg.write_led_backpack) , 2) \
304
+ X(a, STATIC, ONEOF, MESSAGE, (output_msg,write_char_lcd,output_msg.write_char_lcd), 3)
304
305
#define wippersnapper_i2c_I2cDeviceOutputWrite_CALLBACK NULL
305
306
#define wippersnapper_i2c_I2cDeviceOutputWrite_DEFAULT NULL
306
307
#define wippersnapper_i2c_I2cDeviceOutputWrite_i2c_device_description_MSGTYPE wippersnapper_i2c_I2cDeviceDescriptor
307
- #define wippersnapper_i2c_I2cDeviceOutputWrite_led_backpack_write_MSGTYPE wippersnapper_i2c_output_LedBackpackWrite
308
- #define wippersnapper_i2c_I2cDeviceOutputWrite_char_lcd_write_MSGTYPE wippersnapper_i2c_output_CharLCDWrite
308
+ #define wippersnapper_i2c_I2cDeviceOutputWrite_output_msg_write_led_backpack_MSGTYPE wippersnapper_i2c_output_LedBackpackWrite
309
+ #define wippersnapper_i2c_I2cDeviceOutputWrite_output_msg_write_char_lcd_MSGTYPE wippersnapper_i2c_output_CharLCDWrite
309
310
310
311
extern const pb_msgdesc_t wippersnapper_i2c_I2cDeviceDescriptor_msg ;
311
312
extern const pb_msgdesc_t wippersnapper_i2c_I2cBusDescriptor_msg ;
@@ -338,7 +339,7 @@ extern const pb_msgdesc_t wippersnapper_i2c_I2cDeviceOutputWrite_msg;
338
339
#define wippersnapper_i2c_I2cDeviceAddOrReplace_size 141
339
340
#define wippersnapper_i2c_I2cDeviceAddedOrReplaced_size 56
340
341
#define wippersnapper_i2c_I2cDeviceDescriptor_size 50
341
- #define wippersnapper_i2c_I2cDeviceOutputWrite_size 147
342
+ #define wippersnapper_i2c_I2cDeviceOutputWrite_size 100
342
343
#define wippersnapper_i2c_I2cDeviceRemove_size 54
343
344
#define wippersnapper_i2c_I2cDeviceRemoved_size 54
344
345
#if defined(wippersnapper_sensor_SensorEvent_size )
0 commit comments